{"id":7478,"date":"2021-09-14T19:00:00","date_gmt":"2021-09-14T17:00:00","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=7478"},"modified":"2022-12-12T18:29:57","modified_gmt":"2022-12-12T16:29:57","slug":"neue-programme-auf-dem-raspberry-pi-per-apt-paketverwaltung-installieren-das-solltest-du-vorher-machen","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/neue-programme-auf-dem-raspberry-pi-per-apt-paketverwaltung-installieren-das-solltest-du-vorher-machen\/","title":{"rendered":"Neue Programme auf dem Raspberry Pi per APT Paketverwaltung installieren: Das solltest du vorher machen!"},"content":{"rendered":"<p>\u00dcber die Paketverwaltung <strong>apt\/apt-get<\/strong> 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\u00fcmmern musst. Manuelles herunterladen wie man es aus der Windows-Welt noch \u00fcberwiegend kennt, entf\u00e4llt &#8211; inklusive der damit einhergehenden Risiken wie z.B. Schadsoftware. Das Paketsystem ist eine gro\u00dfe St\u00e4rke von Linux. Bevor du damit neue Software installierst, solltest du jedoch ein paar Dinge beachten, die wir uns im folgenden Anschauen.<\/p>\n<h2 class=\"wp-block-heading\">Warum sollte man immer zuerst die Paketquellen aktualisieren?<\/h2>\n<p>Kern der Paketverwaltung ist eine Liste aller Pakete, die in den jeweiligen Paketquellen (<em>Repositorys<\/em>) verf\u00fcgbar sind. Neben dem Name sind dort auch die verf\u00fcgbaren 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\u00fcgbar ist und wenn ja in welcher Version. Sondern es erstellt eine lokale Kopie der gesamten Paketliste, die mit <strong>apt update<\/strong> erstellt bzw. aktualisiert wird. <\/p>\n<p>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\u00f6chten wir z.B. eine Pizza bestellen, findet sich im Telefonbuch die Telefonnummer verschiedener Lieferdienste. Haben wir dort einen ausgew\u00e4hlt, muss man diesen noch anrufen um eine Lieferung zu erhalten &#8211; dies w\u00e4re bei der Paketverwaltung die Installation eines Paketes. Auch beim Telefonbuch ist es wichtig, eine m\u00f6glichst aktuelle Ausgabe zu haben. In einem \u00e4lteren Telefonbuch fehlen m\u00f6glicherweise neuere Lieferdienste oder es sind Unternehmen eingetragen, die es inzwischen gar nicht mehr gibt. Beim Raspberry Pi w\u00e4ren dies verschiedene Softwarepakete, wie z.B. der Apache2 Webserver oder ein Texteditor wie vim.<\/p>\n<p>Wenn wir nun neue Software installieren und unsere Paketquellen bereits einige Wochen oder sogar noch \u00e4lter sind, ist das Ergebnis ggf. eine \u00e4ltere Version des gew\u00fcnschten Programmes. Da nur der lokale Cache genutzt wird, wei\u00df unser System gar nicht, dass es auf dem Server bereits neuere Paketlisten mit einer aktualisierten Version gibt. Im schlechtesten Falle schl\u00e4gt die Installation dadurch fehl, weil das zu installierende Paket vermeintlich nicht gefunden wird.<\/p>\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h37m11s443.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h37m11s443-1024x576.png\" alt=\"\" class=\"wp-image-7480\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h37m11s443-1024x576.png 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h37m11s443-300x169.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h37m11s443-768x432.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h37m11s443-1536x864.png 1536w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h37m11s443-2048x1152.png 2048w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h37m11s443-70x39.png 70w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>Es ist daher zu empfehlen, vor der Installation die Paketquellen mit <strong>apt update<\/strong> auf den neusten Stand zu bringen. Dies gilt auch f\u00fcr das Einspielen von Updates. Nicht n\u00f6tig 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.<\/p>\n<h2 class=\"wp-block-heading\">Sollte man zuvor auch Updates f\u00fcr bereits installierte Programme einspielen?<\/h2>\n<p>Wie oben erw\u00e4hnt, aktualisiert man damit nur die Paketquellen &#8211; 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\u00fcr gibt es <strong>apt upgrade<\/strong>: Der Befehl pr\u00fcft, ob alle <em>installierten<\/em> Pakete der neuesten Version aus dem Paketquellen-Cache entsprechen. Ist dies nicht der Fall, weil der Paketquellen-Cache eine neuere Version enth\u00e4lt, wird diese heruntergeladen und die bereits installierte Version aktualisiert. Analog dazu w\u00fcrden wir im Telefonbuch nach der aktuellen Nummer unseres favorisierten Lieferdienstes suchen.<\/p>\n<p>Das aktualisieren der bestehenden Pakete mit <strong>apt upgrade<\/strong> ist vor einer Installation zwar nicht zwingend erforderlich. Allerdings ist es grunds\u00e4tzlich empfehlenswert, immer die neuesten stabilen Aktualisierungen einzuspielen. Haupts\u00e4chlich sicherheitstechnisch, aber auch um Konflikte zu vermeiden. W\u00e4hrend ich Sicherheitsupdates automatisch einspielen lassen w\u00fcrde, ist die Installation eines Paketes unabh\u00e4ngig davon eine gute Gelegenheit, um alle installierten Pakete auf den neuesten Stand zu bringen. Die Antwort lautet daher: Ja.<\/p>\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h38m46s736.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h38m46s736-1024x576.png\" alt=\"\" class=\"wp-image-7482\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h38m46s736-1024x576.png 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h38m46s736-300x169.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h38m46s736-768x432.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h38m46s736-1536x864.png 1536w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h38m46s736-2048x1152.png 2048w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/vlcsnap-2021-09-13-21h38m46s736-70x39.png 70w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>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\u00e4uft kann es passieren, dass anschlie\u00dfend nicht mehr alles 100%tig funktioniert. Unter diesen Umst\u00e4nden sollte man anschlie\u00dfend neu starten, alles testen und entsprechend mehr Zeit einplanen. Am besten l\u00e4sst man es mit regelm\u00e4\u00dfigen Aktualisierungen aber gar nicht erst soweit kommen. <\/p>\n<h2 class=\"wp-block-heading\">Fazit\/TL;DR<\/h2>\n<p>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\u00fchren:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">sudo apt update &amp;&amp; sudo apt upgrade<\/code><\/pre>\n<p>Anschlie\u00dfend kann man das gew\u00fcnschte Paket installieren, wie z.B. <strong>sudo apt install apache2<\/strong> f\u00fcr den Apache2 Webserver.<\/p>\n<p>Unabh\u00e4ngig davon sollte man sich zumindest im Produktivbetrieb Gedanken dar\u00fcber machen, wie man seinen Raspberry Pi regelm\u00e4\u00dfig auf dem aktuellsten Stand h\u00e4lt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00dcber 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\u00fcmmern musst. Manuelles herunterladen wie man es aus der Windows-Welt noch \u00fcberwiegend kennt, entf\u00e4llt &#8211; inklusive der damit einhergehenden Risiken wie z.B. Schadsoftware. Das Paketsystem ist eine &#8230;<\/p>\n","protected":false},"author":5,"featured_media":7581,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[671],"tags":[938,75,939],"class_list":["post-7478","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi","tag-apt","tag-linux","tag-paketverwaltung"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=7478"}],"version-history":[{"count":4,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7478\/revisions"}],"predecessor-version":[{"id":9833,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7478\/revisions\/9833"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/7581"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=7478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=7478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=7478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}