Posts tagged ‘Ansible’

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.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website