Debian-Paketverwaltung:
Debian-Paket selbst bauen:
http://www.martin-bock.de/pc/pc-0101.html
http://antbear.org/debpkg-intro.html
http://debiananwenderhandbuch.de/debianpaketeerstellen.html
http://www.linuxdelta.de/uploads/media/debian_workshop.pdf
https://www.luga.de/Angebote/Vortraege/DPKG/DPKG.pdf\ß
https://webseiten.hs-weingarten.de/winkelmh/zopecms/hrwcms/installation/debian-paket-manager
Anzeige aller installierten Pakete
(http://wiki.debianforum.de/AnzeigeAllerInstalliertenPakete)
Dieser Seite beschreibt Möglichkeiten sich alle auf dem System installierten Pakete anzeigen zu lassen.
user@debian:~$ dpkg -l |grep ^i > ~/pakete.txt
ergibt:
ii xtrans-dev 1.0.0-6 X transport library (development files) ii xutils 7.1.ds-1 X Window System utility programs ii xutils-dev 1.0.2-3 X Window System utility programs for develop ii xview-clients 3.2p1.4-21.1 XView client programs ii xviewg 3.2p1.4-21.1 XView shared libraries
In ~/pakete.txt steht dann die Ausgabe im Format von dpkg -l für alle installierten Pakete. Allerdings ist die Breite der Anzeige begrenzt, so dass manche Paketnamen und Versionsstrings nicht ganz komplett sind. Für eine Übersicht reichts aber…
Paketnamen und Versionen:
Wer nur die Paketnamen und Versionen haben will (ohne den ganze Formatierungkram):
user@debian:~$ COLUMNS=200 dpkg -l | awk '/^i/ {print $2, $3}' > pakete.txt
Dann steht in der Datei immer der Paketname gefolgt von der installierten Version durch Leerzeichen getrennt:
xtrans-dev 1.0.0-6 xutils 7.1.ds-1 xutils-dev 1.0.2-3 xview-clients 3.2p1.4-21.1 xviewg 3.2p1.4-21.1
Liste installierter Pakete ohne Versionsnummer:
Will man nur eine Liste der installierten Pakete ohne die Versionsnummer.
user@debian:~$ dpkg --get-selections | awk '/\011install/ {print $1}' xtrans-dev xutils xutils-dev xview-clients xviewg
Die Ausgabe ist prima dazu geeignet, um in einem Skript weiterverarbeitet zu werden.
Paketlisten sichern:
Eine Möglichkeit wäre. Sich eine Liste der aktuell installierten Pakete ausgeben zu lassen
user@debian:~$ dpkg --get-selections > paketliste_`date -I`.txt xtrans-dev install xutils install xutils-dev install xview-clients install xviewg install
Paketlisten (auf anderem PC) einspielen:
und diese auf einem anderen PC mit:
user@debian:~$dpkg --set-selections < paketliste_`date -I`.txt;apt-get dselect-upgrade
wieder einzulesen. Danach sind auf beiden PCs die gleichen Pakete installiert.
Anzahl installierter Pakete:
Die Zahl der installierten Pakete kann man mit
user@debian:~$dpkg -l | awk '/^i/ {nlines++} END {print nlines}'
zählen (warum auch immer )
Einfacher geht es noch mit:
user@debian:~$dpkg -l | grep ^i | wc -l
Anmerkung: Wenn man die Pakete die korrekt installiert sind (und z.B. nicht auf hold gesetzt sind) anzeigen lassen will, sollte man ˆi einfach mit ˆii in den angegebenen Befehlen ersetzen.
Hinweise zur Benutzung des Debian Paketmanagers apt (apt = advanced packaging tool):
1. Paketlisten aktualisieren apt-get update 2. Paket suchen apt-cache search <name> z.B. apt-cache search zope 3. Details ausgeben apt-cache show <name> z.B. apt-cache show zope 4. Inhalt von Paketen apt-file list <paketname> apt-file search <dateiname> 5. Aktuellen Status checken Alle installierten Pakete: dpkg -l Paketname finden: dpkg -S <dateiname> 6. Update einer bestehenden Installation 7. Neuinstallation apt-get install <name> z.B. apt-get install zope 8. Eigene .debs erstellen 1. Mein Abeitsverzeichnis ist /root. Ab hier ist alles unterhalb davon. 2. Anlegen einer Verzeichnisstruktur die genau der Struktur ab / bis zum Products Directory entspricht. z.B. usr/lib/...../Products 3. Alle zu installierenden Produktverzeichnisse dort hinein kopieren (aber ohne die *.pyc Files) 4. Erstellen eine .tgz Paketes der gesamten Verzeichnisstruktur. tar -cvpzf produktname-harry-zope2.7.tgz usr/ oder besser ohne .pyc files tar -cvpzf <name.tgz> <absoluter/pfad/> --exclude=<absoluter/pfad/>*.pyc 5. Erstellen eine .deb Paketes mit dem alien Tool alien -d zope_fh.tgz 6. Der besseren Übersichtlichkeit halber erstellen eines Unterverzeichnisses debs/ 7. Verschieben der entstandenen *.deb Datei(en) nach debs 8. Kontrolldatei anlegen dpkg-scanpackages debs /dev/null | gzip >debs/Packages.gz 9. /etc/apt/source.list erweitern um folgende Zeile deb file:/root debs/ 10. apt-get update usw...
Unvollständig installierte Pakete ermitteln:
Nicht immer verläuft die Installation oder Deinstallation eines Paketes erfolgreich. Mit der folgenden Anweisung sucht man auf dem System nach nur teilweise Installierten Paketen:
dpkg -C
Statt der Option -C kann auch –audit verwendet werden.
Inhalt eines Paketes ausgeben:
Wenn man ein Paket in Form einer .deb-Datei vorliegen hat, kann man sich mit der Option -c die enthaltenen Dateien und Verzeichnisse ausgeben lassen. Die Ausgabe kann dann z. B. so aussehen:
user@debian:/var/cache/apt/archives$ dpkg -c
—————————
Aus welchem Paket kommt eine Datei?
Wenn man wissen möchte, durch welches Paket eine bestimmte Datei auf dem System installiert wurde, hilft eine der Optionen -S oder –search weiter:
user@debian:~$ dpkg -S /usr/sbin/ab apache2-utils: /usr/sbin/ab
———————-
apt-cache
apt sucht in der lokalen Paketdatenbank innerhalb der kompletten Paketbeschreibung nach Übereinstimmungen mit dem Suchbegriff (hier ted):
user@debian:~$ apt-cache search ted
erzeugt eine sehr lange Liste.
Es werden auch Einträge angezeigt, die die Zeichenkette „ted“ im Paketnamen haben wie zB.: parted, auch wenn sie nichts mit dem Editor ted zu tun haben. Zudem werden alle Pakete aufgelistet die von parted abhängen weil auch diese Informationen durchsucht werden und dann eben auch dort die Zeichenkette „ted“ auftaucht. Ebenso werden Programme angezeigt, die die Zeichenkette „ted“ in der Paketbeschreibung haben. Also zB: „[…] dieses Paket ist viel toller als parted, weil […]“.
Das Ziel ist also, so eine Liste einzuschränken.
Mit dem Schalter „–names-only“:
user@debian:~$ apt-cache search --names-only ted
wird nur in der Liste der Paketnamen gesucht. Damit wird die Ergebnisliste oftmals schnell übersichtlich genug, um die gewünschte Information zu bekommen.
Falls die Ausgabe die Bildschirm-/Fenstergöße übersteigt, bietet sich an, sie an more oder less` zu übergeben, zu pipen:
user@debian:~$ apt-cache search --names-only ted | more
← zurück