Hvordan kjøre en apt-get-oppdatering i Ansible

Hvordan kjøre en apt-get-oppdatering i Ansible

I min daglige arbeidsflyt jobber jeg med mange eksterne Linux-systemer, hvorav de fleste er Debian-baserte.

Jeg kan åpent fortelle deg at noen ganger blir det veldig slitsomt å SSH inn i alle maskinene, gjøre en apt-get-oppdatering, og deretter sjekke om det er noen oppdateringer og installer dem. Selv med passordfri SSH-pålogginger, tar det fortsatt enormt tid.

Etter å ha spurt meg selv: “Hvordan kan jeg automatisere denne prosessen?”Jeg fant Ansible!

For denne opplæringen vil jeg vise deg hvordan du bruker dette kraftige automatiseringsverktøyet for å oppdatere alle eksterne systemer ved hjelp av APT. Å holde seg oppdatert og bruke alle lappene på systemet ditt vil bidra til å holde systemet ditt sikkert.

Hva er Ansible?

Ansible er et kraftig automatiseringsverktøy som lar deg eksternt og automatisk konfigurere og administrere systemer. I tillegg tilbyr den overbevisende funksjoner som å installere programvare eksternt, tilbakevendinger i tilfelle feil, sikkerhetskopier, eksterne nedlastinger og mange flere.

Ansible er også veldig enkelt å bruke. Den bruker YAML -filer som er enkle å skrive og svært lesbare, og et høyt sikkerhetsnivå da den bruker SSH til å logge inn og administrere systemer.

Å administrere mer enn ett system fra et enkelt verktøy er mer enn seirende, og enhver systemadministrator bør være kjent hvis ikke allerede bruker Ansible.

Installere Ansible

La oss se på Ansible på vår lokale maskin for å administrere de eksterne serverne med Ansible sine roser for å administrere de eksterne serverne.

For denne opplæringen vil jeg bruke Ubuntu 20.10 som min lokale maskin. For å lære hvordan du installerer Ansible på andre systemer, sjekk ut dokumentasjonen.

Bruk kommandoene på Ubuntu:

sudo apt oppdatering
sudo apt installer programvareforekomster-vanlig
sudo add-apt-repository-ja-update ppa: ansible/ansible
sudo apt installasjons Ansible

Ansible Legg til verter

Hvis du ikke er kjent med Ansible, er det første trinnet å bygge en oversikt over de eksterne maskinene du vil automatisere. Du kan gjøre dette ved å redigere/etc/Ansible/verter.

For å legge til Debian -serverne, skriv inn oppføringene som:

[Debian]
192.168.0.1. 3

Du kan passere IP -adressen til den eksterne verten eller bruke vertsnavnet til maskinen.

Når vi har listen over verter å administrere i konfigurasjonsfilen, kan vi fortsette og automatisere oppdateringene.

Oppdater ved hjelp av APT -modulen

For å oppdatere og administrere pakker eksternt på Debian-baserte maskiner, bruker vi den passende modulen levert av Ansible. APT -modulen lar oss administrere APT -pakker med andre konfigurasjoner.

Oppdater lagringsbuffer
For å oppdatere depotbufferen ved hjelp av Ansible, kan vi bruke en spillbok som angitt nedenfor:

---
- Verter: Debian
Bli: Ja
bli_metod: sudo
oppgaver:
- Navn: "Oppdater lagringsbuffer"
apt:
Update_cache: sant
cache_valid_time: 3600
Force_apt_get: True

Lagre filen og kjør ved å bruke kommandoen som:

Ansible-Playbook-Bruker = Debian apt.Yaml

Dette vil kjøre spillboken og utføre oppgavene som er spesifisert. Utgangen er som vist nedenfor:

I Ansible Playbook starter vi med å spesifisere vertene. I dette tilfellet vil vi bare ha Debian -vertene.

Deretter satte vi den til å bli sant, slik at brukeren kan heve privilegiene ved å bruke sudo som spesifisert i gety_method.

Til slutt setter vi oppgavene til å oppdatere depotbufferen. Vi setter også en cache_valid_time som 3600 som oppdaterer hurtigbufferen hvis den er eldre enn nevnte tid.

MERK: Bruk Force_apt-Fet i stedet for egnethet.

Oppgrader alle pakker
Vi kan også oppdatere alle pakkene i systemet som tilsvarer kommandoen:

sudo apt-get dist-upgrade

For å gjøre dette ved hjelp av Ansible Playbook, legger vi til YAML -filen som:

---
- Verter: Alle
Bli: Ja
bli_metod: sudo
oppgaver:
- Navn: "Oppdater cache og full systemoppdatering"
apt:
Update_cache: sant
Oppgradering: Dist
cache_valid_time: 3600
Force_apt_get: True

Tilsvarende kjører Ansible Playbook ovenfor, som vist i den første kommandoen.

Konklusjon

I denne opplæringen gikk vi raskt over hva Ansible er, hva den tilbyr, og hvordan vi kan bruke modulene til å utføre en systemoppdatering på Debian -baserte system.

Takk og lykkelig automatisering