LPIC101/102.4 Debian/Paketverwaltung

Aus Foxwiki

Grundlegende Packagverwaltung

  • Paket-Manager sind auch als Paketverwaltung oder Package Manager bekannt.
  • Die Termini bezeichnen eine Sammlung von Werkzeugen für die komfortable Verwaltung von Computer-Software auf Betriebssystemen, welche die Paketverwaltung zur Installation des Pakets am System vornehmen muss, werden von dieser aus dem Paket ausgelesen und umgesetzt.
  • Erkennt die Paketverwaltung dabei, dass noch weitere Software für das Funktionieren benötigt wird.
  • Soll eine installierte Software gelöscht werden, nimmt die Paketverwaltung dann wieder die Informationen des Pakets, um es anhand dessen Konfiguration zu ändern und Dateien zu löschen.
  • Paketinformationen erhalten, wie Version, Inhalt, Abhängigkeiten, Integrität des Paketes und Installationsstatus ob das Paket installiert ist oder nicht.


Aufruf

Anmerkungen

apt install 'Paketname'

Paket installieren

apt upgrade 'Paketname'

Paket aktualisieren

apt remove 'Paketname'

Paket deinstallieren

apt list --installed

installierte Pakete auflisten

apt list 'Paketname'

Informationen und Status des Pakets anzeigen

apt-cache rdepends 'Paketname'

Abhängigkeiten anzeigen

aptitude show 'Paketname'

Suche in allen verfügbaren Paketen

DPKG-Programme

dpkg

  • Wenn Sie ein Programm auf einem Debian-basierten System installieren wollen, das als Debian-Paket vorliegt, verwenden Sie das Kommando dpkg.
  • Heutzutage wird man allerdings Installationsprogrammen, wie apt oder apt-get den Vorzug geben, weil diese etliche Vorteile gegenüber dpkg bieten.
  • Viele Optionen von dpkg können sowohl in der kurzen als auch in der langen Notation übergeben werden.

Die beiden folgen den Kommandos installieren jeweils ein Paket:

debian:/pakete# dpkg -i fortune_1.0-861_i386.deb
debian:/pakete# dpkg --install fortune_1.0-861_i386.deb

Entsprechend ist die Ausgabe, die von diesen beiden Kommandos erzeugt wird, ebenfalls identisch:

