Så här kör du en apt-get-uppdatering i Ansible

How Run An Apt Get Update Ansible



I mitt dagliga arbetsflöde arbetar jag med många avlägsna Linux-system, varav de flesta är Debian-baserade.

Jag kan öppet berätta att det ibland blir väldigt tröttsamt att SSH i alla maskiner, göra en apt-get-uppdatering och sedan kontrollera om det finns några uppdateringar och installera dem. Även med SSH-inloggningar utan lösenord tar det fortfarande oerhört lång tid.







Efter att ha ständigt frågat mig själv, hur kan jag automatisera denna process? Jag hittade Ansible!



För denna handledning kommer jag att visa dig hur du använder detta kraftfulla automatiseringsverktyg för att uppdatera alla dina fjärrsystem med apt. Att hålla dig uppdaterad och applicera alla patchar på ditt system hjälper till att hålla ditt system säkert.



Vad är Ansible?

Ansible är ett kraftfullt automatiseringsverktyg som låter dig fjärr och automatiskt konfigurera och hantera system. Dessutom erbjuder den övertygande funktioner som fjärrinstallation av programvara, återgångar vid fel, säkerhetskopior, fjärrnedladdningar och många fler.





Ansible är också mycket lätt att använda. Den använder YAML -filer som är enkla att skriva och mycket läsbara och hög säkerhet eftersom den använder SSH för att logga in och hantera system.

Att hantera mer än ett system från ett enda verktyg är mer än triumferande, och alla systemadministratörer bör vara bekanta om de inte redan använder Ansible.



Installera Ansible

Med Ansibels lovord ur vägen, låt oss titta på att installera Ansible på vår lokala dator för att hantera fjärrservrarna.

För den här självstudien kommer jag att använda Ubuntu 20.10 som min lokala dator. För att lära dig hur du installerar Ansible på andra system, se dokumentationen.

På Ubuntu använder du kommandona:

sudo apt uppdatering
sudo apt installera programvara-egenskaper-vanligt
sudo add-apt-repository-ja-uppdatera ppa: ansible/ansible
sudo apt installera ansible

Ansible Lägg till värdar

Om du inte är bekant med Ansible är det första steget att bygga en inventering av de fjärrmaskiner som du vill automatisera. Du kan göra detta genom att redigera/etc/ansible/hosts.

Om du vill lägga till Debians servrar anger du posterna som:

[debian]
192.168.0.13

Du kan skicka fjärrvärdens IP -adress eller använda maskinens värdnamn.

När vi har listan över värdar att hantera i konfigurationsfilen kan vi fortsätta och automatisera uppdateringarna.

Uppdatera med apt -modulen

För att uppdatera och hantera paket på distans på Debianbaserade datorer använder vi den lämpliga modulen från Ansible. Med apt -modulen kan vi hantera apt -paket med andra konfigurationer.

Uppdatera lagringscache
För att uppdatera lagringscachen med Ansible kan vi använda en spelbok enligt nedan:

---
- värdar: debian
bli: ja
blir_metod: sudo
uppgifter:
- name: 'Update Repository cache'
benägen:
update_cache: sant
cache_valid_time: 3600
force_apt_get: true

Spara filen och kör med kommandot som:

ansible-playbook --user = debian apt.yaml

Detta kommer att köra playbook och utföra de angivna uppgifterna. Utmatningen är som visas nedan:

I Ansible playbook börjar vi med att ange värdar. I det här fallet vill vi bara ha Debians värdar.

Därefter ställer vi in ​​det för att bli sant, så att användaren kan höja privilegierna med hjälp av sudo enligt specifikationen i bet_metoden.

Slutligen ställer vi in ​​uppgifterna för att uppdatera lagringscachen. Vi har också ställt in en cache_valid_time som 3600 som uppdaterar cachen om den är äldre än den nämnda tiden.

NOTERA: Använd force_apt-get istället för aptitude.

Uppgradera alla paket
Vi kan också uppdatera alla paket i systemet som motsvarar kommandot:

sudo apt-get dist-upgrade

För att göra detta med Ansible playbook lägger vi till yaml -filen som:

---
- värdar: alla
bli: ja
blir_metod: sudo
uppgifter:
- namn: 'Uppdatera cache och fullständig systemuppdatering'
benägen:
update_cache: sant
uppgradering: dist
cache_valid_time: 3600
force_apt_get: true

Kör på samma sätt Ansible Playbook ovan, som visas i det första kommandot.

Slutsats

I den här självstudien gick vi snabbt igenom vad Ansible är, vad den erbjuder och hur vi kan använda dess moduler för att utföra en systemuppdatering på Debianbaserat system.

Tack och glad automation