| UNISON(1) | General Commands Manual (urm) | UNISON(1) |
نام (NAME)
unison —
ابزار
همگامسازی
دوسویه و
چندسکویی
فایل
خلاصه دستور (SYNOPSIS)
unison [options]
unison root1 root2
[options] unison
profilename [options]
توضیحات (DESCRIPTION)
Unison یک
ابزار
همگامسازی
فایل برای
سیستمهای
سازگار با POSIX
(مانند BSD* و GNU/Linux و
macOS) و Windows است. این
ابزار
امکان
میدهد دو
رونوشت (replica) از
مجموعهای
از فایلها
و
دایرکتوریها
روی
میزبانهای
مختلف (یا
دیسکهای
مختلف روی
یک میزبان)
ذخیره شده،
بهطور
جداگانه
تغییر داده
شوند و سپس
با انتقال
تغییرات هر
رونوشت به
دیگری،
بهروز
گردند.
بیش از ۲۵ سال است که از Unison استفاده میشود و کاربران بسیاری از آن برای همگامسازی دادههای بااهمیت خود بهره میبرند.
ابزار Unison در چندین ویژگی با ابزارهای دیگر مشترک است. برخی از ویژگیهای متمایزکنندهٔ آن عبارتند از:
- برخلاف ابزارهای سادهٔ آینهسازی (mirroring) یا پشتیبانگیری، Unison میتواند تغییرات روی هر دو رونوشت یک ساختار دایرکتوری توزیعشده را مدیریت کند.
- ابزار Unison مستقل از سکو عمل میکند؛ برای نمونه به شما امکان میدهد یک لپتاپ Windows را با یک سرور Unix همگامسازی نمایید.
- برخلاف بیشتر سیستمهای فایل توزیعشده، Unison برنامهای در سطح کاربر است که صرفاً از فراخوانهای سیستمی عادی استفاده میکند: هیچ نیازی به دستکاری هسته، داشتن دسترسیهای مدیر سیستم (superuser) روی هیچیک از میزبانها، یا پیادهسازی FUSE وجود ندارد.
- ابزار Unison بین هر جفت رایانهٔ متصل به اینترنت کار میکند، که معمولاً ارتباط را از طریق ssh(1) و همچنین مستقیماً از طریق TCP برقرار میسازد. این ابزار در استفاده از پهنای باند شبکه بهینه است و روی پیوندهای کند نیز بهخوبی اجرا میشود. انتقال تغییرات کوچک روی فایلهای بزرگ با استفاده از یک پروتکل فشردهسازی مشابه rsync(1) بهینهسازی شده است.
- ابزار Unison در برابر خرابیها مقاوم است. این ابزار همواره تضمین میکند که رونوشتها و ساختارهای درونی خودش حتی در صورت توقف غیرعادی برنامه یا خرابیهای ارتباطی، در وضعیتی پایدار و منطقی باقی بمانند.
خلاصه گزینهها (OPTION SUMMARY)
Basic options: General: -doc xxx show documentation ('-doc topics' lists topics) -version print version and exit What to sync: -group synchronize group attributes -ignore xxx add a pattern to the ignore list -ignorenot xxx add a pattern to the ignorenot list -nocreation xxx prevent file creations on one replica -nodeletion xxx prevent file deletions on one replica -noupdate xxx prevent file updates and deletions on one replica -owner synchronize owner -path xxx path to synchronize -perms n part of the permissions which is synchronized -root xxx root of a replica (should be used exactly twice) -times synchronize modification times How to sync: -batch batch mode: ask no questions at all How to sync (text interface (CLI) only): -auto automatically accept default (nonconflicting) actions -silent print nothing except error messages -terse suppress status messages Text interface (CLI): -i interactive profile mode (text UI); command-line only Advanced options: Fine-tune sync: -acl synchronize ACLs -atomic xxx add a pattern to the atomic list -follow xxx add a pattern to the follow list -force xxx force changes from this replica to the other -forcepartial xxx add a pattern to the forcepartial list -ignorecase xxx identify upper/lowercase filenames (true/false/default) -immutable xxx add a pattern to the immutable list -immutablenot xxx add a pattern to the immutablenot list -links xxx allow the synchronization of symbolic links (true/false/default) -merge xxx add a pattern to the merge list -moves-experimental optimize transfers by detecting renames and moves -nocreationpartial xxx add a pattern to the nocreationpartial list -nodeletionpartial xxx add a pattern to the nodeletionpartial list -noupdatepartial xxx add a pattern to the noupdatepartial list -prefer xxx choose this replica's version for conflicting changes -preferpartial xxx add a pattern to the preferpartial list -rsrc xxx synchronize resource forks (true/false/default) -xattrignore xxx add a pattern to the xattrignore list -xattrignorenot xxx add a pattern to the xattrignorenot list -xattrs synchronize extended attributes (xattrs) How to sync: -backup xxx add a pattern to the backup list -backupcurr xxx add a pattern to the backupcurr list -backupcurrnot xxx add a pattern to the backupcurrnot list -backupdir xxx directory for storing centralized backups -backuploc xxx where backups are stored ('local' or 'central') -backupnot xxx add a pattern to the backupnot list -backupprefix xxx prefix for the names of backup files -backups (deprecated) keep backup copies of all files (see also 'backup') -backupsuffix xxx a suffix to be added to names of backup files -confirmbigdel ask about whole-replica (or path) deletes (default true) -confirmmerge ask for confirmation before committing results of a merge -copyonconflict keep copies of conflicting files -dontchmod when set, never use the chmod system call -fastcheck xxx do fast update detection (true/false/default) -fat use appropriate options for FAT filesystems -ignoreinodenumbers ignore inode number changes when detecting updates -maxbackups n number of backed up versions of a file -numericids don't map uid/gid values by user/group names -sortbysize list changed files by size, not name -sortfirst xxx add a pattern to the sortfirst list -sortlast xxx add a pattern to the sortlast list -sortnewfirst list new before changed files How to sync (text interface (CLI) only): -repeat xxx synchronize repeatedly (text interface only) -retry n re-try failed synchronizations N times (text ui only) Text interface (CLI): -color xxx use color output for text UI (true/false/default) -dumbtty do not change terminal settings in text UI Graphical interface (GUI): -height n height (in lines) of main window in graphical interface Remote connections: -addversionno add version number to name of unison on server -clientHostName xxx set host name of client -halfduplex (deprecated) force half-duplex communication with the server -killserver kill server when done (even when using sockets) -listen xxx listen on this name or addr in server socket mode (can repeat) -rsync activate the rsync transfer mode (default true) -servercmd xxx name of unison executable on remote server -socket xxx act as a server on a socket -sshargs xxx other arguments (if any) for remote shell command -sshcmd xxx path to the ssh executable -stream (deprecated) use a streaming protocol for transferring file contents (default true) -testserver exit immediately after the connection to the server -xferbycopying optimize transfers using local copies (default true) Archive management: -ignorearchives ignore existing archive files Other: -addprefsto xxx file to add new prefs to -contactquietly suppress the 'contacting server' message during startup -copymax n (deprecated) maximum number of simultaneous copyprog transfers -copyprog xxx (deprecated) external program for copying large files -copyprogrest xxx (deprecated) variant of copyprog for resuming partial transfers -copythreshold n (deprecated) use copyprog on files bigger than this (if >=0, in Kb) -diff xxx set command for showing differences between files -ignorelocks ignore locks left over from previous run (dangerous!) -include xxx include a profile's preferences -key xxx define a keyboard shortcut for this profile (in some UIs) -label xxx provide a descriptive string label for this profile -log record actions in logfile (default true) -logfile xxx logfile name -maxerrors n maximum number of errors before a directory transfer is aborted -maxsizethreshold n prevent transfer of files bigger than this (if >=0, in Kb) -maxthreads n maximum number of simultaneous file transfers -mountpoint xxx abort if this path does not exist -rootalias xxx register alias for canonical root names -showarchive show 'true names' (for rootalias) of roots and archive -source xxx include a file's preferences -ui xxx select UI ('text' or 'graphic'); command-line only -unicode xxx assume Unicode encoding in case insensitive mode -watch when set, use a file watcher process to detect changes Expert options: -debug xxx debug module xxx ('all' -> everything, 'verbose' -> more) -dumparchives dump contents of archives just after loading -fastercheckUNSAFE skip computing fingerprints for new files (experts only!) -selftest run internal tests and exit
گزینهها (OPTIONS)
بیشتر
گزینهها
میتوانند
به عنوان
آرگومانهای
خط فرمان یا
درون یک
پروفایل
مشخص شوند.
در خط
فرمان، بر
خلاف
پروفایل،
گزینهها
با یک خط
تیره در
ابتدا مشخص
میشوند؛
مانند:
-option.
acl- هنگامی
که این پرچم
روی
trueتنظیم شود، فهرستهای کنترل دسترسی (ACL) فایلها و دایرکتوریها همگامسازی میشوند. نوع ACLها به پشتیبانی سکو و سیستمفایل بستگی دارد. روی سکوهای شبیه به یونیکس، این میتواند برای نمونه NFSv4 ACL باشد. addprefstoxxx- بهطور
پیشفرض،
تنظیمات
جدید
اضافهشده
توسط Unison
(مانند
بندهای
جدید
ignore) به انتهای هر فایل تنظیمی که به Unison گفته شده بود در ابتدای اجرا بارگذاری کند افزوده خواهند شد. تنظیم گزینهٔ addprefsto filename باعث میشود Unison در عوض، تنظیمات جدید را به فایلی با نام filename اضافه کند. addversionno- هنگامی
که این پرچم
روی
trueتنظیم
شود، Unison از
unison-currentmajorversionnumber
به جای
صرفاً
unisonبه عنوان دستور سرور دوردست استفاده خواهد کرد (توجه داشته باشید که شماره نسخه فرعی حذف میشود - برای نمونه unison-2.51). این کار امکان میدهد فایلهای اجرایی متعددی از نسخههای مختلف unison بهراحتی روی یک سرور در کنار هم وجود داشته باشند: هر نسخهای که روی کلاینت اجرا شود، همان نسخه روی سرور انتخاب خواهد شد. atomicxxx- این تنظیم، مسیرهایی را برای دایرکتوریهایی مشخص میکند که محتویات آنها در صورت تغییر همزمان، به جای تکی، به صورت یک گروه در نظر گرفته میشود. پشتیبانگیریها نیز در این حالت به صورت یکپارچه (atomic) انجام میشوند. با این حال، گزینهٔ backupcurr هیچ تأثیری بر دایرکتوریهای اتمیک ندارد.
auto- هنگامی که روی trueتنظیم شود، این پرچم سبب میشود که واسط کاربری از درخواست تأیید برای تغییرات بدون تعارض صرفنظر کند. (بهطور دقیقتر، وقتی واسط کاربری تعیین جهت انتشار را برای یک مورد تمام کرد و میخواهد به مورد بعدی برود، از تمام موارد بدون تعارض جهش کرده و مستقیماً به سراغ تعارض بعدی میرود.)
backupxxx- گنجاندن
گزینهٔ
-backup pathspec
باعث
میشود Unison
برای هر
مسیری که
با
pathspecمطابقت
دارد،
فایلهای
پشتیبان
نگه دارد؛
از
دایرکتوریها
(و
دسترسیها
یا هر
متادادهٔ
دیگر آنها)
پشتیبان
گرفته
نمیشود.
این
فایلهای
پشتیبان در
دایرکتوری
مشخصشده
توسط
تنظیم
backuplocationنگهداری میشوند. نامگذاری پشتیبانها مطابق با تنظیماتbackupprefixوbackupsuffixانجام میشود. تعداد نسخههایی که نگهداری میشوند با تنظیمmaxbackupsتعیین میگردد. ساختار نحوی pathspec در بخش “مشخصسازی مسیر (Path Specification)” در راهنما شرح داده شده است. backupcurrxxx- گنجاندن
تنظیم
-backupcurr pathspec
باعث
میشود Unison یک
نسخهٔ
پشتیبان از
نسخهٔ
فعلی
هر فایلی
که با
pathspecمطابقت
دارد نگه
دارد. این
فایل به
عنوان یک
پشتیبان با
شماره
نسخهٔ 000
ذخیره
خواهد شد.
چنین
پشتیبانهایی
میتوانند
برای نمونه
به عنوان
ورودی
برنامههای
ادغام
خارجی
استفاده
شوند.
مستندات
مربوط به
تنظیم
mergeرا ببینید. برای جزئیات بیشتر، به بخش “ادغام نسخههای متعارض (Merging Conflicting Versions)” در راهنما مراجعه کنید. ساختار نحوی pathspec در بخش “مشخصسازی مسیر (Path Specification)” در راهنما شرح داده شده است. backupcurrnotxxx- استثناها
برای
backupcurr، مانند تنظیمignorenot. backupdirxxx- اگر این
تنظیم مشخص
شود،
هنگامی که
backuplocation
روی
centralتنظیم شده باشد، Unison از آن به عنوان نام دایرکتوری مورد استفاده برای ذخیره فایلهای پشتیبان تعیینشده با تنظیم backup استفاده خواهد کرد. این تنظیم پس از متغیر محیطی UNISONBACKUPDIR بررسی میشود. backuplocxxx- این
تنظیم مشخص
میکند که
آیا
پشتیبانها
باید به
صورت محلی
در کنار
فایلهای
اصلی
نگهداری
شوند، یا در
یک
دایرکتوری
مرکزی که با
تنظیم
backupdir
مشخص
میشود. اگر
روی
localتنظیم شود، پشتیبانها در همان دایرکتوری فایلهای اصلی نگهداری میشوند، و اگر رویcentralتنظیم شود، به جای آن از backupdir استفاده خواهد شد. backupnotxxx- مقادیر این تنظیم، مسیرها یا فایلهای منفرد یا عبارات باقاعدهای را مشخص میکنند که نباید از آنها پشتیبان گرفته شود، حتی اگر تنظیم backup آنها را انتخاب کرده باشد - یعنی بهطور انتخابی بر backupبرتری دارد.
backupprefixxxx- هنگامی
که یک
پشتیبان
برای فایل
NAMEایجاد میشود، در دایرکتوری مشخصشده توسط backuplocation، در فایلی به نام backupprefixNAMEbackupsuffixذخیره میگردد. backupprefix میتواند شامل نام یک دایرکتوری باشد (که باعث میشود Unison تمام فایلهای پشتیبان یک دایرکتوری معین را در زیردایرکتوری با این نام نگه دارد)، و هر دو backupprefix و backupsuffix میتوانند حاوی رشتهٔ $VERSIONباشند که با قدمت پشتیبان جایگزین خواهد شد (1 برای جدیدترین، 2 برای دومین مورد جدید، و الی آخر...). این کلیدواژه اگر در نام دایرکتوری در پیشوند ظاهر شود نادیده گرفته میشود؛ اگر در هیچ کجای پیشوند یا پسوند ظاهر نشود، بهطور خودکار در ابتدای پسوند قرار خواهد گرفت. نکتهای که باید مراقب آن بود: اگر تنظیم backuploc روی localتنظیم شده باشد، Unison بهطور خودکار تمام فایلهایی را که پیشوند و پسوند آنها با backupprefix و backupsuffixمطابقت دارد نادیده میگیرد. بنابراین دقت کنید مقادیری را برای این تنظیمات انتخاب نمایید که به اندازه کافی با نام فایلهای واقعی شما تفاوت داشته باشند. backups- (منسوخشده)
تنظیم
این پرچم
روی true معادل
تنظیم
backuplocation
روی local
و backup
روی
Name *است. backupsuffixxxx- برای مستندات کامل به backupprefix مراجعه کنید.
batch- هنگامی که این پرچم روی trueتنظیم شود، واسط کاربری هیچ سؤالی نخواهد پرسید. تغییرات بدون تعارض انتشار مییابند؛ از تعارضها صرفنظر خواهد شد.
clientHostNamexxx- در صورت تعیین، نام میزبان کلاینت حدس زده نمیشود و از نام میزبان ارائهشده برای یافتن آرشیو استفاده خواهد شد.
colorxxx- هنگامی که روی trueتنظیم شود، این پرچم خروجی رنگی را در واسط کاربری حالت متنی فعال میکند. هنگامی که روی falseتنظیم شود، تمام خروجیهای رنگی غیرفعال میشوند. پیشفرض فعال بودن رنگ است در صورتی که متغیر محیطی NO_COLOR تنظیم نشده باشد.
confirmbigdel- هنگامی که این پرچم روی trueتنظیم شود، اگر به نظر برسد که کل یک رونوشت حذف شده است، Unison پیش از انتشار تغییر، درخواست تأیید مضاعف خواهد کرد. اگر پرچم batch نیز تنظیم شده باشد، همگامسازی لغو خواهد شد. هنگامی که تنظیم path استفاده شود، همین تأیید برای مسیرهای سطح بالا نیز درخواست خواهد شد. (در حال حاضر، این پرچم فقط بر واسط کاربری متنی تأثیر میگذارد.) همچنین تنظیم mountpoint را ببینید.
confirmmerge- تنظیم این گزینه سبب میشود که هر دو واسط متنی و گرافیکی از کاربر بپرسند که آیا نتایج یک دستور ادغام میتواند روی رونوشت اعمال شود یا خیر. از آنجا که دستور ادغام روی فایلهای موقت کار میکند، در صورتی که نتیجه رضایتبخش نباشد، کاربر میتواند تمام اثرات اعمال ادغام را لغو کند. در حالت دستهای (batch-mode)، این تنظیم اثری ندارد. مقدار پیشفرض false است.
contactquietly- اگر این پرچم تنظیم شود، Unison از نمایش پیام “Contacting server” (که برای برخی کاربران آزاردهنده است) در حین راهاندازی صرفنظر میکند.
copymaxn- (منسوخشده) عددی که نشان میدهد چه تعداد نمونه از ابزار کپی خارجی مجاز است بهطور همزمان توسط Unison اجرا شوند (پیشفرض 1 است).
copyonconflict- هنگامی
که این پرچم
تنظیم شود،
Unison از
فایلهایی
که در صورت
تغییرات
متعارض
بازنویسی
یا حذف
میشوند، و
بهطور کلی
هر زمان که
رفتار
پیشفرض
لغو شود، یک
نسخه کپی
تهیه
میکند. این
کار امکان
میدهد در
زمان
همگامسازی
پیوسته، در
ترکیب با
تنظیمات
-repeat watchو-prefer newerتعارضها به روشی نسبتاً ایمن بهطور خودکار حل و فصل شوند. copyprogxxx- (منسوخشده) رشتهای که نام یک برنامهٔ خارجی را برای کپی کارآمد فایلهای بزرگ مشخص میکند (به همراه سوییچهای خط فرمان که به آن میگویند فایلها را درجا کپی کند). تنظیم پیشفرض، rsync را با گزینههای مناسب فراخوانی میکند - بیشتر کاربران نیازی به تغییر آن ندارند.
copyprogrestxxx- (منسوخشده) گونهای از copyprog که نام برنامهٔ خارجی را مشخص میکند که باید برای ادامهٔ انتقال یک فایل بزرگ که پیشتر بهطور ناقص منتقل شده استفاده شود. معمولاً copyprogrest همان copyprog با یک گزینهٔ اضافه خواهد بود (برای نمونه --partialبرای rsync). تنظیم پیشفرض، rsync را با گزینههای مناسب فراخوانی میکند - بیشتر کاربران نیازی به تغییر آن ندارند.
copythresholdn- (منسوخشده) عددی که نشان میدهد بالاتر از چه اندازهٔ فایلی (به کیلوبایت) Unison باید از ابزار کپی خارجی مشخصشده توسط copyprogاستفاده کند. تعیین مقدار 0 باعث میشود که تمام کپیها از برنامهٔ خارجی استفاده کنند؛ یک عدد منفی مانع از استفاده از آن برای هر فایلی میشود. پیشفرض -1 است.
debugxxx- این
تنظیم برای
وادار کردن
Unison به چاپ
انواع
اطلاعات
درباره
کارهایی که
در درون
انجام
میدهد روی
جریان خطای
استاندارد
استفاده
میشود.
میتوان آن
را چندین
بار به کار
برد، هر بار
با نام
ماژولی که
اطلاعات
اشکالزدایی
آن باید چاپ
شود.
آرگومانهای
ممکن برای
debugرا میتوان با جستجوی فراخوانیهایUtil.debugدر کدهای منبع پیدا کرد (برای نمونه با استفاده ازgrep). تنظیم-debug allباعث چاپ اطلاعات از تمام ماژولها میشود (اگر در تلاش برای فهمیدن رفتاری از Unison هستید که به نظر اشتباه میرسد، این نخستین حالتی است که باید امتحان کنید)؛-debug verboseبرخی خروجیهای اشکالزدایی اضافی را از برخی ماژولها فعال میکند (برای نمونه، دقیقاً نشان میدهد چه بایتهایی در شبکه ارسال میشوند). diffxxx- این
تنظیم
میتواند
برای کنترل
نام و
آرگومانهای
خط فرمان
ابزار
سیستمیِ
مورد
استفاده
برای نمایش
تفاوتهای
فایلها
استفاده
شود.
پیشفرض
“
diff -u OLDER NEWER” است. اگر مقدار این تنظیم حاوی زیررشتههای CURRENT1 و CURRENT2 باشد، این زیررشتهها با نام فایلهایی که باید مقایسه شوند جایگزین میشوند. اگر مقدار این تنظیم حاوی زیررشتههای NEWER و OLDER باشد، اینها با نام فایلهایی که باید مقایسه شوند جایگزین میشوند که NEWER فایل بهتازگی تغییریافتهتر از میان آن دو خواهد بود. بدون هر یک از این زیررشتهها، نام دو فایل به انتهای دستور اضافه میشود. در تمام موارد، نام فایلها بهطور مناسب نقلقول میشوند. docxxx- آرگومان
خط فرمان
-doc secname
باعث
میشود unison
بخش secname
از
دفترچهٔ
راهنما را
روی خروجی
استاندارد
نمایش دهد و
سپس خارج
شود. از
-doc allبرای نمایش کل راهنما استفاده کنید، که دقیقاً همان اطلاعات دفترچهٔ راهنمای چاپی و HTML را صرفنظر از قالببندی دربردارد. از-doc topicsبرای دریافت فهرستی از نامهای بخشهای مختلفی که میتوان چاپ کرد استفاده نمایید. dontchmod- بهطور پیشفرض، Unison پس از کپی کردن فایلها، از فراخوان سیستمی 'chmod' برای تنظیم بیتهای دسترسی آنها استفاده میکند. اما در برخی شرایط (و تحت برخی سیستمهای عامل)، فراخوان chmod همیشه با شکست مواجه میشود. فعال کردن این گزینه کاملاً مانع از آن میشود که Unison هرگز chmod را فراخوانی کند.
dumbtty- هنگامی
که روی
trueتنظیم شود، این پرچم باعث میشود که واسط کاربری حالت متنی از تلاش برای تغییر هر یک از تنظیمات ترمینال خودداری کند. (بهطور معمول، Unison ترمینال را در “حالت خام” قرار میدهد تا بتواند کارهایی مانند بازنویسی روی سطر فعلی را انجام دهد.) این گزینه برای نمونه هنگامی که Unison درون یک شل در Emacs اجرا میشود، مفید است. هنگامی کهdumbttyتنظیم شده باشد، دستورها به واسط کاربری باید پیش از اجرا توسط Unison با یک بازگشت به سر سطر (carriage return) همراه شوند. (هنگامی که غیرفعال است، Unison کلیدها را به محض فشرده شدن تشخیص میدهد.) این تنظیم هیچ تأثیری بر واسط کاربری گرافیکی ندارد. dumparchives- هنگامی که این تنظیم اعمال شود، Unison بلافاصله پس از بارگذاری آرشیو، فایلی به نام unison.dump روی هر میزبان ایجاد میکند که حاوی خلاصهای متنی از آرشیو است.
fastcheckxxx- هنگامی
که این
تنظیم روی
trueقرار گیرد، Unison به جای خواندن کامل محتوای هر فایل، از زمان تغییر و طول فایل به عنوان یک “شماره inode کاذب” هنگام پیمایش رونوشتها برای یافتن بهروزرسانیها استفاده میکند. (این در نخستین اجرای برنامه صدق نمیکند؛ در آن زمان Unison صرفنظر از این سوییچ همواره تمام فایلها را میپیماید). در ویندوز، اگر زمان تغییر و طول فایل هر دو بر اثر بهروزرسانی بدون تغییر مانده باشند، این امر ممکن است باعث شود Unison از انتشار یک بهروزرسانی باز بماند. با این حال، Unison هرگز چنین بهروزرسانیای را با تغییری از رونوشت دیگر بازنویسی نمیکند، چرا که همیشه درست پیش از انتشار یک تغییر، بررسی ایمنی را برای بهروزرسانیها انجام میدهد. از این رو، استفاده از این سوییچ در ویندوز در بیشتر مواقع منطقی است و اگر نگران هستید که Unison بهروزرسانیای را از قلم انداخته باشد، گاهبهگاه یک بار Unison را با fastcheck تنظیمشده رویfalseاجرا کنید. برای سازگاری با گذشته،yes،noوdefaultمیتوانند به جایtrue،falseوautoاستفاده شوند. برای اطلاعات بیشتر به بخش “تشخیص سریع بهروزرسانی (Fast Update Detection)” در راهنما مراجعه کنید. fastercheckUNSAFE- این ویژگی هنوز آزمایشی است و باید با احتیاط بسیار زیاد استفاده شود. هنگامی که این پرچم روی trueتنظیم شود، Unison نخستین باری که فایلی را میبیند (خواه به این دلیل که فایل جدید است یا به این دلیل که Unison برای نخستین بار در حال اجراست)، یک 'شبهاثرانگشت' محاسبه میکند. این کار تشخیص بهروزرسانی را فوقالعاده سرعت میبخشد، اما باید با احتیاط استفاده شود، زیرا میتواند باعث شود Unison تعارضها را نادیده بگیرد: اگر مسیری معین در سیستمفایل شامل فایلهایی در هر دو طرف باشد که Unison هنوز ندیده است، و اگر آن فایلها طول یکسان اما محتوای متفاوت داشته باشند، آنگاه Unison متوجه وجود تعارض نخواهد شد. اگر بعداً یکی از فایلها تغییر کند، فایل تغییریافته انتشار یافته و دیگری را بازنویسی میکند. علاوه بر این، حتی زمانی که فایلها در ابتدا یکسان هستند، تنظیم این پرچم میتواند به رفتاری بالقوه گیجکننده منجر شود: اگر فایل تازه ایجادشدهای بعداً بدون اصلاح شدن لمس (touch) شود، Unison این موضوع را محتاطانه به عنوان یک تغییر بالقوه در نظر میگیرد (چون سوابقی از محتوای قبلی ندارد) و آن را به عنوان نیازمند انتشار به رونوشت دیگر نشان میدهد. بیشتر کاربران باید این پرچم را خاموش بگذارند -- صرفهجویی اندک در زمان ناشی از اثرانگشت نگرفتن از فایلهای جدید، ارزش هزینهٔ آن از نظر ایمنی را ندارد. با این حال، میتواند برای کاربران حرفهای با رونوشتهای بسیار بزرگ که میدانند از قبل همگام هستند بسیار مفید باشد (برای نمونه، به این دلیل که یک رونوشت تکثیر تازه ایجادشده از دیگری است، یا به این دلیل که پیشتر با Unison همگام شدهاند اما آرشیوهای Unison نیاز به بازسازی دارند). در چنین شرایطی، توصیه میشود این پرچم فقط برای اجرای اولیهٔ Unison تنظیم شود تا آرشیوهای جدید بتوانند بهسرعت ایجاد شوند، و سپس برای استفادهٔ عادی خاموش گردد.
fat- هنگامی که این پرچم روی trueتنظیم شود، Unison از گزینههای مناسب برای همگامسازی کارآمد و بدون خطای یک رونوشت واقع بر یک سیستمفایل FAT روی یک ماشین غیرویندوزی استفاده خواهد کرد: دسترسیها همگامسازی نشوند (perms = 0)؛ هرگز از chmod استفاده نشود (dontchmod = true)؛ با نام فایلها به صورت غیرحساس به بزرگی و کوچکی حروف رفتار شود (ignorecase = true)؛ تلاشی برای همگامسازی پیوندهای نمادین صورت نگیرد (links = false)؛ تغییرات شماره inode هنگام تشخیص بهروزرسانیها نادیده گرفته شوند (ignoreinodenumbers = true). هر یک از این تغییرات را میتوان با تنظیم صریح گزینهٔ متناظر در پروفایل لغو کرد.
followxxx- گنجاندن تنظیم -follow pathspec باعث میشود Unison با پیوندهای نمادین منطبق با pathspec به صورت “نامرئی” رفتار کند و طوری عمل نماید که گویی شیء اشارهشده توسط پیوند، عیناً در این موقعیت در رونوشت ظاهر شده است. برای جزئیات بیشتر به بخش “پیوندهای نمادین (Symbolic Links)” در راهنما مراجعه کنید. ساختار نحوی pathspec در بخش “مشخصسازی مسیر (Path Specification)” در راهنما شرح داده شده است.
forcexxx- گنجاندن
تنظیم -force
root
باعث
میشود Unison
تمام
تفاوتها
(شامل
تغییرات
بدون تعارض)
را به نفع
rootحل و
فصل کند.
این کار در
عمل، Unison را از
یک
همگامساز
به یک ابزار
آینهسازی
(mirroring) تبدیل
میکند.
شما
همچنین
میتوانید
یک پیشوند
یا پسوند
یکتا از
مسیر یکی از
ریشهها یا
یک پیشوند
یکتا از نام
میزبان یک
ریشهٔ
دوردست را
مشخص کنید.
شما
همچنین
میتوانید
-force newer(یا-force older) را برای وادار کردن Unison به انتخاب فایلی با زمان تغییر جدیدتر (قدیمیتر) تعیین نمایید. در این حالت، تنظیم-timesنیز باید فعال باشد. اگر زمانهای تغییر در هر دو رونوشت هنگام استفاده ازnewerیاolderبرابر باشند، آنگاه این تنظیم اثری نخواهد داشت (تغییرات مانند زمانی که این تنظیم وجود ندارد همگام میشوند یا در صورت وجود تعارض همگامنشده باقی میمانند). این تنظیم توسط تنظیمforcepartialلغو میشود. از این گزینه فقط در صورتی باید استفاده شود که کاملاً مطمئن هستید میدانید چه کاری انجام میدهید! forcepartialxxx- گنجاندن
تنظیم forcepartial
= PATHSPEC ->
root
باعث
میشود Unison
تمام
تفاوتها
(حتی
تغییرات
بدون تعارض)
را برای
فایلهای
درون PATHSPEC
به نفع
root حل و
فصل کند
(برای
اطلاعات
بیشتر به
بخش
“مشخصسازی
مسیر (Path Specification)”
در
راهنما
مراجعه
کنید). این
کار در عمل،
Unison را از یک
همگامساز
به یک ابزار
آینهسازی
تبدیل
میکند.
شما
همچنین
میتوانید
یک پیشوند
یا پسوند
یکتا از
مسیر یکی از
ریشهها یا
یک پیشوند
یکتا از نام
میزبان یک
ریشهٔ
دوردست را
مشخص کنید.
شما
همچنین
میتوانید
forcepartial PATHSPEC -> newer(یاforcepartial PATHSPEC -> older) را برای وادار کردن Unison به انتخاب فایلی با زمان تغییر جدیدتر (قدیمیتر) تعیین کنید. در این حالت، تنظیم-timesنیز باید فعال باشد. اگر زمانهای تغییر در هر دو رونوشت هنگام استفاده ازnewerیاolderبرابر باشند، آنگاه این تنظیم اثری نخواهد داشت (تغییرات مانند زمانی که این تنظیم وجود ندارد همگام میشوند یا در صورت وجود تعارض همگامنشده باقی میمانند). از این گزینه فقط در صورتی باید استفاده شود که کاملاً مطمئن هستید میدانید چه کاری انجام میدهید! group- هنگامی
که این پرچم
روی
trueتنظیم شود، ویژگیهای گروهی فایلها همگامسازی میشوند. اینکه نامهای گروه یا شناسههای عددی گروه همگامسازی شوند، به تنظیم numericidsبستگی دارد. halfduplex- (منسوخشده) هنگامی که این پرچم روی trueتنظیم شود، ارتباط شبکهٔ Unison به صورت نیمهدوپوش (half-duplex) اجبار میشود (کلاینت و سرور هرگز بهطور همزمان داده ارسال نمیکنند). اگر روی پیوند شبکهٔ خود ناپایداریهایی تجربه میکنید، این گزینه ممکن است کمک کند.
heightn- برای تنظیم ارتفاع پنجره اصلی در واسط کاربری گرافیکی (بر حسب سطر) به کار میرود.
i- این تنظیم را در آرگومانهای خط فرمان ارائه دهید تا مدیر تعاملی پروفایل در واسط کاربری متنی فعال شود. در حال حاضر تنها فهرست کردن پروفایلها و انتخاب تعاملی در دسترس است. تنظیماتی مانند batch و silent همچنان برای قابلیت همگامسازی قابل اعمال باقی میمانند.
ignorexxx- گنجاندن تنظیم -ignore pathspec باعث میشود Unison مسیرهایی را که با pathspec مطابقت دارند (همراه با فرزندانشان) بهطور کامل نادیده بگیرد. این گزینه برای جلوگیری از همگامسازی فایلهای موقت، فایلهای شیء و غیره مفید است. ساختار نحوی pathspec در بخش “مشخصسازی مسیر (Path Specification)” در راهنما شرح داده شده است، و جزئیات بیشتر درباره نادیده گرفتن مسیرها در بخش “نادیده گرفتن مسیرها (Ignoring Paths)” در راهنما یافت میشود.
ignorearchives- هنگامی که این تنظیم اعمال شود، Unison هرگونه فایل آرشیو موجود را نادیده میگیرد و طوری رفتار میکند که گویی برای نخستین بار روی این رونوشتها اجرا میشود. قرار دادن این گزینه درون یک پروفایل ایدهٔ خوبی نیست: این گزینه برای استفاده در خط فرمان در نظر گرفته شده است.
ignorecasexxx- هنگامی که روی trueتنظیم شود، این پرچم باعث میشود Unison با نام فایلها به صورت غیرحساس به بزرگی و کوچکی حروف رفتار کند - یعنی فایلهایی در دو رونوشت که نام آنها در “نگارش” با حروف بزرگ و کوچک متفاوت است، به عنوان یک فایل یکسان تلقی شوند. هنگامی که این پرچم روی falseتنظیم شود، Unison با همهٔ نام فایلها به صورت حساس به حروف رفتار خواهد کرد. بهطور معمول، هنگامی که این پرچم روی defaultتنظیم باشد، اگر هر یک از میزبانها ویندوز یا OSX را اجرا کنند، نام فایلها بهطور خودکار غیرحساس به حروف فرض میشوند. در شرایط نادر ممکن است تنظیم دستی این پرچم مفید باشد.
ignoreinodenumbers- هنگامی که روی true تنظیم شود، این تنظیم باعث میشود Unison هنگام تشخیص سریع بهروزرسانی از شمارههای inode بهره نگیرد. این سوییچ باید با احتیاط استفاده شود، چرا که ایمنی آن نسبت به روش استاندارد تشخیص بهروزرسانی کمتر است، اما میتواند برای سیستمفایلهایی که از شمارههای inode پشتیبانی نمیکنند مفید باشد.
ignorelocks- هنگامی که این تنظیم اعمال شود، Unison هرگونه فایل قفلی را که ممکن است از اجرای پیشین Unison که هنگام خواندن یا نوشتن فایلهای آرشیو متوقف شده به جا مانده باشد، نادیده میگیرد؛ بهطور پیشفرض، وقتی Unison این فایلهای قفل را ببیند متوقف شده و خواستار مداخلهٔ دستی میشود. این گزینه تنها در صورتی باید تنظیم شود که کاملاً مطمئن باشید هیچ نمونهٔ دیگری از Unison همزمان به همان فایلهای آرشیو دسترسی ندارد (برای نمونه، به این دلیل که فقط یک نمونه از unison در حال اجرا بوده و به تازگی دچار فروپاشی شده یا آن را بستهاید). احتمالاً ایدهٔ خوبی نیست که این گزینه در یک پروفایل تنظیم شود: این گزینه برای استفاده در خط فرمان در نظر گرفته شده است.
ignorenotxxx- این
تنظیم بر
تنظیم
ignoreبرتری
دارد.
این
گزینه
فهرستی از
الگوها
(با همان
قالب
ignore) را برای مسیرهایی ارائه میدهد که قطعاً نباید نادیده گرفته شوند، صرفنظر از اینکه آیا با یکی از الگوهایignoreمطابقت دارند یا خیر. توجه داشته باشید که معناشناسی ignore و ignorenot کمی خلاف شهود است. هنگام تشخیص بهروزرسانیها، Unison مسیرها را به ترتیب جستجوی عمقاول، با شروع از ریشههای رونوشتها به سمت پایین بررسی میکند. پیش از بررسی هر مسیر، بررسی میکند که آیا با ignore مطابقت دارد و با ignorenotمطابقت ندارد یا خیر؛ در این صورت، از این مسیر و تمام نوادگان آنصرفنظر میکند. این بدان معناست که اگر یکی از نیاکان یک مسیر با الگوی ignore مطابقت داشته باشد، آنگاه از آن صرفنظر خواهد شد، حتی اگر خود مسیر با الگوی ignorenotمطابقت داشته باشد. بهویژه، قرار دادن ignore = Path * در پروفایل خود و سپس استفاده از ignorenot برای انتخاب مسیرهای خاص جهت همگامسازی کارساز نخواهد بود. در عوض، برای انتخاب مسیرهای خاص جهت همگامسازی باید از تنظیم pathاستفاده کنید. immutablexxx- این تنظیم مسیرهایی را برای دایرکتوریهایی مشخص میکند که فرزندان بیواسطهٔ آنها همگی فایلهای تغییرناپذیر (immutable) هستند -- یعنی وقتی یک فایل ایجاد شد، محتوای آن هرگز تغییر نمیکند. هنگام پیمایش برای یافتن بهروزرسانیها، Unison تغییر یافتن این فایلها را بررسی نمیکند؛ این امر میتواند تشخیص بهروزرسانی را بهطور چشمگیری سرعت ببخشد (بهویژه برای دایرکتوریهای ایمیل).
immutablenotxxx- این تنظیم بر immutableبرتری دارد.
includexxx- گنجاندن تنظیمات از یک پروفایل دیگر. include name پروفایل “name” (یا فایل “name” در دایرکتوری .unison در صورت عدم وجود پروفایل “name”) را میخواند و محتویات آن را بهگونهای میگنجاند که گویی بخشی از یک پروفایل بوده یا مستقیماً در خط فرمان داده شده است.
keyxxx- در یک پروفایل برای تعریف یک کلید عددی (0-9) استفاده میشود که میتواند در واسط کاربری برای رفتن فوری به این پروفایل استفاده شود.
killserver- هنگامی
که روی
trueتنظیم شود، این پرچم باعث میشود که Unison پس از پایان همگامسازی، فرایند سرور دوردست را متوقف سازد. این رفتار برای اتصالاتsshحالت پیشفرض است، بنابراین این تنظیم معمولاً هنگام اجرا رویsshلازم نیست؛ این پرچم برای این در نظر گرفته شده که سرورهای حالت سوکت بتوانند پس از یک بار اجرای Unison به جای منتظر ماندن برای اتصالات بعدی بسته شوند. (برخی کاربران ترجیح میدهند به جای باز گذاشتن مداوم یک سرور، برای هر بار اجرای Unison یک سرور سوکت راهاندازی کنند.) labelxxx- در یک پروفایل برای ارائه یک رشتهٔ توصیفی جهت مستندسازی تنظیمات آن استفاده میشود. (این برای کاربرانی که میان چند پروفایل جابجا میشوند مفید است، بهویژه با استفاده از ویژگی “تغییر سریع” در واسط کاربری گرافیکی.)
linksxxx- هنگامی که روی trueتنظیم شود، این پرچم باعث میشود Unison پیوندهای نمادین را همگامسازی کند. هنگامی که روی falseتنظیم شود، پیوندهای نمادین در طول تشخیص بهروزرسانی نادیده گرفته خواهند شد. بهطور معمول، هنگامی که این پرچم روی defaultتنظیم باشد، پیوندهای نمادین همگامسازی میشوند، مگر زمانی که یکی از میزبانها ویندوز را اجرا کند. در یک کلاینت ویندوز، Unison تلاش میکند تشخیص دهد که آیا پیوندهای نمادین توسط دسترسیهای کاربر پشتیبانی و مجاز شدهاند یا خیر. ممکن است برای ایجاد پیوندهای نمادین به دسترسیهای بالاتری نیاز داشته باشید. هنگامی که این پرچم روی default تنظیم باشد و پیوندهای نمادین نتوانند همگامسازی شوند، در طول تشخیص بهروزرسانی یک خطا تولید میشود.
listenxxx- هنگام عمل کردن به عنوان سرور روی یک سوکت TCP، ابزار Unison بهطور پیشفرض به نشانی "any" (یعنی 0.0.0.0 و [::]) گوش فرا میدهد. این آرگومان خط فرمان اجازه میدهد یک نشانی شنود متفاوت مشخص شود و میتواند برای گوش دادن روی چند نشانی تکرار گردد. نشانی شنود را میتوان به عنوان یک نام میزبان یا یک نشانی IP مشخص کرد.
log- هنگامی که این پرچم تنظیم شود، Unison تمام تغییرات روی سیستمهای فایل را در یک فایل ثبت (لاگ) میکند.
logfilexxx- بهطور
پیشفرض،
پیامهای
لاگ به
انتهای
فایل
unison.logدر دایرکتوری .unison شما اضافه میشوند. اگر فایل دیگری را ترجیح میدهید، این تنظیم را مشخص کنید. این میتواند یک مسیر نسبی نسبت به دایرکتوری .unison شما باشد. ارسال سیگنال SIGUSR1 فایل لاگ را میبندد؛ فایل لاگ بهطور خودکار مجدداً باز (و در صورت نیاز ایجاد) میشود تا امکان چرخش لاگ فراهم گردد. maxbackupsn- این
تنظیم
تعداد
نسخههای
پشتیبانی
را مشخص
میکند که unison
برای هر
مسیری که با
گزارهٔ
backupمطابقت دارد، نگه خواهد داشت. پیشفرض 2 است. maxerrorsn- این تنظیم کنترل میکند که Unison پس از چند خطا، انتقال دایرکتوری را لغو کند. تنظیم آن روی یک عدد بزرگ به Unison اجازه میدهد حتی در صورت عدم موفقیت در کپی برخی فایلها، بیشتر دایرکتوری را منتقل کند. پیشفرض 1 است. اگر این تنظیم بیش از حد بالا تعیین شود، ممکن است در صورت بروز خرابیهای مکرر (برای نمونه پر شدن دیسک)، زمان زیادی طول بکشد تا Unison عملیات را لغو کند.
maxsizethresholdn- عددی که نشان میدهد بالاتر از چه اندازهٔ فایلی (به کیلوبایت) Unison باید به جای انتقال فایل، یک تعارض را گزارش دهد. این تعارض حتی در صورت وجود گزینههای force یا prefer نیز باقی میماند. یک عدد منفی اجازهٔ تمام انتقالها را مستقل از اندازه میدهد. پیشفرض -1 است.
maxthreadsn- این تنظیم میزان همروندی مجاز را در طول مرحلهٔ انتقال کنترل میکند. بهطور معمول، باید بهاندازهٔ کافی بالا تنظیم شود تا کارایی بیشینه گردد، اما هنگامی که Unison روی یک پیوند با پهنای باند کم استفاده میشود، ممکن است پایین آوردن آن (برای نمونه روی 1) مفید باشد تا Unison تمام پهنای باند موجود را اشغال نکند. پیشفرض مقدار ویژهٔ 0 است، که به معنی 20 ریسه هنگام غیرفعال بودن جریان محتوای فایل و 1000 ریسه هنگام فعال بودن آن است.
mergexxx- این تنظیم میتواند برای اجرای یک برنامهٔ ادغام استفاده شود که با استفاده از آخرین نسخهٔ پشتیبان و هر دو رونوشت، یک نسخهٔ جدید برای هر یک از فایلها و نسخهٔ پشتیبان ایجاد کند. ساختار نحوی pathspec -> cmd در بخش “مشخصسازی مسیر (Path Specification)” در راهنما شرح داده شده است، و جزئیات بیشتر درباره توابع ادغام در بخش “ادغام نسخههای متعارض (Merging Conflicting Versions)” در راهنما موجود است.
mountpointxxx- گنجاندن تنظیم -mountpoint PATH باعث میشود Unison در پایان فرایند تشخیص بهروزرسانی، بررسی کند که آیا PATH درون هر ریشه وجود دارد یا خیر، و اگر وجود نداشت عملیات را لغو کند. این کار میتواند مانع از همگامسازی در زمانی شود که رسانهٔ جداشدنی متصل (mount) نشده است. این تنظیم میتواند بیش از یک بار مشخص شود. به بخش “نقاط اتصال و رسانههای جداشدنی (Mount Points and Removable Media)” در راهنما مراجعه کنید.
moves-experimental- هنگامی که این تنظیم اعمال شود، Unison تلاش میکند تا با تشخیص اینکه یک فایل یا دایرکتوری تغییر نام یافته یا به مکان جدیدی منتقل شده است، از انتقال محتوای فایل در سراسر شبکه یا تهیهٔ یک نسخهٔ کپی محلی خودداری کند. این ویژگی معمولاً اجازه میدهد تنها تغییر نام انتشار یابد، بدون آنکه نیازی به انتقال یا کپی هیچ دادهای باشد. مقدار پیشفرض falseاست. این ویژگی در حال حاضر آزمایشی است و ممکن است در نسخههای آینده به روشهای ناسازگار تغییر کند.
nocreationxxx- گنجاندن تنظیم -nocreation root مانع از آن میشود که Unison هرگونه فایل جدیدی روی ریشهٔ rootایجاد کند. شما همچنین میتوانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشهها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. اگر میخواهید از هرگونه ایجاد فایل جلوگیری کنید، این تنظیم میتواند دو بار گنجانده شود، یک بار برای هر ریشه.
nocreationpartialxxx- گنجاندن تنظیم nocreationpartial = PATHSPEC -> root مانع از آن میشود که Unison در PATHSPEC روی ریشهٔ root فایلی ایجاد کند (برای اطلاعات بیشتر به بخش “مشخصسازی مسیر (Path Specification)” در راهنما مراجعه کنید). توصیه میشود هنگام انتخاب یک دایرکتوری و تمام محتویات آن، از الگوهای BelowPath استفاده شود.
nodeletionxxx- گنجاندن تنظیم -nodeletion root مانع از آن میشود که Unison فایلی را روی ریشهٔ rootحذف کند. شما همچنین میتوانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشهها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. اگر میخواهید از هرگونه حذف فایل جلوگیری کنید، این تنظیم میتواند دو بار گنجانده شود، یک بار برای هر ریشه.
nodeletionpartialxxx- گنجاندن تنظیم nodeletionpartial = PATHSPEC -> root مانع از آن میشود که Unison در PATHSPEC روی ریشهٔ root فایلی را حذف کند (برای اطلاعات بیشتر به بخش “مشخصسازی مسیر (Path Specification)” در راهنما مراجعه کنید). توصیه میشود هنگام انتخاب یک دایرکتوری و تمام محتویات آن، از الگوهای BelowPath استفاده شود.
noupdatexxx- گنجاندن تنظیم -noupdate root مانع از آن میشود که Unison هرگونه بهروزرسانی یا حذف فایلی را روی ریشهٔ rootانجام دهد. شما همچنین میتوانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشهها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. اگر میخواهید از هرگونه بهروزرسانی جلوگیری کنید، این تنظیم میتواند دو بار گنجانده شود، یک بار برای هر ریشه.
noupdatepartialxxx- گنجاندن تنظیم noupdatepartial = PATHSPEC -> root مانع از آن میشود که Unison در PATHSPEC روی ریشهٔ root فایلی را بهروزرسانی یا حذف کند (برای اطلاعات بیشتر به بخش “مشخصسازی مسیر (Path Specification)” در راهنما مراجعه کنید). توصیه میشود هنگام انتخاب یک دایرکتوری و تمام محتویات آن، از الگوهای BelowPath استفاده شود.
numericids- هنگامی
که این پرچم
روی
trueتنظیم شود، گروهها و کاربران به جای نام، بر اساس شناسهٔ عددی همگامسازی میشوند. شناسه کاربری خاص 0 (uid 0) و شناسه گروهی خاص 0 (group 0) حتی اگر این تنظیم مشخص نشده باشد نیز هرگز از طریق نام کاربر/گروه نگاشت نمیشوند. owner- هنگامی
که این پرچم
روی
trueتنظیم شود، ویژگیهای مالک فایلها همگامسازی میشوند. اینکه نامهای مالک یا شناسههای عددی مالک همگامسازی شوند، به تنظیم numericidsبستگی دارد. pathxxx- هنگامی
که هیچ
گزینهٔ
pathداده نشود، Unison صرفاً دو رونوشت کامل را، با شروع از جفت ریشههای ارائهشده، همگامسازی خواهد کرد. اگر یک یا چند گزینهٔpathداده شود، آنگاه Unison فقط این مسیرها و فرزندان آنها را همگام میکند. (این برای نمونه برای انجام یک همگامسازی سریع تنها از یک دایرکتوری مفید است.) توجه داشته باشید که تنظیمات path عیناً تفسیر میشوند - آنها عبارات باقاعده نیستند. permsn- مقدار صحیح این تنظیم یک ماسک است که نشان میدهد کدام بیتهای دسترسی باید همگامسازی شوند. این مقدار بهطور پیشفرض روی $0o1777$ تنظیم شده است: همهٔ بیتها به جز بیتهای set-uid و set-gid همگامسازی میشوند (همگامسازی این بیتهای اخیر میتواند یک مخاطرهٔ امنیتی باشد). اگر میخواهید همهٔ بیتها را همگامسازی کنید، میتوانید مقدار این تنظیم را روی $-1$ بگذارید. اگر یکی از رونوشتها روی سیستمفایل FAT [ویندوز] قرار دارد، باید به جای این تنظیم، استفاده از گزینهٔ fat را در نظر داشته باشید. اگر نیاز دارید که Unison اصلاً دسترسیها را تغییر ندهد، مقدار این گزینه را روی $0$ قرار دهید و گزینهٔ dontchmod را روی trueبگذارید.
preferxxx- گنجاندن
تنظیم -prefer
root
باعث
میشود Unison
همیشه
تعارضها
را به جای
درخواست
راهنمایی
از کاربر،
به نفع
rootحل و
فصل کند،
مگر برای
مسیرهایی
که با
گزینهٔ
mergeعلامتگذاری
شدهاند.
(ساختار
نحوی root
مشابه با
تنظیم
rootاست، به علاوه مقادیر ویژهٔnewerوolder). شما همچنین میتوانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشهها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. این تنظیم توسط تنظیمpreferpartialلغو میشود. از این گزینه فقط در صورتی باید استفاده شود که کاملاً مطمئن هستید میدانید چه کاری انجام میدهید! preferpartialxxx- گنجاندن
تنظیم
preferpartial = PATHSPEC
-> root
باعث
میشود Unison
همیشه برای
فایلهای
درون PATHSPEC
تعارضها
را به جای
درخواست
راهنمایی
از کاربر،
به نفع
rootحل و
فصل کند
(برای
اطلاعات
بیشتر به
بخش
“مشخصسازی
مسیر (Path Specification)”
در
راهنما
مراجعه
کنید).
(ساختار
نحوی root
مشابه
تنظیم
rootاست، به علاوه مقادیر ویژهٔnewerوolder). شما همچنین میتوانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشهها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. از این تنظیم فقط در صورتی باید استفاده شود که کاملاً مطمئن هستید میدانید چه کاری انجام میدهید! repeatxxx- اعمال
این تنظیم
باعث
میشود که
واسط حالت
متنی، به
جای انجام
یکبارهٔ
همگامسازی
و توقف، آن
را بهطور
مکرر انجام
دهد. اگر
آرگومان یک
عدد باشد، Unison
پیش از شروع
مجدد به
همان تعداد
ثانیه مکث
خواهد کرد.
هنگامی که
آرگومان
watchباشد، Unison برای همگامسازی به محض رخ دادن هر تغییر، به یک فرایند خارجی نظارت بر فایل متکی میشود. میتوانید این دو را با نویسهٔ+ترکیب کنید تا هم از نظارت بر فایل استفاده کنید و هم هر تعداد ثانیه معین یک اسکن کامل انجام دهید. برای نمونه،watch+3600بلافاصله به تغییرات واکنش نشان میدهد و علاوه بر این، هر یک ساعت یک بار اسکن کامل انجام خواهد داد. retryn- اعمال این تنظیم باعث میشود که واسط حالت متنی مجدداً برای همگامسازی مسیرهای بهروزرسانیشدهای که همگامسازی آنها ناموفق بوده تلاش کند. برای هر یک از این مسیرها N بار تلاش خواهد شد.
rootxxx- هر بار
استفاده از
این تنظیم،
ریشهٔ یکی
از
رونوشتها
را برای
همگامسازی
توسط Unison
نامگذاری
میکند.
دقیقاً دو
ریشه مورد
نیاز است،
بنابراین
حالتهای
عادی
استفاده
این است که
یا دو مقدار
برای
rootدر پروفایل داده شود، یا هیچ مقداری در پروفایل داده نشود و دو ریشه در خط فرمان ارائه گردد. جزئیات ساختار ریشهها را میتوان در بخش “ریشهها (Roots)” در راهنما یافت. دو ریشه را میتوان به هر ترتیبی داد؛ Unison پیش از انجام هر کاری آنها را به ترتیبی استاندارد مرتب میکند. همچنین سعی میکند نام ماشینها و مسیرهایی را که در ریشهها ظاهر میشوند “رسمیسازی” کند، تا اگر Unison بعداً با نامی کمی متفاوت برای همان ریشه فراخوانی شد، بتواند آرشیوهای صحیح را پیدا کند. rootaliasxxx- هنگام محاسبهٔ نام فایلهای آرشیو برای یک جفت ریشهٔ معین، Unison هر ریشهای را که با سمت چپ یک قاعدهٔ rootalias مطابقت داشته باشد، با سمت راست متناظر آن جایگزین میکند.
rsrcxxx- هنگامی که روی trueتنظیم شود، این پرچم باعث میشود Unison دوشاخههای منابع (resource forks) و متادادههای HFS را همگامسازی کند. روی سیستمفایلهایی که ذاتاً از resource forks پشتیبانی نمیکنند، این دادهها در فایلهای AppleDouble._ سازگار با Carbon ذخیره میشوند. هنگامی که پرچم روی falseتنظیم شود، Unison این دادهها را همگام نخواهد کرد. بهطور معمول، پرچم روی defaultتنظیم است، و در صورتی که هر یک از میزبانها OSX را اجرا کند، این دادهها بهطور خودکار همگام میشوند. در شرایط نادر ممکن است تنظیم دستی این پرچم مفید باشد.
rsync- ابزار Unison از 'الگوریتم rsync' برای انتقال 'صرفاً تفاوتها' در بهروزرسانیهای فایلهای بزرگ استفاده میکند. تنظیم این پرچم روی false باعث میشود Unison در عوض از انتقال کل فایل استفاده کند. در شرایط عادی، دلیلی برای انجام این کار وجود ندارد، اما اگر با خطاهای مکرر 'rsync failure' مواجه میشوید، تنظیم آن روی false باید به شما اجازه دهد فایلهای مشکلساز را همگامسازی کنید.
selftest- اجرای آزمونهای داخلی و خروج. این گزینه بیشتر برای توسعهدهندگان است و باید با احتیاط استفاده شود: بهویژه، محتوای هر دو ریشه را پاک خواهد کرد تا بتواند فایلهای خود را برای آزمایش نصب کند. این پرچم تنها در خط فرمان معنادار است. هنگامی که این پرچم ارائه شود، هیچ فایل تنظیماتی خوانده نمیشود: تمام تنظیمات باید در خط فرمان مشخص شوند. همچنین، از آنجا که فرایند خودآزمایی شامل بازنویسی ریشهها و دایرکتوری backupdir است، نامهای ریشهها و تنظیم backupdir باید شامل رشتهٔ "test" باشند وگرنه آزمونها لغو خواهند شد. (اگر این موارد در خط فرمان داده نشوند، زیردایرکتوریهای موقت در دایرکتوری جاری بهطور خودکار ایجاد میشوند.)
servercmdxxx- این تنظیم میتواند در صورت لزوم برای تعیین صریح نام فایل اجرایی Unison روی سرور دوردست (برای نمونه، ارائه یک مسیر کامل) استفاده شود.
showarchive- هنگامی که این تنظیم اعمال شود، Unison 'نامهای واقعی' ریشهها را به همان قالبی که توسط تنظیم rootalias انتظار میرود، چاپ میکند.
silent- هنگامی که این تنظیم روی trueقرار گیرد، واسط کاربری متنی بهجز در صورت بروز خطا هیچ چیزی چاپ نخواهد کرد. تنظیم silent روی true بهطور خودکار تنظیم batch را نیز روی trueقرار میدهد.
socketxxx- اجرای unison به عنوان سروری که روی یک سوکت TCP (با شماره پورت TCP به عنوان آرگومان) یا یک سوکت محلی (سوکت دامنهٔ یونیکس) (با مسیر سوکت به عنوان آرگومان) شنود میکند.
sortbysize- هنگامی که این پرچم تنظیم شود، واسط کاربری فایلهای تغییریافته را به جای نام، بر اساس اندازه (کوچکترین در ابتدا) فهرست میکند. این گزینه برای نمونه برای همگامسازی روی پیوندهای کند مفید است، چرا که فایلهای بسیار بزرگ را در انتهای فهرست قرار میدهد تا مانع از انتقال سریع فایلهای کوچکتر نشوند. این تنظیم (و همچنین سایر پرچمهای مرتبسازی، به جز تنظیماتی که الگوها را به عنوان آرگومان میپذیرند) را میتوان با استفاده از منوی 'Sort' در واسطهای کاربری گرافیکی و متنی به صورت تعاملی و موقت تنظیم کرد.
sortfirstxxx- هر آرگومان به sortfirst یک الگوی pathspecاست که مجموعهای از مسیرها را توصیف میکند. فایلهای منطبق با هر یک از این الگوها در ابتدای واسط کاربری فهرست خواهند شد. ساختار نحوی pathspec در بخش “مشخصسازی مسیر (Path Specification)” در راهنما شرح داده شده است.
sortlastxxx- مشابه
با
sortfirst، با این تفاوت که فایلهای منطبق با یکی از این الگوها در انتهای فهرست نمایش داده خواهند شد. sortnewfirst- هنگامی که این پرچم تنظیم شود، واسط کاربری فایلهای تازه ایجادشده را پیش از سایر فایلها فهرست میکند. این گزینه برای نمونه برای بررسی اینکه فایلهای تازه ایجادشده “بدردنخور” نباشند -- یعنی فایلهایی که به جای همگامسازی باید نادیده گرفته یا حذف شوند -- مفید است.
sourcexxx- گنجاندن تنظیمات از یک فایل. source name فایل “name” را در دایرکتوری .unison میخواند و محتویات آن را طوری میگنجاند که گویی بخشی از یک پروفایل بوده یا مستقیماً در خط فرمان داده شده است.
sshargsxxx- مقدار
رشتهای
این تنظیم
به عنوان
آرگومانهای
اضافی
(علاوه بر
نام میزبان
و نام فایل
اجرایی Unison
روی سیستم
دوردست) به
دستور
sshکه برای فراخوانی سرور دوردست استفاده میشود، ارسال خواهد شد. بکاسلش یک نویسهٔ گریز است. sshcmdxxx- این تنظیم میتواند در صورت لزوم برای تعیین صریح نام فایل اجرایی ssh (برای نمونه، ارائه یک مسیر کامل) استفاده شود.
stream- (منسوخشده) هنگامی که این تنظیم اعمال شود، Unison از یک پروتکل جریانی آزمایشی برای انتقال کارآمدتر محتویات فایل استفاده خواهد کرد. مقدار پیشفرض trueاست.
terse- هنگامی که این تنظیم روی trueتنظیم شود، واسط کاربری پیامهای وضعیت را چاپ نخواهد کرد.
testserver- تنظیم این پرچم در خط فرمان باعث میشود Unison برای اتصال به سرور دوردست تلاش کند و در صورت موفقیت، پیامی چاپ کرده و بلافاصله خارج شود. برای اشکالزدایی مشکلات نصب مفید است. نباید در فایلهای تنظیمات مشخص شود.
times- هنگامی
که این پرچم
روی
trueتنظیم شود، زمانهای تغییر فایل (اما نه زمانهای تغییر دایرکتوری) انتشار مییابند. uixxx- این
تنظیم یکی
از
واسطهای
کاربری
گرافیکی یا
متنی را
انتخاب
میکند.
مقادیر
مجاز
graphicیاtextهستند. از آنجا که این گزینه در طول توالی راهاندازی Unison به صورت ویژه پردازش میشود، تنها میتواند در خط فرمان استفاده شود. در فایلهای تنظیمات هیچ اثری ندارد. اگر فایل اجرایی Unison تنها با واسط متنی کامپایل شده باشد، این گزینه هیچ اثری ندارد. (فایلهای اجرایی از پیش کامپایلشده همگی با هر دو واسط در دسترس کامپایل شدهاند.) unicodexxx- هنگامی که روی trueتنظیم شود، این پرچم باعث میشود که Unison
| March 17, 2022 | unison |