استفاده از Etckeeper برای کنترل نسخه / موارد دیگر

معرفی

این /etc/دایرکتوری نقش اساسی در نحوه عملکرد سیستم لینوکس ایفا می کند. دلیل این امر به این دلیل است که تقریباً هر پرونده پیکربندی سیستم در داخل قرار دارد /etc/. داده های ذخیره شده /etc/فقط مربوط به كتابخانه های سیستم داخلی نیستند ، بلكه برای نرم افزارهای تازه نصب شده و پیكربندی آن نیز وجود دارد. تغییرات سیستم و نرم افزار ، به روز رسانی ها و تغییرات پیکربندی همه در آن ذخیره می شوند /etc/. بنابراین ، استفاده از کنترل نسخه هنگام مدیریت /etc/برای جلوگیری از خطاهای احتمالی ناشی از سوء پیش بینی ها یا تصادفات غیرمترقبه ، استفاده از کنترل نسخه است .

با استفاده از Etckeeper ، می توانید /etc/با استفاده از مخزن Git ، Mercurial ، Bazaar یا Darcs ، مکانیزم کنترل نسخه خود را به راحتی مدیریت کنید. به طور پیش فرض ، Etckeeper از گیت استفاده می کند تا /etc/دایرکتوری مخزن نسخه را در یک دانه روزانه حفظ کند تا از دست دادن داده های احتمالی به حداقل برسد. علاوه بر این ، به شما امکان می دهد تغییرات خود را هر زمان و هر زمان به صورت دستی انجام دهید.

در این مقاله ، اجازه دهید نگاهی به نحوه نصب Etckeeper در نمونه سرور CentOS 6 ، و همچنین نحوه انجام دستی انجام یک عمل مرتکب و خنثیسازی بپردازیم.

پیش نیازها

دستورالعمل های این مقاله در مورد نمونه Vultr CentOS 6 با یک پشته LEMP تأیید شد. دستورالعمل های توزیع های دیگر ممکن است متفاوت باشد.

توجه: این یک دسترسی امنیتی خوب برای دسترسی به سیستم شما به عنوان یک کاربر غیر ریشه و دارای امتیازات sudo است.

مرحله 1: نصب Etckeeper

Etckeeper در رپو EPEL Yum گنجانده شده است. قبل از نصب Etckeeper باید repo EPEL Yum را تنظیم کنید:

sudo yum install epel-release
sudo yum update
sudo yum install etckeeper

نصب موفق Etckeeper به طور خودکار نصب git و سایر وابستگی ها را انجام می دهد.

با ویرایش پرونده پیکربندی واقع در ، می توانید پیکربندی Etckeeper را سفارشی کنید /etc/etckeeper/etckeeper.conf. اما تنظیمات پیش فرض کافی است و ما برای استفاده از این آموزش از آن استفاده خواهیم کرد.

مرحله 2: پیکربندی / موارد دیگر به عنوان دایرکتوری کار git از Etckeeper

/etc/با اجرای دستورات زیر می توانید Etckeeper را به عنوان دایرکتوری کار کنید.

cd /etc
sudo etckeeper init

زیر فرمان "init" در بالا یک پرونده با نام .gitignoreو دایرکتوری به نام .gitin ایجاد می کند /etc/.

.gitignoreشامل یک لیست از پیش تعریف شده از فایل ها و مدیریت می کند با کنترل نسخه نیاز ندارد. در صورت لزوم ، می توانید نام پرونده را در دلخواه خود اضافه یا حذف کنید ، فقط به یاد داشته باشید که یک خط نام را در هر خط بین خط # begin section managed by etckeeper...و خط قرار دهید # end section managed by etckeeper.

.gitدایرکتوری محل برای ذخیره مخزن نسخه از است /etc/دایرکتوری.

مرحله 3: تعهد اولیه را انجام دهید

قبل از تعهد اولیه ، می توانید به آنچه انجام خواهد شد نگاهی بیندازید:

sudo etckeeper vcs status | more

vcsزیر فرمان از Etckeeper به نرم افزار کنترل نسخه (که GIT) استناد به انجام موارد زیر زیر فرمان در /etc/دایرکتوری. بنابراین دستور فوق با:

sudo git -C /etc status | more

را فشار دهید space barبه نوبه خود یک صفحه. اگر فایلی را پیدا کردید که نباید نسخه آن کنترل شود ، آنها را درون .gitignoreپرونده اضافه کنید.

