ETCKEEPER(8) ETCKEEPER(8)

etckeeper - ذخیره و نگهداری /etc در git، mercurial، bazaar یا darcs

etckeeper command [-d directory]

ابزار etckeeper ذخیره‌سازی و مدیریت /etc را در یک مخزن git، mercurial، bazaar یا darcs بر عهده دارد. به‌طور پیش‌فرض، هر یک از دستورها روی /etc عمل می‌کنند، اما می‌توان دایرکتوری متفاوتی را برای کار روی یک رونوشت (clone) از مخزن /etc که در مکان دیگری قرار دارد مشخص کرد.

یک مخزن git، mercurial، bazaar یا darcs را مقداردهی اولیه و راه‌اندازی می‌کند (بسته به تنظیمات سیستم کنترل نسخه در /etc/etckeeper/etckeeper.conf). به‌طور معمول این دستور یک‌بار در /etc هنگام آغاز استفاده از etckeeper روی سیستم اجرا می‌شود. همچنین می‌توان از آن برای مقداردهی اولیه یک رونوشت از مخزن /etc که در مکان دیگری قرار دارد استفاده کرد.
تمام تغییرات موجود در /etc را در مخزن ثبت (commit) می‌کند. می‌توان یک پیام ثبت را مشخص کرد. همچنین می‌توانید برای ثبت دستی تغییرات، مستقیماً از سیستم کنترل نسخهٔ زیرین استفاده کنید. (توجه داشته باشید که etckeeper commit تشخیص می‌دهد که آیا کاربری از sudo یا su برای تبدیل شدن به ریشه استفاده کرده است یا خیر، و نام کاربری اصلی را در ثبت مربوطه ذخیره می‌کند.)
به‌عنوان یک قلاب پیش‌ثبت (pre-commit hook) فراخوانی می‌شود. این دستور فراداده‌ها را ذخیره کرده و بررسی‌های سلامت را انجام می‌دهد.
توسط قلاب DPkg::Pre-Install-Pkgs در apt، یا توسط قلاب‌های معادل در سایر مدیر بسته‌ها فراخوانی می‌شود. این دستور امکان ثبت هرگونه تغییرات ثبت‌نشده را پیش از نصب، ارتقا و موارد مشابه بسته‌ها فراهم می‌سازد.
توسط قلاب DPkg::Post-Invoke در apt، یا توسط قلاب‌های معادل در سایر مدیر بسته‌ها فراخوانی می‌شود. این دستور تغییرات ایجادشده توسط بسته‌ها را در مخزن ثبت می‌کند. (همچنین می‌توانید پس از اجرای دستی dpkg، خودتان این دستور را به‌صورت دستی فراخوانی کنید.)
در صورتی که دایرکتوری حاوی تغییرات ثبت‌نشده باشد، مقدار درستی (true) را برمی‌گرداند.
فایل نادیده‌گیری (ignore file) سیستم کنترل نسخه را به‌روزرسانی می‌کند. محتوای خارج از بلوک «managed by etckeeper» دست‌نخورده باقی می‌ماند. این دستور معمولاً هنگام ارتقا به نسخهٔ جدید etckeeper اجرا می‌شود. (سوییچ -a در صورت عدم وجود بلوک «managed by etckeeper»، آن را اضافه خواهد کرد.)
می‌توانید از این دستور برای اجرای هر زیردستوری از سیستم کنترل نسخه‌ای که etckeeper برای استفاده از آن پیکربندی شده است استفاده کنید. این زیردستور در /etc اجرا خواهد شد. برای نمونه، etckeeper vcs diff دستور git diff را اجرا خواهد کرد.
این دستور داده‌ها را نابود می‌کند! این دستور معکوس دستور init است که اطلاعات سیستم کنترل نسخه و اطلاعات ردیابی داخلی خود etckeeper را از دایرکتوری حذف می‌کند. با احتیاط استفاده کنید. یک سناریوی استفاده رایج این است که ابتدا etckeeper uninit را اجرا کنید، سپس فایل etckeeper.conf را برای استفاده از یک سیستم کنترل نسخهٔ دیگر تغییر دهید و در پایان etckeeper init را اجرا نمایید. (سوییچ -f می‌تواند برای اجبار به حذف بدون درخواست تأیید استفاده شود.)

فایل /etc/etckeeper/etckeeper.conf فایل پیکربندی است.

پوشه /etc/etckeeper همچنین شامل دایرکتوری‌هایی است که برنامه‌های اجرایی برای هر یک از دستورهای بالا در آن‌ها قرار دارند.

مسیر دایرکتوری پیکربندی به‌جای مسیر پیش‌فرض /etc/etckeeper.

/usr/share/doc/etckeeper/README.md.gz

Joey Hess <id@joeyh.name>