RPM Grundlagen
Begriffe- Binär-RPM-Paketfile: enthält alle Daten und Anweisungen zur Installation eines RPM-Paketes (endet auf <arch>.
rpm
)
# rpm -i bash-3.0-19.2.i386.rpm |
- Binär-RPM-Paket: installiertes Binär-RPM-Paketfile
- oft synonym verwendete Begriffe: RPM, RPM-Paket, Binär-RPM-Paketfile
- RPM-Datenbasis (Berkeley DB Format): Infos über alle RPM Pakete im System
- RPMs werden in vielen Linux-Distributionen benutzt, z.B.
- Red Hat
- Fedora Core
- Scientific Linux
- SuSE
- Mandriva
- nicht auf Linux beschränkt: AIX, Solaris, ...
<name>-<version>-<release>
-
Name
,Version
undRelease
werden durch-
(Minus) getrennt, die Zählung erfolgt von rechts nach links, d.h. innerhalb des Namens kann das Zeichen-
(Minus) verwendet werden - im Normalfall ist genau ein Paket eines Namens bzw. einer Version bzw. Release auf einem System installiert
- sollen 2 Versionen einer Software parallel installiert werden, müssen sich diese im Namen unterscheiden
- Beispiel:
-
gimp-1.2.5-2
undgimp2-2.0.1-1
-
-
Version
korrespondiert mit der Softwareversion -
Release
kennzeichnet die Release der Version eines Paketes
Ist das EPOCH-Tag in einem Paket gesetzt, dann wird das Paket mit dem höchsten EPOCH-Wert als aktuelles Paket installiert. Version und Release werden dabei ignoriert. |
- Metadata (Header)
- Name, Version, Release
- (Kurz) Beschreibung, URL, Lizenz, Klassifizierung
- Ersteller, Buildhost und -datum, Grösse (installiert)
- Files
- Files und Verzeichnisse mit absolutem Pfad
- Eigentümer und Umask
- in einem
cpio
-Archiv verpackt
- Scripte
- Aktionen, welche zur Installation bzw. Deinstallation ausgeführt werden
- Shellskripte, Perl, ...
- Abhängigkeiten
- Welche zusätzlichen Pakete, Programme und Bibliotheken benötigt das Paket?
- Welche Komponenten stellt das Paket zur Verfügung?
- Ersetzt dieses Paket ein anderes Paket?
rpm
) - Installation
- Deinstallation
- Update
- Verifizieren
- Abfragen
Syntax | Bedeutung |
---|---|
rpm -qa | Liste alle installierten Pakete auf |
rpm -qa "*java*" | Liste alle installierten Pakete mit dem String =java im Namen |
rpm -qf /bin/ls | Zu welchem Paket gehört das File /bin/ls |
rpm -qi kernel | Zeige die Headertags des Paketes kernel |
rpm -ql kernel | Liste alle Files, welche zum Paket kernel gehören |
rpm -q --qf "%{arch}" kernel | Zeige das Architektur-Tag des Paketes kernel , Querystring unterstützt printf(3) -Format |
rpm -q --scripts flash-plugin | Zeige Scripte, welche bei Installation und Deinstallation des Paketes flash-plugin ausgeführt werden |
rpm -q --requires kernel | Welche Pakete und Programme erfordert das Paket kernel ? |
rpm -q --whatprovides libxml2 | Welches Paket stellt die libxml2 bereit? |
rpm -q --whatrequires libxml2 | Welche Pakete benötigen die libxml2 ? |
rpmverify ntp | Überprüfe die Integrität des installierten Paketes ntp (Files, Filegrösse, Modus, MD5-Summe, ...) |
rpm -q --qf "%{EPOCH}\n" kdebase | EPOCH-Wert des Paketes kdebase |
curl
vom FTP-Server
# rpm -ihv "http://wftp.tu-chemnitz.de/pub/linux/fedora-core/4/i386/os/Fedora/RPMS/curl-7.13.1-3.i386.rpm" |
curl
# rpm -Uhv "http://wftp.tu-chemnitz.de/pub/linux/fedora-core/4/i386/os/Fedora/RPMS/curl-7.13.1-5.fc4.i386.rpm" |
curl
# rpm -e curl |
- http://www.rpm.org/ - Homepage RPM Package Manager
- Edward C. Bailey: Maximum RPM, SAMS Publ., 1997, ISBN: 0-672-31105-4
- Eric Forster-Johnson: Red Hat RPM Guide, Wiley Publishing, Inc. 2003, ISBN: 0-7645-4965-0
- Eric Forster-Johnson: Red Hat RPM Guide: http://fedora.redhat.com/docs/drafts/rpm-guide-en/
- http://www.tu-chemnitz.de/urz/kurse/unterlagen/rpm/Einführung.html - RPM-Pakete selbst bauen