Linux-Software installieren mit Ansible
Ich habe deutlich mehr als nur ein oder zwei Linux-Rechner, die ich alle gern auf dem aktuellen Software-Stand halte. Da manuelle apt Kommandos auf Dauer lästig werden, habe ich mir jetzt Ansible-Skripte geschrieben, die sehr bald nach dem Aufsetzen eines Linux-Rechners die restliche Arbeit übernehmen. „Sehr bald“ heißt in dem Zusammenhang, nach der grundlegenden Installation und dem Installieren von Ansible selbst mittels apt install ansible
. Ansible ist zwar eigentlich dafür gemacht, dutzende, hunderte oder gar tausende Server zu administrieren, aber für die Arbeiten am localhost bietet es auch Vorteile.
Ich nutze dabei zwei Skripte, sogenannte „Playbooks“, eines für die Kombination aus apt update/upgrade und ein Skript für die grundlegende Paketinstallation.
Hier das erste (Quelle: https://www.cyberciti.biz/faq/ansible-apt-update-all-packages-on-ubuntu-debian-linux/):
- hosts: all
become: true
become_user: root
tasks:
- name: Update apt repo and cache on all Debian/Ubuntu boxes
apt: update_cache=yes force_apt_get=yes cache_valid_time=3600
- name: Upgrade all packages on servers
apt: upgrade=dist force_apt_get=yes
Und hier das zweite Playbook für die Installation der grundlegenden Software (lieber aus dem github ziehen, WordPress verändert den Code):
- hosts: all
become: true
become_user: root
tasks:
- name: Install git
apt:
name: git
state: present
update_cache: yes
- name: Install gparted
apt:
name: gparted
state: present
update_cache: yes
- name: Install subversion
apt:
name: subversion
state: present
update_cache: yes
- name: Install emacs
apt:
name: emacs
state: present
update_cache: yes
- name: Install geany
apt:
name: geany
state: present
update_cache: yes
- name: Install vlc
apt:
name: vlc
state: present
update_cache: yes
- name: Install ssh
apt:
name: ssh
state: present
update_cache: yes
- name: Install VSC via snap
snap:
name: code
classic: yes
Ausgeführt werden die Skripte dann mittels
ansible-playbook --connection=local --inventory 127.0.0.1, playbookname.yml
Ansible kann noch unendlich viel mehr, dazu vielleicht in weiteren Beiträgen.
Nachtrag 04.10.2020: Die YAML-Skripte liegen jetzt im Github unter https://github.com/UweZiegenhagen/ansible.