Red Hat: usare il DVD di installazione come repository locale per yum

Creare il file per il repository sotto /etc/yum.repos.d. Chiamiamolo ad esempio: rhel-dvd.repo (attenzione: l’estensione è fondamentale). Di default il repository sarà disabilitato, per evitare messaggi d’errore ogni volta che si invoca yum senza la iso montata o il DVD nel lettore

[dvd]
name=Red Hat Enterprise Linux Installation DVD
baseurl=file:///media/Server
enabled=0

Montare la iso sotto /media

mount -o loop /vv_acsor/rhel-server-5.8-x86_64-dvd.iso /media/

Ora per installare un pacchetto sarà sufficiente digitare il comando:

yum install --enablerepo=dvd nomepacchetto

Scegliere automaticamente il mirror più veloce per yum

Fedora e CentOS usano per distribuire i propri pacchetti una nutrita serie di mirror. Per scaricare sempre dal mirror più veloce si può usare un plugin per yum che si chiama yum-fastestmirror.
Per installarlo è sufficiente aprire un terminale e digitare il comando: yum install yum-fastestmirror Il plugin si occuperà di monitorare i tempi di risposta dei server dove si trovano i pacchetti e cercherà di scaricarli sempre da quello più veloce, senza nessun nostro ulteriore intervento.

Scoprire in quale pacchetto si trova un file [Red Hat way]

Dopo aver visto come si fa a sapere in quale pacchetto .deb – non ancora installato – si trova un file che ci serve, vediamo come risolvere lo stesso problema sui sistemi che usano yum. Nell’esempio per debian abbiamo cercato il file gdlib-config, cerchiamolo anche su CentOS: yum whatprovides *gdlib-config
...
gd-devel.i386 : The development libraries and header files for gd
È necessario usare l’asterisco perché il comando yum whatprovides si aspetta di ricevere come argomento un path completo, possiamo scriverlo infatti anche così yum whatprovides /usr/bin/screen
...
screen.i386 : A screen manager that supports multiple logins on one terminal

Configurare yum per collegarsi dietro a un proxy

Se il server non è connesso direttamente a internet avremo bisogno di indicare a yum il proxy da utilizzare. Per farlo dobbiamo modificare il file /etc/yum.conf e aggiungergli al fondo (o dove meglio crediamo, la posizione non è importante) una riga come questa proxy=http://proxy.dominio.it:3128Se il proxy richiede l’autenticazione dobbiamo valorizzare anche le variabili proxy_username e proxy_password come nell’esempio che segue proxy=http://proxy.dominio.it:3128
proxy_username=pippo
proxy_password=nonteladico

Installare un gruppo di pacchetti con Yum


Yum è il gestore di pacchetti di default delle ultime versioni di Red Hat Enterprise Linux, CentOS e Fedora. In sostanza è l’analogo di apt.

Vediamo come si installa un intero gruppo di pacchetti

1. Elenchiamo i gruppi disponibili
yum grouplist
2. Ok, nel mio elenco c’è un bel gruppo che si chiama “Clustering”, sembra interessante, vediamo un po’ cosa c’è dentro
$ yum groupinfo "Clustering"

Group: Clustering
Description: Clustering Support.
Default Packages:
clustermon
conga-devel
ricci
system-config-cluster
ipvsadm
piranha
cluster-snmp
modcluster
ricci-modcluster
cluster-cim
rgmanager
luci

3. È esattamente quello che cercavo: luci, ricci, piranha e conga… si installa di corsa!
yum groupinstall "Clustering"
4. Mi sono sbagliato, e poi tutte quelle bestie nel case mi spaventano un po’. Ranziamo via tutto
yum groupremove "Clustering"
E ora, per finire, si potrebbe imbastire una bella flame war con i talebani di apt… Uhm.. m’importa sega…

Aggiornare il sistema con yum ignorando le dipendenze mancanti

Tenere aggiornati i sistemi è uno dei compiti principali di un System Administrator. Se abbiamo installato pacchetti da repository non ufficiali può capitare però che yum non riesca a risolvere alcune dipendenze e si blocchi del tutto, restituendo un errore.

Per poter comunque aggiornare il sistema, tralasciando i pacchetti che hanno problemi di dipendenze, possiamo utilizzare il plugin per yum yum-skip-broken.

Per installarlo:

yum install yum-skip-broken.noarch

Per aggiornare il sistema ora basterà aggiungere l’opzione –skip-broken, come nell’ esempio seguente:

yum update --skip-broken