Software installieren, löschen und aktualisieren

Software verwalten

In diesem Beitrag der Linux Bibel lesen Sie wie einfach man unter Linux Software installiert, deinstalliert und aktualisiert. Erst lernen Sie dies auf dem Terminal und dann wie es auf der grafischen Oberfläche mit der Maus geht. Hier geht es zwar primär um Debian und darauf basierende Systeme wie Ubuntu, Kubuntu, Linux Mint und so weiter - unter anderen Distributionen läuft es grafisch jedoch nicht viel anders ab.

Grundlagen

Eines der interessantesten Themen unter Linux ist wohl das Verwalten von Software, wenn man sich Microsoft-Windows-Nutzer zwischendurch so anhört was diese für abenteuerliche Geschichten über das Installieren von Software unter Linux erzählen obwohl sie das System noch nie aus der Nähe gesehen haben – eine der interessantesten Meldungen war ‘Muss man die Matura machen um Firefox unter Linux zu installieren?’.

In diesem Beitrag werden wir nun die Verwaltung von Software unter auf Debian basierenden Systemen etwas näher kennen lernen.

Grundlagen

Anders als Microsoft Windows nennt man unter Linux das System nicht einfach nur Betriebssystem sondern Distribution, dies hat vor allem den Grund da Linux-Systeme meist mehr als nur unbedingt notwendige Software gleich bei der Installation beinhaltet. Also etwa Office-Suite, Software zur Bearbeitung von Grafik und so weiter und so fort. Der nächste große Unterschied zu Microsoft Windows – unter Linux-Systemen bezieht man weitere Software aus so genannten Repositorys, dies sind Software-Lager auf einem speziell abgesicherten Server im Internet auf denen sich an die Distribution abgestimmte Software befindet, über diese Repositorys wird dann auch das komplette System aktuell gehalten. Man findet natürlich auch im Netz Software die man sich einfach von einer Webseite herunter lädt und dann einfach installieren kann.

Unter Linux finden sich die EXE-Dateien wie man sie unter Windows zur Installation weiterer Software nutzt nicht, unter Linux nutzt man so genannte Paket-Dateien, einfach gesagt Pakete, dies sind eigentlich nichts anderes als komprimierte Verzeichnisse die die Dateien der Anwendungen beinhalten und Anweisungen zur Installation die das System – genauer gesagt die Paket-Verwaltung – also das System das die Software verwaltet zu befolgen hat, aber auch die EXE-Dateien unter Windows sind nichts anderes (man kann sie sogar mit einem geeigneten Archiv-Programm öffnen und entpacken). Meist benötigen solche Pakete weitere Pakete um dann auch tatsächlich zu funktionieren – solche nennt man Abhängigkeiten wie es sie auch unter Windows gibt, man könnte dies etwa so verstehen – eine mit Java geschriebene Software benötigt eine Java-Umgebung um zu funktionieren, solche löst das System unter Linux jedoch von selbst auf und der Nutzer muss sich nicht darum kümmern.

apt - Alles automatisch

Ab Debian Stretch, Ubuntu 16.10 und teilweise auch ab Debian Jessie wurde APT aktualisiert, die Syntax wurde verkürzt und dafür besitzt die Software für die Installation und das Upgrade inzwischen auch einen Fortschrittsbalken. Die alte Syntax ist natürlich noch immer gültig.

Wir haben nun schon gehört das man unter Linux die so genannte Paket-Verwaltung nutzt um weitere Software zu installieren, installierte Software zu löschen oder zu aktualisieren. APT – das Advanced Package Tool wird auf dem Terminal genutzt oder über eine grafische Oberfläche wie etwa Synaptic oder andere zur Paket-Verwaltung bestimmte Software. Zu Beginn wollen wir uns die Arbeit mit APT auf dem Terminal beschäftigen. APT ist sehr einfach zu nutzen, man sagt der Software welche Software man installiert oder gelöscht haben möchte und den Rest erledigt das System, das Selbe mit der Aktualisierung einzelner Pakete oder dem ganzen System.

Paket-Quellen synchronisieren

Als erstes wollen wir die so genannten Paket-Quellen aktualisieren. Dies sind nichts anderes als Text-Dateien in denen alle Software-Pakete inklusive inklusive deren Versionen verzeichnet sind die man sich über die der Distribution zugehörigen Repositorys installieren kann. Davon liegt eine Datei auf dem Server des Repositorys und eine auf dem lokalen System. Warum synchronisiert man diese? Ganz einfach, wie wir schon gehört haben wird auch das System über diese Repositorys aktualisiert, also werden auf diesen Servern alte Paket-Versionen durch aktualisierte ersetzt – über die Paket-Quellen, also unsere besagten Text-Dateien erfährt unser lokales System nun das es neue Versionen der jeweiligen Pakete gibt. Wann aktualisiert man diese Quellen? Immer dann natürlich bevor man das System aktualisieren möchte oder sich ein Software-Paket nicht installieren lassen möchte – dies ist immer dann der Fall wenn auf dem Server des Repositorys eine neue Version des Paketes befindet das lokale System davon aber nichts weis.