Wähle vormals abgewähltes Paket fortune.
(Lese Datenbank ... 75945 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke fortune (aus fortune_1.0-861_i386.deb) ...
Richte fortune ein (1.0-861) ...

Die Deinstallation eines Programms erfolgt wahlweise mithilfe der Schalter

  • -r oder--remove. Hierbei bleiben eventuelle Konfigurationsdateien eines Programms erhalten. Wenn Konfigurationsdateien ebenfalls aus dem System entfernt werden sollen, müssen Sie die Optionen
  • -P bzw. --purge verwenden. Es folgt eine Auflistung der wichtigsten Optionen für die Prüfung:
  • -i bzw. --install installiert das angegebene Paket.
  • -r bzw. --remove entfernt das angegebene Paket. Konfigurationsdateien bleiben aber erhalten. Achtung! Die Option
  • -e ist nicht, wie bei RPM,die Erase-Funktion!
  • -P bzw. --purge entfernt das angegebene Programm inklusive der Konfigurationsdateien.
  • -s bzw. --status gibt umfangreiche Informationen über das installierte Paket aus.
  • -C bzw. --audit zeigt Pakete an, die nur teilweise auf dem System installiert sind.
  • -L bzw. --listfileszeigt die Dateien an, die ein Paket installiert hat.

dselect

dselect ist ein Frontend für dpkg

Operationen

  • Zugriffsmethode auswählen
  • Liste verfügbarer Pakete erneuern
  • Auswahl von Pakete
  • Pakete installieren und aktualisieren
  • nicht konfigurierten Pakete konfigurieren
  • Software löschen

dpkg-reconfigure

  • Mit dpkg-reconfigure können Sie ein bereits installiertes Paket neu konfigurieren.
  • Mit dpkg-reconfigure-a können Sie sogar alle installierten Pakete neu konfigurieren.
  • Dieser Vorgang kann aber in Abhängigkeit von der Menge der installierten Pakete sehr viel Zeit in Anspruch nehmen.

Konfigurationsdateien und Verzeichnisse

/etc/dpkg/dpkg.cfg

Das ist die Konfigurationsdatei für dpkg.In dieser Datei werden die voreingestellten Optionen für dpkg festgelegt. Sie können sich dabei Arbeitsaufwand ersparen, wenn Sie immer dieselben Optionen mit dpkg verwenden. Die Datei wird zeilensepariert ausgewertet. Es steht also in jeder Zeile nur eine Option.Bei den meisten aktuellen Distributionen enthält die Datei im Auslieferungszustand nur eine einzige Zeile, mit der die Logdatei definiert wird:

log /var/log/dpkg.log

/var/lib/dpkg/info

In diesem Verzeichnis befinden sich zu jedem installierten Paket mehrere Skripte und Dateien, die für eine korrekte Installation und auch später wieder für die Deinstallation benötigt werden. Das Beispiel zeigt die entsprechenden Dateien für den Editor nano:

/var/lib/dpkg/info# ls -l nano*
-rw-r--r-- 1 root root      12 Jul 16  2014 nano.conffiles
-rw-r--r-- 1 root root    4557 Apr  2  2016 nano.list
-rw-r--r-- 1 root root    5246 Jul 16  2014 nano.md5sums
-rwxr-xr-x 1 root root     582 Jul 16  2014 nano.postinst
-rwxr-xr-x 1 root root     160 Jul 16  2014 nano.postrm
-rwxr-xr-x 1 root root     153 Jul 16  2014 nano.prerm

Wenn Sie nach einer verunglückten Installation manuell das System aufräumen möchten, finden Sie immer in der entsprechenden .list Datei eine Aufstellung aller zum Programm gehörenden Dateien und Verzeichnisse. Im Falle von nano handelt es sich dabei übrigens um 64 über das System verteilte Dateien.

/var/lib/dpkg/status

In der Datei status sind Informationen über bereits installierte Pakete hinterlegt. Es wird auch angegeben, ob die Installation vollständig ausgeführt oder ob ein Programm bereits wieder deinstalliert wurde. Das Beispiel zeigt Informationen über einen korrekt installierten nano-Editor:

Package: nano
Status: install ok installed
Priority: important
Section: editors
Installed-Size: 1624
... weitere Zeilen wurden abgeschnitten ...

Der nächste Eintrag zeigt ein Paket, das sauber deinstalliert wurde:

Package: courier-imap
Status: deinstall ok config-files
 Priority: extra
Section: mail
Installed-Size: 1540
... weitere Zeilen wurden abgeschnitten ...

/var/lib/dpkg/available

Diese Datei enthält eine Liste der verfügbaren Pakete. Sie beinhaltet Informationen über die Größe des Paketes, die Versionsnummer, Abhängigkeiten, den Autor, die Prozessorarchitektur und vieles andere mehr. Das Beispiel zeigt einen Eintrag für den Editor nano:

Package: nanontp
Priority: important
Section: editors
Installed-Size: 1624
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Architecture: i386
Version: 2.0.2-1
eplaces: pico
Provides: editor
Depends: libc6 (>= 2.5-0ubuntu1), libncursesw5 (>= 5.4-5)
Suggests: spell
Conflicts: nano-tiny (<= 1.0.0-1), pico
Size: 286950
Description: free Pico clone with some new features
... weitere Zeilen wurden abgeschnitten ..

/etc/apt/apt.conf

Hierbei handelt es sich um die Konfigurationsdatei für die apt-tools.Normalerweise ist hier nur ein Eintrag für den verwendeten Proxy hinterlegt,damit apt-get ohne Probleme Pakete aus dem Internet herunterladen kann. Beispiel:

debian:/# cat /etc/apt/apt.conf
Acquire::http::Proxy "http://192.168.0.1:3128";

/etc/apt/sources.list

Diese Datei enthält die Quellen für apt-tools. Das ist meistens eine Liste mit FTP-Servern oder auch HTTP-Servern,von denen Software mittels apt-tools online installiert werden kann.Zusätzlich sind natürlich auch lokale Quellen in dieser Datei enthalten.Beispiel:

# cat /etc/apt/sources.list
deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 DVD Binary-1 
20171209-12:11]/ stretch contrib main
deb http://ftp.halifax.rwth-aachen.de/debian/ stretch main
deb-src http://ftp.halifax.rwth-aachen.de/debian/ stretch main
deb http://security.debian.org/debian-security stretch/updates main contrib
deb-src http://security.debian.org/debian-security stretch/
updates main contrib
# stretch-updates, previously known as 'volatile'
deb http://ftp.halifax.rwth-aachen.de/debian/ stretch-updates main contrib
deb-src http://ftp.halifax.rwth-aachen.de/debian/ stretch-updates main contrib


Kontrollfragen

Testfrage 1

Antwort

Testfrage 2

Antwort

Testfrage 3

Antwort

Testfrage 4

keine

Testfrage 5

keine