Bruke Etckeeper for versjonskontroll av /etc

Bruke Etckeeper for versjonskontroll av /etc

Introduksjon

Den /etc/katalogen spiller en avgjørende rolle i måten en Linux-systemet fungerer. Grunnen til dette er fordi nesten hver systemkonfigurasjonsfil er plassert inne i /etc/. Dataene som er lagret i /etc/er ikke bare relatert til de innebygde systembibliotekene, men også for nyinstallert programvare og dens konfigurasjon. System- og programvareinstallasjoner, oppgraderinger og konfigurasjonsendringer er alle lagret i /etc/. Derfor er det en god praksis å bruke versjonskontroll når du klarer /etc/å unngå potensielle feil forårsaket av uforutsette eller utilsiktede feiloperasjoner.

Med Etckeeper kan du enkelt administrere /etc/med versjonskontrollmekanismen din ved å bruke et Git-, Mercurial-, Bazaar- eller Darcs-depot. Som standard bruker Etckeeper git for å vedlikeholde /etc/sin versjonskatalog med daglig granularitet for å minimere potensielt tap av data. I tillegg lar den deg foreta endringene manuelt når som helst.

I denne artikkelen, la oss se på hvordan du installerer Etckeeper på en CentOS 6-serverforekomst, samt hvordan du manuelt utfører en commit og angrer endringer.

Forutsetninger

Instruksjonene i denne artikkelen ble validert på en Vultr CentOS 6-forekomst med en LEMP-stack. Instruksjoner for andre distribusjoner kan være annerledes.

Merk: det er en god sikkerhetspraksis å få tilgang til systemet ditt som en ikke-rootbruker med sudo-rettigheter.

Trinn 1: Installer Etckeeper

Etckeeper er inkludert i EPEL Yum repo. Du må sette opp EPEL Yum repo før du kan installere Etckeeper:

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

En vellykket installasjon av Etckeeper vil automatisk installere git og andre avhengigheter.

Du kan tilpasse Etckeepers konfigurasjon ved å redigere konfigurasjonsfilen på /etc/etckeeper/etckeeper.conf. Standardkonfigurasjonen er imidlertid tilstrekkelig, og vi skal bruke den til formålet med denne opplæringen.

Trinn 2: Konfigurer /etc som git-arbeidsmappen til Etckeeper

Du kan få Etckeeper til å behandle /etc/som git-arbeidskatalogen ved å utføre følgende kommandoer:

cd /etc
sudo etckeeper init

"init"-underkommandoen ovenfor vil lage en fil med navn .gitignoreog en katalog med navn .giti /etc/.

Den .gitignoreinneholder en forhåndsdefinert liste over filer og krever ikke administrasjon med versjonskontroll. Om nødvendig kan du legge til eller slette filnavn i den som du ønsker, bare husk å sette ett filnavn per linje mellom linjen # begin section managed by etckeeper...og linjen # end section managed by etckeeper.

Den .gitkatalogen er stedet å oppbevare den versjonen repository av /etc/katalogen.

Trinn 3: Utfør den første forpliktelsen

Før den første forpliktelsen kan du ta en titt på hva som vil bli forpliktet:

sudo etckeeper vcs status | more

Den vcsunderkommando av Etckeeper starter en versjonskontroll programvare (som er git) for å utføre den følgende sub-kommando i /etc/katalogen. Så kommandoen ovenfor er lik:

sudo git -C /etc status | more

Trykk på for space barå bla. Hvis du finner filer som ikke skal versjonskontrolleres, legg dem til i .gitignorefilen.

Nå kan du legge inn alt innholdet i /etc-katalogen (unntatt de filene som er definert i .gitignore) til ditt git-lager. Husk å skrive noen meningsfulle kommentarer mellom to anførselstegn for gjennomgang.

sudo etckeeper commit "Initial config in /etc"

Her kan du komprimere git-katalogen for å spare diskplass:

sudo etckeeper vcs gc

Trinn 4: Utfør en ny forpliktelse etter å ha gjort endringer i /etc

Sammen med git kan Etckeeper registrere alle endringer som skjer i /etc/katalogen, for eksempel å legge til, endre eller slette filer, samt endringer i eierskap og/eller tillatelser for filer og kataloger. Alt under /etc/faller inn under dens versjonskontrollpolicy.

Vær oppmerksom på at å ha /etc/under versjonskontroll betyr ikke at du kan utføre noen operasjon på den. Alvorlige feiloperasjoner kan gjøre systemet ubrukelig før Etckeeper kan gjenopprette konfigurasjonen til en fungerende tilstand.

For testformål bør du bare gjøre sikre endringer i /etc/, for eksempel å legge til en ny fil, endre vertsnavnet i /etc/hosts, eller installere en ny programvare ved å bruke Yum.

