استفاده از 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/دایرکتوری تنها مکانی برای نگرانی نیست. به منظور حفظ سیستم خود در شکل ، باید علاوه بر مکانیسم کنترل نسخه ، از سیستم خود بطور منظم نسخه پشتیبان تهیه کنید.



Leave a Comment

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

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

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

تنظیم RethinkDB Cluster On CentOS 7

تنظیم RethinkDB Cluster On CentOS 7

مقدمه RethinkDB یک پایگاه داده NoSQL است که داده ها را به عنوان اسناد JSON ذخیره می کند. این یک زبان پرس و جو بسیار بصری است و از ویژگی های آن معمولا در دسترس است

نحوه نصب نسخه باز Vtiger CRM در CentOS 7

نحوه نصب نسخه باز Vtiger CRM در CentOS 7

Vtiger CRM یک نرم افزار محبوب مدیریت ارتباط با مشتری است که می تواند به بنگاهها در رشد فروش ، ارائه خدمات به مشتری و افزایش سود کمک کند. من

نحوه نصب کاناپه CMS 2.0 بر روی یک VPS CentOS 7 LAMP

نحوه نصب کاناپه CMS 2.0 بر روی یک VPS CentOS 7 LAMP

با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.

نحوه نصب SonarQube در CentOS 7

نحوه نصب SonarQube در CentOS 7

با استفاده از یک سیستم متفاوت؟ SonarQube یک ابزار منبع باز برای توسعه سیستم با کیفیت است. در جاوا نوشته شده است و چندین پایگاه داده را پشتیبانی می کند. فراهم می کند

نصب Netdata در CentOS 7

نصب Netdata در CentOS 7

با استفاده از یک سیستم متفاوت؟ Netdata یک ستاره در حال افزایش در زمینه نظارت بر معیارهای سیستم در زمان واقعی است. در مقایسه با سایر ابزارهای مشابه ، Netdata:

نحوه فعال سازی پشتیبانی HTTP / 2 در DirectAdmin (CentOS)

نحوه فعال سازی پشتیبانی HTTP / 2 در DirectAdmin (CentOS)

HTTP / 2 جدیدترین نسخه پروتکل HTTP است که از SPDY مستقر است. توسعه آن توسط Google آغاز شده است و HTTP / 2 تا حد زیادی بر اساس پایگاه کد است

نحوه نصب سرور Starbound در CentOS 7

نحوه نصب سرور Starbound در CentOS 7

با استفاده از یک سیستم متفاوت؟ در این آموزش ، Ill در مورد نحوه راه اندازی یک سرور Starbound در CentOS 7 توضیح می دهد. پیش نیازها: شما باید این بازی را روی خود داشته باشید

یک سرور چند نفره SA-MP San Andreas را در CentOS 6 تنظیم کنید

یک سرور چند نفره SA-MP San Andreas را در CentOS 6 تنظیم کنید

به یکی دیگر از آموزش های Vultr خوش آمدید. در اینجا ، نحوه نصب و اجرای سرور SAMP را یاد خواهید گرفت. این راهنما برای CentOS 6 نوشته شده است. پیش نیازهای مورد نیاز شما

Elgg را روی CentOS 7 نصب کنید

Elgg را روی CentOS 7 نصب کنید

با استفاده از یک سیستم متفاوت؟ Elgg یک موتور شبکه ای منبع باز است که امکان ایجاد محیط های اجتماعی از جمله شبکه های اجتماعی دانشگاه را فراهم می کند

نحوه نصب سرور RStudio در CentOS 7

نحوه نصب سرور RStudio در CentOS 7

RStudio Server نسخه وب RStudio است که مجموعه ای از ابزارهایی است که برای تسهیل کار برنامه نویسی با استفاده از زبان برنامه نویسی R طراحی شده است. در سه

نصب Bolt CMS در CentOS 7

نصب Bolt CMS در CentOS 7

Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد

نحوه نصب Elasticsearch در سرور Vultr CentOS 7

نحوه نصب Elasticsearch در سرور Vultr CentOS 7

Elasticsearch یک موتور جستجوی کامل و متن تحلیلی متن کامل است. به لطف تطبیق پذیری ، مقیاس پذیری و سهولت استفاده ، Elasticsearch گسترده تر است

Kubernetes With Kubeadm را در CentOS 7 مستقر کنید

Kubernetes With Kubeadm را در CentOS 7 مستقر کنید

بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود

راه اندازی Sails.js برای توسعه در CentOS 7

راه اندازی Sails.js برای توسعه در CentOS 7

با استفاده از یک سیستم متفاوت؟ مقدمه Sails.js یک چارچوب MVC ��رای Node.js است ، شبیه به Ruby on Rails. این امر برای ایجاد برنامه های مدرن ver

پیکربندی BGP با استفاده از Quagga در Vultr (CentOS 7)

پیکربندی BGP با استفاده از Quagga در Vultr (CentOS 7)

Vultrs عملکرد IP فضای شما را امکان پذیر می سازد تا آزادی بی سابقه ای در اختصاص منابع IP شخصی شما به سرورهای cloud Vultr داشته باشید. ما کلی

نحوه نصب PufferPanel (کنترل پنل کنکوری رایگان) در CentOS 7

نحوه نصب PufferPanel (کنترل پنل کنکوری رایگان) در CentOS 7

مقدمه در این آموزش ، PufferPanel را در Vultr VPS ما نصب کنید. PufferPanel یک پانل کنترل با منبع آزاد و بصورت رایگان برای مدیریت شما است

ابزارهای نظارت بهتر برای اوبونتو و CentOS

ابزارهای نظارت بهتر برای اوبونتو و CentOS

معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند

دستگاه های خود را با استفاده از LibreNMS در CentOS 7 نظارت کنید

دستگاه های خود را با استفاده از LibreNMS در CentOS 7 نظارت کنید

با استفاده از یک سیستم متفاوت؟ LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. از SNMP برای به دست آوردن داده ها از دستگاه های مختلف استفاده می کند. یک نوع

نحوه نصب Gitea در CentOS 7

نحوه نصب Gitea در CentOS 7

با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست

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

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

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

نحوه نصب 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

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

نحوه نصب 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

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

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

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

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

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

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