Tutto il software su un sistema Linux è suddiviso in pacchetti che possono essere installati, disinstallati, aggiornati, interrogati e verificati. I sistemi CentOS/RHEL utilizzano Red Hat Package Manager (RPM) per facilitare l'installazione, l'aggiornamento e la rimozione dei pacchetti software.
CentOS/RHEL fornisce anche yum(Yellowdog Updater, Modified) utility, che funziona con i pacchetti RPM. Quando yum installa o aggiorna un pacchetto software, installa o aggiorna anche le dipendenze del pacchetto. L'utilità yum scarica le intestazioni e i pacchetti dei pacchetti dai repository. I repository sono posizioni di archiviazione da cui è possibile recuperare e installare i pacchetti software.
Yum file di configurazione
Il file di configurazione principale per yum è /etc/yum.conf . I file di configurazione che definiscono i repository si trovano in /etc/yum.repos.d directory. Un esempio di /etc/yum.conf segue qui:
# cat /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=3
Le configurazioni globali sono definite nella sezione [main]:
Parametro | Scopo |
---|---|
cachedir | La directory in cui archiviare i pacchetti scaricati |
keepcache | Impostare su 0 per indicare di rimuovere i pacchetti dopo averli installati. |
livello di debug | La quantità di informazioni registrate, da 0 a 10 |
file di registro | Il file di registro yum |
esattacca | Se impostato su 1, yum aggiorna i pacchetti solo con pacchetti della stessa architettura. |
obsoleti | Se impostato su 1, yum sostituisce i pacchetti obsoleti durante un aggiornamento. |
gpgcheck | Se impostato su 1, yum controlla le firme GPG per verificare l'autenticità dei pacchetti. La direttiva gpgkey specifica la posizione della chiave GPG. |
plugin | Se impostato su 1, abilita i plugin yum che estendono le funzionalità. |
installonly_limit | Il numero massimo di versioni installabili contemporaneamente per ogni singolo pacchetto |
Yum Repository
Linux memorizza le informazioni su ciascun repository in un file separato in /etc/yum.repos.d directory. Quello che segue è un esempio:
# ls -lrt /etc/yum.repos.d total 20 -rw-r--r-- 1 root root 733 Jul 27 18:09 rhel7.2.repo -rw-r--r-- 1 root root 358 Nov 5 14:00 rhel7.3.repo
I file repository definiscono quali repository utilizzare. Ogni file repository include le specifiche per diversi repository correlati. Ad esempio,
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Le direttive nei file repository includono:
direttive | Scopo |
---|---|
nome | Descrive il repository |
URL di base | È la posizione del repository principale (http://, ftp:// o file://) |
abilitato | Quando è impostato su 1, yum usa il repository. Il repository è disabilitato se impostato su 0. |
yum repository possono anche essere accessibili localmente, non solo su Internet. I repository yum locali vengono creati utilizzando createrepo comando e quindi impostando baseurl nella directory locale.
CentOS/RHEL 6:Come configurare il repository yum utilizzando un DVD montato localmenteCentOS/RHEL 7:Come configurare il repository yum utilizzando un DVD montato localmente
CentOS/RHEL:Come creare e ospitare un repository yum su httpd
L'utilità yum è spesso il modo più veloce per eseguire attività di gestione dei pacchetti. Fornisce funzionalità oltre a quelle fornite da rpm e dagli strumenti grafici di gestione dei pacchetti. Esistono molti comandi yum, ma quanto segue fornisce esempi di attività comuni.
Elenco dei pacchetti
Esistono diversi comandi yum per elencare i pacchetti in qualsiasi repository abilitato sul tuo sistema o installato. Puoi elencare tipi specifici di pacchetti e perfezionare l'elenco con una specifica del pacchetto di qualsiasi nome, architettura, versione o rilascio.
Per elencare tutti i pacchetti in tutti i repository e tutti i pacchetti installati sul tuo sistema, usa il seguente comando:
# yum list
Per elencare tutti i pacchetti installati sul sistema, utilizzare il seguente comando:
# yum list installed
Per elencare tutti i pacchetti disponibili per essere installati in qualsiasi repository abilitato sul tuo sistema, usa il seguente comando:
# yum list available
L'esempio seguente trova il nome del pacchetto a cui appartiene un file (ad esempio /etc/sysconfig/atd):
# yum provides /etc/sysconfig/atd at-3.1.13-17.el7.x86_64 : Job spooling tools ...
Verifica aggiornamenti
Per vedere quali pacchetti installati sul tuo sistema hanno aggiornamenti disponibili, usa il comando seguente:
# yum check-update
Vengono visualizzati il nome del pacchetto più l'architettura, la versione del pacchetto aggiornato e il repository (o
canale ULN). L'inserimento dell'aggiornamento della lista yum restituisce lo stesso output.
Aggiornamento dei pacchetti
Puoi scegliere di aggiornare un singolo pacchetto, più pacchetti o tutti i pacchetti contemporaneamente. Se eventuali dipendenze del pacchetto (o dei pacchetti) hanno aggiornamenti disponibili, vengono aggiornati anche loro.
Aggiornamento di un singolo pacchetto
Per aggiornare un singolo pacchetto, utilizza la seguente sintassi dei comandi:
# yum update package_name
Ad esempio, per aggiornare il pacchetto bind-libs, inserisci:
# yum update bind-libs
yum verifica le dipendenze, visualizza le dipendenze risolte e un riepilogo della transazione, richiede "Va bene [s/n] ", attende la tua risposta, quindi scarica e installa il pacchetto e tutti i pacchetti dipendenti necessari. Usa yum -y per ignorare la richiesta.
Aggiornamento di tutti i pacchetti
Per aggiornare tutti i pacchetti e le loro dipendenze, inserisci yum update (senza argomenti):
# yum update
Installazione dei pacchetti
Per installare un nuovo pacchetto insieme a tutte le dipendenze del pacchetto, utilizza la seguente sintassi:
# yum install package_name
Ad esempio, per installare il pacchetto zsh, inserisci:
# yum install zsh
Aggiornamento e installazione dei kernel
Non devi preoccuparti della distinzione tra l'installazione e l'aggiornamento di un pacchetto del kernel quando usi yum. yum installa sempre un nuovo kernel indipendentemente dal fatto che tu stia utilizzando yum update o yum install.
Rimozione dei pacchetti
Per rimuovere un pacchetto, utilizza la seguente sintassi:
# yum remove package_name
Ad esempio, per rimuovere il pacchetto zsh, inserisci:
# yum remove zshEsempi di comandi "yum history" per visualizzare, ripristinare, ripetere, annullare le transazioni yum
CentOS / RHEL :Configura gli aggiornamenti automatici yum con il servizio yum-cron