Paketmanager: Eine Übersicht
Zusammenstellung der Paketmanager der verschiedenen Distributionen mit den jeweils häufigsten Anwendungs-Befehlen.
openSUSE: zypper, rpm, yast
Mit Yast können Pakete grafisch verwaltet werden, es ist auch in den seltenen Fällen hilfreich wenn, zB. durch eine Repoänderung, sehr viele Änderungen von Hand aufgelöst werden müssen, da es sich für solche Fälle grafisch einfach etwas übersichtlicher arbeitet.
Auf der Kommandozeile arbeiten: zypper und rmp.
Hilfe:
zypper [command] --help
Repos verwalten:
zypper lr # list Repos zypper ar $URL [TAG] # add Repo zypper rr ($URL|TAG) # remove Repo
Paketverwaltung:
zypper se $string # Paket suchen zypper in $paketname # Paket installieren zypper info $paketname # Paket Informationen abfragen
Update/Upgrade:
zypper up -l # Alle Pakete auf aktuelle Version. Aka Update zypper dup -l # Alle Pakete auf aktuelle Version, MIT Vendorchange. Aka Upgrade
Paket Downgrade:
# War eig. noch nie nötig. Falls doch: zypper in -f $paketname_version # Install mit Force
Pakete sperren:
zypper al $paketname # AddLock: Paket mit Sperre versehen zypper ll # ListLock: Zeige gesperrte Pakete zypper rl $paketname # RemoveLock: Sperre löschen
Falls zypper mal defekt, kann rpm weiterhelfen:
Zypper ist nach installieren der
http://download.opensuse.org/update/leap/15.2/oss/x86_64/zypper-1.14.40-lp152.2.9.1.x86_64.rpm
(puls libsolv-tools und lib zypp) defekt.
Der Workaround installiert wieder funktionierende Versionen und sperrt die Pakete, damit wenigsten erstmal der Rest der Server mit Updates weiterlaufen kann.
WORKARROUND:
#!/bin/sh
#- 20201103: openSUSE leap 15.2 / BUG: zypper broken after update.
#- eg.: zypper ll => zypper: symbol lookup error:
/usr/lib64/libzypp.so.1722: undefined symbol:
_ZN4YAML6detail9node_data12empty_scalarB5cxx11E
#- get packages
wget
http://download.opensuse.org/update/leap/15.2/oss/x86_64/libsolv-tools-0.7.14-lp152.2.7.1.x86_64.rpm
wget
http://download.opensuse.org/update/leap/15.2/oss/x86_64/libzypp-17.24.2-lp152.2.10.1.x86_64.rpm
wget
http://download.opensuse.org/update/leap/15.2/oss/x86_64/zypper-1.14.38-lp152.2.6.1.x86_64.rpm
#- force degrade installation
rpm -Uch libzypp-17.24.2-lp152.2.10.1.x86_64.rpm
libsolv-tools-0.7.14-lp152.2.7.1.x86_64.rpm
zypper-1.14.38-lp152.2.6.1.x86_64.rpm --force
#- lock packages
zypper al libsolv-tools libzypp zypper
zypper ll
Redhat, RHEL, Fedora, CentOS: rpm, dfn
Aktuelle Pakete:
Fedora: https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/$VERSION/Everything/x86_64/os/
Alte Pakete: ( Technisch gesehen jedes jemals gebaute Paket )
Fedora: https://koji.fedoraproject.org/koji/
URL-Quelle: /etc/yum.repos.d/*.repo
Paketmanager: RPM
Install:
Normal: rpm -i paketname.rpm [...2.rpm 3.rpm ...]
Zwang: rpm -i --force --nodeps paketname.rpm [...2.rpm 3.rpm ...]
Remove:
rpm -e paketname.rpm [...2.rpm 3.rpm ...]
Update:
Normal: rpm -U paketname.rpm [...2.rpm 3.rpm ...]
Zwang: rpm -U --force paketname.rpm [...2.rpm 3.rpm ...]
Downgrade: per Update
Paketverwaltung: DNF
Install:
dnf install paketname [ paketname2 ... ]
Remove:
dnf erase paketname [ paketname2 ... ]
Update:
dnf update paketname [ paketname2 ... ]
Downgrade:
# Allgemein: dnf downgrade paketname [ paketname2 ... ] # Spezielle Version: dnf downgrade paketname+versionsnummer
Suche:
dnf search suchbegriff dnf list paketname
Cache:
dnf clean all dnf makecache
LOKAL vorhandenes Paket spezifiziert man mit pfad+filename … dnf install ./pam-1.3.1-28.fc32.i686.rpm
LOKALES Paketcache: /var/cache/PackageKit/$VERSION/metadata/updates-$VERSION-$ARCH/packages/
Spezialfall: die Option -C führt alles nur mit gecachten Daten durch.
Debian: apt-get
..
Arch:
..
Links
- Vergleichsliste von Paketmanagern: https://wiki.archlinux.de/title/Rosettastein_Paketverwaltung