Inhaltsverzeichnis

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:

..