Der gängigste und idealste Weg um Software auf Ihrem Linux System zu installieren ist die
Verwendung des von der Distribution bereitgestellten Paketmanagers.
Über diesen können unterschiedliche Quellen für die Softwareinstallation konfiguriert,
Software mit diversen Tools installiert, aktualisiert und entfernt werden.
Je nach Distribution werden unterschiedliche Paketmanager verwendet. Die gängigsten
sind APT (Advanced Package Tool) für Debian basierte Distributionen
wie Debian, Ubuntu, Mint usw., YUM (Yellowdog Updater, Modified) für
CentOS, Red Hat, Oracle Linux oder Fedora sowie Zypper für openSUSE und
SUSE Linux Enterprise.
Zusätzlich zu diesen Paketmanagern kommen häufig auch noch zusätzliche (weitgehend) Distributionsunabhängige
Paketmanager wie Flatpak oder Snap vor,
welche auf eigene Softwarerepositories zurückgreifen und mit
den App-Stores von Android oder iOS vergleichbar sind.
APT
Wir werden uns hier näher mit der Paketverwaltung unter Debian und damit mit apt
auseinandersetzen. Die vorgestellten Konzepte funktionieren jedoch auch ähnlich mit den anderen Paketmanagern.
Normale User können zwar nach neuer Software suchen, für die Konfiguration, Installation, Deinstallation und Updates sind jedoch
erhöhte Berechtigungen notwendig. Melden Sie sich daher am Besten gleich als User root an.
apt [Optionen] Befehl ist die allgemeine Synthax für die Verwendung.
apt
apt 2.6.1 (amd64)
Aufruf: apt [Optionen] befehl
apt ist ein Paketmanager für die Befehlszeile und bietet Befehle für die
Suche und Verwaltung von Paketen sowie für die Abfrage von Informationen
zu diesen Paketen.
Es stellt die gleiche Funktionalität zur Verfügung wie die spezialisierten
APT-Werkzeuge apt-get und apt-cache, aber seine Optionen sind eher passend
für die interaktive Nutzung.
Meist verwendete Befehle:
list - Pakete basierend auf dem Paketnamen auflisten
search - Paketbeschreibungen durchsuchen
show - Paketdetails anzeigen
install - Pakete installieren
reinstall - Pakete erneut installieren
remove - Pakete entfernen
autoremove - alle nicht mehr verwendeten Pakete automatisch entfernen
update - Liste verfügbarer Pakete aktualisieren
upgrade - das System durch Installation/Aktualisierung der Pakete hochrüsten
full-upgrade - das System durch Entfernung/Installation/Aktualisierung der Pakete vollständig hochrüsten
edit-sources - die Datei für die Paketquellen bearbeiten
satisfy - Abhängigkeitszeichenketten erfüllen
Lesen Sie apt(8) bezüglich weiterer Informationen über die verfügbaren Befehle.
Konfigurationsoptionen und Syntax sind in apt.conf(5) detailliert beschrieben.
Informationen dazu, wie Quellen konfiguriert werden, finden Sie in sources.
list(5).
Paket- und Versionsauswahlen können über apt_preferences(5) festgelegt werden.
Details zu Sicherheitsbelangen sind in apt-secure(8) zu finden.
Pakete suchen
apt search SUCHBEGRIFF wird verwendet um nach Paketen zu suchen. Als
Suchtext können auch so genannte reguläre Ausdrücke verwendet werden um die Treffer besser
einzugrenzen.
Geben Sie folgenden Befehl ein:
Sie werden jetzt eine relativ lange Liste an möglichen Paketen angezeigt bekommen. Einige davon,
haben auch den Suchbegriff
vim weder in der Paketbezeichnung noch in der Kurzbeschreibung.
Der Grund liegt darin, dass es zu jedem Paket auch eine ausführlichere Beschreibung gibt, welche ebenfalls durchsucht
wird. Diese kann mit
apt show PAKETNAME angezeigt werden.
Nehmen wir als Beispiel das gefundene Paket
youtube-dl. Weder im Namen noch in der Kurzen Beschreibung
kommt der Suchbegriff
vim vor.
Sehen Sie sich die Beschreibung zu
youtube-dl folgendem Befehl an:
Wenn Sie den Begriff nicht gleich identifizieren können, filtern Sie die Ausgabe mit
grep
apt show youtube-dl | grep vim
Nun sehen wir, dass dieses Paket deshalb aufgelistet wurde, da auch Vimeo als Download-Platform unterstützt wird.
Mit den folgenden Möglichkeiten finden wir ein passenderes Ergebnis:
- Regulärer Ausdruck
Das ^ sorgt dafür dass sich der Suchbegriff am Beginn der Zeile befinden muss. Also entweder
muss der Name des Pakets oder die Beschreibung mit vim beginnen.
- Begrenzen der Suche auf den Namen
Die Option -n sorgt dafür dass der Suchbegriff im Namen enthalten sein muss. Als Suchbegriff
können Sie immer noch einen regulären Ausdruck verwenden!
- Begrenzen der Suche auf die Beschreibung
Die Option -d sorgt dafür dass der Suchbegriff in der Beschreibung enthalten sein muss. Als Suchbegriff
können Sie immer noch einen regulären Ausdruck verwenden!
Die Liste der verfügbaren Pakete kann mit dem folgenden Befehl ausgegeben werden
# Ausgabe aller Pakete
apt list
# Ausgabe aller installierten Pakete
apt list --installed
# Ausgabe aller Pakete, für die Aktualisierungen verfügbar sind
apt list --upgradable
Pakete installieren
Haben Sie den gewünschten Paketnamen identifiziert, können Sie das Paket mit
apt install PAKETNAME installieren.
Installieren Sie das Paket lolcat, ein Gimmik zur bunten Ausgabe in der Konsole
mit dem Befehl
Testen Sie die Installation in einer eigenen Shell als normaler User mit den Befehlen
lolcat /etc/passwd
fortune | cowsay | lolcat
Pakete entfernen
Sie können Pakete mit dem Befehl apt remove PAKETNAME wieder entfernen.
ACHTEN Sie dabei bitte unbedingt auf die Ausgabe. Es könnte sein, dass das Paket, welches
Sie entfernen möchten für andere Pakete eine Voraussetzung ist!
Bei der Installation von Paketen wird man auch benachrichtigt ob zusätzliche notwendige Pakete automatisch
mitinstalliert werden. Es kann vorkommen dass diese irgendwann nicht mehr benötigt werden. Beim Installieren
oder Deinstallieren von Paketen erhalten Sie dann einen entsprechenden Hinweis.
Solche Pakete können Sie entfernen mit
Pakete aktualisieren
Software sollte natürlich immer so gut es geht aktuell sein. Ein großer Vorteil der Paketverwaltung unter
Linux ist, dass sämtliche Software von den Distributoren gewartet und getestet werden.
Unter anderen Betriebssystemen wie Microsoft Windows ist es meist so, dass jedes Softwarepaket separat aktualisiert
werden muss. Automatische Updatefunktionen über alle Pakete stehen hier nicht zur Verfügung.
Um "nachzusehen" ob es neue Software gibt kann die Repository-Datenbank aktualisiert werden:
Die Liste der Upgrade-Kandidaten kann mit folgendem Befehl angezeigt werden
Anschließend kann das System aktualisiert werden
# upgrade aktualisiert bereits installierte Pakete, es werden
# keine neuen (benötigten) Pakete installiert
# und auch keine installierten entfernt
apt upgrade
# full-upgrade aktualisiert bereits installierte Pakete, es werden
# neue (benötigte) Pakete installiert
# und auch nicht mehr benötigte entfernt
apt full-upgrade
Paket ermitteln
Manchmal ist es notwendig herauszufinden, welches Paket eine bestimmte Datei verwaltet.
Beispielsweise wenn eine Datei irrtümlich gelöscht oder verändert wurde.
Dazu kann unter anderem der Befehl apt-file verwendet werden.
Dieser wird jedoch per Default nicht installiert - sie müssen ihn nachinstallieren.
apt install apt-file
# apt-file arbeitet mit einem Cache - dieser muss zuerst aktualisiert werden
apt-file update
# Welches Paket hat die Datei /etc/crontab erzeugt?
apt-file search /etc/crontab
# Welche Dateien gehören zu dem Paket cron-daemon-common?
apt-file list cron-daemon-common
Aufgabe 1.1
- Es gibt ein Programm namens cmatrix. Finden Sie heraus wie der genaue
Paketname lautet. Bei Ihrer Suche soll nur im Paketnamen gesucht werden.
- Installieren Sie das Paket
- Welche Dateien wurden durch das installierte Paket mitinstalliert?
- Führen Sie das Programm aus
- Deinstallieren Sie das Programm wieder
Aufgabe 1.2
- Installieren Sie das Paket needrestart. Dieses kann verwendet werden,
um zu prüfen ob aufgrund von Updates das System, eine Sitzung oder ein Service neu gestartet
werden sollte.
- Aktualisieren Sie die Software-Repositories
- Lassen Sie sich alle upgradefähigen Pakete anzeigen
- Installieren sie alle verfügbaren Upgrades
- Führen Sie needrestart aus
- Starten Sie Ihr System neu, wenn von needrestart empfohlen
Aufgabe 1.3
- Es gibt ein Programm mit dem automatisch Sicherheitsupdates installiert werden sobald diese verfügbar sind.
- Finden Sie den Namen dieses Pakets heraus
- Installieren Sie das Paket
- Finden Sie mit apt-file und grep heraus,
welche neuen Dateien durch das Paket im Verzeichnis /etc installiert wurden.
- Installieren sie alle verfügbaren Upgrades
- Führen Sie needrestart aus
- Starten Sie Ihr System neu, wenn von needrestart empfohlen
Aufgabe 1.4
- Installieren Sie die beiden Programm toilet und figlet
- "Füttern" Sie jedes der Programme über eine Pipe | mit dem Befehl
echo "Beam me up, Scotty!" | ...
- Die Ausgabe des Programms, dessen Ergebnis Ihnen besser gefällt leiten Sie wiederum weiter in den
Befehl lolcat
- Das andere Programm löschen Sie wieder