Ogni distribuzione Linux ha un modo per gestire i pacchetti software. Oltre a installare il software compilandolo dal sorgente, CentOS utilizza due comandi di gestione dei pacchetti:un comando RPM di basso livello e un comando YUM di alto livello.
Se ti sei mai chiesto cosa significhi YUM, è l'abbreviazione di Yellow Dog Updater, Modified. È un gestore di pacchetti di alto livello che utilizza lo strumento di gestione dei pacchetti RPM in background. Quindi, in che cosa differisce da RPM? Te lo mostro tra un minuto.
Installazione di pacchetti utilizzando YUM su CentOS
A scopo illustrativo, installiamo un pacchetto chiamato httpd , che è un server Web Apache. Useremo yum install httpd come segue:
yum install httpd
Dopo aver immesso quel comando, molto testo scorre e ti viene chiesto di premere "y" per procedere.
Prima di farlo, dai un'occhiata al testo sopra:puoi vedere il nome del pacchetto, la sua architettura, versione, repository e dimensione. Inoltre, puoi vedere che sta installando altri cinque pacchetti come dipendenze, per un totale di 6 pacchetti installati.
RPM vs YUM: Quando installi un pacchetto tramite RPM , potresti aver bisogno di altri pacchetti. Queste sono chiamate dipendenze . A volte può portare all'inferno della dipendenza , perché ad esempio pacchetto_a hanno una dipendenza chiamata package_b , e pacchetto_b, a sua volta, disponga di package_c come la dipendenza. Pacchetto_c può avere, hai indovinato, package_d come dipendenza e così via.
Quindi dobbiamo scaricare non solo il pacchetto_a ma anche pacchetto_b ,pacchetto_c e così via. Alcuni pacchetti potrebbero richiedere fino a 100 dipendenze. Un ulteriore problema è che dobbiamo installare la versione esatta del pacchetto delle dipendenze, che corrisponde al pacchetto man. YUM si occupa di tutto questo.
Premi y , e ancora una volta, ed è finita.
Un consiglio utile:se sei sicuro di quello che stai facendo, puoi accettare tutto automaticamente usando -y passa al comando yum. Ad esempio:
yum -y install httpd
Repository
I repository sono posizioni su Internet in cui sono archiviati tutti i pacchetti. Questi sono ovviamente configurati da qualche parte. In CentOS, i repository sono archiviati come file in /etc/yum.repos.d cartella. Possiamo dare un'occhiata al suo contenuto.
/etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
Tutti i repository (o "repos" ), definito con file che terminano con .repo sono già configurati quando installiamo CentOS minimo.
In CentOS 6, non è necessario gestire i pacchetti con yum per scaricare un rpm pacchetto, perché è disponibile nei repository predefiniti. Quindi proviamo a installarlo tramite yum . Esempio:
yum -y install epel-release
Ora vediamo il contenuto di /etc/yum.repos.d/ di nuovo.
ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo epel.repo epel-testing.repo
Possiamo vedere nuovi file epel.repo e epel-testing.repo. Definiscono repository con centinaia di pacchetti aggiuntivi per CentOS, RedHat, Scientific Linux e pochi altri cloni di RedHat. C'è anche un modo per mostrare tutti i repository e un certo numero di pacchetti che contengono con un comando yum, yum repolist.
yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.t-2.net * epel: mirrors.netix.net * extras: centos.t-2.net * updates: centos.t-2.net repo id repo name status base CentOS-6 - Base 6,713 epel Extra Packages for Enterprise Linux 6 - x86_64 12,506 extras CentOS-6 - Extras 43 updates CentOS-6 - Updates 319 repolist: 19,581
Puoi vedere qui che epel repository contiene incredibili 12.514 pacchetti.
Elenco dei pacchetti installati
Te l'ho mostrato nel mio RPM articolo come elencare i pacchetti installati, con rpm -qa. Puoi anche elencarli con yum , utilizzando elenco installato opzioni.
yum list installed
Il suo output è leggermente diverso da quello ottenuto dal rpm comando. Sta a te decidere quale utilizzare.
Rimozione dei pacchetti
Rimuovere il pacchetto è facile, basta usare cancella opzione quando si utilizza yum , seguito dal nome di un pacchetto.
yum erase -y epel-release
Simile a RPM , non è necessario specificare la versione del pacchetto, solo il nome del pacchetto.
Installiamolo di nuovo perché ne avremo bisogno di nuovo nell'articolo.
yum -y install epel-release
Ricerca di pacchetti
Puoi cercare i pacchetti dai repository installati utilizzando le opzioni di ricerca, seguite da un modello. Cercherà solo il nome del pacchetto e il riepilogo, ma se non c'è una corrispondenza, cercherà nella descrizione e nell'URL. Ad esempio, per cercare i pacchetti che hanno httpd nel loro nome/riepilogo/descrizione/URL, dovresti digitare:
yum search httpd
Molti pacchetti mostrano che alcuni di questi non hanno httpd nel nome del pacchetto. Lo vedrai invece nella descrizione, ad esempio mod_auth_mellon.
Potresti aver notato che la ricerca non fa distinzione tra maiuscole e minuscole, quindi non devi preoccuparti se stai cercando httpd , Httpd oppure HTTPD.
Recupera le informazioni sul pacchetto
Prima dell'installazione, possiamo ottenere maggiori informazioni su un determinato pacchetto utilizzando yum search seguito dal nome del pacchetto. Proviamo con httpd pacchetto.
yum info httpd
Mostra tutte le informazioni:il nome, l'architettura, la versione e la versione esatte, le dimensioni e anche cose come da quale repository è stato installato.
Mostrerà solo le informazioni sul pacchetto chiamato esattamente httpd. Poiché può produrre più risultati e desideriamo informazioni su tutti i pacchetti che iniziano con httpd, possiamo usare anche un carattere jolly.
yum info httpd*
Conclusione
Dopo un lungo periodo in cui l'RPM era il modo prevalente di installare il software, yum è oggi il modo preferito per installare software su sistemi operativi Linux compatibili con RedHat.
YUM era sempre disponibile, ma le versioni che potevano essere installate immediatamente erano per lo più obsolete. Oggi, i produttori di software offrono spesso versioni più recenti utilizzando yum mediante l'installazione del repository tramite .rpm file. Pertanto, ad esempio, se desideri installare il pacchetto PHP più recente, installiamo un repository che offre quella specifica versione di PHP. Yum è oggi più potente che mai e, conoscendolo meglio, puoi semplificare notevolmente la gestione di Linux.