20 Praktiske eksempler på RPM-kommandoer i Linux
RPM (Red Hat Package Manager) er en standard open source og mest populær pakkehåndteringsværktøj til Red Hat-baserede systemer som (RHEL, CentOS og Fedora). Værktøjet giver systemadministratorer og brugere mulighed for at installere, opdatere, afinstallere, forespørge, kontrollere og administrere systemsoftwarepakker i Unix/Linux-operativsystemer. RPM, tidligere kendt som .rpm-fil, der inkluderer kompilerede softwareprogrammer og biblioteker, der er nødvendige af pakkerne. Dette værktøj fungerer kun med pakker, der er bygget på .rpm-format.
Denne artikel indeholder nogle nyttige 20 RPM kommandoeksempler, der kan være nyttige for dig. Ved hjælp af denne rpm-kommando kan du klare at installere, opdatere, fjerne pakker i dine Linux-systemer.
Nogle fakta om RPM (RedHat Package Manager)
- RPM er gratis og frigivet under GPL (General Public License).
- RPM opbevarer oplysningerne om alle de installerede pakker under/var/lib/rpm-databasen.
- RPM er den eneste måde at installere pakker på under Linux-systemer. Hvis du har installeret pakker ved hjælp af kildekode, administrerer rpm det ikke.
- RPM beskæftiger sig med .rpm-filer, som indeholder de faktiske oplysninger om pakkerne, såsom: hvad det er, hvorfra det kommer, afhængighedsinformation, version info osv.
Der er fem grundlæggende tilstande til RPM-kommando
- Install: Det bruges til at installere enhver RPM-pakke.
- Fjern: Det bruges til at slette, fjerne eller afinstallere enhver RPM-pakke.
- Opgradering: Den bruges til at opdatere den eksisterende RPM-pakke.
- Bekræft: Det bruges til at verificere RPM-pakker.
- Forespørgsel: Det bruges til forespørgsel på enhver RPM-pakke.
Hvor finder du RPM-pakker
Nedenfor er listen over rpm-sider, hvor du kan finde og downloade alle RPM-pakker.
- http://rpmfind.net
- http://www.redhat.com
- http://freshrpms.net/
- http://rpm.pbone.net/
Læs også:
- 20 YUM kommandoeksempler i Linux
- 10 Wget-kommandoeksempler i Linux
- 30 mest nyttige Linux-kommandoer til systemadministratorer
Husk, at du skal være rootbruger, når du installerer pakker i Linux, med root-rettighederne kan du administrere rpm-kommandoer med deres passende muligheder.
1. Sådan kontrolleres en RPM-signaturpakke
Kontroller altid PGP-signaturen for pakker, inden du installerer dem på dine Linux-systemer, og sørg for, at dens integritet og oprindelse er OK. Brug følgende kommando med –checksig (check signatur) mulighed for at kontrollere signaturen til en pakke kaldet pidgin.
rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK
2. Sådan installeres en RPM-pakke
Brug følgende kommando med -i-indstilling til installation af en rpm-softwarepakke. For eksempel at installere en rpm-pakke kaldet pidgin-2.7.9-5.el6.2.i686.rpm.
rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm Preparing... ########################################### [100%] 1:pidgin ########################################### [100%]
- -i: installer en pakke
- -v: detaljeret til en pænere visning
- -h: udskriv hashmærker, når pakkearkivet er pakket ud.
3. Sådan kontrolleres afhængigheder af RPM-pakken inden installation
Lad os sige, at du gerne vil foretage en afhængighedskontrol, før du installerer eller opgraderer en pakke. Brug f.eks. Følgende kommando til at kontrollere afhængighederne af BitTorrent-5.2.2-1-Python2.4.noarch.rpm-pakken. Det viser listen over afhængigheder af pakken.
rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm /usr/bin/python2.4 python >= 2.3 python(abi) = 2.4 python-crypto >= 2.0 python-psyco python-twisted >= 2.0 python-zopeinterface rpmlib(CompressedFileNames) = 2.6
- -q: Forespørgsel om en pakke
- -p: Listefunktioner, som denne pakke tilbyder.
- -R: Listefunktioner, som denne pakke afhænger af ..
4. Sådan installeres en RPM-pakke uden afhængigheder
Hvis du ved, at alle nødvendige pakker allerede er installeret, og RPM bare er dum, kan du ignorere disse afhængigheder ved at bruge indstillingen –nodeps (ingen afhængighedskontrol), før du installerer pakken.
rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm Preparing... ########################################### [100%] 1:BitTorrent ########################################### [100%]
Ovenstående kommando installerer kraftigt rpm-pakken ved at ignorere afhængighedsfejl, men hvis disse afhængighedsfiler mangler, fungerer programmet slet ikke, før du installerer dem.
5. Sådan kontrolleres en installeret RPM-pakke
Brug af -q-indstillingen med pakkenavn viser, om en o/min er installeret eller ej.
rpm -q BitTorrent BitTorrent-5.2.2-1.noarch
6. Sådan vises en liste over alle filer i en installeret RPM-pakke
Hvis du vil se alle filerne i en installeret rpm-pakke, skal du bruge -ql (forespørgsleliste) med kommandoen rpm.
rpm -ql BitTorrent /usr/bin/bittorrent /usr/bin/bittorrent-console /usr/bin/bittorrent-curses /usr/bin/bittorrent-tracker /usr/bin/changetracker-console /usr/bin/launchmany-console /usr/bin/launchmany-curses /usr/bin/maketorrent /usr/bin/maketorrent-console /usr/bin/torrentinfo-console
7. Sådan vises en liste over nyligt installerede RPM-pakker
Brug følgende rpm-kommando med -qa (forespørgsel om alle) -funktion, viser alle de nyligt installerede rpm-pakker.
rpm -qa --last BitTorrent-5.2.2-1.noarch Tue 04 Dec 2012 05:14:06 PM BDT pidgin-2.7.9-5.el6.2.i686 Tue 04 Dec 2012 05:13:51 PM BDT cyrus-sasl-devel-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:06 PM BDT cyrus-sasl-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:05 PM BDT cyrus-sasl-md5-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:04 PM BDT cyrus-sasl-plain-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:03 PM BDT
8. Sådan vises alle installerede RPM-pakker
Skriv følgende kommando for at udskrive alle navnene på installerede pakker på dit Linux-system.
rpm -qa initscripts-9.03.31-2.el6.centos.i686 polkit-desktop-policy-0.96-2.el6_0.1.noarch thunderbird-17.0-1.el6.remi.i686
9. Sådan opgraderes en RPM-pakke
Hvis vi vil opgradere en hvilken som helst RPM-pakke, anvendes “–U” (opgradering). En af de største fordele ved at bruge denne mulighed er, at den ikke kun opgraderer den nyeste version af enhver pakke, men den vil også opretholde sikkerhedskopien af den ældre pakke, så hvis den nyere opgraderede pakke ikke kører den tidligere installerede pakke kan bruges igen.
rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm Preparing... ########################################### [100%] 1:nx ########################################### [100%]
10. Sådan fjernes en RPM-pakke
For at afinstallere en RPM-pakke bruger vi for eksempel pakkenavnet nx, ikke det originale pakkenavn nx-3.5.0-2.el6.centos.i686.rpm. Indstillingen -e (sletning) bruges til at fjerne pakken.
rpm -evv nx
11. Sådan fjernes en RPM-pakke uden afhængigheder
Indstillingen –nodeps (Kontroller ikke afhængigheder) fjerner rpm-pakken kraftigt fra systemet. Men husk at fjerne en bestemt pakke kan ødelægge andre arbejdsapplikationer.
rpm -ev --nodeps vsftpd
12. Sådan forespørges en fil, der hører til hvilken RPM-pakke
Lad os sige, du har en liste over filer, og du vil gerne finde ud af, hvilken pakke der hører til disse filer. For eksempel viser følgende kommando med -qf (forespørgselsfil) dig, at en fil/usr/bin/htpasswd er egen efter pakken httpd-tools-2.2.15-15.el6.centos.1.i686.
rpm -qf /usr/bin/htpasswd httpd-tools-2.2.15-15.el6.centos.1.i686
13. Hvordan man forespørger om oplysninger om installeret RPM-pakke
Lad os sige, at du har installeret en rpm-pakke og vil vide oplysningerne om pakken. Følgende -qi (forespørgsel info) mulighed vil udskrive de tilgængelige oplysninger om den installerede pakke.
rpm -qi vsftpd Name : vsftpd Relocations: (not relocatable) Version : 2.2.2 Vendor: CentOS Release : 11.el6 Build Date: Fri 22 Jun 2012 01:54:24 PM BDT Install Date: Mon 17 Sep 2012 07:55:28 PM BDT Build Host: c6b8.bsys.dev.centos.org Group : System Environment/Daemons Source RPM: vsftpd-2.2.2-11.el6.src.rpm Size : 351932 License: GPLv2 with exceptions Signature : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de Packager : CentOS BuildSystem <http://bugs.centos.org> URL : http://vsftpd.beasts.org/ Summary : Very Secure Ftp Daemon Description : vsftpd is a Very Secure FTP daemon. It was written completely from scratch.
14. Få oplysninger om RPM-pakken inden installation
Du har downloadet en pakke fra internettet og vil vide oplysningerne om en pakke, før du installerer. For eksempel vil følgende mulighed -qip (forespørgselsinfopakke) udskrive oplysningerne om en pakke sqlbuddy.
rpm -qip sqlbuddy-1.3.3-1.noarch.rpm Name : sqlbuddy Relocations: (not relocatable) Version : 1.3.3 Vendor: (none) Release : 1 Build Date: Wed 02 Nov 2011 11:01:21 PM BDT Install Date: (not installed) Build Host: rpm.bar.baz Group : Applications/Internet Source RPM: sqlbuddy-1.3.3-1.src.rpm Size : 1155804 License: MIT Signature : (none) Packager : Erik M Jacobs URL : http://www.sqlbuddy.com/ Summary : SQL Buddy â Web based MySQL administration Description : SQLBuddy is a PHP script that allows for web-based MySQL administration.
15. Sådan forespørges dokumentation for installeret RPM-pakke
For at få listen over tilgængelig dokumentation for en installeret pakke skal du bruge følgende kommando med option -qdf (forespørgselsdokumentfil), der viser de manuelle sider relateret til vmstat-pakken.
rpm -qdf /usr/bin/vmstat /usr/share/doc/procps-3.2.8/BUGS /usr/share/doc/procps-3.2.8/COPYING /usr/share/doc/procps-3.2.8/COPYING.LIB /usr/share/doc/procps-3.2.8/FAQ /usr/share/doc/procps-3.2.8/NEWS /usr/share/doc/procps-3.2.8/TODO
16. Sådan verificeres en RPM-pakke
Bekræftelse af en pakke sammenligner oplysninger om installerede filer i pakken med rpm-databasen. -Vp (verificer pakke) bruges til at verificere en pakke.
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Sådan verificeres alle RPM-pakker
Skriv følgende kommando for at kontrollere alle de installerede rpm-pakker.
rpm -Va S.5....T. c /etc/rc.d/rc.local .......T. c /etc/dnsmasq.conf .......T. /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf S.5....T. c /etc/yum.conf S.5....T. c /etc/yum.repos.d/epel.repo
18. Sådan importeres en RPM GPG-nøgle
For at bekræfte RHEL/CentOS/Fedora-pakker skal du importere GPG-nøglen. For at gøre det skal du udføre følgende kommando. Det importerer CentOS 6 GPG-nøgle.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
19. Sådan vises en liste over alle importerede RPM GPG-nøgler
Brug følgende kommando til at udskrive alle de importerede GPG-nøgler i dit system.
rpm -qa gpg-pubkey* gpg-pubkey-0608b895-4bd22942 gpg-pubkey-7fac5991-4615767f gpg-pubkey-0f2672c8-4cd950ee gpg-pubkey-c105b9de-4e0fd3a3 gpg-pubkey-00f97f56-467e318a gpg-pubkey-6b8d79e6-3f49313d gpg-pubkey-849c449f-4cb9df30
20. Sådan genopbygges ødelagt RPM-database
Undertiden bliver rpm-databasen beskadiget og stopper al funktionaliteten af rpm og andre applikationer på systemet. Så på det tidspunkt skal vi genopbygge rpm-databasen og gendanne den ved hjælp af følgende kommando.
cd /var/lib rm __db* rpm --rebuilddb rpmdb_verify Packages