LPIC101/102.4 Debian/Paketverwaltung
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 | Beschreibung |
---|---|
apt install Paket | paket installieren |
apt upgrade Paket' | paket aktualisieren |
apt remove Paket | paket deinstallieren |
apt list --installed | installierte Pakete auflisten |
apt list Paket' | Informationen und Status des Pakets anzeigen |
apt-cache rdepends Paket | Abhängigkeiten anzeigen |
aptitude show 'Paket' | 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
Unix | GNU | Beschreibung |
---|---|---|
-r | --remove | Hierbei bleiben eventuelle Konfigurationsdateien eines Programms erhalten. Wenn Konfigurationsdateien ebenfalls aus dem System entfernt werden sollen, müssen Sie die Optionen |
-P | --purge | verwenden. Es folgt eine Auflistung der wichtigsten Optionen für die Prüfung: |
-i | --install | installiert das angegebene Paket |
-r | --remove | entfernt das angegebene Paket. Konfigurationsdateien bleiben aber erhalten. Achtung! Die Option |
-e | ist nicht, wie bei RPM,die Erase-Funktion! | |
-P | --purge | entfernt das angegebene Programm inklusive der Konfigurationsdateien |
-s | --status | gibt umfangreiche Informationen über das installierte Paket aus |
-C | --audit | zeigt Pakete an, die nur teilweise auf dem System installiert sind |
-L | --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.
Konfiguration
- 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