Nun, mit folgendem Befehl aktualisieren wir die Paket-Quellen:

apt update

In der neuen Version von APT wird hier zusätzlich angezeigt wie viele verfügbaren Pakete aktualisiert werden können – ist dies nicht der Fall zeigt APT dies ebenfalls an. Um die verfügbaren Aktualisierungen anzeigen zu lassen genügt der Befehl:

apt list --upgradable

Software suchen

Nun wollen wir auf dem Terminal nach Software suchen, ist man erst kürzlich auf Linux umgestiegen kennt man natürlich noch nicht jede Software die man für seine Zwecke nun nutzen könnte. Als Beispiel möchte ich nun nach einer Software suchen mit der ich SVG-Grafik-Dateien erstellen kann. Dazu nutzt man folgenden Befehl:

apt search svg

Die Ausgabe zeigt nun alle Pakete an die den angegebenen Begriff im Namen oder in der Beschreibung haben. Zu Beginn findet sich der eigentliche Name des Paketes und danach eine kurze Beschreibung.

Nach Software auf dem Terminal suchen

Nach Software auf dem Terminal suchen

Die kurze Beschreibung hilft uns beim aussortieren um sich die genauere Beschreibung einzelner Pakete anzuzeigen, in meinem Beispiel will ich mir Inkscape etwas genauer ansehen:

apt show inkscape

Software installieren

Habe ich nun eine passende Software gefunden lässt sich diese ganz einfach per folgenden Befehl installieren:

apt install inkscape

Haben Sie den Befehl bestätigt zeigt APT nun an welche Pakete herunter geladen werden, welche mögliche Abhängigkeiten die Software benötigt um zu funktionieren (die natürlich automatisch installiert werden), wie groß der Download ist und wie viel Platz alles zusammen auf der Festplatte benötigen wird. APT fragt nach ob die Änderungen durchgeführt werden sollen oder nicht was Sie je mit “j” für ja und mit “n” für nein bestätigen. Mittels APT lässt sich nicht nur ein einzelnes Paket zur Installation auswählen sondern natürlich auch mehrere zur selben Zeit – etwa:

apt install inkscape firefox gimp

Nach der Bestätigung lädt APT die einzelnen Pakete herunter und installiert diese, nur in seltenen Fällen muss der Nutzer dann während der Installation manuell eingreifen – etwa bei der Installation der MySQL-Datenbank in der ein zusätzliches Administrator-Passwort für diese vergeben werden muss, APT fragt in solchen Fällen nach und macht erst weiter wenn Sie die nötigen Angaben durch geführt haben.

Software-Pakete deinstallieren

Möchte man nicht benötigte Software deinstallieren verläuft dies sehr einfach, in meinem Beispiel möchte ich ganz einfach Inkscape deinstallieren:

apt remove inkscape

Apt zeigt an welches Paket oder welche Pakete nun deinstalliert werden sollen und wie viel Platz auf der Festplatte dadurch frei wird, Sie müssen nur noch die Nachfrage mit “j” für ja oder “n” für nein bestätigen. Auch hier lassen sich wieder mehrere Pakete auf einem Schlag angeben – etwa:

apt remove inkscape firefox gimp

Unter Linux legen so einige Software-Pakete ihre Standard-Konfiguration im System-Verzeichnis “/etc” ab, solche Dateien werden bei der Deinstallation von Paketen nicht automatisch gelöscht. Dies hat vor allem den Grund weil Sie solche Dateien etwa selbst modifiziert haben, sollten Sie die entsprechende Software doch wieder einmal installieren verlieren Sie deren selbst angepasste Konfiguration nicht. Sind Sie sich jedoch sicher die Software nicht mehr nutzen zu wollen entfernen Sie diese durch die Anpassung des voran gegangenen Befehls, statt “remove” setzt man also “purge” – etwa:

apt purge inkscape

Ebenfalls nicht automatisch deinstalliert werden Abhängigkeiten die durch eine deinstallierte Software nicht mehr benötigt werden, aber auch dies lässt sich sehr einfach durch folgenden Befehl regeln:

apt autoremove

Wir üblich zeigt APT welche Pakete nun gelöscht werden sollen und wie viel Platz dadurch auf der Festplatte frei werden wird.

System oder einzelne Pakete aktualisieren

