Etckeeper gebruiken voor versiebeheer van / etc

Invoering

De /etc/directory speelt een cruciale rol in de manier waarop een Linux-systeem functioneert. De reden hiervoor is dat bijna elk systeemconfiguratiebestand zich binnenin bevindt /etc/. De opgeslagen gegevens /etc/zijn niet alleen gerelateerd aan de ingebouwde systeembibliotheken, maar ook voor nieuw geïnstalleerde software en de configuratie ervan. Systeem- en software-installaties, upgrades en configuratiewijzigingen zijn allemaal opgeslagen in /etc/. Het is dus een goede gewoonte om versiebeheer te gebruiken bij het beheren /etc/om potentiële fouten te voorkomen die worden veroorzaakt door onvoorziene of onbedoelde storingen.

Met Etckeeper kun je eenvoudig beheren /etc/met je versiecontrolemechanisme door een Git-, Mercurial-, Bazaar- of Darcs-repository te gebruiken. Standaard gebruikt Etckeeper git om /etc/de versie-repository-directory van de website dagelijks gedetailleerd te houden om potentieel gegevensverlies te minimaliseren. Bovendien kunt u uw wijzigingen op elk moment handmatig doorvoeren.

Laten we in dit artikel bekijken hoe Etckeeper op een CentOS 6-serverinstantie kan worden geïnstalleerd, en hoe je handmatig een commit kunt uitvoeren en wijzigingen ongedaan kunt maken.

Vereisten

De instructies in dit artikel zijn gevalideerd op een Vultr CentOS 6-instantie met een LEMP-stack. Instructies voor andere distributies kunnen verschillen.

Opmerking: het is een goede beveiligingspraktijk om toegang te krijgen tot uw systeem als een niet-rootgebruiker met sudo-rechten.

Stap 1: Installeer Etckeeper

Etckeeper is opgenomen in de EPEL Yum-repo. Je moet de EPEL Yum repo instellen voordat je Etckeeper kunt installeren:

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

Een succesvolle installatie van Etckeeper zal automatisch git en andere afhankelijkheden installeren.

U kunt de configuratie van Etckeeper aanpassen door het configuratiebestand op te bewerken /etc/etckeeper/etckeeper.conf. De standaardconfiguratie is echter voldoende en we zullen deze gebruiken voor deze tutorial.

Stap 2: Configureer / etc als de git werkmap van Etckeeper

U kunt Etckeeper laten behandelen /etc/als de git-werkmap door de volgende opdrachten uit te voeren:

cd /etc
sudo etckeeper init

Het "init" subcommando hierboven zal een bestand aanmaken met de naam .gitignoreen een directory met de naam .gitin /etc/.

Het .gitignorebevat een vooraf gedefinieerde lijst met bestanden en vereist geen beheer met versiebeheer. Indien nodig kunt u er bestandsnamen aan toevoegen of verwijderen, vergeet niet om één regel per regel tussen de regel # begin section managed by etckeeper...en de regel te plaatsen # end section managed by etckeeper.

De .gitdirectory is de plaats waar de versie-repository van de /etc/directory wordt opgeslagen .

Stap 3: Voer de initiële vastlegging uit

Voorafgaand aan de initiële commit, kun je kijken wat er zal gebeuren:

sudo etckeeper vcs status | more

Het vcssubcommando van Etckeeper zal de versiebeheersoftware (die git is) aanroepen om het volgende subcommando in de /etc/directory uit te voeren. Dus de bovenstaande opdracht is gelijk aan:

sudo git -C /etc status | more

Druk space barop om een ​​pagina om te slaan. Als u bestanden vindt die niet door een versie moeten worden beheerd, voegt u deze toe aan het .gitignorebestand.

Nu kun je alle inhoud in de map / etc (behalve de bestanden gedefinieerd in .gitignore) in je git-repository vastleggen . Vergeet niet om enkele zinvolle opmerkingen tussen twee aanhalingstekens te schrijven ter beoordeling.

sudo etckeeper commit "Initial config in /etc"

Hier kun je de git directory comprimeren om schijfruimte te besparen:

sudo etckeeper vcs gc

Stap 4: Voer nog een commit uit na het maken van wijzigingen in / etc

In combinatie met git kan Etckeeper alle wijzigingen vastleggen die plaatsvinden in de /etc/map, zoals het toevoegen, wijzigen of verwijderen van bestanden, evenals eigendoms- en / of toestemmingswijzigingen voor bestanden en mappen. Alles onder /etc/valt onder het versiecontrolebeleid.

Houd er rekening mee dat het hebben /etc/van versiebeheer niet betekent dat u er een bewerking op kunt uitvoeren. Door ernstige storingen kan het systeem onbruikbaar worden voordat Etckeeper de configuratie kan herstellen naar een werkende staat.

Voor testdoeleinden mag u alleen veilige wijzigingen aanbrengen /etc/, zoals het toevoegen van een nieuw bestand, het wijzigen van de hostnaam in /etc/hostsof het installeren van nieuwe software met Yum.

Voeg het bestand bijvoorbeeld toe abcdein /etc/:

sudo touch /etc/abcde

Voeg vervolgens de regel toe 192.168.0.2 desktopaan het /etc/hostsbestand:

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

Eindelijk kun je het subcommando "commit" opnieuw uitvoeren:

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

Stap 5: trek uw wijzigingen in

Ten eerste kun je de git-geschiedenis controleren om elke commit-id en commentaar te krijgen:

sudo etckeeper vcs log

Ten tweede kun je de details van elke commit controleren met de eerste paar bits van de commit-id. Hier gaan we ervan uit dat de eerste commit-id is 7f5bff, de tweede commit-id is 1aa658.

sudo etckeeper vcs show 1aa658

Druk op jom naar beneden te gaan, druk kop om omhoog te gaan, invoer /keyword<Enter>om te zoeken, druk op qom te stoppen.

Ten derde kun je de verschillen tussen twee commits ook vergelijken met de volgende opdracht. Wees je bewust van de reeks van twee commits, een natuurlijke reeks plaatst de eerste voor de laatste.

sudo etckeeper vcs diff 7f5bff..1aa658

Nu merk je dat je de hostnaam verkeerd hebt geconfigureerd /etc/hoststijdens de eerste commit en de tweede commit, maar het toevoegen van het bestand /etc/abcdeis een correcte operatie, je kunt je wijziging intrekken in alleen het /etc/hostsbestand met de volgende opdracht:

sudo etckeeper vcs checkout 7f5bff /etc/hosts

Als je alle veranderingen tussen de eerste commit en de tweede commit wilt intrekken, kun je het volgende commando gebruiken:

sudo etckeeper vcs checkout 7f5bff

Natuurlijk kun je nog steeds terugkeren naar de tweede commit:

sudo etckeeper vcs checkout 1aa658

Gevolgtrekking

Als Etckeeper correct is geconfigureerd, kunt u uw systeem met meer vertrouwen afstemmen en onderhouden. Houd er echter rekening mee dat versiebeheer anders is dan back-up en dat de /etc/directory niet de enige plaats is waar u zich zorgen over hoeft te maken. Om uw systeem in vorm te houden, moet u naast het versiecontrolemechanisme ook regelmatig een back-up van uw systeem maken.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.