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:41. ] – [ChangeLog eines Paketes anzeigen lassen] 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:// | ||
+ | |||