Der große Vorteil von Linux-Distributionen – anders als unter Microsoft Windows aktualisieren Sie das komplette System, installierte Treiber, Kernel, System-Software, grafische Umgebung, Spiele, Firmware und jegliche Software mit maximal zwei Befehlen – wenn Sie wie oben beschrieben bereits die Quellen aktualisiert haben:

apt upgrade
apt full-upgrade

Wie immer zeigt APT die üblichen Informationen und bittet um Bestätigung. Will man nur eines oder mehrere selbst gewählte Pakete aktualisieren gibt man diese ganz einfach an – etwa:

apt upgrade firefox

Oder:

apt upgrade firefox inkscape gimp

Pakete von der Aktualisierung ausschließen

Manchmal gibt es auch Gründe um Software von der Aktualisierung auszuschließen, etwa weil man sich sicher ist das man von einer bestimmten Software keine Aktualisierung haben möchte. Im Beispiel von Wine:

apt hold wine

Ab sofort wird das angegebene Paket sowie dessen Abhängigkeiten nicht aktualisiert, möchte man sich anzeigen lassen welche Pakete dies sind:

apt-mark showhold

Um nun ein gehaltenes Paket doch wieder aktualisieren zu lassen:

apt unhold wine

Alle installierten Pakete anzeigen

Auf einem Linux-System sind je nach Distribution oft mehrere tausend Pakete installiert, um sich diese anzeigen zu lassen genügt der Befehl:

apt list --installed

Der Befehl ergibt jedoch je nach Menge an installierter Software eine sehr große Ausgabe die man sich einfacher über eine spezielle Software wie Less ansieht – also:

apt list --installed | less

Mittels Pfeil-Tasten blättern Sie zeilenweise und mit der Leertaste seitenweise weiter, durch “q” beenden Sie Less.

Paket-Cache leeren

Distributionen die auf Debian basieren laden Pakete nicht nur herunter und installieren diese sondern speichern die DEB-Dateien die nur zur Installation nötig sind im Verzeichnis “/var/cache/apt/archives”. Dies ist dazu gut wenn man diese Pakete etwa später noch einmal installieren möchte oder auch auf anderen lokalen Systemen – so muss man diese nicht noch einmal herunter laden. In den meisten Fällen ist dies aber nicht nötig und so belegen diese Dateien nur unnötig Platz auf der Festplatte, so löscht man diese mit folgenden Befehlen:

apt clean

Um wirklich alle diese Paket-Dateien zu löschen, um nur veraltete zu löschen von denen es aktuellere Versionen gibt:

apt autoclean

Manuell herunter geladene Pakete installieren

In der neuen Version von APT lassen sich zusätzlich selbst herunter geladene Software-Pakete die nicht aus den Repositorys stammen installieren – alles was dazu nötig ist ist das Sie den vollständigen Pfad angeben. Liegt die DEB-Datei etwa unter “/home/robert/Downloads”:

apt install /home/nutzername/Downloads/paketname.deb

Sind dies mehrere Pakete – natürlich alle im selben Verzeichniss:

