استخدام Etckeeper للتحكم في إصدار / etc

المقدمة

و /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 repo. تحتاج إلى إعداد EPEL Yum repo قبل أن تتمكن من تثبيت Etckeeper:

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

سيؤدي التثبيت الناجح لـ Etckeeper إلى تثبيت git وغيرها من التبعيات تلقائيًا.

يمكنك تخصيص تكوين Etckeeper عن طريق تحرير ملف التكوين الموجود في /etc/etckeeper/etckeeper.conf. ومع ذلك ، فإن التكوين الافتراضي مناسب وسنستخدمه لغرض هذا البرنامج التعليمي.

الخطوة 2: قم بتكوين / etc كدليل عمل بوابة Etckeeper

يمكنك جعل Etckeeper يعامل على /etc/أنه دليل عمل git من خلال تنفيذ الأوامر التالية:

cd /etc
sudo etckeeper init

فإن "الحرف الأول" القيادة الفرعية فوق إنشاء ملف اسمه .gitignoreوالدليل اسمه .gitفي /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الملف.

الآن ، يمكنك تنفيذ كافة المحتويات الموجودة في الدليل / etc (باستثناء تلك الملفات المحددة في .gitignore) في مستودع git الخاص بك. تذكر كتابة بعض التعليقات المفيدة بين علامتي اقتباس للمراجعة.

sudo etckeeper commit "Initial config in /etc"

هنا ، يمكنك ضغط دليل git لتوفير مساحة القرص:

sudo etckeeper vcs gc

الخطوة 4: تنفيذ التزام آخر بعد إجراء التغييرات في / etc

إلى جانب 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/الدليل ليس المكان الوحيد الذي يجب القلق بشأنه. من أجل الحفاظ على شكل النظام الخاص بك ، تحتاج أيضًا إلى نسخ النظام احتياطيًا بانتظام إلى جانب آلية التحكم في الإصدار.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد