Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| centos:rpm [23.09.2013 16:42. ] – [Anzeige des Changelogs vor Installation] django | centos:rpm [20.04.2018 10:38. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== RPM : (An)sammlung nützlicher oft gebrauchte Befehle ====== | ||
| + | |||
| + | |||
| + | ===== GPG-Schlüssel ===== | ||
| + | ==== Importieren eines GPG-Schlüssels ==== | ||
| + | # rpm --import < | ||
| + | |||
| + | ==== Abfrage aller importierten GPG-Schlüssel ==== | ||
| + | # rpm -q gpg-pubkey --qf ' | ||
| + | |||
| + | ==== Löschen eines importierten GPG-Schlüssel ==== | ||
| + | # rpm -e gpg-pubkey-e42d547b-459f07a4 | ||
| + | |||
| + | |||
| + | ===== Installation ===== | ||
| + | ==== Installation inkl. aller Abhängigkeiten ==== | ||
| + | # yum install < | ||
| + | |||
| + | ==== lokale Installation ohne PGP-Signaturüberprüfung ==== | ||
| + | # yum localinstall --nogpgcheck < | ||
| + | ===== Information ===== | ||
| + | ==== Informationen über ein installiertes Paket ==== | ||
| + | # rpm -qi Paketname | ||
| + | |||
| + | ==== Changelog eines Pakets anzeigen ==== | ||
| + | Mit Hilfe des Paketes/ | ||
| + | # yum install yum-plugin-changelog | ||
| + | |||
| + | Der Befehl ist weitgehend selbsterklärend, | ||
| + | # man yum-changelog | ||
| + | |||
| + | Im folgenden Beispiel fragen wir nach dem aktuellen Changelog, also z.B. aus dem Jahr 2013, des Paketes rsyslog. | ||
| + | # yum changelog 2013-01 rsyslog* | ||
| + | < | ||
| + | Repository base-LC is listed more than once in the configuration | ||
| + | Repository updates-LC is listed more than once in the configuration | ||
| + | Repository extras-LC is listed more than once in the configuration | ||
| + | Repository centosplus-LC is listed more than once in the configuration | ||
| + | Loading mirror speeds from cached hostfile | ||
| + | |||
| + | Listing changelogs since 2013-01-23 | ||
| + | |||
| + | ==================== Installed Packages ==================== | ||
| + | rsyslog-5.8.10-7.el6_4.x86_64 | ||
| + | * Mon Aug 26 14:00:00 2013 Tomas Heinrich < | ||
| + | - drop patch 5 which introduced a regression | ||
| + | resolves: #996826 | ||
| + | reverts: #847568 | ||
| + | |||
| + | changelog stats. 7 pkgs, 1 source pkg, 1 changelog | ||
| + | </ | ||
| + | Auch beim [[centos: | ||
| + | |||
| + | # yum update --changelog | ||
| + | ==== Abhängigkeiten eines Paketes anzeigen ==== | ||
| + | Die abhängigkeiten eines Paketes fragen wir wie folgt ab: | ||
| + | # rpm -q --requires $Paketname | ||
| + | |||
| + | Beispiel: | ||
| + | # rpm -q --requires gnupg | ||
| + | < | ||
| + | /bin/sh | ||
| + | /bin/sh | ||
| + | / | ||
| + | libbz2.so.1()(64bit) | ||
| + | libc.so.6()(64bit) | ||
| + | libc.so.6(GLIBC_2.14)(64bit) | ||
| + | libc.so.6(GLIBC_2.15)(64bit) | ||
| + | libc.so.6(GLIBC_2.2.5)(64bit) | ||
| + | libc.so.6(GLIBC_2.3)(64bit) | ||
| + | libc.so.6(GLIBC_2.3.3)(64bit) | ||
| + | libc.so.6(GLIBC_2.3.4)(64bit) | ||
| + | libc.so.6(GLIBC_2.4)(64bit) | ||
| + | libcurl.so.4()(64bit) | ||
| + | libdl.so.2()(64bit) | ||
| + | libdl.so.2(GLIBC_2.2.5)(64bit) | ||
| + | libldap-2.4.so.2()(64bit) | ||
| + | libreadline.so.6()(64bit) | ||
| + | libresolv.so.2()(64bit) | ||
| + | libresolv.so.2(GLIBC_2.2.5)(64bit) | ||
| + | libusb-0.1.so.4()(64bit) | ||
| + | libz.so.1()(64bit) | ||
| + | rpmlib(CompressedFileNames) <= 3.0.4-1 | ||
| + | rpmlib(FileDigests) <= 4.6.0-1 | ||
| + | rpmlib(PayloadFilesHavePrefix) <= 4.0-1 | ||
| + | rtld(GNU_HASH) | ||
| + | rpmlib(PayloadIsXz) <= 5.2-1 | ||
| + | </ | ||
| + | |||
| + | Paketabhängigkeiten können mit unter sehr komplex und unübersichtlich werden/ | ||
| + | |||
| + | Mit hilfe des Befehls **rpmdep** aus dem RPM-Paket **rpmorphan** kann man sehr leicht und einfach diese Abhängigkeiten visualisieren. | ||
| + | |||
| + | Hierzu installieren wir uns kurzer Hand dieses Paket. Unter Fedora 19 haben wir es leicht, da dieses Paket im // | ||
| + | # yum install rpmorphan | ||
| + | |||
| + | Unter **Centos 6.x** ist dies ein klein wenig aufwändiger. Wir holen uns erst das Paket auf unseren Entwicklungs-/ | ||
| + | # wget ftp:// | ||
| + | |||
| + | Anschließend installieren wir das gerade heruntergeladene RPM-Paket. | ||
| + | # yum localinstall --nogpgcheck rpmorphan-1.9-1.noarch.rpm | ||
| + | |||
| + | Nun können wir uns eine graphische Übersicht/ | ||
| + | # rpmdep -dot gnupg.dot gnupg && dot -Tpng gnupg.dot -o gnupg.png | ||
| + | |||
| + | Das generierte Bild **gnupg** können wir uns nun mit dem gewohnten Programm ansehen. | ||
| + | |||
| + | {{ : | ||
| + | < | ||
| + | |||
| + | |||
| + | ==== Nach einem Paket suchen ==== | ||
| + | # rpm -qa | grep Paketname | ||
| + | |||
| + | ==== Auflistung der Pakete nach deren Größe ==== | ||
| + | Eine Auflistung aller installierten Pakete nach deren Größe erhält man mit: | ||
| + | $ rpm -qa --queryformat ' | ||
| + | ==== Dateiliste eines heruntergeladenen RPMs ansehen ==== | ||
| + | Hat man sich ein RPM aus dem WWW heruntergaladen und möchte vor dem Installieren wissen, welche Dateien und Verzeichnisse in dem RPM enthalten sind, benutzt man folgenden Aufruf: | ||
| + | $ rpm2cpio rpmforge-release-0.5.2-2.el6.rf.i686.rpm | cpio -it | ||
| + | ==== einzelne Datei aus einem RPM holen ==== | ||
| + | Will man nur eine einzelne Datei aus einem RPM holen, ohne das komplette RPM zu installieren, | ||
| + | - Im ersten Schritt holen wir uns das RPM auf den lokalen Rechner. < | ||
| + | - Dann kucken wir in das RPM, ob die gewünschte Datei auch enthalten ist. < | ||
| + | - Dann holen wir uns das Objekt der Begierde aus dem RPM. < | ||
| + | - Zum Schluss sehen wir uns die extrahierte Datei an. < | ||
| + | ==== Dateiliste eines installierten Paketes ==== | ||
| + | # rpm -ql Paketname | ||
| + | < | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | Somit findet man sehr schnell und einfach heraus, wo die | ||
| + | * ausführbaren Programm(teil)e | ||
| + | * Programmdokumentation | ||
| + | * Konfigurationsfiles und -beispiele | ||
| + | liegen. | ||
| + | ==== Nachfrage zu welchem Paket eine Datei gehört ==== | ||
| + | Ist der Pfad eines Befehls bekannt, so kann mit Hilfe des Befehls **rpm** ermittelt werden, aus welchem Paket dieses Programm stammt. | ||
| + | # rpm -qf / | ||
| + | |||
| + | Bsp.: | ||
| + | # rpm -qf / | ||
| + | |||
| + | | ||
| + | |||
| + | Alternativ kann mit Hilfe des Befehls **yum** die RPM-Datenbank befragt werden. | ||
| + | # yum whatprovides / | ||
| + | < | ||
| + | gnupg2-2.0.19-8.fc19.x86_64 : Utility for secure communication and data storage | ||
| + | Quelle | ||
| + | Übereinstimmung von: | ||
| + | Dateiname | ||
| + | |||
| + | |||
| + | |||
| + | gnupg2-2.0.19-8.fc19.x86_64 : Utility for secure communication and data storage | ||
| + | Quelle | ||
| + | Übereinstimmung von: | ||
| + | Dateiname | ||
| + | </ | ||
| + | b.z.w.: | ||
| + | # yum whatprovides */gpg2 | ||
| + | < | ||
| + | 1: | ||
| + | Quelle | ||
| + | Übereinstimmung von: | ||
| + | Dateiname | ||
| + | |||
| + | |||
| + | |||
| + | gnupg2-2.0.19-8.fc19.x86_64 : Utility for secure communication and data storage | ||
| + | Quelle | ||
| + | Übereinstimmung von: | ||
| + | Dateiname | ||
| + | |||
| + | |||
| + | |||
| + | 1: | ||
| + | Quelle | ||
| + | Übereinstimmung von: | ||
| + | Dateiname | ||
| + | |||
| + | |||
| + | |||
| + | gnupg2-2.0.19-8.fc19.x86_64 : Utility for secure communication and data storage | ||
| + | Quelle | ||
| + | Übereinstimmung von: | ||
| + | Dateiname | ||
| + | </ | ||
| + | ==== Nur die Konfiguratinsdateien Paketes anzeigen lassen ==== | ||
| + | # rpm -qlc Paketname | ||
| + | ==== Nur die Dokumentation eines Paketes anzeigen lassen ==== | ||
| + | # rpm -qld Paketname | ||
| + | |||
| + | ==== Abfrage wann ein Paket zuletzt installiert/ | ||
| + | # rpm -q --last Paketname | ||
| + | |||
| + | ==== Paketnamen nach Einrichtungsdatum ==== | ||
| + | Zur Anzeige aller installierten Pakete, sortiert nach aktualität der Installation/ | ||
| + | # rpm -qa -last | ||
| + | Möchten wir eine alphabetische Liste aller installierter Pakete mit dem Datum der Installation bzw. des letzten Updates, so sortieren wir einfach die Ausgabe: | ||
| + | # rpm -qa -last | sort | ||
| + | Interessiert und die Gesamtanzahl aller installierten Paketem, dann nutzen wir: | ||
| + | # rpm -qa | wc -l | ||
| + | |||
| + | ==== Paketnamen nach Repository ==== | ||
| + | Wollen wir ermitteln, welche Pakete aus einem bestimmten Repository stammen verwenden wir: | ||
| + | # yum list installed | grep -i epel | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | ==== Alphabetische Liste aller Pakete ==== | ||
| + | Möchte man eine Auflistung aller installierter Pakete benutzt man folgenden Aufruf: | ||
| + | # rpm --qf " | ||
| + | |||
| + | So kann man mit Hilfe der so erzeugten Datei einen zweiten Server installieren, | ||
| + | # yum install $(cat installerte_Paketliste) | ||
| + | |||
| + | |||
| + | ===== Löschen / Entfernen ===== | ||
| + | ==== Löschen eines Paketes inkl. aller Abhängigkeiten ==== | ||
| + | # yum remove < | ||
| + | |||
| + | ==== Löschen von " | ||
| + | Will man z.B. die zuletzt installierten // | ||
| + | # yum remove `tail -n 23 / | ||
| + | |||
| + | ===== Update ===== | ||
| + | ==== Prüfen auf Aktualisierungen ==== | ||
| + | Mit nachfolgenden Befehl fragen wir die Aktualisierungen ab. | ||
| + | # yum check-update | ||
| + | |||
| + | ==== Update eines Pakets | ||
| + | Wollen wir ein Paket aktualisieren, | ||
| + | # yum update postfix | ||
| + | |||
| + | Mit der Option //-y// kann angegeben werden, dass dieses Paket auch ohne Nachfrage installiert werden soll. | ||
| + | ==== Update eines oder mehreren Pakete | ||
| + | Wollen wir alle aktuellen Paketänderungen installieren, | ||
| + | # yum update | ||
| + | |||
| + | Auch hier kann mit der Option //-y// angegeben werden, dass die fraglichen Pakete ohne weitere Nachfrage installiert werden sollen. | ||
| + | |||
| + | ==== Anzeige des Changelogs vor einem Update | ||
| + | Wollen wir wissen, was genau sich an einem Paket geändert hat, verwenden wir die Option // | ||
| + | # yum update --changelog | ||
| + | < | ||
| + | Repository base-LC is listed more than once in the configuration | ||
| + | Repository updates-LC is listed more than once in the configuration | ||
| + | Repository extras-LC is listed more than once in the configuration | ||
| + | Repository centosplus-LC is listed more than once in the configuration | ||
| + | Loading mirror speeds from cached hostfile | ||
| + | Setting up Update Process | ||
| + | Resolving Dependencies | ||
| + | --> Running transaction check | ||
| + | ---> Package polkit.x86_64 0: | ||
| + | ---> Package polkit.x86_64 0: | ||
| + | --> Finished Dependency Resolution | ||
| + | |||
| + | Changes in packages about to be updated: | ||
| + | |||
| + | ChangeLog for: polkit-0.96-5.el6_4.x86_64 | ||
| + | * Tue Sep 17 14:00:00 2013 Miloslav Trmač < | ||
| + | - Actually apply the patch, and modify it to apply to 0.96 | ||
| + | - Resolves: #1006262 | ||
| + | |||
| + | * Fri Sep 13 14:00:00 2013 Jan Lieskovsky < | ||
| + | - Include fix for CVE-2013-4288 | ||
| + | - Resolves: #1006262 | ||
| + | |||
| + | |||
| + | Dependencies Resolved | ||
| + | |||
| + | ============================================================================================================================================================================================================================================= | ||
| + | | ||
| + | ============================================================================================================================================================================================================================================= | ||
| + | Updating: | ||
| + | | ||
| + | |||
| + | Transaction Summary | ||
| + | ============================================================================================================================================================================================================================================= | ||
| + | Upgrade | ||
| + | |||
| + | Total download size: 158 k | ||
| + | Is this ok [y/N]: y | ||
| + | Downloading Packages: | ||
| + | polkit-0.96-5.el6_4.x86_64.rpm | ||
| + | Running rpm_check_debug | ||
| + | Running Transaction Test | ||
| + | Transaction Test Succeeded | ||
| + | Running Transaction | ||
| + | Updating | ||
| + | Cleanup | ||
| + | Verifying | ||
| + | Verifying | ||
| + | |||
| + | Updated: | ||
| + | polkit.x86_64 0: | ||
| + | |||
| + | Complete! | ||
| + | </ | ||
| + | |||
| + | ====== Links ====== | ||
| + | * **[[centos: | ||
| + | * **[[wiki: | ||
| + | * **[[http:// | ||
| + | |||