RPM

Siehe auch

Der RPM Package Manager (wobei RPM ursprünglich „Red Hat Package Manager“ bedeutete) ist ein initial von Red Hat entwickeltes Paketverwaltungs-System. RPM bezeichnet das Paketformat an sich und alle nötigen Programme, um RPM-Pakete zu erstellen und verwalten. yum und dnf sind demnach erweiterte rpm-Tools, um RPM-Dateien aus RPM-Repositories (Datenbanken im weitesten Sinne) herunterzuladen, zu installieren und dabei Paket-Abhängkeiten aufzulösen.

Umgang mit RPM

Paket entfernen:

rpm --erase packagename

Paket nur aus der RPM-Datenbank entfernen:

rpm --erase --justdb packagename

Wer von rpm wissen möchte, ob ein Paket bereits installiert wurde, verwendet den Parameter -q:

rpm --query bridge-utils

Welche Dateien wird eine RPM-Datei installieren?

rpm --query --list --package packagename.rpm

Wie extrahiert man die Dateien aus einem RPM, ohne sie zu installieren? Durch Umwandlung in ein .tgz- oder in ein cpio-Archiv, wobei erstes bevorzugt wird.

rpm2archive packagename.rpm; tar xvz packagename.rpm.tgz
rpm2cpio packagename.rpm | cpio --extract --make-directories --preserve-modification-time --verbose

So zieht man die Sourcen eines Paketes, beispielsweise von Nano:

yumdownloader --source nano
rpm2archive nano-2.3.1-10.el7.src.rpm
tar xvz nano-2.3.1-10.el7.src.rpm.tgz

Changelog zu einem Paket anschauen:

rpm --query --changelog curl

Wer wissen möchte, welche Dateien ein Paket mitliefert, kann repoquery verwenden:

yum -y install yum-utils
repoquery --list packagename

Wer wissen möchte, welche Abhängigkeiten benötigt und installiert werden, nutzt:

repoquery --requires --resolve packagename

Liste alle installierten Pakete auf, die nicht vom CentOS-Projekt, sondern von Drittanbietern stammen:

rpm --query --all --queryformat '%{name} %{vendor}\n' | grep -Ev 'CentOS|none'

Built on 2022-06-03