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



Leave a Comment

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك

استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا

كيفية تثبيت CMS أكتوبر على CentOS 7

كيفية تثبيت CMS أكتوبر على CentOS 7

أكتوبر هو نظام إدارة محتوى مفتوح المصدر يعتمد على Laravel PHP Framework. مع واجهة أنيقة وبنية وحدات موجزة

قم بتثبيت RockMongo على CentOS 7

قم بتثبيت RockMongo على CentOS 7

RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت

كيفية نشر Lets Chat Server على CentOS 7

كيفية نشر Lets Chat Server على CentOS 7

Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

كيفية تثبيت أداة إدارة مشروع Taiga على CentOS 7

استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة

كيفية تثبيت المجدول المحجوز على CentOS 7

كيفية تثبيت المجدول المحجوز على CentOS 7

استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th

تثبيت Netdata على CentOS 7

تثبيت Netdata على CentOS 7

استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:

كيفية تثبيت DreamFactory Open Source على CentOS 7

كيفية تثبيت DreamFactory Open Source على CentOS 7

DreamFactory هو برنامج مفتوح المصدر يمكنه تحويل أي قاعدة بيانات إلى منصة RESTful API. يمكن نشر DreamFactory على منصات مختلفة. في ثي

كيفية تثبيت خادم Starbound على CentOS 7

كيفية تثبيت خادم Starbound على CentOS 7

استخدام نظام مختلف؟ في هذا البرنامج التعليمي ، سأشرح لك كيفية إعداد خادم Starbound على CentOS 7. المتطلبات الأساسية يجب أن تمتلك هذه اللعبة عليك

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

كيفية تثبيت Golang 1.13 على CentOS 8 و Ubuntu 18.04 و Debian 10 و Fedora 31

Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب

كيفية تثبيت Django على CentOS 7

كيفية تثبيت Django على CentOS 7

Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد

قم بإعداد خادم SA-MP San Andreas متعدد اللاعبين على CentOS 6

قم بإعداد خادم SA-MP San Andreas متعدد اللاعبين على CentOS 6

مرحبًا بك في برنامج تعليمي Vultr آخر. هنا ، ستتعلم كيفية تثبيت خادم SAMP وتشغيله. تمت كتابة هذا الدليل الخاص بـ CentOS 6. المتطلبات الأساسية التي ستحتاج إليها

تثبيت Revive Adserver على CentOS 7

تثبيت Revive Adserver على CentOS 7

Revive Adserver هو نظام عرض إعلانات مجاني ومفتوح المصدر يمكن استخدامه لإدارة الإعلانات على مواقع الويب و / أو التطبيقات و / أو مشغلات الفيديو. في هذه المقالة ،

قم بتثبيت Elgg على CentOS 7

قم بتثبيت Elgg على CentOS 7

استخدام نظام مختلف؟ Elgg هو محرك تواصل اجتماعي مفتوح المصدر يسمح بإنشاء بيئات اجتماعية مثل الشبكات الاجتماعية في الحرم الجامعي

قم ببناء شبكتك الاجتماعية مع الشتات على CentOS 7

قم ببناء شبكتك الاجتماعية مع الشتات على CentOS 7

استخدام نظام مختلف؟ الشتات هو شبكة اجتماعية مفتوحة المصدر تدرك الخصوصية. في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد وتكوين po Diaspora po

نشر Kubernetes مع Kubeadm على CentOS 7

نشر Kubernetes مع Kubeadm على CentOS 7

نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في

قم بإعداد Sails.js للتطوير على CentOS 7

قم بإعداد Sails.js للتطوير على CentOS 7

استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver

كيفية تجميع Nginx من المصدر على CentOS 7

كيفية تجميع Nginx من المصدر على CentOS 7

استخدام نظام مختلف؟ يمكن استخدام NGINX كخادم HTTP / HTTPS أو خادم وكيل عكسي أو خادم وكيل بريد أو موازن تحميل أو فاصل TLS أو ذاكرة تخزين مؤقت

كيفية تثبيت dotCMS على CentOS 7

كيفية تثبيت dotCMS على CentOS 7

استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر

كيفية تثبيت PufferPanel (لوحة تحكم Minecraft المجانية) على CentOS 7

كيفية تثبيت PufferPanel (لوحة تحكم Minecraft المجانية) على CentOS 7

مقدمة في هذا البرنامج التعليمي ، سيتم تثبيت PufferPanel على Vultr VPS. PufferPanel هي لوحة تحكم مفتوحة المصدر مجانية للاستخدام لإدارتك

نظرة ثاقبة على 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. قراءة هذه المادة لمعرفة المزيد