UNISON(1) General Commands Manual (urm) UNISON(1)

unison — ابزار همگام‌سازی دوسویه و چندسکویی فایل

unison [options] unison root1 root2 [options] unison profilename [options]

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 در برابر خرابی‌ها مقاوم است. این ابزار همواره تضمین می‌کند که رونوشت‌ها و ساختارهای درونی خودش حتی در صورت توقف غیرعادی برنامه یا خرابی‌های ارتباطی، در وضعیتی پایدار و منطقی باقی بمانند.



  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



  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


   -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

بیشتر گزینه‌ها می‌توانند به عنوان آرگومان‌های خط فرمان یا درون یک پروفایل مشخص شوند. در خط فرمان، بر خلاف پروفایل، گزینه‌ها با یک خط تیره در ابتدا مشخص می‌شوند؛ مانند: -option.

هنگامی که این پرچم روی trueتنظیم شود، فهرست‌های کنترل دسترسی (ACL) فایل‌ها و دایرکتوری‌ها همگام‌سازی می‌شوند. نوع ACLها به پشتیبانی سکو و سیستم‌فایل بستگی دارد. روی سکوهای شبیه به یونیکس، این می‌تواند برای نمونه NFSv4 ACL باشد.
xxx
به‌طور پیش‌فرض، تنظیمات جدید اضافه‌شده توسط Unison (مانند بندهای جدید ignore ) به انتهای هر فایل تنظیمی که به Unison گفته شده بود در ابتدای اجرا بارگذاری کند افزوده خواهند شد. تنظیم گزینهٔ addprefsto filename باعث می‌شود Unison در عوض، تنظیمات جدید را به فایلی با نام filename اضافه کند.
هنگامی که این پرچم روی trueتنظیم شود، Unison از currentmajorversionnumber به جای صرفاً unison به عنوان دستور سرور دوردست استفاده خواهد کرد (توجه داشته باشید که شماره نسخه فرعی حذف می‌شود - برای نمونه unison-2.51). این کار امکان می‌دهد فایل‌های اجرایی متعددی از نسخه‌های مختلف unison به‌راحتی روی یک سرور در کنار هم وجود داشته باشند: هر نسخه‌ای که روی کلاینت اجرا شود، همان نسخه روی سرور انتخاب خواهد شد.
xxx
این تنظیم، مسیرهایی را برای دایرکتوری‌هایی مشخص می‌کند که محتویات آن‌ها در صورت تغییر همزمان، به جای تکی، به صورت یک گروه در نظر گرفته می‌شود. پشتیبان‌گیری‌ها نیز در این حالت به صورت یکپارچه (atomic) انجام می‌شوند. با این حال، گزینهٔ backupcurr هیچ تأثیری بر دایرکتوری‌های اتمیک ندارد.
هنگامی که روی trueتنظیم شود، این پرچم سبب می‌شود که واسط کاربری از درخواست تأیید برای تغییرات بدون تعارض صرف‌نظر کند. (به‌طور دقیق‌تر، وقتی واسط کاربری تعیین جهت انتشار را برای یک مورد تمام کرد و می‌خواهد به مورد بعدی برود، از تمام موارد بدون تعارض جهش کرده و مستقیماً به سراغ تعارض بعدی می‌رود.)
xxx
گنجاندن گزینهٔ -backup pathspec باعث می‌شود Unison برای هر مسیری که با pathspecمطابقت دارد، فایل‌های پشتیبان نگه دارد؛ از دایرکتوری‌ها (و دسترسی‌ها یا هر متادادهٔ دیگر آن‌ها) پشتیبان گرفته نمی‌شود. این فایل‌های پشتیبان در دایرکتوری مشخص‌شده توسط تنظیم backuplocation نگهداری می‌شوند. نام‌گذاری پشتیبان‌ها مطابق با تنظیمات backupprefix و backupsuffix انجام می‌شود. تعداد نسخه‌هایی که نگهداری می‌شوند با تنظیم maxbackups تعیین می‌گردد. ساختار نحوی pathspec در بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما شرح داده شده است.
xxx
گنجاندن تنظیم -backupcurr pathspec باعث می‌شود Unison یک نسخهٔ پشتیبان از نسخهٔ فعلی هر فایلی که با pathspecمطابقت دارد نگه دارد. این فایل به عنوان یک پشتیبان با شماره نسخهٔ 000 ذخیره خواهد شد. چنین پشتیبان‌هایی می‌توانند برای نمونه به عنوان ورودی برنامه‌های ادغام خارجی استفاده شوند. مستندات مربوط به تنظیم merge را ببینید. برای جزئیات بیشتر، به بخش “ادغام نسخه‌های متعارض (Merging Conflicting Versions)” در راهنما مراجعه کنید. ساختار نحوی pathspec در بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما شرح داده شده است.
xxx
استثناها برای backupcurr، مانند تنظیم ignorenot.
xxx
اگر این تنظیم مشخص شود، هنگامی که backuplocation روی centralتنظیم شده باشد، Unison از آن به عنوان نام دایرکتوری مورد استفاده برای ذخیره فایل‌های پشتیبان تعیین‌شده با تنظیم backup استفاده خواهد کرد. این تنظیم پس از متغیر محیطی بررسی می‌شود.
xxx
این تنظیم مشخص می‌کند که آیا پشتیبان‌ها باید به صورت محلی در کنار فایل‌های اصلی نگهداری شوند، یا در یک دایرکتوری مرکزی که با تنظیم backupdir مشخص می‌شود. اگر روی localتنظیم شود، پشتیبان‌ها در همان دایرکتوری فایل‌های اصلی نگهداری می‌شوند، و اگر روی centralتنظیم شود، به جای آن از backupdir استفاده خواهد شد.
xxx
مقادیر این تنظیم، مسیرها یا فایل‌های منفرد یا عبارات باقاعده‌ای را مشخص می‌کنند که نباید از آن‌ها پشتیبان گرفته شود، حتی اگر تنظیم backup آن‌ها را انتخاب کرده باشد - یعنی به‌طور انتخابی بر backupبرتری دارد.
xxx
هنگامی که یک پشتیبان برای فایل NAME ایجاد می‌شود، در دایرکتوری مشخص‌شده توسط backuplocation، در فایلی به نام backupprefixNAMEbackupsuffixذخیره می‌گردد. backupprefix می‌تواند شامل نام یک دایرکتوری باشد (که باعث می‌شود Unison تمام فایل‌های پشتیبان یک دایرکتوری معین را در زیردایرکتوری با این نام نگه دارد)، و هر دو backupprefix و backupsuffix می‌توانند حاوی رشتهٔ $VERSIONباشند که با قدمت پشتیبان جایگزین خواهد شد (1 برای جدیدترین، 2 برای دومین مورد جدید، و الی آخر...). این کلیدواژه اگر در نام دایرکتوری در پیشوند ظاهر شود نادیده گرفته می‌شود؛ اگر در هیچ کجای پیشوند یا پسوند ظاهر نشود، به‌طور خودکار در ابتدای پسوند قرار خواهد گرفت. نکته‌ای که باید مراقب آن بود: اگر تنظیم backuploc روی localتنظیم شده باشد، Unison به‌طور خودکار تمام فایل‌هایی را که پیشوند و پسوند آن‌ها با backupprefix و backupsuffixمطابقت دارد نادیده می‌گیرد. بنابراین دقت کنید مقادیری را برای این تنظیمات انتخاب نمایید که به اندازه کافی با نام فایل‌های واقعی شما تفاوت داشته باشند.
(منسوخ‌شده) تنظیم این پرچم روی true معادل تنظیم backuplocation روی local و backup روی Name *است.
xxx
برای مستندات کامل به backupprefix مراجعه کنید.
هنگامی که این پرچم روی trueتنظیم شود، واسط کاربری هیچ سؤالی نخواهد پرسید. تغییرات بدون تعارض انتشار می‌یابند؛ از تعارض‌ها صرف‌نظر خواهد شد.
xxx
در صورت تعیین، نام میزبان کلاینت حدس زده نمی‌شود و از نام میزبان ارائه‌شده برای یافتن آرشیو استفاده خواهد شد.
xxx
هنگامی که روی trueتنظیم شود، این پرچم خروجی رنگی را در واسط کاربری حالت متنی فعال می‌کند. هنگامی که روی falseتنظیم شود، تمام خروجی‌های رنگی غیرفعال می‌شوند. پیش‌فرض فعال بودن رنگ است در صورتی که متغیر محیطی تنظیم نشده باشد.
هنگامی که این پرچم روی trueتنظیم شود، اگر به نظر برسد که کل یک رونوشت حذف شده است، Unison پیش از انتشار تغییر، درخواست تأیید مضاعف خواهد کرد. اگر پرچم batch نیز تنظیم شده باشد، همگام‌سازی لغو خواهد شد. هنگامی که تنظیم path استفاده شود، همین تأیید برای مسیرهای سطح بالا نیز درخواست خواهد شد. (در حال حاضر، این پرچم فقط بر واسط کاربری متنی تأثیر می‌گذارد.) همچنین تنظیم mountpoint را ببینید.
تنظیم این گزینه سبب می‌شود که هر دو واسط متنی و گرافیکی از کاربر بپرسند که آیا نتایج یک دستور ادغام می‌تواند روی رونوشت اعمال شود یا خیر. از آنجا که دستور ادغام روی فایل‌های موقت کار می‌کند، در صورتی که نتیجه رضایت‌بخش نباشد، کاربر می‌تواند تمام اثرات اعمال ادغام را لغو کند. در حالت دسته‌ای (batch-mode)، این تنظیم اثری ندارد. مقدار پیش‌فرض false است.
اگر این پرچم تنظیم شود، Unison از نمایش پیام “Contacting server” (که برای برخی کاربران آزاردهنده است) در حین راه‌اندازی صرف‌نظر می‌کند.
n
(منسوخ‌شده) عددی که نشان می‌دهد چه تعداد نمونه از ابزار کپی خارجی مجاز است به‌طور همزمان توسط Unison اجرا شوند (پیش‌فرض 1 است).
هنگامی که این پرچم تنظیم شود، Unison از فایل‌هایی که در صورت تغییرات متعارض بازنویسی یا حذف می‌شوند، و به‌طور کلی هر زمان که رفتار پیش‌فرض لغو شود، یک نسخه کپی تهیه می‌کند. این کار امکان می‌دهد در زمان همگام‌سازی پیوسته، در ترکیب با تنظیمات -repeat watch و -prefer newer تعارض‌ها به روشی نسبتاً ایمن به‌طور خودکار حل و فصل شوند.
xxx
(منسوخ‌شده) رشته‌ای که نام یک برنامهٔ خارجی را برای کپی کارآمد فایل‌های بزرگ مشخص می‌کند (به همراه سوییچ‌های خط فرمان که به آن می‌گویند فایل‌ها را درجا کپی کند). تنظیم پیش‌فرض، rsync را با گزینه‌های مناسب فراخوانی می‌کند - بیشتر کاربران نیازی به تغییر آن ندارند.
xxx
(منسوخ‌شده) گونه‌ای از copyprog که نام برنامهٔ خارجی را مشخص می‌کند که باید برای ادامهٔ انتقال یک فایل بزرگ که پیش‌تر به‌طور ناقص منتقل شده استفاده شود. معمولاً copyprogrest همان copyprog با یک گزینهٔ اضافه خواهد بود (برای نمونه برای rsync). تنظیم پیش‌فرض، rsync را با گزینه‌های مناسب فراخوانی می‌کند - بیشتر کاربران نیازی به تغییر آن ندارند.
n
(منسوخ‌شده) عددی که نشان می‌دهد بالاتر از چه اندازهٔ فایلی (به کیلوبایت) Unison باید از ابزار کپی خارجی مشخص‌شده توسط copyprogاستفاده کند. تعیین مقدار 0 باعث می‌شود که تمام کپی‌ها از برنامهٔ خارجی استفاده کنند؛ یک عدد منفی مانع از استفاده از آن برای هر فایلی می‌شود. پیش‌فرض -1 است.
xxx
این تنظیم برای وادار کردن Unison به چاپ انواع اطلاعات درباره کارهایی که در درون انجام می‌دهد روی جریان خطای استاندارد استفاده می‌شود. می‌توان آن را چندین بار به کار برد، هر بار با نام ماژولی که اطلاعات اشکال‌زدایی آن باید چاپ شود. آرگومان‌های ممکن برای debug را می‌توان با جستجوی فراخوانی‌های Util.debug در کدهای منبع پیدا کرد (برای نمونه با استفاده از grep). تنظیم -debug all باعث چاپ اطلاعات از تمام ماژول‌ها می‌شود (اگر در تلاش برای فهمیدن رفتاری از Unison هستید که به نظر اشتباه می‌رسد، این نخستین حالتی است که باید امتحان کنید)؛ -debug verbose برخی خروجی‌های اشکال‌زدایی اضافی را از برخی ماژول‌ها فعال می‌کند (برای نمونه، دقیقاً نشان می‌دهد چه بایت‌هایی در شبکه ارسال می‌شوند).
xxx
این تنظیم می‌تواند برای کنترل نام و آرگومان‌های خط فرمان ابزار سیستمیِ مورد استفاده برای نمایش تفاوت‌های فایل‌ها استفاده شود. پیش‌فرض “diff -u OLDER NEWER” است. اگر مقدار این تنظیم حاوی زیررشته‌های CURRENT1 و CURRENT2 باشد، این زیررشته‌ها با نام فایل‌هایی که باید مقایسه شوند جایگزین می‌شوند. اگر مقدار این تنظیم حاوی زیررشته‌های NEWER و OLDER باشد، این‌ها با نام فایل‌هایی که باید مقایسه شوند جایگزین می‌شوند که NEWER فایل به‌تازگی تغییریافته‌تر از میان آن دو خواهد بود. بدون هر یک از این زیررشته‌ها، نام دو فایل به انتهای دستور اضافه می‌شود. در تمام موارد، نام فایل‌ها به‌طور مناسب نقل‌قول می‌شوند.
xxx
آرگومان خط فرمان -doc secname باعث می‌شود unison بخش secname از دفترچهٔ راهنما را روی خروجی استاندارد نمایش دهد و سپس خارج شود. از -doc all برای نمایش کل راهنما استفاده کنید، که دقیقاً همان اطلاعات دفترچهٔ راهنمای چاپی و HTML را صرف‌نظر از قالب‌بندی دربردارد. از -doc topics برای دریافت فهرستی از نام‌های بخش‌های مختلفی که می‌توان چاپ کرد استفاده نمایید.
به‌طور پیش‌فرض، Unison پس از کپی کردن فایل‌ها، از فراخوان سیستمی 'chmod' برای تنظیم بیت‌های دسترسی آن‌ها استفاده می‌کند. اما در برخی شرایط (و تحت برخی سیستم‌های عامل)، فراخوان chmod همیشه با شکست مواجه می‌شود. فعال کردن این گزینه کاملاً مانع از آن می‌شود که Unison هرگز chmod را فراخوانی کند.
هنگامی که روی trueتنظیم شود، این پرچم باعث می‌شود که واسط کاربری حالت متنی از تلاش برای تغییر هر یک از تنظیمات ترمینال خودداری کند. (به‌طور معمول، Unison ترمینال را در “حالت خام” قرار می‌دهد تا بتواند کارهایی مانند بازنویسی روی سطر فعلی را انجام دهد.) این گزینه برای نمونه هنگامی که Unison درون یک شل در Emacs اجرا می‌شود، مفید است. هنگامی که dumbtty تنظیم شده باشد، دستورها به واسط کاربری باید پیش از اجرا توسط Unison با یک بازگشت به سر سطر (carriage return) همراه شوند. (هنگامی که غیرفعال است، Unison کلیدها را به محض فشرده شدن تشخیص می‌دهد.) این تنظیم هیچ تأثیری بر واسط کاربری گرافیکی ندارد.
هنگامی که این تنظیم اعمال شود، Unison بلافاصله پس از بارگذاری آرشیو، فایلی به نام unison.dump روی هر میزبان ایجاد می‌کند که حاوی خلاصه‌ای متنی از آرشیو است.
xxx
هنگامی که این تنظیم روی trueقرار گیرد، Unison به جای خواندن کامل محتوای هر فایل، از زمان تغییر و طول فایل به عنوان یک “شماره inode کاذب” هنگام پیمایش رونوشت‌ها برای یافتن به‌روزرسانی‌ها استفاده می‌کند. (این در نخستین اجرای برنامه صدق نمی‌کند؛ در آن زمان Unison صرف‌نظر از این سوییچ همواره تمام فایل‌ها را می‌پیماید). در ویندوز، اگر زمان تغییر و طول فایل هر دو بر اثر به‌روزرسانی بدون تغییر مانده باشند، این امر ممکن است باعث شود Unison از انتشار یک به‌روزرسانی باز بماند. با این حال، Unison هرگز چنین به‌روزرسانی‌ای را با تغییری از رونوشت دیگر بازنویسی نمی‌کند، چرا که همیشه درست پیش از انتشار یک تغییر، بررسی ایمنی را برای به‌روزرسانی‌ها انجام می‌دهد. از این رو، استفاده از این سوییچ در ویندوز در بیشتر مواقع منطقی است و اگر نگران هستید که Unison به‌روزرسانی‌ای را از قلم انداخته باشد، گاه‌به‌گاه یک بار Unison را با fastcheck تنظیم‌شده روی falseاجرا کنید. برای سازگاری با گذشته، yes، noو default می‌توانند به جای true، falseو autoاستفاده شوند. برای اطلاعات بیشتر به بخش “تشخیص سریع به‌روزرسانی (Fast Update Detection)” در راهنما مراجعه کنید.
این ویژگی هنوز آزمایشی است و باید با احتیاط بسیار زیاد استفاده شود. هنگامی که این پرچم روی trueتنظیم شود، Unison نخستین باری که فایلی را می‌بیند (خواه به این دلیل که فایل جدید است یا به این دلیل که Unison برای نخستین بار در حال اجراست)، یک 'شبه‌اثرانگشت' محاسبه می‌کند. این کار تشخیص به‌روزرسانی را فوق‌العاده سرعت می‌بخشد، اما باید با احتیاط استفاده شود، زیرا می‌تواند باعث شود Unison تعارض‌ها را نادیده بگیرد: اگر مسیری معین در سیستم‌فایل شامل فایل‌هایی در هر دو طرف باشد که Unison هنوز ندیده است، و اگر آن فایل‌ها طول یکسان اما محتوای متفاوت داشته باشند، آنگاه Unison متوجه وجود تعارض نخواهد شد. اگر بعداً یکی از فایل‌ها تغییر کند، فایل تغییریافته انتشار یافته و دیگری را بازنویسی می‌کند. علاوه بر این، حتی زمانی که فایل‌ها در ابتدا یکسان هستند، تنظیم این پرچم می‌تواند به رفتاری بالقوه گیج‌کننده منجر شود: اگر فایل تازه ایجادشده‌ای بعداً بدون اصلاح شدن لمس (touch) شود، Unison این موضوع را محتاطانه به عنوان یک تغییر بالقوه در نظر می‌گیرد (چون سوابقی از محتوای قبلی ندارد) و آن را به عنوان نیازمند انتشار به رونوشت دیگر نشان می‌دهد. بیشتر کاربران باید این پرچم را خاموش بگذارند -- صرفه‌جویی اندک در زمان ناشی از اثرانگشت نگرفتن از فایل‌های جدید، ارزش هزینهٔ آن از نظر ایمنی را ندارد. با این حال، می‌تواند برای کاربران حرفه‌ای با رونوشت‌های بسیار بزرگ که می‌دانند از قبل همگام هستند بسیار مفید باشد (برای نمونه، به این دلیل که یک رونوشت تکثیر تازه ایجادشده از دیگری است، یا به این دلیل که پیش‌تر با Unison همگام شده‌اند اما آرشیوهای Unison نیاز به بازسازی دارند). در چنین شرایطی، توصیه می‌شود این پرچم فقط برای اجرای اولیهٔ Unison تنظیم شود تا آرشیوهای جدید بتوانند به‌سرعت ایجاد شوند، و سپس برای استفادهٔ عادی خاموش گردد.
هنگامی که این پرچم روی trueتنظیم شود، Unison از گزینه‌های مناسب برای همگام‌سازی کارآمد و بدون خطای یک رونوشت واقع بر یک سیستم‌فایل FAT روی یک ماشین غیرویندوزی استفاده خواهد کرد: دسترسی‌ها همگام‌سازی نشوند (perms = 0)؛ هرگز از chmod استفاده نشود (dontchmod = true)؛ با نام فایل‌ها به صورت غیرحساس به بزرگی و کوچکی حروف رفتار شود (ignorecase = true)؛ تلاشی برای همگام‌سازی پیوندهای نمادین صورت نگیرد (links = false)؛ تغییرات شماره inode هنگام تشخیص به‌روزرسانی‌ها نادیده گرفته شوند (ignoreinodenumbers = true). هر یک از این تغییرات را می‌توان با تنظیم صریح گزینهٔ متناظر در پروفایل لغو کرد.
xxx
گنجاندن تنظیم -follow pathspec باعث می‌شود Unison با پیوندهای نمادین منطبق با pathspec به صورت “نامرئی” رفتار کند و طوری عمل نماید که گویی شیء اشاره‌شده توسط پیوند، عیناً در این موقعیت در رونوشت ظاهر شده است. برای جزئیات بیشتر به بخش “پیوندهای نمادین (Symbolic Links)” در راهنما مراجعه کنید. ساختار نحوی pathspec در بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما شرح داده شده است.
xxx
گنجاندن تنظیم -force root باعث می‌شود Unison تمام تفاوت‌ها (شامل تغییرات بدون تعارض) را به نفع rootحل و فصل کند. این کار در عمل، Unison را از یک همگام‌ساز به یک ابزار آینه‌سازی (mirroring) تبدیل می‌کند. شما همچنین می‌توانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشه‌ها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. شما همچنین می‌توانید -force newer (یا -force older) را برای وادار کردن Unison به انتخاب فایلی با زمان تغییر جدیدتر (قدیمی‌تر) تعیین نمایید. در این حالت، تنظیم -times نیز باید فعال باشد. اگر زمان‌های تغییر در هر دو رونوشت هنگام استفاده از newer یا older برابر باشند، آنگاه این تنظیم اثری نخواهد داشت (تغییرات مانند زمانی که این تنظیم وجود ندارد همگام می‌شوند یا در صورت وجود تعارض همگام‌نشده باقی می‌مانند). این تنظیم توسط تنظیم forcepartial لغو می‌شود. از این گزینه فقط در صورتی باید استفاده شود که کاملاً مطمئن هستید می‌دانید چه کاری انجام می‌دهید!
xxx
گنجاندن تنظیم forcepartial = PATHSPEC -> root باعث می‌شود Unison تمام تفاوت‌ها (حتی تغییرات بدون تعارض) را برای فایل‌های درون PATHSPEC به نفع root حل و فصل کند (برای اطلاعات بیشتر به بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما مراجعه کنید). این کار در عمل، Unison را از یک همگام‌ساز به یک ابزار آینه‌سازی تبدیل می‌کند. شما همچنین می‌توانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشه‌ها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. شما همچنین می‌توانید forcepartial PATHSPEC -> newer (یا forcepartial PATHSPEC -> older) را برای وادار کردن Unison به انتخاب فایلی با زمان تغییر جدیدتر (قدیمی‌تر) تعیین کنید. در این حالت، تنظیم -times نیز باید فعال باشد. اگر زمان‌های تغییر در هر دو رونوشت هنگام استفاده از newer یا older برابر باشند، آنگاه این تنظیم اثری نخواهد داشت (تغییرات مانند زمانی که این تنظیم وجود ندارد همگام می‌شوند یا در صورت وجود تعارض همگام‌نشده باقی می‌مانند). از این گزینه فقط در صورتی باید استفاده شود که کاملاً مطمئن هستید می‌دانید چه کاری انجام می‌دهید!
هنگامی که این پرچم روی trueتنظیم شود، ویژگی‌های گروهی فایل‌ها همگام‌سازی می‌شوند. اینکه نام‌های گروه یا شناسه‌های عددی گروه همگام‌سازی شوند، به تنظیم numericidsبستگی دارد.
(منسوخ‌شده) هنگامی که این پرچم روی trueتنظیم شود، ارتباط شبکهٔ Unison به صورت نیمه‌دوپوش (half-duplex) اجبار می‌شود (کلاینت و سرور هرگز به‌طور همزمان داده ارسال نمی‌کنند). اگر روی پیوند شبکهٔ خود ناپایداری‌هایی تجربه می‌کنید، این گزینه ممکن است کمک کند.
n
برای تنظیم ارتفاع پنجره اصلی در واسط کاربری گرافیکی (بر حسب سطر) به کار می‌رود.
این تنظیم را در آرگومان‌های خط فرمان ارائه دهید تا مدیر تعاملی پروفایل در واسط کاربری متنی فعال شود. در حال حاضر تنها فهرست کردن پروفایل‌ها و انتخاب تعاملی در دسترس است. تنظیماتی مانند batch و silent همچنان برای قابلیت همگام‌سازی قابل اعمال باقی می‌مانند.
xxx
گنجاندن تنظیم -ignore pathspec باعث می‌شود Unison مسیرهایی را که با pathspec مطابقت دارند (همراه با فرزندانشان) به‌طور کامل نادیده بگیرد. این گزینه برای جلوگیری از همگام‌سازی فایل‌های موقت، فایل‌های شیء و غیره مفید است. ساختار نحوی pathspec در بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما شرح داده شده است، و جزئیات بیشتر درباره نادیده گرفتن مسیرها در بخش “نادیده گرفتن مسیرها (Ignoring Paths)” در راهنما یافت می‌شود.
هنگامی که این تنظیم اعمال شود، Unison هرگونه فایل آرشیو موجود را نادیده می‌گیرد و طوری رفتار می‌کند که گویی برای نخستین بار روی این رونوشت‌ها اجرا می‌شود. قرار دادن این گزینه درون یک پروفایل ایدهٔ خوبی نیست: این گزینه برای استفاده در خط فرمان در نظر گرفته شده است.
xxx
هنگامی که روی trueتنظیم شود، این پرچم باعث می‌شود Unison با نام فایل‌ها به صورت غیرحساس به بزرگی و کوچکی حروف رفتار کند - یعنی فایل‌هایی در دو رونوشت که نام آن‌ها در “نگارش” با حروف بزرگ و کوچک متفاوت است، به عنوان یک فایل یکسان تلقی شوند. هنگامی که این پرچم روی falseتنظیم شود، Unison با همهٔ نام فایل‌ها به صورت حساس به حروف رفتار خواهد کرد. به‌طور معمول، هنگامی که این پرچم روی defaultتنظیم باشد، اگر هر یک از میزبان‌ها ویندوز یا OSX را اجرا کنند، نام فایل‌ها به‌طور خودکار غیرحساس به حروف فرض می‌شوند. در شرایط نادر ممکن است تنظیم دستی این پرچم مفید باشد.
هنگامی که روی true تنظیم شود، این تنظیم باعث می‌شود Unison هنگام تشخیص سریع به‌روزرسانی از شماره‌های inode بهره نگیرد. این سوییچ باید با احتیاط استفاده شود، چرا که ایمنی آن نسبت به روش استاندارد تشخیص به‌روزرسانی کمتر است، اما می‌تواند برای سیستم‌فایل‌هایی که از شماره‌های inode پشتیبانی نمی‌کنند مفید باشد.
هنگامی که این تنظیم اعمال شود، Unison هرگونه فایل قفلی را که ممکن است از اجرای پیشین Unison که هنگام خواندن یا نوشتن فایل‌های آرشیو متوقف شده به جا مانده باشد، نادیده می‌گیرد؛ به‌طور پیش‌فرض، وقتی Unison این فایل‌های قفل را ببیند متوقف شده و خواستار مداخلهٔ دستی می‌شود. این گزینه تنها در صورتی باید تنظیم شود که کاملاً مطمئن باشید هیچ نمونهٔ دیگری از Unison همزمان به همان فایل‌های آرشیو دسترسی ندارد (برای نمونه، به این دلیل که فقط یک نمونه از unison در حال اجرا بوده و به تازگی دچار فروپاشی شده یا آن را بسته‌اید). احتمالاً ایدهٔ خوبی نیست که این گزینه در یک پروفایل تنظیم شود: این گزینه برای استفاده در خط فرمان در نظر گرفته شده است.
xxx
این تنظیم بر تنظیم ignoreبرتری دارد. این گزینه فهرستی از الگوها (با همان قالب ignore) را برای مسیرهایی ارائه می‌دهد که قطعاً نباید نادیده گرفته شوند، صرف‌نظر از اینکه آیا با یکی از الگوهای ignore مطابقت دارند یا خیر. توجه داشته باشید که معناشناسی ignore و ignorenot کمی خلاف شهود است. هنگام تشخیص به‌روزرسانی‌ها، Unison مسیرها را به ترتیب جستجوی عمق‌اول، با شروع از ریشه‌های رونوشت‌ها به سمت پایین بررسی می‌کند. پیش از بررسی هر مسیر، بررسی می‌کند که آیا با ignore مطابقت دارد و با ignorenotمطابقت ندارد یا خیر؛ در این صورت، از این مسیر و تمام نوادگان آنصرف‌نظر می‌کند. این بدان معناست که اگر یکی از نیاکان یک مسیر با الگوی ignore مطابقت داشته باشد، آنگاه از آن صرف‌نظر خواهد شد، حتی اگر خود مسیر با الگوی ignorenotمطابقت داشته باشد. به‌ویژه، قرار دادن ignore = Path * در پروفایل خود و سپس استفاده از ignorenot برای انتخاب مسیرهای خاص جهت همگام‌سازی کارساز نخواهد بود. در عوض، برای انتخاب مسیرهای خاص جهت همگام‌سازی باید از تنظیم pathاستفاده کنید.
xxx
این تنظیم مسیرهایی را برای دایرکتوری‌هایی مشخص می‌کند که فرزندان بی‌واسطهٔ آن‌ها همگی فایل‌های تغییرناپذیر (immutable) هستند -- یعنی وقتی یک فایل ایجاد شد، محتوای آن هرگز تغییر نمی‌کند. هنگام پیمایش برای یافتن به‌روزرسانی‌ها، Unison تغییر یافتن این فایل‌ها را بررسی نمی‌کند؛ این امر می‌تواند تشخیص به‌روزرسانی را به‌طور چشمگیری سرعت ببخشد (به‌ویژه برای دایرکتوری‌های ایمیل).
xxx
این تنظیم بر immutableبرتری دارد.
xxx
گنجاندن تنظیمات از یک پروفایل دیگر. include name پروفایل “name” (یا فایل “name” در دایرکتوری .unison در صورت عدم وجود پروفایل “name”) را می‌خواند و محتویات آن را به‌گونه‌ای می‌گنجاند که گویی بخشی از یک پروفایل بوده یا مستقیماً در خط فرمان داده شده است.
xxx
در یک پروفایل برای تعریف یک کلید عددی (0-9) استفاده می‌شود که می‌تواند در واسط کاربری برای رفتن فوری به این پروفایل استفاده شود.
هنگامی که روی trueتنظیم شود، این پرچم باعث می‌شود که Unison پس از پایان همگام‌سازی، فرایند سرور دوردست را متوقف سازد. این رفتار برای اتصالات ssh حالت پیش‌فرض است، بنابراین این تنظیم معمولاً هنگام اجرا روی sshلازم نیست؛ این پرچم برای این در نظر گرفته شده که سرورهای حالت سوکت بتوانند پس از یک بار اجرای Unison به جای منتظر ماندن برای اتصالات بعدی بسته شوند. (برخی کاربران ترجیح می‌دهند به جای باز گذاشتن مداوم یک سرور، برای هر بار اجرای Unison یک سرور سوکت راه‌اندازی کنند.)
xxx
در یک پروفایل برای ارائه یک رشتهٔ توصیفی جهت مستندسازی تنظیمات آن استفاده می‌شود. (این برای کاربرانی که میان چند پروفایل جابجا می‌شوند مفید است، به‌ویژه با استفاده از ویژگی “تغییر سریع” در واسط کاربری گرافیکی.)
هنگامی که روی trueتنظیم شود، این پرچم باعث می‌شود Unison پیوندهای نمادین را همگام‌سازی کند. هنگامی که روی falseتنظیم شود، پیوندهای نمادین در طول تشخیص به‌روزرسانی نادیده گرفته خواهند شد. به‌طور معمول، هنگامی که این پرچم روی defaultتنظیم باشد، پیوندهای نمادین همگام‌سازی می‌شوند، مگر زمانی که یکی از میزبان‌ها ویندوز را اجرا کند. در یک کلاینت ویندوز، Unison تلاش می‌کند تشخیص دهد که آیا پیوندهای نمادین توسط دسترسی‌های کاربر پشتیبانی و مجاز شده‌اند یا خیر. ممکن است برای ایجاد پیوندهای نمادین به دسترسی‌های بالاتری نیاز داشته باشید. هنگامی که این پرچم روی default تنظیم باشد و پیوندهای نمادین نتوانند همگام‌سازی شوند، در طول تشخیص به‌روزرسانی یک خطا تولید می‌شود.
xxx
هنگام عمل کردن به عنوان سرور روی یک سوکت TCP، ابزار Unison به‌طور پیش‌فرض به نشانی "any" (یعنی 0.0.0.0 و [::]) گوش فرا می‌دهد. این آرگومان خط فرمان اجازه می‌دهد یک نشانی شنود متفاوت مشخص شود و می‌تواند برای گوش دادن روی چند نشانی تکرار گردد. نشانی شنود را می‌توان به عنوان یک نام میزبان یا یک نشانی IP مشخص کرد.
هنگامی که این پرچم تنظیم شود، Unison تمام تغییرات روی سیستم‌های فایل را در یک فایل ثبت (لاگ) می‌کند.
xxx
به‌طور پیش‌فرض، پیام‌های لاگ به انتهای فایل unison.log در دایرکتوری .unison شما اضافه می‌شوند. اگر فایل دیگری را ترجیح می‌دهید، این تنظیم را مشخص کنید. این می‌تواند یک مسیر نسبی نسبت به دایرکتوری .unison شما باشد. ارسال سیگنال SIGUSR1 فایل لاگ را می‌بندد؛ فایل لاگ به‌طور خودکار مجدداً باز (و در صورت نیاز ایجاد) می‌شود تا امکان چرخش لاگ فراهم گردد.
n
این تنظیم تعداد نسخه‌های پشتیبانی را مشخص می‌کند که unison برای هر مسیری که با گزارهٔ backupمطابقت دارد، نگه خواهد داشت. پیش‌فرض 2 است.
n
این تنظیم کنترل می‌کند که Unison پس از چند خطا، انتقال دایرکتوری را لغو کند. تنظیم آن روی یک عدد بزرگ به Unison اجازه می‌دهد حتی در صورت عدم موفقیت در کپی برخی فایل‌ها، بیشتر دایرکتوری را منتقل کند. پیش‌فرض 1 است. اگر این تنظیم بیش از حد بالا تعیین شود، ممکن است در صورت بروز خرابی‌های مکرر (برای نمونه پر شدن دیسک)، زمان زیادی طول بکشد تا Unison عملیات را لغو کند.
n
عددی که نشان می‌دهد بالاتر از چه اندازهٔ فایلی (به کیلوبایت) Unison باید به جای انتقال فایل، یک تعارض را گزارش دهد. این تعارض حتی در صورت وجود گزینه‌های force یا prefer نیز باقی می‌ماند. یک عدد منفی اجازهٔ تمام انتقال‌ها را مستقل از اندازه می‌دهد. پیش‌فرض -1 است.
n
این تنظیم میزان همروندی مجاز را در طول مرحلهٔ انتقال کنترل می‌کند. به‌طور معمول، باید به‌اندازهٔ کافی بالا تنظیم شود تا کارایی بیشینه گردد، اما هنگامی که Unison روی یک پیوند با پهنای باند کم استفاده می‌شود، ممکن است پایین آوردن آن (برای نمونه روی 1) مفید باشد تا Unison تمام پهنای باند موجود را اشغال نکند. پیش‌فرض مقدار ویژهٔ 0 است، که به معنی 20 ریسه هنگام غیرفعال بودن جریان محتوای فایل و 1000 ریسه هنگام فعال بودن آن است.
xxx
این تنظیم می‌تواند برای اجرای یک برنامهٔ ادغام استفاده شود که با استفاده از آخرین نسخهٔ پشتیبان و هر دو رونوشت، یک نسخهٔ جدید برای هر یک از فایل‌ها و نسخهٔ پشتیبان ایجاد کند. ساختار نحوی pathspec -> cmd در بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما شرح داده شده است، و جزئیات بیشتر درباره توابع ادغام در بخش “ادغام نسخه‌های متعارض (Merging Conflicting Versions)” در راهنما موجود است.
xxx
گنجاندن تنظیم -mountpoint PATH باعث می‌شود Unison در پایان فرایند تشخیص به‌روزرسانی، بررسی کند که آیا درون هر ریشه وجود دارد یا خیر، و اگر وجود نداشت عملیات را لغو کند. این کار می‌تواند مانع از همگام‌سازی در زمانی شود که رسانهٔ جداشدنی متصل (mount) نشده است. این تنظیم می‌تواند بیش از یک بار مشخص شود. به بخش “نقاط اتصال و رسانه‌های جداشدنی (Mount Points and Removable Media)” در راهنما مراجعه کنید.
هنگامی که این تنظیم اعمال شود، Unison تلاش می‌کند تا با تشخیص اینکه یک فایل یا دایرکتوری تغییر نام یافته یا به مکان جدیدی منتقل شده است، از انتقال محتوای فایل در سراسر شبکه یا تهیهٔ یک نسخهٔ کپی محلی خودداری کند. این ویژگی معمولاً اجازه می‌دهد تنها تغییر نام انتشار یابد، بدون آنکه نیازی به انتقال یا کپی هیچ داده‌ای باشد. مقدار پیش‌فرض falseاست. این ویژگی در حال حاضر آزمایشی است و ممکن است در نسخه‌های آینده به روش‌های ناسازگار تغییر کند.
xxx
گنجاندن تنظیم -nocreation root مانع از آن می‌شود که Unison هرگونه فایل جدیدی روی ریشهٔ rootایجاد کند. شما همچنین می‌توانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشه‌ها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. اگر می‌خواهید از هرگونه ایجاد فایل جلوگیری کنید، این تنظیم می‌تواند دو بار گنجانده شود، یک بار برای هر ریشه.
xxx
گنجاندن تنظیم nocreationpartial = PATHSPEC -> root مانع از آن می‌شود که Unison در PATHSPEC روی ریشهٔ root فایلی ایجاد کند (برای اطلاعات بیشتر به بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما مراجعه کنید). توصیه می‌شود هنگام انتخاب یک دایرکتوری و تمام محتویات آن، از الگوهای BelowPath استفاده شود.
xxx
گنجاندن تنظیم -nodeletion root مانع از آن می‌شود که Unison فایلی را روی ریشهٔ rootحذف کند. شما همچنین می‌توانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشه‌ها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. اگر می‌خواهید از هرگونه حذف فایل جلوگیری کنید، این تنظیم می‌تواند دو بار گنجانده شود، یک بار برای هر ریشه.
xxx
گنجاندن تنظیم nodeletionpartial = PATHSPEC -> root مانع از آن می‌شود که Unison در PATHSPEC روی ریشهٔ root فایلی را حذف کند (برای اطلاعات بیشتر به بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما مراجعه کنید). توصیه می‌شود هنگام انتخاب یک دایرکتوری و تمام محتویات آن، از الگوهای BelowPath استفاده شود.
xxx
گنجاندن تنظیم -noupdate root مانع از آن می‌شود که Unison هرگونه به‌روزرسانی یا حذف فایلی را روی ریشهٔ rootانجام دهد. شما همچنین می‌توانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشه‌ها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. اگر می‌خواهید از هرگونه به‌روزرسانی جلوگیری کنید، این تنظیم می‌تواند دو بار گنجانده شود، یک بار برای هر ریشه.
xxx
گنجاندن تنظیم noupdatepartial = PATHSPEC -> root مانع از آن می‌شود که Unison در PATHSPEC روی ریشهٔ root فایلی را به‌روزرسانی یا حذف کند (برای اطلاعات بیشتر به بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما مراجعه کنید). توصیه می‌شود هنگام انتخاب یک دایرکتوری و تمام محتویات آن، از الگوهای BelowPath استفاده شود.
هنگامی که این پرچم روی trueتنظیم شود، گروه‌ها و کاربران به جای نام، بر اساس شناسهٔ عددی همگام‌سازی می‌شوند. شناسه کاربری خاص 0 (uid 0) و شناسه گروهی خاص 0 (group 0) حتی اگر این تنظیم مشخص نشده باشد نیز هرگز از طریق نام کاربر/گروه نگاشت نمی‌شوند.
هنگامی که این پرچم روی trueتنظیم شود، ویژگی‌های مالک فایل‌ها همگام‌سازی می‌شوند. اینکه نام‌های مالک یا شناسه‌های عددی مالک همگام‌سازی شوند، به تنظیم numericidsبستگی دارد.
xxx
هنگامی که هیچ گزینهٔ path داده نشود، Unison صرفاً دو رونوشت کامل را، با شروع از جفت ریشه‌های ارائه‌شده، همگام‌سازی خواهد کرد. اگر یک یا چند گزینهٔ path داده شود، آنگاه Unison فقط این مسیرها و فرزندان آن‌ها را همگام می‌کند. (این برای نمونه برای انجام یک همگام‌سازی سریع تنها از یک دایرکتوری مفید است.) توجه داشته باشید که تنظیمات path عیناً تفسیر می‌شوند - آن‌ها عبارات باقاعده نیستند.
n
مقدار صحیح این تنظیم یک ماسک است که نشان می‌دهد کدام بیت‌های دسترسی باید همگام‌سازی شوند. این مقدار به‌طور پیش‌فرض روی $0o1777$ تنظیم شده است: همهٔ بیت‌ها به جز بیت‌های set-uid و set-gid همگام‌سازی می‌شوند (همگام‌سازی این بیت‌های اخیر می‌تواند یک مخاطرهٔ امنیتی باشد). اگر می‌خواهید همهٔ بیت‌ها را همگام‌سازی کنید، می‌توانید مقدار این تنظیم را روی $-1$ بگذارید. اگر یکی از رونوشت‌ها روی سیستم‌فایل FAT [ویندوز] قرار دارد، باید به جای این تنظیم، استفاده از گزینهٔ fat را در نظر داشته باشید. اگر نیاز دارید که Unison اصلاً دسترسی‌ها را تغییر ندهد، مقدار این گزینه را روی $0$ قرار دهید و گزینهٔ dontchmod را روی trueبگذارید.
xxx
گنجاندن تنظیم -prefer root باعث می‌شود Unison همیشه تعارض‌ها را به جای درخواست راهنمایی از کاربر، به نفع rootحل و فصل کند، مگر برای مسیرهایی که با گزینهٔ mergeعلامت‌گذاری شده‌اند. (ساختار نحوی root مشابه با تنظیم root است، به علاوه مقادیر ویژهٔ newer و older). شما همچنین می‌توانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشه‌ها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. این تنظیم توسط تنظیم preferpartial لغو می‌شود. از این گزینه فقط در صورتی باید استفاده شود که کاملاً مطمئن هستید می‌دانید چه کاری انجام می‌دهید!
xxx
گنجاندن تنظیم preferpartial = PATHSPEC -> root باعث می‌شود Unison همیشه برای فایل‌های درون PATHSPEC تعارض‌ها را به جای درخواست راهنمایی از کاربر، به نفع rootحل و فصل کند (برای اطلاعات بیشتر به بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما مراجعه کنید). (ساختار نحوی root مشابه تنظیم root است، به علاوه مقادیر ویژهٔ newer و older). شما همچنین می‌توانید یک پیشوند یا پسوند یکتا از مسیر یکی از ریشه‌ها یا یک پیشوند یکتا از نام میزبان یک ریشهٔ دوردست را مشخص کنید. از این تنظیم فقط در صورتی باید استفاده شود که کاملاً مطمئن هستید می‌دانید چه کاری انجام می‌دهید!
xxx
اعمال این تنظیم باعث می‌شود که واسط حالت متنی، به جای انجام یک‌بارهٔ همگام‌سازی و توقف، آن را به‌طور مکرر انجام دهد. اگر آرگومان یک عدد باشد، Unison پیش از شروع مجدد به همان تعداد ثانیه مکث خواهد کرد. هنگامی که آرگومان watchباشد، Unison برای همگام‌سازی به محض رخ دادن هر تغییر، به یک فرایند خارجی نظارت بر فایل متکی می‌شود. می‌توانید این دو را با نویسهٔ + ترکیب کنید تا هم از نظارت بر فایل استفاده کنید و هم هر تعداد ثانیه معین یک اسکن کامل انجام دهید. برای نمونه، watch+3600 بلافاصله به تغییرات واکنش نشان می‌دهد و علاوه بر این، هر یک ساعت یک بار اسکن کامل انجام خواهد داد.
n
اعمال این تنظیم باعث می‌شود که واسط حالت متنی مجدداً برای همگام‌سازی مسیرهای به‌روزرسانی‌شده‌ای که همگام‌سازی آن‌ها ناموفق بوده تلاش کند. برای هر یک از این مسیرها N بار تلاش خواهد شد.
xxx
هر بار استفاده از این تنظیم، ریشهٔ یکی از رونوشت‌ها را برای همگام‌سازی توسط Unison نام‌گذاری می‌کند. دقیقاً دو ریشه مورد نیاز است، بنابراین حالت‌های عادی استفاده این است که یا دو مقدار برای root در پروفایل داده شود، یا هیچ مقداری در پروفایل داده نشود و دو ریشه در خط فرمان ارائه گردد. جزئیات ساختار ریشه‌ها را می‌توان در بخش “ریشه‌ها (Roots)” در راهنما یافت. دو ریشه را می‌توان به هر ترتیبی داد؛ Unison پیش از انجام هر کاری آن‌ها را به ترتیبی استاندارد مرتب می‌کند. همچنین سعی می‌کند نام ماشین‌ها و مسیرهایی را که در ریشه‌ها ظاهر می‌شوند “رسمی‌سازی” کند، تا اگر Unison بعداً با نامی کمی متفاوت برای همان ریشه فراخوانی شد، بتواند آرشیوهای صحیح را پیدا کند.
xxx
هنگام محاسبهٔ نام فایل‌های آرشیو برای یک جفت ریشهٔ معین، Unison هر ریشه‌ای را که با سمت چپ یک قاعدهٔ rootalias مطابقت داشته باشد، با سمت راست متناظر آن جایگزین می‌کند.
xxx
هنگامی که روی trueتنظیم شود، این پرچم باعث می‌شود Unison دوشاخه‌های منابع (resource forks) و متاداده‌های HFS را همگام‌سازی کند. روی سیستم‌فایل‌هایی که ذاتاً از resource forks پشتیبانی نمی‌کنند، این داده‌ها در فایل‌های AppleDouble._ سازگار با Carbon ذخیره می‌شوند. هنگامی که پرچم روی falseتنظیم شود، Unison این داده‌ها را همگام نخواهد کرد. به‌طور معمول، پرچم روی defaultتنظیم است، و در صورتی که هر یک از میزبان‌ها OSX را اجرا کند، این داده‌ها به‌طور خودکار همگام می‌شوند. در شرایط نادر ممکن است تنظیم دستی این پرچم مفید باشد.
ابزار Unison از 'الگوریتم rsync' برای انتقال 'صرفاً تفاوت‌ها' در به‌روزرسانی‌های فایل‌های بزرگ استفاده می‌کند. تنظیم این پرچم روی false باعث می‌شود Unison در عوض از انتقال کل فایل استفاده کند. در شرایط عادی، دلیلی برای انجام این کار وجود ندارد، اما اگر با خطاهای مکرر 'rsync failure' مواجه می‌شوید، تنظیم آن روی false باید به شما اجازه دهد فایل‌های مشکل‌ساز را همگام‌سازی کنید.
اجرای آزمون‌های داخلی و خروج. این گزینه بیشتر برای توسعه‌دهندگان است و باید با احتیاط استفاده شود: به‌ویژه، محتوای هر دو ریشه را پاک خواهد کرد تا بتواند فایل‌های خود را برای آزمایش نصب کند. این پرچم تنها در خط فرمان معنادار است. هنگامی که این پرچم ارائه شود، هیچ فایل تنظیماتی خوانده نمی‌شود: تمام تنظیمات باید در خط فرمان مشخص شوند. همچنین، از آنجا که فرایند خودآزمایی شامل بازنویسی ریشه‌ها و دایرکتوری backupdir است، نام‌های ریشه‌ها و تنظیم backupdir باید شامل رشتهٔ "test" باشند وگرنه آزمون‌ها لغو خواهند شد. (اگر این موارد در خط فرمان داده نشوند، زیردایرکتوری‌های موقت در دایرکتوری جاری به‌طور خودکار ایجاد می‌شوند.)
xxx
این تنظیم می‌تواند در صورت لزوم برای تعیین صریح نام فایل اجرایی Unison روی سرور دوردست (برای نمونه، ارائه یک مسیر کامل) استفاده شود.
هنگامی که این تنظیم اعمال شود، Unison 'نام‌های واقعی' ریشه‌ها را به همان قالبی که توسط تنظیم rootalias انتظار می‌رود، چاپ می‌کند.
هنگامی که این تنظیم روی trueقرار گیرد، واسط کاربری متنی به‌جز در صورت بروز خطا هیچ چیزی چاپ نخواهد کرد. تنظیم silent روی true به‌طور خودکار تنظیم batch را نیز روی trueقرار می‌دهد.
xxx
اجرای unison به عنوان سروری که روی یک سوکت TCP (با شماره پورت TCP به عنوان آرگومان) یا یک سوکت محلی (سوکت دامنهٔ یونیکس) (با مسیر سوکت به عنوان آرگومان) شنود می‌کند.
هنگامی که این پرچم تنظیم شود، واسط کاربری فایل‌های تغییریافته را به جای نام، بر اساس اندازه (کوچک‌ترین در ابتدا) فهرست می‌کند. این گزینه برای نمونه برای همگام‌سازی روی پیوندهای کند مفید است، چرا که فایل‌های بسیار بزرگ را در انتهای فهرست قرار می‌دهد تا مانع از انتقال سریع فایل‌های کوچک‌تر نشوند. این تنظیم (و همچنین سایر پرچم‌های مرتب‌سازی، به جز تنظیماتی که الگوها را به عنوان آرگومان می‌پذیرند) را می‌توان با استفاده از منوی 'Sort' در واسط‌های کاربری گرافیکی و متنی به صورت تعاملی و موقت تنظیم کرد.
xxx
هر آرگومان به sortfirst یک الگوی pathspecاست که مجموعه‌ای از مسیرها را توصیف می‌کند. فایل‌های منطبق با هر یک از این الگوها در ابتدای واسط کاربری فهرست خواهند شد. ساختار نحوی pathspec در بخش “مشخص‌سازی مسیر (Path Specification)” در راهنما شرح داده شده است.
xxx
مشابه با sortfirst، با این تفاوت که فایل‌های منطبق با یکی از این الگوها در انتهای فهرست نمایش داده خواهند شد.
هنگامی که این پرچم تنظیم شود، واسط کاربری فایل‌های تازه ایجادشده را پیش از سایر فایل‌ها فهرست می‌کند. این گزینه برای نمونه برای بررسی اینکه فایل‌های تازه ایجادشده “بدردنخور” نباشند -- یعنی فایل‌هایی که به جای همگام‌سازی باید نادیده گرفته یا حذف شوند -- مفید است.
xxx
گنجاندن تنظیمات از یک فایل. source name فایل “name” را در دایرکتوری .unison می‌خواند و محتویات آن را طوری می‌گنجاند که گویی بخشی از یک پروفایل بوده یا مستقیماً در خط فرمان داده شده است.
xxx
مقدار رشته‌ای این تنظیم به عنوان آرگومان‌های اضافی (علاوه بر نام میزبان و نام فایل اجرایی Unison روی سیستم دوردست) به دستور ssh که برای فراخوانی سرور دوردست استفاده می‌شود، ارسال خواهد شد. بک‌اسلش یک نویسهٔ گریز است.
xxx
این تنظیم می‌تواند در صورت لزوم برای تعیین صریح نام فایل اجرایی ssh (برای نمونه، ارائه یک مسیر کامل) استفاده شود.
(منسوخ‌شده) هنگامی که این تنظیم اعمال شود، Unison از یک پروتکل جریانی آزمایشی برای انتقال کارآمدتر محتویات فایل استفاده خواهد کرد. مقدار پیش‌فرض trueاست.
هنگامی که این تنظیم روی trueتنظیم شود، واسط کاربری پیام‌های وضعیت را چاپ نخواهد کرد.
تنظیم این پرچم در خط فرمان باعث می‌شود Unison برای اتصال به سرور دوردست تلاش کند و در صورت موفقیت، پیامی چاپ کرده و بلافاصله خارج شود. برای اشکال‌زدایی مشکلات نصب مفید است. نباید در فایل‌های تنظیمات مشخص شود.
هنگامی که این پرچم روی trueتنظیم شود، زمان‌های تغییر فایل (اما نه زمان‌های تغییر دایرکتوری) انتشار می‌یابند.
xxx
این تنظیم یکی از واسط‌های کاربری گرافیکی یا متنی را انتخاب می‌کند. مقادیر مجاز graphic یا textهستند. از آنجا که این گزینه در طول توالی راه‌اندازی Unison به صورت ویژه پردازش می‌شود، تنها می‌تواند در خط فرمان استفاده شود. در فایل‌های تنظیمات هیچ اثری ندارد. اگر فایل اجرایی Unison تنها با واسط متنی کامپایل شده باشد، این گزینه هیچ اثری ندارد. (فایل‌های اجرایی از پیش کامپایل‌شده همگی با هر دو واسط در دسترس کامپایل شده‌اند.)
xxx
هنگامی که روی trueتنظیم شود، این پرچم باعث می‌شود که Unison
March 17, 2022 unison