Εισαγωγή
Προαπαιτούμενα
Βήμα 1: Εγκαταστήστε το Etckeeper
Βήμα 2: Διαμορφώστε το /etc ως τον κατάλογο εργασίας git του Etckeeper
Βήμα 3: Εκτελέστε την αρχική δέσμευση
Βήμα 4: Εκτελέστε μια άλλη δέσμευση αφού κάνετε αλλαγές στο /etc
Βήμα 5: Ανάκληση των αλλαγών σας
συμπέρασμα
Εισαγωγή
Ο /etc/κατάλογος παίζει κρίσιμο ρόλο στον τρόπο λειτουργίας ενός συστήματος Linux. Ο λόγος για αυτό είναι επειδή σχεδόν κάθε αρχείο διαμόρφωσης συστήματος βρίσκεται μέσα στο /etc/. Τα δεδομένα που αποθηκεύονται /etc/δεν σχετίζονται μόνο με τις ενσωματωμένες βιβλιοθήκες συστήματος, αλλά και για το πρόσφατα εγκατεστημένο λογισμικό και τη διαμόρφωσή του. Οι εγκαταστάσεις, οι αναβαθμίσεις και οι αλλαγές διαμόρφωσης συστήματος και λογισμικού αποθηκεύονται στο /etc/. Επομένως, είναι καλή πρακτική να χρησιμοποιείτε τον έλεγχο έκδοσης όταν καταφέρνετε /etc/να αποφύγετε πιθανά σφάλματα που προκαλούνται από απρόβλεπτες ή τυχαίες κακές λειτουργίες.
Με το Etckeeper, μπορείτε να διαχειριστείτε εύκολα /etc/τον μηχανισμό ελέγχου έκδοσης χρησιμοποιώντας ένα αποθετήριο Git, Mercurial, Bazaar ή Darcs. Από προεπιλογή, το Etckeeper χρησιμοποιεί το git για να διατηρήσει τον /etc/κατάλογο του αποθετηρίου έκδοσης σε καθημερινή ευαισθησία για να ελαχιστοποιήσει την πιθανή απώλεια δεδομένων. Επιπλέον, σας επιτρέπει να κάνετε τις αλλαγές σας με μη αυτόματο τρόπο ανά πάσα στιγμή.
Σε αυτό το άρθρο, ας ρίξουμε μια ματιά στον τρόπο εγκατάστασης του Etckeeper σε μια παρουσία διακομιστή CentOS 6, καθώς και στον τρόπο μη αυτόματης εκτέλεσης μιας δέσμευσης και αναίρεσης αλλαγών.
Προαπαιτούμενα
Οι οδηγίες σε αυτό το άρθρο επικυρώθηκαν σε μια παρουσία Vultr CentOS 6 με μια στοίβα LEMP. Οι οδηγίες για άλλες διανομές μπορεί να είναι διαφορετικές.
Σημείωση: είναι μια καλή πρακτική ασφαλείας να έχετε πρόσβαση στο σύστημά σας ως χρήστης χωρίς root με δικαιώματα sudo.
Βήμα 1: Εγκαταστήστε το Etckeeper
Το Etckeeper περιλαμβάνεται στο repo EPEL Yum. Πρέπει να ρυθμίσετε το αποθετήριο EPEL Yum για να εγκαταστήσετε το Etckeeper:
sudo yum install epel-release
sudo yum update
sudo yum install etckeeper
Μια επιτυχημένη εγκατάσταση του Etckeeper θα εγκαταστήσει αυτόματα το git και άλλες εξαρτήσεις.
Μπορείτε να προσαρμόσετε τη διαμόρφωση του Etckeeper επεξεργάζοντας το αρχείο διαμόρφωσης που βρίσκεται στο /etc/etckeeper/etckeeper.conf. Ωστόσο, η προεπιλεγμένη διαμόρφωση είναι επαρκής και θα τη χρησιμοποιήσουμε για τους σκοπούς αυτού του σεμιναρίου.
Μπορείτε να κάνετε το Etckeeper να αντιμετωπίζεται /etc/ως κατάλογος εργασίας git εκτελώντας τις ακόλουθες εντολές:
cd /etc
sudo etckeeper init
Η «init» υπο-εντολή παραπάνω θα δημιουργήσει ένα αρχείο με το όνομα .gitignoreκαι έναν κατάλογο που ονομάζεται .gitτο /etc/.
Το .gitignoreπεριέχει μια προκαθορισμένη λίστα των αρχείων και δεν απαιτεί διαχείριση με έλεγχο έκδοσης. Εάν είναι απαραίτητο, μπορείτε να προσθέσετε ή να διαγράψετε ονόματα αρχείων σε αυτό όπως θέλετε, απλώς θυμηθείτε να βάλετε ένα όνομα αρχείου ανά γραμμή μεταξύ της γραμμής # begin section managed by etckeeper...και της γραμμής # end section managed by etckeeper.
Ο .gitκατάλογος είναι το μέρος όπου αποθηκεύεται το αποθετήριο εκδόσεων του /etc/καταλόγου.
Πριν από την αρχική δέσμευση, μπορείτε να ρίξετε μια ματιά στο τι θα δεσμευτεί:
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
Σε συνδυασμό με το 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
Επιτέλους, μπορείτε να εκτελέσετε ξανά την υποεντολή "commit":
sudo etckeeper commit "add a file /etc/abcde and add a line to /etc/hosts"
Βήμα 5: Ανάκληση των αλλαγών σας
Αρχικά, μπορείτε να ελέγξετε το ιστορικό git για να λάβετε το αναγνωριστικό και το σχόλιο κάθε δέσμευσης:
sudo etckeeper vcs log
Δεύτερον, μπορείτε να ελέγξετε τις λεπτομέρειες οποιασδήποτε δέσμευσης με τα πρώτα πολλά bit του αναγνωριστικού δέσμευσής της. Εδώ, υποθέτουμε ότι το πρώτο commit id είναι 7f5bff, το δεύτερο commit id είναι 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
Φυσικά, μπορείτε ακόμα να επιστρέψετε στο δεύτερο commit:
sudo etckeeper vcs checkout 1aa658
συμπέρασμα
Έχοντας διαμορφώσει σωστά τις παραμέτρους του Etckeeper, μπορείτε να συντονίσετε και να διατηρήσετε το σύστημά σας με περισσότερη σιγουριά. Ωστόσο, πρέπει να γνωρίζετε ότι ο έλεγχος έκδοσης διαφέρει από τη δημιουργία αντιγράφων ασφαλείας και ότι ο /etc/κατάλογος δεν είναι το μόνο μέρος που πρέπει να ανησυχείτε. Για να διατηρήσετε το σύστημά σας σε φόρμα, πρέπει επίσης να δημιουργείτε αντίγραφα ασφαλείας του συστήματός σας τακτικά εκτός από τον μηχανισμό ελέγχου έκδοσης.