For eksempel, legg til filen abcdei /etc/:

sudo touch /etc/abcde

Deretter legger du til linjen 192.168.0.2 desktopi /etc/hostsfilen:

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

Til slutt kan du utføre "commit"-underkommandoen igjen:

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

Trinn 5: Tilbakekall endringene dine

For det første kan du sjekke git-historikken for å få hver commits id og kommentar:

sudo etckeeper vcs log

For det andre kan du sjekke detaljene for enhver commit med de første bitene av commit-IDen. Her antar vi at den første commit-ID er 7f5bff, den andre commit-ID er 1aa658.

sudo etckeeper vcs show 1aa658

Du kan trykke for jå flytte ned, trykke for kå flytte opp, skrive inn for /keyword<Enter>å søke, trykke for qå avslutte.

For det tredje kan du også sammenligne forskjellene mellom to commits med følgende kommando. Vær oppmerksom på sekvensen av to commits, en naturlig sekvens er å sette den førstnevnte foran den siste.

sudo etckeeper vcs diff 7f5bff..1aa658

Nå finner du ut at du feilkonfigurerte vertsnavnet i /etc/hostsløpet av den første commit og den andre commit, men å legge til filen /etc/abcdeer en korrekt operasjon, du kan tilbakekalle endringen i bare /etc/hostsfilen med følgende kommando:

sudo etckeeper vcs checkout 7f5bff /etc/hosts

Hvis du vil tilbakekalle alle endringene mellom den første commit og den andre commit, kan du bruke følgende kommando:

sudo etckeeper vcs checkout 7f5bff

Selvfølgelig kan du fortsatt gå tilbake til den andre forpliktelsen:

sudo etckeeper vcs checkout 1aa658

Konklusjon

Etter å ha konfigurert Etckeeper riktig, kan du stille inn og vedlikeholde systemet ditt med mer selvtillit. Ikke desto mindre, vær oppmerksom på at versjonskontroll er forskjellig fra sikkerhetskopiering og /etc/katalogen er ikke det eneste stedet å være bekymret for. For å holde systemet i form, må du også sikkerhetskopiere systemet regelmessig i tillegg til versjonskontrollmekanismen.


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere Vanilla Forum på CentOS 7

Hvordan installere Vanilla Forum på CentOS 7

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Slik installerer du Mattermost 4.1 på CentOS 7

Slik installerer du Mattermost 4.1 på CentOS 7

Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

La oss kryptere på Plesk

La oss kryptere på Plesk

Plesk-kontrollpanelet har en veldig fin integrasjon for Lets Encrypt. Lets Encrypt er en av de eneste SSL-leverandørene som gir ut sertifikater komplett

La oss kryptere på cPanel

La oss kryptere på cPanel

Lets Encrypt er en sertifiseringsinstans dedikert til å tilby SSL-sertifikater gratis. cPanel har bygget en ryddig integrasjon slik at du og din klient

Hvordan installere Concrete5 på CentOS 7

Hvordan installere Concrete5 på CentOS 7

Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og

Slik installerer du Review Board på CentOS 7

Slik installerer du Review Board på CentOS 7

Bruker du et annet system? Review Board er et gratis og åpen kildekodeverktøy for gjennomgang av kildekode, dokumentasjon, bilder og mye mer. Det er nettbasert programvare

Sett opp HTTP-autentisering med Nginx på CentOS 7

Sett opp HTTP-autentisering med Nginx på CentOS 7

I denne veiledningen lærer du hvordan du setter opp HTTP-autentisering for en Nginx-webserver som kjører på CentOS 7. Krav For å komme i gang trenger du

Slik installerer du GoAccess på CentOS 7

Slik installerer du GoAccess på CentOS 7

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Hvordan installere YOURLS på CentOS 7

Hvordan installere YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en åpen kildekode-applikasjon for URL-forkorting og dataanalyse. I denne artikkelen vil vi dekke installasjonsprosessen

Hvordan installere og konfigurere ArangoDB på CentOS 7

Hvordan installere og konfigurere ArangoDB på CentOS 7

Bruker du et annet system? Introduksjon ArangoDB er en åpen kildekode NoSQL-database med en fleksibel datamodell for dokumenter, grafer og nøkkelverdier. Det er

Bruke Etckeeper for versjonskontroll av /etc

Bruke Etckeeper for versjonskontroll av /etc

Innledning /etc/-katalogen spiller en kritisk rolle i måten et Linux-system fungerer på. Grunnen til dette er fordi nesten alle systemkonfigurasjoner

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mengder servere. Når filer må åpnes på tvers av forskjellige servere, logger du på hver enkelt individuelt ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer