20 Praktiske eksempler på RPM-kommandoer i Linux
RPM (Red Hat Package Manager) er et standard åpen kildekode og det mest populære pakkeadministrasjonsverktøyet for Red Hat-baserte systemer som (RHEL, CentOS og Fedora). Verktøyet lar systemadministratorer og brukere installere, oppdatere, avinstallere, spørre etter, verifisere og administrere systemprogramvarepakker i Unix/Linux-operativsystemer. RPM-en tidligere kjent som .rpm-filen, som inkluderer kompilerte programvareprogrammer og biblioteker som trengs av pakkene. Dette verktøyet fungerer bare med pakker som er bygget på .rpm-format.
Denne artikkelen gir noen nyttige eksempler på 20 RPM-kommandoer som kan være nyttige for deg. Ved hjelp av disse rpm-kommandoene kan du installere, oppdatere, fjerne pakker i Linux-systemene dine.
Noen fakta om RPM (RedHat Package Manager)
- RPM er gratis og utgitt under GPL (General Public License).
- RPM beholder informasjonen om alle de installerte pakkene under /var/lib/rpm-databasen.
- RPM er den eneste måten å installere pakker på under Linux-systemer. Hvis du har installert pakker med kildekode, vil ikke rpm administrere den.
- RPM omhandler .rpm-filer, som inneholder den faktiske informasjonen om pakkene som: hva det er, hvor det kommer fra, avhengighetsinformasjon, versjonsinformasjon osv.
Det er fem grunnleggende moduser for RPM-kommando
- Installer: Den brukes til å installere en hvilken som helst RPM-pakke.
- Fjern : Den brukes til å slette, fjerne eller avinstallere enhver RPM-pakke.
- Oppgradering: Den brukes til å oppdatere den eksisterende RPM-pakken.
- Bekreft: Den brukes til å bekrefte en RPM-pakke.
- Spørring : Det brukes forespørsler til enhver RPM-pakke.
Hvor finner du RPM-pakker
Nedenfor er listen over rpm-sider, hvor du kan finne og laste ned alle RPM-pakker.
- http://rpmfind.net
- http://www.redhat.com
- http://freshrpms.net/
- http://rpm.pbone.net/
Les også:
- 20 YUM-kommandoer i Linux
- 10 Wget-kommandoeksempler i Linux
- 30 mest nyttige Linux-kommandoer for systemadministratorer
Husk at du må være root-bruker når du installerer pakker i Linux, med root-privilegiene kan du administrere rpm-kommandoer med passende alternativer.
1. Hvordan sjekke en RPM-signaturpakke
Sjekk alltid PGP-signaturen til pakker før du installerer dem på Linux-systemene dine, og sørg for at integriteten og opprinnelsen er OK. Bruk følgende kommando med alternativet –checksig (sjekk signatur) for å sjekke signaturen til en pakke kalt 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. Hvordan installere en RPM-pakke
For å installere en rpm-programvarepakke, bruk følgende kommando med -i-alternativet. For eksempel for å installere en rpm-pakke kalt 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 : detaljert for en bedre visning
- -h: skriv ut hash-merker når pakkearkivet pakkes ut.
3. Hvordan sjekke avhengighetene til RPM-pakken før installasjon
La oss si at du vil gjøre en avhengighetssjekk før du installerer eller oppgraderer en pakke. Bruk for eksempel følgende kommando for å sjekke avhengighetene til BitTorrent-5.2.2-1-Python2.4.noarch.rpm-pakken. Den vil vise listen over avhengigheter til 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: Spør etter en pakke
- -p : Liste funksjoner som denne pakken gir.
- -R: Liste funksjoner som denne pakken avhenger av..
4. Hvordan installere en RPM-pakke uten avhengigheter
Hvis du vet at alle nødvendige pakker allerede er installert og RPM bare er dumt, kan du ignorere disse avhengighetene ved å bruke alternativet –nodeps (ingen avhengighetssjekk) før du installerer pakken.
rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm Preparing... ########################################### [100%] 1:BitTorrent ########################################### [100%]
Kommandoen ovenfor installerer kraftig rpm-pakken ved å ignorere avhengighetsfeil, men hvis disse avhengighetsfilene mangler, vil ikke programmet fungere i det hele tatt før du installerer dem.
5. Hvordan sjekke en installert RPM-pakke
Å bruke -q-alternativet med pakkenavn, vil vise om en rpm er installert eller ikke.
rpm -q BitTorrent BitTorrent-5.2.2-1.noarch
6. Hvordan liste alle filene til en installert RPM-pakke
For å se alle filene til en installert rpm-pakke, bruk -ql (spørringsliste) med rpm-kommandoen.
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. Hvordan liste opp nylig installerte RPM-pakker
Bruk følgende rpm-kommando med -qa (spør alle) alternativet, vil vise alle de nylig installerte rpm-pakkene.
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. Slik viser du alle installerte RPM-pakker
Skriv inn følgende kommando for å skrive ut alle navnene på installerte pakker på Linux-systemet.
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. Hvordan oppgradere en RPM-pakke
Hvis vi ønsker å oppgradere en RPM-pakke vil –U (oppgradering) alternativet bli brukt. En av de største fordelene med å bruke dette alternativet er at det ikke bare vil oppgradere den nyeste versjonen av en hvilken som helst pakke, men det vil også opprettholde sikkerhetskopien av den eldre pakken slik at i tilfelle hvis den nyere oppgraderte pakken ikke kjører den tidligere installerte pakken kan brukes igjen.
rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm Preparing... ########################################### [100%] 1:nx ########################################### [100%]
10. Slik fjerner du en RPM-pakke
For å avinstallere en RPM-pakke bruker vi for eksempel pakkenavnet nx, ikke det originale pakkenavnet nx-3.5.0-2.el6.centos.i686.rpm. Alternativet -e (slett) brukes til å fjerne pakken.
rpm -evv nx
11. Hvordan fjerne en RPM-pakke uten avhengigheter
Alternativet –nodeps (Ikke sjekk avhengigheter) fjerner kraftig rpm-pakken fra systemet. Men husk å fjerne en bestemt pakke kan ødelegge andre fungerende applikasjoner.
rpm -ev --nodeps vsftpd
12. Hvordan spørre etter en fil som tilhører hvilken RPM-pakke
La oss si at du har en liste over filer og du vil finne ut hvilken pakke som tilhører disse filene. For eksempel vil følgende kommando med -qf (query file)-alternativet vise deg en fil /usr/bin/htpasswd eies av 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 spørre etter informasjon om installert RPM-pakke
La oss si at du har installert en rpm-pakke og vil vite informasjonen om pakken. Følgende -qi (forespørselsinfo)-alternativet vil skrive ut den tilgjengelige informasjonen om den installerte pakken.
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å informasjonen om RPM-pakken før du installerer
Du har lastet ned en pakke fra internett og vil vite informasjonen om en pakke før du installerer. For eksempel vil følgende alternativ -qip (forespørselsinfopakke) skrive ut informasjonen til 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. Hvordan spørre etter dokumentasjon for installert RPM-pakke
For å få listen over tilgjengelig dokumentasjon for en installert pakke, bruk følgende kommando med alternativet -qdf (søkedokumentfil) vil vise manualsidene relatert 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. Hvordan verifisere en RPM-pakke
Ved å bekrefte en pakke sammenlignes informasjon om installerte filer i pakken med rpm-databasen. -Vp (verify package) brukes til å bekrefte en pakke.
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Hvordan verifisere alle RPM-pakker
Skriv inn følgende kommando for å bekrefte alle de installerte rpm-pakkene.
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. Slik importerer du en RPM GPG-nøkkel
For å bekrefte RHEL/CentOS/Fedora-pakker, må du importere GPG-nøkkelen. For å gjøre det, utfør følgende kommando. Den vil importere CentOS 6 GPG-nøkkel.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
19. Slik viser du alle importerte RPM GPG-nøkler
For å skrive ut alle importerte GPG-nøklene i systemet ditt, bruk følgende kommando.
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. Hvordan gjenoppbygge ødelagt RPM-database
Noen ganger blir rpm-databasen ødelagt og stopper all funksjonaliteten til rpm og andre applikasjoner på systemet. Så på det tidspunktet må vi gjenoppbygge rpm-databasen og gjenopprette den ved hjelp av følgende kommando.
cd /var/lib rm __db* rpm --rebuilddb rpmdb_verify Packages