Inhaltsverzeichnis

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>`