Programme installieren und verwalten

Um Programme oder bessergesagt Pakete zu installieren, wird meistens das Kommando "apt-get install paketname" verwendet.


Was ist ein Paket

Bei Linux ist es üblich, Programme Bibliotheken oder Dokumentationsdateien in Paketen zusammengefasst bereitzustellen. Jede Distribution besteht aus vielen Paketen, wovon aber nur ein Bruchteil wirklich installiert wird. Die restlichen Pakete stehen im Internet zum Download bereit.

Raspberry Pi OS ist der Nachfolger von Raspian, Raspian wiederum wurde von Debian abgeleitet. Daraus resultiert das Raspberry Pi OS auf die Paketquellen von Debain zurückgreift. Diese Paketquellen sind auf Server im Internet hinterlegt auf die apt-get zugreift. Diese Paketquellen werden auch Repositories genannt und enthalten auch eine Datenbank, in der Informationen zu Paketen und deren Versionen hinterlegt sind. Welche Paketquellen verwendet werden, ist in der Datei "/etc/apt/sources.list" hinterlegt. Damit das Betriebssystem weiß, welche Pakete zur Verfügung stehen, wird das Kommando "apt-get update" ausgeführt. Der Abruf dieser Metadaten dauert relativ lange. Es wird empfohlen, zuerst ein Update auszuführen, bevor ein neues Paket installiert wird.

Metadaten aktualisieren

pi@raspberrypi:~ $ sudo apt-get update

Anschließend können wir zusätzliche Programme in der neusten Version installieren. Im Beispiel installieren wir den Webbrowser Firefox auf dem Raspberry Pi

Firefox installieren

pi@raspberrypi:~ $ sudo apt-get install firefox-esr

Programme bzw. Pakete entfernen

Wenn ein installiertes Programm dann doch nicht verwendet wird und lieber wieder entfernt werden soll, dann verwenden wir das Kommando "sudo apt-get remove Paketname". Konfigurationsdateien bleiben dabei erhalten.

/etc resolv.conf

pi@raspberrypi:~ $ sudo apt-get remove firefox-esr

Updates

Der Vorteil bei so einem Paketverwaltungssystem ist es, dass mit nur wenig Aufwand das gesamte System auf den neuesten Stand gebracht werden kann. Mit dem Kommando "apt-get update" werden bekanntlich die Paket und Versionsinformationen heruntergeladen. Mit dem Kommando "apt-get dist-upgrade" werden die bereits installierten Pakete überprüft und durch die neueren Versionen ersetzt. Das Update der Programme enthält zwar Fehlerkorrekturen, aber es wird nicht verwendet, um auf eine neue Major-Version zu updaten. Die einzige Ausnahme sind hier die Webbrowser, weil bei ihnen Sicherheitskorrekturen im Rahmen von Versionsupdates erfolgen.

Wichtig!

Nach einem Update bemerkt man keinen Unterschied. Trotzdem sind Updates wichtig.

Gerade Geräte, die aus dem Internet erreichbar sind, können das Ziel von Hackern werden. Wenn wir keine Updates durchführen, schließen wir auch keine bekannten Sicherheitslücken und der Raspberry Pi erleidet das gleiche Schicksal wie billige Kameras oder andere IoT-Geräte. Nur durch regelmäßige Updates können wir die Verwundbarkeit minimieren. Neben der aktuellen Software sind sichere Passwörter ebenfalls ein MUSS.


Automatische Updates

Durch automatische Updates ist der Raspberry Pi in der Lage, einmal am Tag selbstständig zu überprüfen, ob Softwareupdates vorliegen, um diese dann installieren zu können. Um automatische Updates ausführen zu können, benötigen wir zusätzlich das Paket "unattended-upgrades".

unattended-upgrades installieren

pi@raspberrypi:~ $ sudo apt-get install unattended-upgrades

Zusätzlich müssen wir noch eine Datei im Verzeichnnis /etc/apt/apt.conf.d mit dem Namen 99-auto-updates erstellen und darin folgendes schreiben:

/etc/apt/apt.conf.d/99-auto-updates

# Datei /etc/apt/apt.conf.d/99-auto-updates
APT::Periodic::Enable "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Unattended-Upgrade::Origins-Pattern {
 "origin=*";
}
# optional: automatisch aufräumen
APT::Periodic::AutocleanInterval "1";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

Automatische Updates sind nicht unumstritten, denn bei jedem Update kann auch etwas schief gehen und unter Umständen kann nach einem Update die eigene Anwendung nicht mehr laufen. Wobei ein Ausfall der Anwendung sehr unwahrscheinlich ist. Hier muss man aber unterscheiden, ob man die Lauffähigkeit der Anwendung gegen die Sicherheit des Systems aufwiegt.


Firmware- und Kernel-Updates

Mit "apt-get dist-upgrade" können wir zwar die gesamte Distribution aktualisieren, aber 2 Komponenten des Systems bleiben davon unberührt. Das sind der Kernel und die Firmware des Raspberry Pi. Der Kernel ist der Teil von Linux, der alle Low-Level-Funktionen enthält, wie die Speicherverwaltung, Prozessverwaltung oder Hardwaretreiber. Die Firmware enthält die Software für die GPU (Graphics Processing Unit) des Broadcom-System-on-a-Chip, also für die Recheneinheit des Minicomputers. Manchmal sind Updates der Firmware und des Kernels zweckmäßig, um beispielsweise mittlerweile behobene Hardwareprobleme zu lösen oder neue Treiber verwenden zu können. Jedoch ist ein Update an der Firmware und des Kernels nur erforderlich, wenn wirklich Probleme bestehen, die damit behoben werden können. An einem funktionierenden System ist ein Update der beiden Komponenten nicht nötig. Um dennoch ein Update der Firmware und des Kernels durchzuführen, wird das Paket "rpi-update" benötigt. Zuerst schauen wir, welche Version momentan vorliegt. Mit dem Kommando "uname -a" bekommen wir die Informationen zur aktuellen Version.

Versionsinformationen

pi@raspberrypi:~ $ uname -a

Wenn das Paket "rpi-update" nicht bereits installiert sein sollte, dann wird es jetzt benötigt und mit dem gleichnamigen Kommando ausgeführt.

rpi-update

pi@raspberrypi:~ $ sudo rpi-update

Erst nach einem Neustart ist das Update wirksam. Das erneute Ausführen von uname -a zeigt uns, dass unser Update erfolgreich war.

Versionsinformationen

pi@raspberrypi:~ $ uname -a

Die Firmware und der Kernel werden immer gemeinsam geupdatet, weil diese beiden Komponenten aufeinander abgestimmt sind.


Weiter mit SSH