INTRODUZIONE
RPM (Gestione pacchetti Red Hat ) è un'utilità di gestione dei pacchetti e open source predefinita per Red Hat sistemi come (RHEL , CentOS e Fedora ).
Lo strumento ti consente di installare , aggiornamento , disinstalla , interroga , verifica e gestisci i pacchetti software di sistema in Unix/Linux sistemi operativi. L'RPM noto come .rpm file, che include i programmi software compilati e le librerie necessarie ai pacchetti. Questa utilità funziona solo con pacchetti basati su .rpm formato.
Alcuni fatti su RPM (RedHat Package Manager)
- L'RPM è gratuito e rilasciato sotto GPL (Licenza pubblica generica ).
- RPM conserva le informazioni di tutti i pacchetti installati in /var/lib/rpm banca dati.
- RPM è l'unico modo per installare i pacchetti, se hai installato i pacchetti utilizzando il codice sorgente, rpm non lo gestirà.
Ci sono cinque modalità di base per il comando RPM
- Installa :Viene utilizzato per installare qualsiasi pacchetto RPM.
- Rimuovi :Viene utilizzato per cancellare, rimuovere o disinstallare qualsiasi pacchetto RPM.
- Aggiorna :Viene utilizzato per aggiornare il pacchetto RPM esistente.
- Verifica :Viene utilizzato per verificare un pacchetto RPM.
- Richiesta :Viene utilizzato per interrogare qualsiasi pacchetto RPM.
1. Come controllare un pacchetto di firme RPM
Controlla la firma PGP dei pacchetti prima di installarli sui tuoi sistemi Linux e assicurati che l'integrità e l'origine siano OK .
Usa il seguente comando :
Ad esempio :(controlla la firma ) opzione per verificare la firma di un pacchetto chiamato puppet .
rpm --checksig puppet-3.2.4-3.el6.noarch.rpm
2. Come installare un pacchetto RPM
Per installare un pacchetto software rpm, utilizzare il comando seguente con -i opzione. Ad esempio, per installare un pacchetto rpm chiamato puppet-3.2.4-3.el6.noarch.rpm
[root@unixcop]# rpm -ivh puppet-3.2.4-3.el6.noarch.rpm
Preparing... ########################################### [100%]
1:puppet ########################################### [100%]
Comando RPM e opzioni:
-io :installa un pacchetto
-v :dettagliato per una visualizzazione migliore
-h :stampa gli hash mark quando l'archivio del pacchetto viene decompresso.
3. Come controllare le dipendenze del pacchetto RPM prima dell'installazione
Diciamo che desideri eseguire un controllo delle dipendenze prima di installare o aggiornare un pacchetto. Ad esempio, utilizza il comando seguente per verificare le dipendenze di BitTorrent-5.2.2-1-Python2.4.noarch.rpm pacchetto. Verrà visualizzato l'elenco delle dipendenze del pacchetto.
[root@unixcop]# 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
Comando RPM e opzioni
- -q :interroga un pacchetto
- -p :elenca le funzionalità fornite da questo pacchetto.
- -R :elenca le capacità da cui dipende questo pacchetto..
4. Come installare un pacchetto RPM senza dipendenze
Se sai che tutti i pacchetti necessari sono già installati e RPM è semplicemente stupido, puoi ignorare queste dipendenze usando l'opzione –nodeps (nessuna verifica delle dipendenze ) prima di installare il pacchetto.
[root@unixcop]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm Preparing... ########################################### [100%] 1:BitTorrent ########################################### [100%]
Il comando precedente installa forzatamente il pacchetto rpm ignorando gli errori di dipendenza, ma se mancano quei file di dipendenza, il programma non funzionerà affatto, finché non li installi.
5. Come controllare un pacchetto RPM installato
Usando -q opzione con il nome del pacchetto, mostrerà se un rpm è installato o meno.
[root@unixcop]# rpm -q BitTorrent
BitTorrent-5.2.2-1.noarch
6. Come elencare tutti i file di un pacchetto RPM installato
Per visualizzare tutti i file di un pacchetto rpm installato, utilizzare -ql (elenco di query ) con comando rpm.
[root@unixcop]# 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. Come elencare i pacchetti RPM installati di recente
Usa il seguente comando rpm con -qa (interroga tutti ) elencherà tutti i pacchetti rpm installati di recente.
[root@unixcop]# 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. Come elencare tutti i pacchetti RPM installati
Digita il seguente comando per stampare tutti i nomi dei pacchetti installati sul tuo sistema Linux.
[root@unixcop]# 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. Come aggiornare un pacchetto RPM
Se vogliamo aggiornare qualsiasi pacchetto RPM "–U ” (aggiornamento ) verrà utilizzata l'opzione. Uno dei principali vantaggi dell'utilizzo di questa opzione è che non solo aggiornerà l'ultima versione di qualsiasi pacchetto, ma manterrà anche il backup del pacchetto precedente in modo che nel caso in cui il pacchetto aggiornato più recente non esegua il pacchetto installato in precedenza può essere riutilizzato.
[root@unixcop]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm Preparing... ########################################### [100%] 1:nx ########################################### [100%]
10. Come rimuovere un pacchetto RPM
Per disinstallare un pacchetto RPM, ad esempio, utilizziamo il nome del pacchetto nx , non il nome del pacchetto originale nx-3.5.0-2.el6.centos.i686.rpm . La -e (cancella) l'opzione viene utilizzata per rimuovere il pacchetto.
[root@unixcop]# rpm -evv nx
11. Come rimuovere un pacchetto RPM senza dipendenze
I –nodi (Non controllare le dipendenze ) l'opzione rimuove con forza il pacchetto rpm dal sistema.
Ma tieni presente che la rimozione di un pacchetto particolare potrebbe interrompere altre applicazioni funzionanti.
[root@unixcop]# rpm -ev --nodeps vsftpd
12. Come interrogare un file che appartiene a quale pacchetto RPM
Diciamo che hai un elenco di file e vorresti scoprire quale pacchetto appartiene a questi file. Ad esempio, il comando seguente con -qf (interroga il file ) ti mostrerà un file /usr/bin/htpasswd è di proprietà del pacchetto httpd-tools-2.2.15-15.el6.centos.1.i686 .
[root@unixcop]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.15-15.el6.centos.1.i686
13. Come richiedere informazioni su un pacchetto RPM installato
Supponiamo che tu abbia installato un pacchetto rpm e desideri conoscere le informazioni sul pacchetto. Il seguente -qi (informazioni sulla query ) stamperà le informazioni disponibili del pacchetto installato.
[root@unixcop]# 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. Ottieni le informazioni sul pacchetto RPM prima dell'installazione.
Hai scaricato un pacchetto da Internet e desideri conoscere le informazioni di un pacchetto prima dell'installazione. Ad esempio, la seguente opzione -qip (pacchetto informazioni query ) stamperà le informazioni di un pacchetto sqlbuddy.
[root@unixcop]# 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. Come interrogare la documentazione del pacchetto RPM installato
Per ottenere l'elenco della documentazione disponibile di un pacchetto installato, utilizzare il comando seguente con l'opzione -qdf (interroga il file del documento ) visualizzerà le pagine di manuale relative al pacchetto vmstat.
[root@unixcop]# 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. Come verificare un pacchetto RPM
La verifica di un pacchetto confronta le informazioni dei file installati del pacchetto con il database rpm. Il -Vp (verifica pacchetto ) viene utilizzato per verificare un pacchetto.
[root@unixcop downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Come verificare tutti i pacchetti RPM
Digita il seguente comando per verificare tutti i pacchetti rpm installati.
[root@unixcop]# 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. Come importare una chiave GPG RPM
Per verificare RHEL/CentOS/Fedora pacchetti, devi importare il GPG chiave. Per fare ciò, eseguire il comando seguente. Importerà CentOS 6 Chiave GPG.
[root@unixcop]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
19. Come elencare tutte le chiavi GPG RPM importate
Per stampare tutti i GPG importati chiavi nel tuo sistema, usa il seguente comando.
[root@unixcop]# 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. Come ricostruire il database RPM danneggiato
A volte il database rpm viene danneggiato e interrompe tutte le funzionalità di rpm e di altre applicazioni sul sistema. Quindi, al momento dobbiamo ricostruire il database rpm e ripristinarlo con l'aiuto del seguente comando.
[root@unixcop]# cd /var/lib
[root@unixcop]# rm __db*
[root@unixcop]# rpm --rebuilddb
[root@unixcop]# rpmdb_verify Packages