Paketverwaltung
Die Paketverwaltung unter Ubuntu übernimmt das Programm Aptitude.
Es gibt verschiedene Wege Software und deren Repositories zu installieren bzw. erweitern.
Pakete suchen
Softwarepakete können wie folgt gesucht werden.
apt-cache search <SUCHBEGRIFF>
Der Suchbegriff kann hier im Paketnamen oder dessen Beschreibung enthalten sein.
Es kommt also bei der Suche auch mal vor, dass diese sehr üppig ausfällt. Man sollte hier versuchen die Suche mit grep
einzuschränken.
Sucht man nach verfügbaren Versionen eines Paketes, welche installiert werden können, führt man folgenden Befehl aus.
apt-cache madison <PAKETNAME>
Es wird eine tabellarische Ansicht mit den Informationen zum gesuchten Paket angezeigt
Möcht man eine bestimmte Version eines Paketes installieren, gibt man dem Install-Befehl den kompletten Paketnamen mit Version (wie in Spalte 2) an.
Paketinformationen
Informationen über Pakete können wie folgt ausgegeben werden.
apt-cache show <PAKETNAME>
Auch mit dpkg
lassen sich Informationen über Softwarepakete herausfinden.
Hier der Auszug aus der Hilfe:
dpkg-query --help
Aufruf: dpkg-query [<Option> ...] <Befehl> Befehle: -s|--status <Paket> ... Details zum Paketstatus anzeigen. -p|--print-avail <Paket> ... Details zur vorhandenen Version anzeigen. -L|--listfiles <Paket> ... zu Paket(en) gehörende Dateien auflisten. -l|--list [<Muster> ...] Übersicht zu Paketen auflisten. -W|--show [<Muster> ...] Informationen zu Paket(en) anzeigen. -S|--search <Muster> ... Pakete suchen, denen Datei(en) gehören. -c|--control-path <Paket> [<Datei>] Pfad zur control-Datei des Paketes ausgeben. -h|--help Diesen Hilfetext anzeigen. --version Version anzeigen. Optionen: --admindir=<Verzeichnis> <Verzeichnis> statt /var/lib/dpkg verwenden. -f|--showformat=<Format> alternatives Format für --show verwenden. Format-Syntax: Ein Format ist eine Zeichenkette, die für jedes Paket ausgegeben wird. Das Format kann die Standard-Escape-Sequenzen \n (Zeilenvorschub), \r (Wagenrücklauf) oder \\ (einfacher Backslash) enthalten. Paketinformationen können eingefügt werden, indem Variablenreferenzen zu Paketfeldern benutzt werden, die Syntax hierfür ist ${var[;breite]}. Felder werden normalerweise rechtsbündig ausgerichtet; wenn die Breite negativ ist, dann linksbündig.
Paket installieren
Pakete können wie folgt installiert werden.
apt-get install <PAKETNAME>
Upgrade
Mit apt
können auch Upgrades des aktuellen Ubuntu-Systems vorgenommen werden.
Hier werden nur Pakete aktualisiert, welche keine besonderen Abhängigkeiten aufweisen.
apt-get upgrade
Mit dem Befehle dist-upgrade
werden auch abhängige Pakete aktualisiert.
apt-get dist-upgrade
Möchte man die aktuelle Version von Ubuntu auf eine neue aktualisieren, verwendet man folgenden Befehl.
update-manager -c
Wenn man eine LTS Version von Ubuntu installiert hat, so wird der Update-Manager auch nur nach LTS Versionen schauen. Dieses verhalten kann aber in den Einstellungen angepasst werden (siehe Screenshot ganz unten).
Apt-key
Wenn man z.B. „ppa“ Paketquellen in die sources.list einfügt und dann ein
apt-get update
ausführt, dann kann es zu der Meldung kommen dass man keinen öffentlichen Schlüssel hat.
Der einzubindende Schlüssel wird am Ende der Konsolenausgabe angezeigt.
Den Schlüssel kann man wie folgt einbinden
wget -O - https://<URL_TO_KEY_FILE> | tee /etc/apt/trusted.gpg.d/<MY_REPO_NAME>.asc
Apt-repository
Noch einfacher kann man „ppa“ Paketquellen mit folgendem Befehl einbinden.
Evtl. muss man das Paket „add-apt-repository“ noch vorher installieren.
apt-get install python-software-properties
Dabach ein Repo wie folgt hinzufügen:
add-apt-repository ppa:<USER>/<PPA-NAME>
Die Angaben zu „User“ und „PPA-Name“ findet man auf der „Overview“ Seite des jew. PPA's.
Hier stehen die Angabe immer im Abschnitt mit der Überschrift „Adding this PPA to your system“.
Ein Beispiel für das PPA für YaVDR-Softwarepakete würde also wie folgt aussehen.
add-apt-repository ppa:yavdr/stable-vdr
Bei Ubuntu 18.04.1 Server fehlen die Repos „universe“,„restricted“ und „multiverse“ standardmäßig.
Zum nachpflegen in die sources.list
folgende Befehle eingeben.
add-apt-repository universe add-apt-repository restricted add-apt-repository multiverse
Migration
Wenn man eine bestehende Installation von Ubuntu/Debian mit den eigenen Programmen auf ein anderes Geräte oder eine neue Installtion von Ubuntu migrieren möchte, so kann man das mit apt
und dpkg
bewerkstelligen.
Zunächst müssen die installieren Pakete zusammengestellt werden.
dpkg --get-selections | grep -v deinstall > packages.txt
Man kann auch manuell installierte Pakete wie folgt anzeigen lassen.
apt-mark showmanual
Danach kann die erstellte packages.txt auf dem neuen System als Installationsgrundlage verwendet werden.
Zuerst muss die Paketverwaltung aktualisiert werden. Danach werden die zuvor zusammengestellten Pakete zur Installation selektiert und zum Schluss installiert.
apt-get update dpkg --set-selections < packages.txt apt-get -u dselect-upgrade
Paket-Info
Installierte Pakete verwenden unterschiedliche module und zusätzliche Softwaretools.
Hier einige Befehle um div. Infos über die Pakete zu erhalten.
Infos von dpkg
dpkg-query [<Option> ] <Befehl>
Optionen:
–admindir=<Verzeichnis> | <Verzeichnis> statt /var/lib/dpkg verwenden. | |
-f | –showformat=<Format> | alternatives Format für –show verwenden. |
Befehle:
-s | –status <Paket> … | Details zum Paketstatus anzeigen. |
-p | –print-avail <Paket> … | Details zur vorhandenen Version anzeigen. |
-L | –listfiles <Paket> … | zu Paket(en) gehörende Dateien auflisten. |
-l | –list [<Muster> …] | Übersicht zu Paketen auflisten. |
-W | –show [<Muster> …] | Informationen zu Paket(en) anzeigen. |
-S | –search <Muster> … | Pakete suchen, denen Datei(en) gehören. |
-c | –control-path <Paket> [<Datei>] | Pfad zur control-Datei des Paketes ausgeben. |
Mit welchen Modulen arbeitet die Software zusammen:
ldd `which <Software>`