Il comando RPM viene utilizzato per installare, disinstallare, aggiornare, interrogare, elencare e controllare i pacchetti RPM sul tuo sistema Linux .
RPM sta per R ed Hat P pacchetto M arrabbiato.
Con il privilegio di root, puoi utilizzare il comando rpm con le opzioni appropriate per gestire i pacchetti software RPM.
In questo articolo, esaminiamo 15 esempi pratici di comando rpm.
Prendiamo un rpm di Mysql Client ed esaminiamo tutti i nostri esempi.
1. Installazione di un pacchetto RPM Usando rpm -ivh
Il nome del file RPM contiene il nome del pacchetto, la versione, il rilascio e il nome dell'architettura.
Ad esempio, nel file MySQL-client-3.23.57-1.i386.rpm:
- Client MySQL – Nome pacchetto
- 23.3.57 – Versione
- 1 – Rilascio
- i386 – Architettura
Quando installi un RPM, controlla se il tuo sistema è adatto al software contenuto nel pacchetto RPM, capisce dove installare i file che si trovano all'interno del pacchetto rpm, li installa sul tuo sistema e aggiunge quel pezzo di software nel suo database di pacchetti RPM installati.
Il seguente comando rpm installa il pacchetto client Mysql.
# rpm -ivh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%]
comando rpm e opzioni
- -i :installa un pacchetto
- -v :dettagliato
- -h :stampa gli hash mark quando l'archivio del pacchetto viene decompresso.
Puoi anche usare dpkg su Debian, pkgadd su Solaris, depot su HP-UX per installare i pacchetti.
2. Interroga tutti i pacchetti RPM usando rpm -qa
Puoi usare il comando rpm per interrogare tutti i pacchetti installati nel tuo sistema.
# rpm -qa cdrecord-2.01-10.7.el5 bluez-libs-3.7-1.1 setarch-2.0-1.1 . .
- -q operazione di query
- -a interroga tutti i pacchetti installati
Per identificare se un particolare pacchetto rpm è installato sul tuo sistema, combina il comando rpm e grep come mostrato di seguito. Il comando seguente controlla se il pacchetto cdrecord è installato sul tuo sistema.
# rpm -qa | grep 'cdrecord'
3. Interroga un pacchetto RPM particolare usando rpm -q
L'esempio sopra elenca tutti i pacchetti attualmente installati. Dopo l'installazione di un pacchetto per verificare l'installazione, è possibile eseguire una query su un pacchetto particolare e verificare come mostrato di seguito.
# rpm -q MySQL-client MySQL-client-3.23.57-1 # rpm -q MySQL package MySQL is not installed
Nota:per interrogare un pacchetto, devi specificare il nome esatto del pacchetto. Se il nome del pacchetto non è corretto, il comando rpm segnalerà che il pacchetto non è installato.
4. Eseguire query sui pacchetti RPM in un diverso formato utilizzando rpm –queryformat
Il comando Rpm fornisce un'opzione –queryformat, che consente di assegnare nomi ai tag di intestazione, per elencare i pacchetti. Racchiudi il tag di intestazione tra {}.
# rpm -qa --queryformat '%{name}-%{version}-%{release} %{size}\n' cdrecord-2.01-10.7 12324 bluez-libs-3.7-1.1 5634 setarch-2.0-1.1 235563 . . #
5. A quale pacchetto RPM appartiene un file? – Usa rpm -qf
Diciamo che hai un elenco di file e vorresti sapere quale pacchetto possiede tutti questi file. Il comando rpm ha opzioni per raggiungere questo obiettivo.
L'esempio seguente mostra che il file /usr/bin/mysqlaccess fa parte di MySQL-client-3.23.57-1 rpm.
# rpm -qf /usr/bin/mysqlaccess MySQL-client-3.23.57-1
- -f :nome file
6. Individua la documentazione di un pacchetto che possiede un file usando rpm -qdf
Utilizzare quanto segue per conoscere l'elenco delle documentazioni, per un pacchetto che possiede un file. Il comando seguente, fornisce la posizione di tutte le pagine di manuale relative al pacchetto mysql.
# rpm -qdf /usr/bin/mysqlaccess /usr/share/man/man1/mysql.1.gz /usr/share/man/man1/mysqlaccess.1.gz /usr/share/man/man1/mysqladmin.1.gz /usr/share/man/man1/mysqldump.1.gz /usr/share/man/man1/mysqlshow.1.gz
- -d :fa riferimento alla documentazione.
7. Informazioni sul pacchetto RPM installato utilizzando rpm -qi
Il comando rpm fornisce molte informazioni su un pacchetto installato utilizzando rpm -qi come mostrato di seguito:
# rpm -qi MySQL-client Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: Mon 06 Feb 2010 03:19:16 AM PST Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
Se hai un file RPM che vorresti installare, ma vuoi conoscere maggiori informazioni su di esso prima di installarlo, puoi fare quanto segue:
# rpm -qip MySQL-client-3.23.57-1.i386.rpm Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: (not installed) Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
- -i :visualizza le informazioni su un rpm
- -p :specifica il nome di un pacchetto
8. Elenca tutti i file in un pacchetto usando rpm -qlp
Per elencare il contenuto di un pacchetto RPM, usa il comando seguente, che elencherà i file senza estrarli nella cartella della directory locale.
$ rpm -qlp ovpc-2.1.10.rpm /usr/bin/mysqlaccess /usr/bin/mysqldata /usr/bin/mysqlperm . . /usr/bin/mysqladmin
- q :interroga il file rpm
- l :elenca i file nel pacchetto
- p :specifica il nome del pacchetto
Puoi anche estrarre file dal pacchetto RPM usando rpm2cpio come discusso in precedenza.
9. Elenca i pacchetti di dipendenze usando rpm -qRP
Per visualizzare l'elenco dei pacchetti da cui dipende questo pacchetto,
# rpm -qRp MySQL-client-3.23.57-1.i386.rpm /bin/sh /usr/bin/perl
10. Scopri lo stato dei file in un pacchetto usando rpm -qsp
Il comando seguente serve per trovare lo stato (installato, sostituito o normale) per tutti i file in un pacchetto RPM.
# rpm -qsp MySQL-client-3.23.57-1.i386.rpm normal /usr/bin/msql2mysql normal /usr/bin/mysql normal /usr/bin/mysql_find_rows normal /usr/bin/mysqlaccess normal /usr/bin/mysqladmin normal /usr/bin/mysqlbinlog normal /usr/bin/mysqlcheck normal /usr/bin/mysqldump normal /usr/bin/mysqlimport normal /usr/bin/mysqlshow normal /usr/share/man/man1/mysql.1.gz normal /usr/share/man/man1/mysqlaccess.1.gz normal /usr/share/man/man1/mysqladmin.1.gz normal /usr/share/man/man1/mysqldump.1.gz normal /usr/share/man/man1/mysqlshow.1.gz
11. Verifica un pacchetto RPM particolare usando rpm -Vp
La verifica di un pacchetto confronta le informazioni sui file installati nel pacchetto con le informazioni sui file presi dai metadati del pacchetto archiviati nel database rpm. Nel comando seguente, -V è per la verifica e l'opzione -p viene utilizzata per specificare un nome di pacchetto da verificare.
# rpm -Vp MySQL-client-3.23.57-1.i386.rpm S.5....T c /usr/bin/msql2mysql S.5....T c /usr/bin/mysql S.5....T c /usr/bin/mysql_find_rows S.5....T c /usr/bin/mysqlaccess
Il carattere nell'output sopra denota quanto segue:
- La dimensione del file S è diversa
- La modalità M è diversa (include autorizzazioni e tipo di file)
- 5 La somma di MD5 è diversa
- D Mancata corrispondenza dei numeri principali/minori del dispositivo
- L readlink(2) percorso non corrispondente
- U La proprietà dell'utente è diversa
- La proprietà del Gruppo G è diversa
- T mTime è diverso
12. Verifica un file di proprietà del pacchetto utilizzando rpm -Vf
Il comando seguente verifica il pacchetto che possiede il nome file specificato.
# rpm -Vf /usr/bin/mysqlaccess S.5....T c /usr/bin/mysql #
13. Aggiornamento di un pacchetto RPM utilizzando rpm -Uvh
L'aggiornamento di un pacchetto è simile all'installazione di uno, ma RPM disinstalla automaticamente le versioni esistenti del pacchetto prima di installare quella nuova. Se non viene trovata una versione precedente del pacchetto, l'opzione di aggiornamento la installerà comunque.
# rpm -Uvh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ###########################################
14. Disinstallazione di un pacchetto RPM utilizzando rpm -e
Per rimuovere un pacchetto rpm installato utilizzando -e come mostrato di seguito. Dopo la disinstallazione, puoi eseguire una query utilizzando rpm -qa e verificare la disinstallazione.
# rpm -ev MySQL-client
15. Verifica di tutti i pacchetti RPM utilizzando rpm -Va
Il comando seguente verifica tutti i pacchetti installati.
# rpm -Va S.5....T c /etc/issue S.5....T c /etc/issue.net S.5....T c /var/service/imap/ssl/seed S.5....T c /home/httpd/html/horde/ingo/config/backends.php . . S.5....T c /home/httpd/html/horde/ingo/config/prefs.php S.5....T c /etc/printcap