Habe gerade wieder einen Punkt auf meiner ToDo-Liste erledigt, vielleicht ist es ja für den einen oder anderen interessant. Sorry. wenn es etwas länger wird.
Wer kennt es nicht, ihr habt diverse VM / Container oder Raspberries am Laufen und müsst regelmäßig manuell nachschauen, ob Updates vorhanden sind.
Code
+-----------+---------+-----------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+-----------+---------+-----------------------+------+-----------+-----------+
| airsonic | RUNNING | 192.168.178.59 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
| deconz | RUNNING | 192.168.178.55 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
| gitea | RUNNING | 192.168.178.61 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
| iobroker | RUNNING | 192.168.178.57 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
| mariadb | RUNNING | 192.168.178.56 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
| oscam | RUNNING | 192.168.178.54 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
| pihole | RUNNING | 192.168.178.51 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
| syncthing | RUNNING | 192.168.178.52 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
| tvheadend | RUNNING | 192.168.178.53 (eth0) | | CONTAINER | 0 |
+-----------+---------+-----------------------+------+-----------+-----------+
Display More
Also fassen wir diese Abfragen in einem Script zusammen.
Voraussetzung
- SSH-Zugang
- Anmeldung per Keyfile (spart die Eingabe des Passworts)
Zum Script
- ssh -i : Sind mehrere SSH-Keys vorhanden, muss angegeben werden, welcher benutzt werden soll
- NUTZERNAME: User in dem Conatiner / VM ...
- apt-get -s : das "s" steht für Simulation, es werden keine Root-Rechte zur Ausführung benötigt
- checkupdates : Nur Archlinux, zeigt vorhandene Updates an
- awk ... : Hat nur kosmetische Gründe, die Ausgabe sieht dann etwas schöner aus
Bash
#!/bin/bash
echo "########## Homeserver | Archlinux ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.50 "checkupdates"
echo
echo "########## Pihole | Debian ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.51 "apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'"
echo
echo "########## Syncthing | Debian ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.52 "apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'"
echo
echo "########## TVheadend | Debian ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.53 "apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'"
echo
echo "########## Oscam | Ubuntu ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.54 "apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'"
echo
echo "########## Deconz | Debian ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.55 "apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'"
echo
echo "########## MariaDB | Debian ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.56 "apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'"
echo
echo "########## ioBroker | Debian ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.57 "apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'"
echo
echo "########## Airsonic | Debian ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.59 "apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'"
echo
echo "########## Gitea | Archlinux ############################################"
ssh -i ~/.ssh/id_home NUTZERNAME@192.168.178.61 "checkupdates"
exit 0
Display More
Und so sieht's dann aus. Auf dem Homeserver, Oscam und Gitea liegen Updates vor.
Code
########## Homeserver | Archlinux ############################################
grub 2:2.06-4 -> 2:2.06-5
linux-lts 5.15.31-1 -> 5.15.32-1
linux-lts-headers 5.15.31-1 -> 5.15.32-1
samba 4.16.0-1 -> 4.16.0-2
smbclient 4.16.0-1 -> 4.16.0-2
sqlite 3.38.1-1 -> 3.38.2-1
util-linux 2.37.4-1 -> 2.38-1
util-linux-libs 2.37.4-1 -> 2.38-1
zlib 1:1.2.11-5 -> 1:1.2.12-1
########## Pihole | Debian ############################################
########## Syncthing | Debian ############################################
########## TVheadend | Debian ############################################
########## Oscam | Ubuntu ############################################
Inst libnetplan0 [0.103-0ubuntu5~20.04.6] (0.104-0ubuntu2~20.04.1 Ubuntu:20.04/focal-updates [amd64])
Inst netplan.io [0.103-0ubuntu5~20.04.6] (0.104-0ubuntu2~20.04.1 Ubuntu:20.04/focal-updates [amd64])
########## Deconz | Debian ############################################
########## MariaDB | Debian ############################################
########## ioBroker | Debian ############################################
########## Airsonic | Debian ############################################
########## Gitea | Archlinux ############################################
libsysprof-capture 3.42.1-3 -> 3.44.0-1
sqlite 3.38.1-1 -> 3.38.2-1
util-linux 2.37.4-1 -> 2.38-1
util-linux-libs 2.37.4-1 -> 2.38-1
zlib 1:1.2.11-5 -> 1:1.2.12-1
Display More