apt install /home/nutzername/Downloads/*.deb

Software grafisch verwalten

Bisher haben wir Software auf dem Terminal verwaltet, dies ist natürlich nicht jedermanns Ding, doch wäre es nicht Linux wenn es nicht auch grafische Software dafür gäbe auf der man ganz einfach mit der Maus arbeitet. Je nach Distribution und Desktop-Umgebung ist nun meist eine grafische Paket-Verwaltung installiert, bei manchen Distributionen wie etwa Siduction auch gar keine – dort genügt etwa dann einfach der Befehl:

apt install synaptic

um eine solche zu installieren. In diesem Beitrag möchte ich nun Synaptic das man unter allen Desktop-Umgebungen unter auf Debian basierenden Systemen nutzen kann und Muon das speziell für KDE gedacht ist vorstellen.

Synaptic Synaptic ist zwar die älteste grafische Software um Software unter auf Debian basierenden Systemen zu verwalten aber dafür auch die die wirklich auch alles kann was APT auf dem Terminal kann. Wie schon beschrieben wird die Software ganz einfach durch das Paket “synaptic” installiert, Sie finden die Software anschließend im Anwendungsmenü im Bereich “System”, bei Abfrage geben Sie das Passwort des Administrators “root” ein:

Die grafische Paket-Verwaltung Synaptic

Die grafische Paket-Verwaltung Synaptic

Das Fenster ist in drei große Teile aufgeteilt, links finden Sie die Software-Kategorien”, rechts oben die Liste der einzelnen Pakete die in einer Kategorie enthalten sind und darunter eine Beschreibung des aktuell markierten Paketes. Vor jedem Paket in der Liste finden eine kleine Status-Box, diese zeigt je nach Farbe den Status des jeweiligen Paketes an, so ist weiß etwa nicht installiert, grün installiert, rot defekt. Eine Änderung des Status – also etwa Installation des Paketes oder Deinstallation wie auch Aktualisierung erreichen Sie einfach per Links-Klick in die Checkbox und der richtigen Auswahl im Kontext-Menü. Je nachdem ob das jeweilige Paket nun weitere Pakete benötigt um zu funktionieren werden solche Abhängigkeiten nun angezeigt oder nicht. Hat man eine Änderung vor genommen geschieht zu Beginn erst einmal gar nichts, Sie können weitere Pakete zur Installation und so weiter anwählen – genauer gesagt vormerken – erst per Klick auf die Schaltfläche “Anwenden” zeigt Synaptic Abhängigkeiten, Größe der herunter zu ladenden Dateien und wie viel Platz diese auf der Festplatte benötigen werden – erst per Klick in diesem Fenster auf “Anwenden” beginnt Synaptic mit der Arbeit – auch hier funktioniert wieder alles automatisch. Unten links finden Sie zusätzliche Schaltflächen mit denen Sie Ausgabe und Suche verfeinern können.

Muon ist etwas moderner gehalten kann aber im Prinzip das selbe wie die meisten anderen grafischen Paket-Verwaltungen auch:

Die grafische Paket-Verwaltung Muon

Die grafische Paket-Verwaltung Muon

Die optische Aufteilung der Software gleich der von Synaptic, jedoch findet sich die Schaltfläche nur Markierung zur Installation, Deinstallation oder Aktualisierung rechts unten und ändert sich je nach Status des markierten Paketes den Sie wiederum rechts neben dem Namen des Paketes finden. Auch hier werden Änderungen erst vor genommen wenn Sie dies durch die Schaltfläche “Änderungen anwenden” bestätigen – im Unterschied zu Synaptic wird das Passwort des Administrators erst beim Start der Änderungen abgefragt.

Es gibt unter auf Debian basierenden Distributionen wie schon beschrieben mehrere grafische Oberflächen zur Verwaltung von Software, die einen sind einfach nur schlicht und können alles was sich auch auf dem Terminal mittels APT regeln lässt, die anderen zeigen auch gleich Bilder der jeweiligen Software – können dann aber meist nicht alles was etwa mittels Synaptic möglich wäre – vor allem das Ubuntu-Software-Center sollte man meiden, hier wird vieles an Software gar nicht erst gezeigt.

Für Nutzer die es noch ein wenig mehr grafisch haben möchten – diese nutzen “Muon-Discover”, Sie finden die Software im Anwendungsmenü im Bereich “System” unter dem Eintrag “Discover”.

Die grafische Paket-Verwaltung Discover

Die grafische Paket-Verwaltung Discover

Hier die grafische Paket-Verwaltung von GNOME die sich einfach “Software” nennt in der Übersicht.

Die grafische Paket-Verwaltung GNOME-Software

Die grafische Paket-Verwaltung GNOME-Software

Und hier bei der Beschreibung eines einzelnen Paketes sowie der Installation.

Die grafische Paket-Verwaltung GNOME-Software

Die grafische Paket-Verwaltung GNOME-Software

Scripte, selbst extrahierende Dateien, .run, .sh, .bin

Neben der Installation aus Repositorys oder der manuellen Installation von selbst herunter geladenen Debian-Paketen besteht auch noch die Möglichkeit der Installation von Software über so genannte selbst extrahierende Scripte. Solche Dateien haben meist die Datei-Endung “.sh” oder auch “.run” und “.bin“, meist sind dies Installationsdateien für Spiele und ähnlicher Software. Je nachdem wie man diese installieren kann oder möchte startet man die Installation als Nutzer “root” – in diesem Fall wird die Software direkt in das System für jeden Nutzer installiert oder als normaler Nutzer direkt in das jeweilige Home-Verzeichnis, die Wahl ist nicht bei jeder Software möglich. Als erstes gilt es diese Dateien ausführbar zu machen – dies ist eine Sicherheitsfunktion, solche Dateien lassen sich nicht einfach starten. Je nachdem ob man nun als Administrator oder als einfacher Nutzer installieren möchte muss dieser die Datei auch ausführbar machen, dazu auf dem Terminal ganz einfach:

chmod +x dateiname.sh

Dasselbe für eine Datei mit der “.run” und “.bin“-Endung. Anschließend lässt sich die Installation durch den Befehl:

./dateiname.sh./dateiname.bin./dateiname.run

starten.

Weiters gibt es noch Flatpak, Snapper und Appimage.