Neue Programme auf dem Raspberry Pi per APT Paketverwaltung installieren: Das solltest du vorher machen!

Als Video ansehen
Bereitgestellt über YouTube

Neue Programme auf dem Raspberry Pi per APT Paketverwaltung installieren: Das solltest du vorher machen!

Über die Paketverwaltung apt/apt-get lassen sich bequem viele neue Programme auf dem Raspberry Pi installieren und gemeinsam aktuell halten, ohne dass du dich um jedes einzelne Tool selbst kümmern musst. Manuelles herunterladen wie man es aus der Windows-Welt noch überwiegend kennt, entfällt – inklusive der damit einhergehenden Risiken wie z.B. Schadsoftware. Das Paketsystem ist eine große Stärke von Linux. Bevor du damit neue Software installierst, solltest du jedoch ein paar Dinge beachten, die wir uns im folgenden Anschauen.

Warum sollte man immer zuerst die Paketquellen aktualisieren?

Kern der Paketverwaltung ist eine Liste aller Pakete, die in den jeweiligen Paketquellen (Repositorys) verfügbar sind. Neben dem Name sind dort auch die verfügbaren Versionen verzeichnet. Nicht aber der Inhalt des Paketes. Dieser wird erst bei der Installation eines Programmes heruntergeladen. Das unter Debian/Raspberry Pi OS eingesetzte APT fragt nicht beim Server ab, ob ein einzelnes Paket verfügbar ist und wenn ja in welcher Version. Sondern es erstellt eine lokale Kopie der gesamten Paketliste, die mit apt update erstellt bzw. aktualisiert wird.

Man kann sich die Paketquellen wie ein Telefonbuch vorstellen: Wir holen uns ein neues Telefonbuch, mit Namen und Informationen zu einem Kontakt wie z.B. dessen Telefonnummer. Der Pi holt sich eine Liste aller Pakete Möchten wir z.B. eine Pizza bestellen, findet sich im Telefonbuch die Telefonnummer verschiedener Lieferdienste. Haben wir dort einen ausgewählt, muss man diesen noch anrufen um eine Lieferung zu erhalten – dies wäre bei der Paketverwaltung die Installation eines Paketes. Auch beim Telefonbuch ist es wichtig, eine möglichst aktuelle Ausgabe zu haben. In einem älteren Telefonbuch fehlen möglicherweise neuere Lieferdienste oder es sind Unternehmen eingetragen, die es inzwischen gar nicht mehr gibt. Beim Raspberry Pi wären dies verschiedene Softwarepakete, wie z.B. der Apache2 Webserver oder ein Texteditor wie vim.

Wenn wir nun neue Software installieren und unsere Paketquellen bereits einige Wochen oder sogar noch älter sind, ist das Ergebnis ggf. eine ältere Version des gewünschten Programmes. Da nur der lokale Cache genutzt wird, weiß unser System gar nicht, dass es auf dem Server bereits neuere Paketlisten mit einer aktualisierten Version gibt. Im schlechtesten Falle schlägt die Installation dadurch fehl, weil das zu installierende Paket vermeintlich nicht gefunden wird.

Es ist daher zu empfehlen, vor der Installation die Paketquellen mit apt update auf den neusten Stand zu bringen. Dies gilt auch für das Einspielen von Updates. Nicht nötig ist es hingegen dann, wenn die Aktualisierung erst kurz zuvor stattgefunden hat. Beispiel: Ihr aktualisiert die Paketquellen, installiert ein Programm wie etwa Apache. Nun wollt ihr kurz darauf PHP installieren. In diesem Falle ist kein weiteres Aktualisieren vor der PHP-Installation notwendig.

Sollte man zuvor auch Updates für bereits installierte Programme einspielen?

Wie oben erwähnt, aktualisiert man damit nur die Paketquellen – also die Metadaten, nicht aber installierte Pakete selbst. Im Beispiel des Telefonbuches haben wir ein neues Telefonbuch geholt, dies bestellt uns aber noch keine Pizza. Hierfür gibt es apt upgrade: Der Befehl prüft, ob alle installierten Pakete der neuesten Version aus dem Paketquellen-Cache entsprechen. Ist dies nicht der Fall, weil der Paketquellen-Cache eine neuere Version enthält, wird diese heruntergeladen und die bereits installierte Version aktualisiert. Analog dazu würden wir im Telefonbuch nach der aktuellen Nummer unseres favorisierten Lieferdienstes suchen.

Das aktualisieren der bestehenden Pakete mit apt upgrade ist vor einer Installation zwar nicht zwingend erforderlich. Allerdings ist es grundsätzlich empfehlenswert, immer die neuesten stabilen Aktualisierungen einzuspielen. Hauptsächlich sicherheitstechnisch, aber auch um Konflikte zu vermeiden. Während ich Sicherheitsupdates automatisch einspielen lassen würde, ist die Installation eines Paketes unabhängig davon eine gute Gelegenheit, um alle installierten Pakete auf den neuesten Stand zu bringen. Die Antwort lautet daher: Ja.

Vorsicht ist jedoch bei Pis geboten, die schon sehr lange nicht mehr aktualisiert wurden. Hier ist die Anzahl der ausstehenden Updates enorm. Je nachdem was darauf läuft kann es passieren, dass anschließend nicht mehr alles 100%tig funktioniert. Unter diesen Umständen sollte man anschließend neu starten, alles testen und entsprechend mehr Zeit einplanen. Am besten lässt man es mit regelmäßigen Aktualisierungen aber gar nicht erst soweit kommen.

Fazit/TL;DR

Es ist sinnvoll, vor der Installation neuer Pakete sowohl die Paketquellen als auch die bereits installierten Pakete auf den neuesten Stand zu bringen. Dadurch erhaltet ihr die neuste, stabile Software und vermeidet verschiedene Probleme. Konkret bedeutet das, folgende zwei Befehle auszuführen:

sudo apt update && sudo apt upgrade

Anschließend kann man das gewünschte Paket installieren, wie z.B. sudo apt install apache2 für den Apache2 Webserver.

Unabhängig davon sollte man sich zumindest im Produktivbetrieb Gedanken darüber machen, wie man seinen Raspberry Pi regelmäßig auf dem aktuellsten Stand hält.

Leave a Reply