اکنون می توانید کلیه محتویات موجود در فهرست / / غیره (به جز آن دسته از فایلهای تعریف شده در .gitignore) را در مخازن git خود مرتکب شوید . به یاد داشته باشید که برای بررسی ، نظرهای معناداری را بین دو علامت نقل قول بنویسید.

sudo etckeeper commit "Initial config in /etc"

در اینجا ، می توانید پوشه git را برای ذخیره فضای دیسک فشرده کنید:

sudo etckeeper vcs gc

مرحله 4: بعد از ایجاد تغییر در / موارد دیگر ، متعهد دیگری را انجام دهید

همراه با git ، Etckeeper می تواند هرگونه تغییر در /etc/دایرکتوری مانند اضافه کردن ، تغییر یا حذف پرونده ها و همچنین تغییر مالکیت و / یا اجازه برای پرونده ها و دایرکتوری ها را ثبت کند. همه چیز تحت /etc/سیاست کنترل نسخه خود قرار می گیرد.

لطفاً توجه داشته باشید كه /etc/تحت كنترل نسخه به معنای این نیست كه می توانید هر عملی را روی آن انجام دهید. سوء عملکردهای شدید می توانند سیستم را قبل از اینکه Etckeeper بتواند پیکربندی را به حالت کار برگرداند ، غیرفعال کند.

برای اهداف آزمایش ، شما فقط باید ایمن سازی کنید /etc/، مانند اضافه کردن یک پرونده جدید ، تغییر نام میزبان در /etc/hosts، یا نصب یک نرم افزار جدید با استفاده از Yum.

به عنوان مثال ، پرونده را abcdeدر /etc/:

sudo touch /etc/abcde

سپس خط را 192.168.0.2 desktopدر /etc/hostsپرونده اضافه کنید:

echo '192.168.0.2 desktop' | sudo tee -a /etc/hosts

در آخر ، شما می توانید دوباره زیر فرمان "متعهد" را انجام دهید:

sudo etckeeper commit "add a file /etc/abcde and add a line to /etc/hosts"

مرحله 5: تغییرات خود را باطل کنید

در مرحله اول ، می توانید تاریخچه git را بررسی کنید تا شناسه هر یک از افراد متعهد و نظر داده شود:

sudo etckeeper vcs log

ثانیاً ، می توانید جزئیات هر مرتکب را با چند بیت اول شناسه تعهد خود بررسی کنید. در اینجا فرض را بر این می گذاریم که اولین تعهد شناسه 7f5bff، دوم تعهد شناسه است 1aa658.

sudo etckeeper vcs show 1aa658

jبرای حرکت به پایین ، می توانید فشار دهید ، kبرای حرکت به بالا ، ورودی /keyword<Enter>برای جستجو ، qبرای ترک کردن فشار دهید .

سوم ، شما همچنین می توانید تفاوتهای بین دو تعهد را با دستور زیر مقایسه کنید. از توالی دو تعهد آگاه باشید ، یک سکانس طبیعی قرار دادن سابق قبل از دوم است.

sudo etckeeper vcs diff 7f5bff..1aa658

اکنون می فهمید که نام میزبان را در /etc/hostsطی اولین مرتبه و مرتکب دوم پیکربندی کرده اید ، اما اضافه کردن پرونده /etc/abcdeیک عملیات صحیح است ، می توانید تغییر دهید فقط در /etc/hostsپرونده با دستور زیر لغو کنید :

sudo etckeeper vcs checkout 7f5bff /etc/hosts

اگر می خواهید همه تغییرات بین اولین مرتبه و تعهد دوم را لغو کنید ، می توانید از دستور زیر استفاده کنید:

sudo etckeeper vcs checkout 7f5bff

البته ، شما هنوز هم می توانید به تعهد دوم برگردید:

sudo etckeeper vcs checkout 1aa658

نتیجه

با تنظیم درست Etckeeper ، می توانید سیستم خود را با اطمینان بیشتر تنظیم و تنظیم کنید. با این وجود ، توجه داشته باشید که کنترل نسخه با نسخه پشتیبان متفاوت است و /etc/دایرکتوری تنها مکانی برای نگرانی نیست. به منظور حفظ سیستم خود در شکل ، باید علاوه بر مکانیسم کنترل نسخه ، از سیستم خود بطور منظم نسخه پشتیبان تهیه کنید.

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.