linux_paketmanager
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| linux_paketmanager [2025-09-17 18:58:11] – [Debian/Ubuntu] david | linux_paketmanager [2025-09-17 18:59:32] (aktuell) – [Debian/Ubuntu] david | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Linux Paketmanager ====== | ||
| + | |||
| + | |||
| + | ===== Links ===== | ||
| + | |||
| + | * http:// | ||
| + | * http:// | ||
| + | |||
| + | |||
| + | ===== RPM-Hölle ===== | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | Ist eine Paketinstallation oder -deinstallation schief gegangen, kann es passieren, | ||
| + | das man dann mit der Installation eines Paketes nicht mehr weiter kommt, da RPM | ||
| + | dann beim installieren meint, es sei schon installiert und beim deinstallieren | ||
| + | meint, es sei ja gar nicht installiert... | ||
| + | |||
| + | Das nennt man dann **RPM-Hölle**. | ||
| + | |||
| + | Dieses Problem ist sehr unangenehm, kann aber recht einfach gelöst werden. | ||
| + | |||
| + | Bei RedHat/ | ||
| + | |||
| + | # killall -9 rpm | ||
| + | # rm -f / | ||
| + | # rpm --rebuilddb | ||
| + | |||
| + | |||
| + | ===== APT (Debian/ | ||
| + | |||
| + | **siehe: [[apt]]** | ||
| + | |||
| + | * Debian: [[https:// | ||
| + | * Ubuntu: [[https:// | ||
| + | |||
| + | |||
| + | ==== nützliches ==== | ||
| + | |||
| + | so kann man sehen, ob APT gerade läuft: | ||
| + | > lsof / | ||
| + | |||
| + | so bekommt man die Paker-Abhängigkeiten zu einem bestimmten Paket raus: | ||
| + | > apt-cache depends -i mc | ||
| + | mc | ||
| + | Depends: libc6 | ||
| + | Depends: libext2fs2 | ||
| + | Depends: libglib2.0-0 | ||
| + | Depends: libgpm2 | ||
| + | Depends: libslang2 | ||
| + | Depends: libssh2-1 | ||
| + | Depends: mc-data | ||
| + | |||
| + | |||
| + | ==== aufräumen ==== | ||
| + | |||
| + | # dpkg --configure -a | ||
| + | # apt-get check | ||
| + | # apt-get -f install | ||
| + | # apt-get autoremove | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | |||
| + | #apt update ; apt --fix-broken install ; apt full-upgrade ; apt autoremove | ||
| + | |||
| + | time (locale-gen ; apt update ; apt -y full-upgrade ; apt -y autoremove ; apt -y autoclean ; flatpak repair ; flatpak -y update) && echo OK || echo Fehler | ||
| + | dpkg --configure -a | ||
| + | pihole -up | ||
| + | |||
| + | dpkg -l | sed " | ||
| + | uname -a | ||
| + | sync | ||
| + | cat / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Deprecated: apt-key ==== | ||
| + | |||
| + | * '' | ||
| + | * Allen Keys in ''/ | ||
| + | * Keys sollten deshalb an einem "nicht besonderen" | ||
| + | * **selbst verwaltete Keys** unter: ''/ | ||
| + | * von Paketen verwaltete Keys unter: ''/ | ||
| + | * weitere Infos: [[https:// | ||
| + | |||
| + | ### bis Debian 11 / Ubuntu 22.04 | ||
| + | curl -Ls https:// | ||
| + | | ||
| + | ### ab Debian 12 / Ubuntu 22.10 | ||
| + | curl -Lso / | ||
| + | |||
| + | |||
| + | ==== apt policy und pinning ==== | ||
| + | |||
| + | Paketquellen und ihre Priorität anzeigen, außerdem werden angepinnte (pinned) Pakete aufgelistet | ||
| + | |||
| + | apt-cache policy | ||
| + | |||
| + | |||
| + | Verfügbare Paketquellen für das angegebene Paket anzeigen | ||
| + | |||
| + | apt-cache policy git | ||
| + | |||
| + | |||
| + | ==== URL-Liste der benötigten Pakete ==== | ||
| + | |||
| + | Dieser Befehl liefert eine URL für alle zu installierenden Pakete. | ||
| + | |||
| + | In diesem Fall, um " | ||
| + | # apt-get -q -y --print-uris install gnome | grep ^\' | awk ' | ||
| + | |||
| + | |||
| + | ==== DEB-Hölle ==== | ||
| + | |||
| + | Leider gibt es unter Debian und Ubuntu auch diesen leidigen Zustand, der im RPM-Paketsystem berüchtigt ist. | ||
| + | |||
| + | Aber viel schlimmer ist die Tatsache, dass es hier nicht so leicht repariert werden kann. :-( | ||
| + | |||
| + | Unter der URL [[http:// | ||
| + | mit dem man sich seine Paket-Datenbank, | ||
| + | |||
| + | Leider kann das Script die Datei /// | ||
| + | es fehlen die " | ||
| + | auch die deinstallierten Pakete! | ||
| + | |||
| + | #!/bin/bash | ||
| + | | ||
| + | get_control_info () | ||
| + | { | ||
| + | for i in / | ||
| + | do | ||
| + | sed '/ | ||
| + | done | ||
| + | } | ||
| + | | ||
| + | for i in / | ||
| + | do | ||
| + | package_name=`basename $i | sed ' | ||
| + | get_control_info $package_name >> status-new | ||
| + | done | ||
| + | | ||
| + | sed -i -e '/ | ||
| + | sed -i '/ | ||
| + | |||
| + | Das Feld " | ||
| + | |||
| + | |||
| + | ==== Paket ist in einem sehr schlechten inkonsistenten Zustand ==== | ||
| + | |||
| + | das defekte Paket lässt sich nicht entfernen: | ||
| + | < | ||
| + | # aptitude purge -f dropbear | ||
| + | Die folgenden Pakete werden ENTFERNT: | ||
| + | dropbear{p} | ||
| + | 0 Pakete aktualisiert, | ||
| + | 0 B an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 748 kB frei werden. | ||
| + | Möchten Sie fortsetzen? [Y/ | ||
| + | dpkg: Fehler beim Bearbeiten des Paketes dropbear (--purge): | ||
| + | Paket ist in einem sehr schlechten inkonsistenten Zustand - Sie sollten | ||
| + | es erneut installieren, | ||
| + | Fehler traten auf beim Bearbeiten von: | ||
| + | | ||
| + | E: Sub-process / | ||
| + | Ein Paket konnte nicht installiert werden. Versuch, dies zu lösen: | ||
| + | </ | ||
| + | |||
| + | man kann es aber auch nicht erneut installieren (wir bei PURGE empfohlen): | ||
| + | < | ||
| + | # aptitude install dropbear | ||
| + | Die folgenden teilweise installierten Pakete werden konfiguriert: | ||
| + | dropbear | ||
| + | Es werden keine Pakete installiert, | ||
| + | 0 Pakete aktualisiert, | ||
| + | 0 B/137 kB an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 0 B zusätzlich belegt sein. | ||
| + | dpkg: Fehler beim Bearbeiten des Paketes dropbear (--configure): | ||
| + | Paket ist in einem sehr schlechten inkonsistenten Zustand - Sie sollten es | ||
| + | | ||
| + | E: Sub-process / | ||
| + | Ein Paket konnte nicht installiert werden. Versuch, dies zu lösen: | ||
| + | </ | ||
| + | |||
| + | === die Lösung === | ||
| + | |||
| + | damit er beim entfernen keine Zicken macht: | ||
| + | < | ||
| + | # rm / | ||
| + | </ | ||
| + | |||
| + | entfernen: | ||
| + | < | ||
| + | # dpkg --remove --force-remove-reinstreq dropbear | ||
| + | dpkg: Warnung: Problem wird übergangen, | ||
| + | dpkg: Warnung: Paket ist in einem sehr schlechten inkonsistenten Zustand - Sie sollten | ||
| + | es erneut installieren, | ||
| + | (Lese Datenbank ... 91885 Dateien und Verzeichnisse sind derzeit installiert.) | ||
| + | Entfernen von dropbear (2013.60-1ubuntu2.1) ... | ||
| + | Trigger für man-db (2.6.7.1-1ubuntu1) werden verarbeitet ... | ||
| + | </ | ||
| + | |||
| + | sauber machen: | ||
| + | < | ||
| + | # dpkg --purge --force-remove-reinstreq dropbear | ||
| + | (Lese Datenbank ... 91862 Dateien und Verzeichnisse sind derzeit installiert.) | ||
| + | Entfernen von dropbear (2013.60-1ubuntu2.1) ... | ||
| + | Löschen der Konfigurationsdateien von dropbear (2013.60-1ubuntu2.1) ... | ||
| + | </ | ||
| + | |||
| + | zur Probe nocheinmal mit Aptitude: | ||
| + | < | ||
| + | # aptitude purge -f dropbear | ||
| + | Es werden keine Pakete installiert, | ||
| + | 0 Pakete aktualisiert, | ||
| + | 0 B an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 0 B zusätzlich belegt sein. | ||
| + | </ | ||
| + | |||
| + | erneut sauber installieren: | ||
| + | < | ||
| + | # aptitude install dropbear | ||
| + | Die folgenden NEUEN Pakete werden zusätzlich installiert: | ||
| + | dropbear | ||
| + | 0 Pakete aktualisiert, | ||
| + | 0 B/137 kB an Archiven müssen heruntergeladen werden. Nach dem Entpacken werden 748 kB zusätzlich belegt sein. | ||
| + | Vormals nicht ausgewähltes Paket dropbear wird gewählt. | ||
| + | (Lese Datenbank ... 91857 Dateien und Verzeichnisse sind derzeit installiert.) | ||
| + | Vorbereitung zum Entpacken von .../ | ||
| + | Entpacken von dropbear (2013.60-1ubuntu2.1) ... | ||
| + | Trigger für man-db (2.6.7.1-1ubuntu1) werden verarbeitet ... | ||
| + | Trigger für ureadahead (0.100.0-16) werden verarbeitet ... | ||
| + | dropbear (2013.60-1ubuntu2.1) wird eingerichtet ... | ||
| + | Converting existing OpenSSH RSA host key to Dropbear format. | ||
| + | Key is a RSA key | ||
| + | Wrote key to '/ | ||
| + | Converting existing OpenSSH RSA host key to Dropbear format. | ||
| + | Key is a DSS key | ||
| + | Wrote key to '/ | ||
| + | OpenSSH appears to be installed. | ||
| + | Dropbear will not start by default. | ||
| + | |||
| + | update-initramfs: | ||
| + | Dropbear has been added to the initramfs. Don't forget to check | ||
| + | your " | ||
| + | ip configuration. | ||
| + | |||
| + | Restarting Dropbear SSH server: [abort] NO_START is not set to zero in / | ||
| + | Trigger für ureadahead (0.100.0-16) werden verarbeitet ... | ||
| + | Trigger für initramfs-tools (0.103ubuntu4.2) werden verarbeitet ... | ||
| + | update-initramfs: | ||
| + | dropbear: NOTICE: Skipping dropbear installation because / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Proxy konfigurieren ===== | ||
| + | |||
| + | |||
| + | ==== Fedora (RedHat/ | ||
| + | |||
| + | vi / | ||
| + | proxy=http:// | ||
| + | |||
| + | Nicht in Anführungszeichen setzen! | ||
| + | |||
| + | |||
| + | ==== Debian (Ubuntu) ==== | ||
| + | |||
| + | vi / | ||
| + | Acquire:: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | |||
| + | ===== Paketmanager bedienen ===== | ||
| + | |||
| + | |||
| + | === PKG_Cache aktuallisieren === | ||
| + | |||
| + | * Fedora (RedHat/ | ||
| + | |||
| + | # yum clean all | ||
| + | # yum makecache | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # apt-get update | ||
| + | # aptitude update | ||
| + | |||
| + | |||
| + | === Pakete aktuallisieren === | ||
| + | |||
| + | * Fedora (RedHat/ | ||
| + | |||
| + | # yum safe-upgrade | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # apt-get safe-upgrade | ||
| + | # aptitude safe-upgrade | ||
| + | |||
| + | |||
| + | === Pakete installieren === | ||
| + | |||
| + | * Fedora (RedHat/ | ||
| + | |||
| + | # yum install elinks | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # apt-get install links | ||
| + | # aptitude install links | ||
| + | |||
| + | |||
| + | === Paket suchen === | ||
| + | |||
| + | * Fedora (RedHat/ | ||
| + | |||
| + | # yum search elinks | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | aptitude search links | ||
| + | |||
| + | |||
| + | === Paket entfernen === | ||
| + | |||
| + | * Fedora (RedHat/ | ||
| + | |||
| + | # yum remove elinks | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # aptitude remove links | ||
| + | |||
| + | |||
| + | === Paket mit seinen Konfigurationsdateien entfernen === | ||
| + | |||
| + | * Fedora | ||
| + | |||
| + | <gibts in dieser Form nicht> | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # aptitude purge links | ||
| + | # aptitude remove links_ | ||
| + | |||
| + | Entweder " | ||
| + | |||
| + | |||
| + | === installierte Pakete anzeigen === | ||
| + | |||
| + | * Fedora | ||
| + | |||
| + | # rpm -qa | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # dpkg -l | ||
| + | |||
| + | |||
| + | === installierte Dateien eines Paketes anzeigen === | ||
| + | |||
| + | * Fedora (RedHat/ | ||
| + | |||
| + | # yum provides links | ||
| + | # rpm -ql elinks | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # dpkg -L links | ||
| + | |||
| + | |||
| + | === Paket zeigen welches eine bestimmte Datei installierte === | ||
| + | |||
| + | * Fedora | ||
| + | |||
| + | # rpm -qf / | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # dpkg -S / | ||
| + | |||
| + | |||
| + | === lokale Datei installieren === | ||
| + | |||
| + | * Fedora | ||
| + | |||
| + | # rpm -Uhv paket.rpm | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # dpkg -i paket.deb | ||
| + | |||
| + | |||
| + | === installiertes Paket neu konfigurieren === | ||
| + | |||
| + | * Fedora | ||
| + | |||
| + | <gibts nicht in dieser Form> | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # dpkg-reconfigure krb5-config | ||
| + | |||
| + | |||
| + | === Abhängigkeiten zu einem Paket ermitteln === | ||
| + | |||
| + | Fedora | ||
| + | |||
| + | <das geht, aber frag mich nicht wie; das brauchte ich noch nie> | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # apt-cache depends -i mc | ||
| + | |||
| + | |||
| + | === veraltete Pakete aus dem Paket-Cache entfernen === | ||
| + | |||
| + | * Debian | ||
| + | |||
| + | # aptitude update | ||
| + | # aptitude autoclean | ||
| + | |||
