====== Debian Paketverwaltung ====== * http://debiananwenderhandbuch.de/dpkg.html Siehe auch: * [[yum_pakete]] ===== rpm/dpkg-Äquivalente ===== ^Was^rpm ^ dpkg ^ |alle installierten Pakete| rpm -qa | dpkg -l | |Info zu Paket| rpm -qi Paket | dpkg -p Paket, apt-cache show Paket | |Liste der Dateien von Paket| rpm -ql Paket | dpkg -L linux-image-2.6-686 | |Liste der Dateien von Paketdatei| | dpkg -c firmware-bnx2_0.14+lenny2_all.deb | |Liste der Dokudateien von Paket| rpm -qd Paket | //gibt es nicht ?// | |Liste der Configdateien von Paket| rpm -qc Paket | dpkg-query -W -f '${Conffiles}\n' Paket | |Installscripts| rpm -q --scripts Paket | cd /var/lib/dpkg/info | |Änderungen im Paket| rpm -q --changelog Paket |aptitude changelog Paket, ''/usr/share/doc/Paket/changelog.Debian.gz''| |veränderte Dateien im Dateisystem ggü Paket | rpm -V Paket | debsums -a Paket (apt-get install debsums) | |zu welchem Paket gehört die Datei| rpm -qf Datei | dpkg -S Datei | |installiere Paket|rpm -ihv rpm-datei| dpkg -i deb-datei| |update Paket|rpm -Uhv rpm-datei| dpkg -i deb-datei| |Paket löschen|rpm -e Paket|aptitude remove Paket| |zeige Paketabhängigkeiten| FIXME | apt-cache showpkg Paket | |aus welchem Repo ist ein Paket | ? | apt-show-versions -b **oder** apt-cache policy | ===== Hold-Pakete ===== Siehe auch * http://wiki.debianforum.de/Pakete_auf_hold_setzen Abfragen mit aptitude search ~ahold Setzen mit aptitude hold $PAKET1 $PAKET2 Veraltet: echo $PAKET hold | dpkg --set-selections Hold entfernen mit aptitude unhold $PAKET ===== Paket aus bestimmten Release installieren, z.B. Backports ===== apt-get -t lenny-backports install linux-image-2.6.32-bpo.5-amd64 firmware-bnx2 bzw. aptitude -t lenny-backports install linux-image-2.6.32-bpo.5-amd64 firmware-bnx2 ===== unmet dependencies, Handling bei nicht erfüllbaren Abhängigkeiten ===== Package löschen trotz Abhängigkeit dpkg --force-depends --remove dellomsa apt-get / aptitude nutzen trotz unerfüllter Abhängigkeiten * editiere von Hand: ''/var/lib/dpkg/status'' ===== Package Priorities ===== Z.B. bei Installation via Backports sollen Backports auf geupdatet werden. If you don't use pinning (see [1]) you have to update the package manually via "apt-get -t lenny-backports install " with the packagelist of your installed packages affected by this update. [1] We recommend to pin (in /etc/apt/preferences) the backports repository to 200 so that new versions of installed backports will be installed automatically. Package: * Pin: release a=lenny-backports Pin-Priority: 200 :?: Warum 200? Gilt das nur für installiert Paket? M.a.W.: werden neue Paket normal von der Distribution installiert? Alternative: für alle installierten Backport-Pakete die Priority selbst hochsetzen: Package: mysql-common Pin: release a=lenny-backports Pin-Priority: 999 Aktuellen Zustand der Prioritäten und gepinnten Pakete anschauen: root@x2gotest:/etc/apt# apt-cache policy Package files: 100 /var/lib/dpkg/status release a=now 500 http://repo01vn.xxx.de/debian/ wheezy-updates/main Translation-en 500 http://repo01vn.xxx.debian/ wheezy-updates/main amd64 Packages release o=Debian,a=stable-updates,n=wheezy-updates,l=Debian,c=main origin repo01vn.xxx.de 500 http://repo01vn.xxx.de/puppetlabs/apt/ wheezy/dependencies amd64 Packages release o=Puppetlabs,a=wheezy,n=wheezy,l=Puppetlabs,c=dependencies origin repo01vn.xxx.de 500 http://repo01vn.xxx.de/puppetlabs/apt/ wheezy/main amd64 Packages release o=Puppetlabs,a=wheezy,n=wheezy,l=Puppetlabs,c=main origin repo01vn.xxx.de 500 http://repo01vn.xxx.de/debian/ wheezy/main Translation-en 500 http://repo01vn.xxx.de/debian/ wheezy/main amd64 Packages release v=7.5,o=Debian,a=stable,n=wheezy,l=Debian,c=main origin repo01vn.xxx.de Pinned packages: puppet -> 3.4.3-1puppetlabs1 puppet-common -> 3.4.3-1puppetlabs1 ===== Verhindern, dass nach Security-Update noch alte Libs benutzt werden ===== 2021-04-05: Paket ''needrestart''. Beispiel: https://gitlab.strukturpunkt.de/kfr/awx_jobs/-/blob/master/tasks/needrestart.yml ==== Debian ==== "Lösung" in Kurzform: * ''aptitude install debian-goodies'' * ''checkrestart'' als cronjob laufen lassen Siehe auch http://www.debian.org/doc/manuals/securing-debian-howto/ch4.en.html ==== RedHat ==== * Tool ''check_newlibs'' * Idee: von jedem laufenden Prozess wird überprüft, welches Binaries und Libs benutzt werden, aus welchem RPM-Paket sie kommen, und ob die Startzeit kleiner Installzeit des RPMs sind. * http://users.linpro.no/ingvar/check_newlibs * http://ingvar.blog.redpill-linpro.com/2012/01/19/finding-what-binaries-to-restart/ * yum install perl-DateTime-Format-DateParse * Beispiel [root@costard src]# check_newlibs Warning: Needs restart: /usr/libexec/postfix/master, pids 1570 Warning: Needs restart: /usr/libexec/postfix/qmgr, pids 1624 Warning: Needs restart: /usr/libexec/postfix/pickup, pids 26164 Warning: Needs restart: /usr/sbin/sshd, pids 1352 26685 * Standard-Tool ''needs-restarting'' macht das gleiche ===== Übersicht welche Version auf welchem Debian-Release ===== Auch für Derivat (Ubuntu): * http://qa.debian.org/madison.php?package=perl&table=debian&a=&c=&s=# ===== Paketauswahl sichern/übertragen/installieren ===== * http://stackoverflow.com/questions/187629/how-do-i-preserve-installed-applications-when-migrating-ubuntu-to-another-platfo * Beispiel: dpkg --get-selections > package_list ... cat package_list | dpkg --set-selections && apt-get dselect-upgrade ===== Danke ===== * Matthias König via research@exsuse.de für einige rpm/dpkg-Äquivalente-Tipps