![RedHat vs Debian: punto di vista amministrativo](/f/f5dca32e20d75184062b106faf0b3ac1.png?width=100&height=100)
In questo articolo impareremo come installare, aggiornare, rimuovere, trovare pacchetti, gestire pacchetti e repository su sistemi Linux utilizzando lo strumento YUM (Yellowdog Updater Modified) sviluppato da RedHat. I comandi di esempio mostrati in questo articolo sono praticamente testati sul nostro CentOS 6.3 server, puoi utilizzare questo materiale per scopi di studio, certificazioni o semplicemente per esplorare modi per installare nuovi pacchetti e mantenere aggiornato il tuo sistema. Il requisito di base di questo articolo è che devi avere una conoscenza di base dei comandi e un sistema operativo Linux funzionante, dove puoi esplorare ed esercitarti con tutti i comandi elencati di seguito.
YUM (Yellowdog Updater modificato) è una riga di comando open source e uno strumento di gestione dei pacchetti basato su grafica per RPM (RedHat Package Manager) sistemi Linux basati. Consente agli utenti e all'amministratore di sistema di installare, aggiornare, rimuovere o cercare facilmente pacchetti software su un sistema. È stato sviluppato e rilasciato da
Seth Vidal sotto GPL (Licenza pubblica generale) come open source, significa che chiunque può scaricare e accedere al codice per correggere bug e sviluppare pacchetti personalizzati. YUM utilizza numerosi repository di terze parti per installare i pacchetti automaticamente risolvendo i problemi relativi alle dipendenze.Per installare un pacchetto chiamato Firefox 14, basta eseguire il comando seguente che troverà e installerà automaticamente tutte le dipendenze richieste per Firefox.
# yum installa firefoxPlugin caricati: mirror più veloce. Dipendenze risolte Pacchetto Versione Arch Dimensione repository Aggiornamento: firefox i686 10.0.6-1.el6.centos aggiornamenti 20 M. Aggiornamento per le dipendenze: xulrunner i686 10.0.6-1.el6.centos aggiorna 12 M Transaction Summary. Installa 0 pacchetto/i Pacchetto aggiornamento 2 (s) Dimensione totale download: 32 M. Va bene [s/N]: sì. Download dei pacchetti: (1/2): firefox-10.0.6-1.el6.centos.i686.rpm | 20MB 01:10. (2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm | 12MB 00:52. Totale 63 kB/s | 32 MB 02:04 Aggiornato: firefox.i686 0:10.0.6-1.el6.centos Dipendenza aggiornato: xulrunner.i686 0:10.0.6-1.el6.centos Completa!
Il comando precedente chiederà conferma prima di installare qualsiasi pacchetto sul tuo sistema. Se vuoi installare i pacchetti automaticamente senza chiedere conferma, usa l'opzione -y come mostrato nell'esempio sotto.
# yum -y installa firefox
Per rimuovere completamente un pacchetto con tutte le sue dipendenze, basta eseguire il comando seguente come mostrato di seguito.
# yum rimuovi firefoxPlugin caricati: mirror più veloce. Impostazione del processo di rimozione. Risoluzione delle dipendenze. -> Esecuzione del controllo delle transazioni. > Pacchetto firefox.i686 0:10.0.6-1.el6.centos impostato per essere cancellato. --> Finito Risoluzione dipendenza Dipendenze Risolto Pacchetto Versione Arch Dimensione repository Rimozione: firefox i686 10.0.6-1.el6.centos @updates 23 M Riepilogo transazioni. Rimuovi 1 pacchetto/i Reinstalla 0 pacchetto/i Downgrade 0 Pacchetto (s) Va bene [y/N]: y. Download dei pacchetti: esecuzione di rpm_check_debug. Esecuzione del test di transazione. Test della transazione riuscito. Cancellazione transazione in esecuzione: firefox-10.0.6-1.el6.centos.i686 1/1 Rimosso: firefox.i686 0:10.0.6-1.el6.centos Completato!
Allo stesso modo il comando precedente chiederà conferma prima di rimuovere un pacchetto. Per disabilitare la richiesta di conferma basta aggiungere l'opzione -y come mostrato di seguito.
# yum -y rimuove firefox
Diciamo che hai una versione obsoleta di MySQL pacchetto e si desidera aggiornarlo all'ultima versione stabile. Basta eseguire il seguente comando, risolverà automaticamente tutti i problemi di dipendenze e li installerà.
# yum update mysqlPlugin caricati: mirror più veloce. Dipendenze risolte Pacchetto Arch Versione Dimensione repository. Aggiornamento: vsftpd i386 2.0.5-24.el5_8.1 aggiorna 144 k Riepilogo transazioni. Installa 0 pacchetto/i Upgrade 1 pacchetto (s) Dimensione totale: 144 k. Va bene [s/N]: sì. Download dei pacchetti: esecuzione di rpm_check_debug. Esecuzione del test di transazione. Prova transazione completata. Test della transazione riuscito. Aggiornamento transazione in corso: vsftpd 1/2 Pulizia: vsftpd 2/2 Aggiornato: vsftpd.i386 0:2.0.5-24.el5_8.1 Completato!
Usa il elenco funzione per cercare il pacchetto specifico con nome. Ad esempio per cercare un pacchetto chiamato si apre, usa il comando
# lista yum si apresh Plugin caricati: mirror più veloce. Caricamento della velocità del mirror dal file host nella cache * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extra: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * aggiornamenti: mirror .nus.edu.sg. Pacchetti installati. openssh.i386 4.3p2-72.el5_6.3 installato. Pacchetti disponibili 4.3p2-82.el5 base
Per rendere la tua ricerca più accurata, definisci il nome del pacchetto con la loro versione, nel caso tu lo sappia. Ad esempio per cercare una versione specifica openssh-4.3p2 del pacchetto, utilizzare il comando.
# lista yum openssh-4.3p2
Se non ricordi il nome esatto del pacchetto, usa ricerca funzione per cercare tutti i pacchetti disponibili in modo che corrispondano al nome del pacchetto specificato. Ad esempio, per cercare tutti i pacchetti che corrispondono alla parola .
# yum ricerca vsftpd Plugin caricati: mirror più veloce. Caricamento della velocità del mirror dal file host nella cache * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extra: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * aggiornamenti: ftp .iitm.ac.in. Abbinato: vsftpd ccze.i386: un robusto coloratore di log. pure-ftpd-selinux.i386: supporto SELinux per Pure-FTPD. vsftpd.i386: vsftpd - Demone FTP molto sicuro
Supponi di voler conoscere le informazioni di un pacchetto prima di installarlo. Per ottenere informazioni su un pacchetto basta eseguire il comando seguente.
# yum info firefoxPlugin caricati: mirror più veloce. Caricamento della velocità del mirror dal file host nella cache * base: mirror.neu.edu.cn * epel: mirror.neu.edu.cn * extra: mirror.neu.edu.cn * rpmforge: mirror.nl.leaseweb.net * aggiornamenti: ftp .iitm.ac.in. Pacchetti disponibili. Nome: firefox. Arco: i386. Versione: 10.0.6. Versione: 1.el5.centos. Taglia: 20 M. Rep: aggiornamenti. Riepilogo: browser Web Mozilla Firefox. URL: http://www.mozilla.org/projects/firefox/ Licenza: MPLv1.1 o GPLv2+ o LGPLv2+ Descrizione: Mozilla Firefox è un browser Web open source, progettato per gli standard: conformità, prestazioni e portabilità.
Per elencare tutti i pacchetti disponibili nel database Yum, usa il comando seguente.
# lista yum | meno
Per elencare tutti i pacchetti installati su un sistema, basta emettere il comando sotto, visualizzerà tutti i pacchetti installati.
# lista yum installata | meno
Yum fornisce viene utilizzata per trovare a quale pacchetto appartiene un file specifico. Ad esempio, se desideri conoscere il nome del pacchetto che ha il /etc/httpd/conf/httpd.conf.
# yum fornisce /etc/httpd/conf/httpd.conf Plugin caricati: mirror più veloce. httpd-2.2.3-63.el5.centos.i386: Server HTTP Apache. Repo: base. Corrispondenza da: Nome file: /etc/httpd/conf/httpd.conf httpd-2.2.3-63.el5.centos.1.i386: Apache HTTP Server. Rep: aggiornamenti. Corrispondenza da: Nome file: /etc/httpd/conf/httpd.conf httpd-2.2.3-65.el5.centos.i386: Server HTTP Apache. Rep: aggiornamenti. Corrispondenza da: Nome file: /etc/httpd/conf/httpd.conf httpd-2.2.3-53.el5.centos.1.i386: Apache HTTP Server. Repo: installato. Abbinato da: Altro: Fornisce corrispondenza: /etc/httpd/conf/httpd.conf
Per scoprire quanti dei pacchetti installati sul tuo sistema hanno aggiornamenti disponibili, per verificare usa il seguente comando.
# yum check-update
Per mantenere il tuo sistema aggiornato con tutti gli aggiornamenti di sicurezza e dei pacchetti binari, esegui il comando seguente. Installerà tutte le patch e gli aggiornamenti di sicurezza più recenti sul tuo sistema.
# yum aggiornamento
In Linux, il numero di pacchetti è raggruppato in un gruppo particolare. Invece di installare singoli pacchetti con yum, puoi installare un gruppo particolare che installerà tutti i pacchetti correlati che appartengono al gruppo. Ad esempio, per elencare tutti i gruppi disponibili, è sufficiente eseguire il comando seguente.
# yum grouplistGruppi installati: Strumenti di amministrazione DNS Name Server Dialup Networking Support Editors Engineering and Scientific FTP Server Graphics Sviluppo Java Server di rete legacy. Gruppi disponibili: Creazione e pubblicazione di base Beagle Cluster Storage Clustering di sviluppo Librerie Strumenti di sviluppo Software didattico Eclipse KDE (ambiente desktop K) Sviluppo software KDE
Per installare un particolare gruppo di pacchetti, usiamo l'opzione as installazione di gruppo. Ad esempio, per installare "Database MySQL“, basta eseguire il comando seguente.
# yum groupinstall 'MySQL Database'Dipendenze risolte Pacchetto Arch Versione Dimensione repository. Aggiornamento: unixODBC i386 2.2.11-10.el5 base 290 k. Installazione per le dipendenze: unixODBC-libs i386 2.2.11-10.el5 base 551 k Riepilogo delle transazioni. Installa 1 pacchetto/i Aggiorna 1 pacchetto (s) Dimensione totale: 841 k. Va bene [s/N]: sì. Download dei pacchetti: esecuzione di rpm_check_debug. Esecuzione del test di transazione. Prova transazione completata. Test della transazione riuscito. Esecuzione transazione Installazione: unixODBC-libs 1/3 Aggiornamento: unixODBC 2/3 Pulizia: unixODBC 3/3 Dipendenza Installato: unixODBC-libs.i386 0:2.2.11-10.el5 Aggiornamento: unixODBC.i386 0:2.2.11- 10.el5 Completa!
Per aggiornare eventuali pacchetti di gruppi installati esistenti, eseguire semplicemente il comando seguente come mostrato di seguito.
# yum groupupdate 'Server dei nomi DNS'Dipendenze risolte. Dimensione del repository della versione dell'arco del pacchetto. Aggiornamento: bind i386 30:9.3.6-20.P1.el5_8.2 aggiorna 981 k bind-chroot i386 30:9.3.6-20.P1.el5_8.2 aggiorna 47 k. Aggiornamento per le dipendenze: bind-libs i386 30:9.3.6-20.P1.el5_8.2 aggiorna 864 k bind-utils i386 30:9.3.6-20.P1.el5_8.2 aggiorna 174 k Riepilogo transazioni. Installa 0 pacchetto/i Pacchetto aggiornamento 4 (s) Dimensioni totali: 2,0 M. Va bene [s/N]: sì. Download dei pacchetti: esecuzione di rpm_check_debug. Esecuzione del test di transazione. Prova transazione completata. Test della transazione riuscito. Esecuzione della transazione Aggiornamento: bind-libs 1/8 Aggiornamento: bind 2/8 Aggiornamento: bind-chroot 3/8 Aggiornamento: bind-utils 4/8 Pulizia: bind 5/8 Pulizia: bind-chroot 6/8 Pulizia: bind- utils 7/8 Pulizia: bind-libs 8/8 Aggiornato: bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2 Dipendenza aggiornata: bind-libs.i386 30:9.3.6-20.P1.el5_8.2 bind-utils.i386 30:9.3.6-20.P1.el5_8.2 Completare!
Per eliminare o rimuovere qualsiasi gruppo installato esistente dal sistema, è sufficiente utilizzare il comando seguente.
# yum groupremove 'Server dei nomi DNS'Dipendenze risolte Pacchetto Arch Versione Dimensione repository. Rimozione: bind i386 30:9.3.6-20.P1.el5_8.2 installato 2.1 M bind-chroot i386 30:9.3.6-20.P1.el5_8.2 installato 0.0 Riepilogo transazioni. Rimuovi 2 pacchi Reinstalla 0 pacchetto/i Downgrade 0 Pacchetto (s) Va bene [y/N]: y. Download dei pacchetti: esecuzione di rpm_check_debug. Esecuzione del test di transazione. Prova transazione completata. Test della transazione riuscito. Cancellazione transazione in corso: bind 1/2. avviso: /etc/sysconfig/named salvato come /etc/sysconfig/named.rpmsave Cancellazione: bind-chroot 2/2 Rimosso: bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30 :9.3.6-20.P1.el5_8.2 Completo!
Per elencare tutti i repository Yum abilitati nel tuo sistema, usa la seguente opzione.
# yum repolist ID del repository stato del nome del repository. base CentOS-5 - Base abilitata: 2.725. Pacchetti extra epel per Enterprise Linux 5 - i386 abilitato: 5.783. extra CentOS-5 - Extra abilitati: 282. mod-pagespeed mod-pagespeed abilitato: 1. rpmforge RHEL 5 - RPMforge.net - dag abilitato: 11.290. aggiornamenti CentOS-5 - Aggiornamenti abilitati: 743. repolista: 20.824
Il seguente comando visualizzerà tutti i repository yum abilitati e disabilitati sul sistema.
# gnam repolis tutto ID del repository stato del nome del repository. C5.0-base CentOS-5.0 - Base disabilitata. C5.0-centosplus CentOS-5.0 - Plus disabilitato. C5.0-extra CentOS-5.0 - Extra disabilitati. base CentOS-5 - Base abilitata: 2.725. Pacchetti extra epel per Enterprise Linux 5 - i386 abilitato: 5.783. extra CentOS-5 - Extra abilitati: 282. repolista: 20.824
Per installare un particolare pacchetto da uno specifico repository abilitato o disabilitato, devi usare –enablerepo opzione nel tuo comando yum. Ad esempio a Installa PhpMyAdmin 3.5.2 pacchetto, basta eseguire il comando.
# yum --enablerepo=epel install phpmyadmin Dipendenze risolte. Dimensione del repository della versione dell'arco del pacchetto. Installazione: phpMyAdmin noarch 3.5.1-1.el6 epel 4.2 M Riepilogo delle transazioni. Installa 1 pacchetto (s) Dimensione totale del download: 4,2 M. Dimensioni installate: 17 M. Va bene [s/N]: sì. Download dei pacchetti: phpMyAdmin-3.5.1-1.el6.noarch.rpm | 4.2MB 00:25. Esecuzione di rpm_check_debug. Esecuzione del test di transazione. Test della transazione riuscito. Esecuzione della transazione Installazione: phpMyAdmin-3.5.1-1.el6.noarch 1/1 Verifica: phpMyAdmin-3.5.1-1.el6.noarch 1/1 Installato: phpMyAdmin.noarch 0:3.5.1-1.el6 Completato!
L'utilità Yum fornisce una shell personalizzata in cui è possibile eseguire più comandi.
# yum shell Plugin caricati: mirror più veloce. Configurazione di Yum Shell. > aggiorna httpd. Caricamento velocità mirror da file host nella cache * base: mirrors.sin3.sg.voxel.net * epel: ftp.riken.jp * extra: mirrors.sin3.sg.voxel.net * aggiornamenti: mirrors.sin3.sg.voxel.net. Impostazione del processo di aggiornamento. >
Per impostazione predefinita, yum mantiene tutti i dati dei pacchetti abilitati al repository in /var/cache/yum/ con ogni sottodirectory, per pulire tutti i file memorizzati nella cache dal repository abilitato, è necessario eseguire quanto segue comando regolarmente per ripulire tutta la cache e assicurarsi che non venga utilizzato nulla di spazio non necessario. Non vogliamo fornire l'output del comando seguente, perché ci piace mantenere i dati memorizzati nella cache così com'è.
# yum pulisci tutto
Per visualizzare tutte le transazioni passate del comando yum, usa semplicemente il seguente comando.
# storia yum Plugin caricati: mirror più veloce. ID | Login utente | Data e ora | Azione/i | Alterato. 10 | radice | 2012-08-11 15:19 | Installa | 3 9 | radice | 2012-08-11 15:11 | Installa | 1 8 | radice | 2012-08-11 15:10 | Cancella | 1 EE 7 | radice | 2012-08-10 17:44 | Installa | 1 6 | radice | 2012-08-10 12:19 | Installa | 2 5 | radice | 2012-08-10 12:14 | Installa | 3 4 | radice | 2012-08-10 12:12 | Io, U | 13 E< 3 | radice | 2012-08-09 13:01 | Installa | 1 > 2 | radice | 2012-08-08 20:13 | Io, U | 292 EE 1 | Sistema | 2012-08-08 17:15 | Installare | 560. lista della storia
Abbiamo cercato di coprire tutti i comandi di base per avanzare yum con i loro esempi. Se qualcosa relativo ai comandi yum potrebbe essere sfuggito. Aggiornaci tramite la nostra casella dei commenti. Quindi, continuiamo ad aggiornare lo stesso in base al feedback ricevuto.