IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Yellow dog Updater, Modified (YUM) és una eina Open Source que permet gestionar paquets en sistemes Linux basats en RPM.

Per analogia és equivalent a apt l'eina de gestió de paquets Linux en sistemes basats en paquets Debian.

Va ser desenvolupada per Seth Vidal i un grup de programadors voluntaris, actualment es mantinguda pel projecte Linux@DUKE de la Universidad de Duke.

yum és una eina per línia d'ordres però existeixen múltiples frontends gràfics com pyrut.

Yum es una utilitat que va ser tornada a escriure completament a partir de Yellowdog Updater (YUP)

Yum ha estat adoptat com a gestor de paquets en distribucions com Fedora o CentOS.

A SUSE Linux 10.1 s'ha afegit suport per a repositoris YUM en YaST i els repositoris d'openSUSE estàn basats exclusivament en Yum.

Configuració

Fitxer /etc/yum.conf

És el fitxer principal de configuració de yum:

$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

#  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m  
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d 

Podeu consultar quins són els fitxers de configuració de yum amb:

$ rpm -ql yum | grep etc
/etc/logrotate.d/yum
/etc/yum
/etc/yum.conf
/etc/yum.repos.d
/etc/yum/pluginconf.d

A la carpeta /etc/yum.repos.d trobareu la configuració dels dipòsits de yum. Per exemple a una Fedora trobareu:

$ ls /etc/yum.repos.d/
fedora-rawhide.repo  fedora.repo  fedora-updates.repo  fedora-updates-testing.repo

Un exemple de fitxer de configuració:

$ cat /etc/yum.repos.d/fedora.repo 
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch  

[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch=$basearch
enabled=0
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

Exemples

Mostrar els fitxers instal.lats per un paquet

Vegeu rpm -ql.

En sistemes Debian:

Instal·lar un paquet

$ sudo yum install nmap
Connectors carregats: refresh-packagekit
S'està preparant el procés d'instal·lació
S'estan resolent dependències
Encara hi ha transaccions sense acabar. Hauríeu de considerar executar yum-complete-transaction abans per acabar-les.
--> S'està executant la transacció de prova
---> Paquet nmap.i586 2:5.00-1.fc11 passarà a ser actualitzat
--> Ha finalitzat la resolució de dependències 

Dependències resoltes  

=========================================================================================================================================
Paquet                            Arq                               Versió                                       
Repositori                            Mida
=========================================================================================================================================
Instal·lant:
 nmap                              i586                              2:5.00-1.fc11         updates                              1.4 M

Transaction Summary
=======================================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Mida total de la descàrrega: 1.4 M
És correcte [s/N]: s
S'estan descarregant els següents paquets:
nmap-5.00-1.fc11.i586.rpm                                                                    00:04     
S'està executant rpm_check_debug
S'està executant la transacció de prova
Ha acabat la transacció de prova
La transacció de prova ha acabat amb èxit
S'està executant la transacció
  Instal·lant    : 2:nmap- -1.fc11.i586                                                                            1/1 
Instal·lat:
  nmap.i586  2:5.00-1.fc11

Completat!

Buscar quins paquets proveïxen un fitxer

El millor és buscar pel path complet del fitxer:

$ yum provides /etc/init.d/sshd
Connectors carregats: refresh-packagekit
openssh-server-5.2p1-2.fc11.i586 : An open source SSH server daemon
Repo        : installed
Coincidències amb:
Altre       : Proporciona-coincideix: /etc/init.d/sshd

Sinó cal tenir en compte:

$ yum provides sshd
Connectors carregats: refresh-packagekit
Avís: les versions 3.0.x del yum comproven incorrectament els noms de fitxer.
 Podeu usar "*/sshd" i/o "*bin/sshd" per obtenir aquest comportament
No Matches found

És a dir proveu amb:

$ yum provides */sshd
Connectors carregats: refresh-packagekitelists_db                                                                                       |  13 MB       01:05      
updates/filelists_db                                                                                                                    | 6.1 MB       00:30     
logwatch-7.3.6-42.fc11.noarch : A log file analysis program
Repo        : fedora
Coincidències amb:
Fitxer      : /usr/share/logwatch/scripts/services/sshd

  

openssh-server-5.2p1-2.fc11.i586 : An open source SSH server daemon
Repo        : fedora
Coincidències amb:
Fitxer      : /etc/rc.d/init.d/sshd
Fitxer      : /etc/pam.d/sshd
Fitxer      : /var/empty/sshd
Fitxer      : /usr/sbin/sshd
 
logwatch-7.3.6-43.fc11.noarch : A log file analysis program
Repo        : updates
Coincidències amb:
Fitxer      : /usr/share/logwatch/scripts/services/sshd 
openssh-server-5.2p1-2.fc11.i586 : An open source SSH server daemon
Repo        : installed
Coincidències amb:
Fitxer      : /etc/pam.d/sshd
Fitxer      : /etc/rc.d/init.d/sshd
Fitxer      : /usr/sbin/sshd 
logwatch-7.3.6-42.fc11.noarch : A log file analysis program
Repo        : installed
Coincidències amb:
Fitxer      : /usr/share/logwatch/scripts/services/sshd

Yum versus apt

Consulteu l'article Taula comparativa comandes yum i apt

Resolució de problemes

Altres gestors de paquets estan en ús

$ sudo yum update
...
Alguna altra aplicació té el bloqueig del yum; s'està esperant a que surti...
 L'altre aplicatiu és: PackageKit
   Memòria : 103 M RSS (115 MB VSZ)
   Iniciat: fa Tue Dec  8 19:12:52 2009-02:50
   Estat  : Està dormint, pid: 2082

Cal esperar que l'altre aplicació finalitzi o si es tracta d'una aplicació penjda, cal matar el procés i segurament també eliminar el fitxer de lock:


Continuar una instal·lació aturada a mitges

Si teniu una instal·lació a mitges, al instal·lar un paquet us donarà el següent missatge:

$ sudo yum install nmap
Connectors carregats: refresh-packagekit
S'està preparant el procés d'instal·lació
S'estan resolent dependències
Encara hi ha transaccions sense acabar. Hauríeu de considerar executar yum-complete-transaction abans per acabar-les.

Tal com comenta, haureu d'executar:

$ sudo yum-complete-transaction
Connectors carregats: refresh-packagekit
There are 1 outstanding transactions to complete. Finishing the most recent one
The remaining transaction had 491 elements left to run
...

yumdownloader

Aquesta eina es proporcionada pel paquet yum-utils:

$ whereis  yumdownloader
yumdownloader: /usr/bin/yumdownloader /usr/share/man/man1/yumdownloader.1.gz
$ rpm -qf /usr/bin/yumdownloader
yum-utils-1.1.21-2.fc11.noarch
yum-utils-1.1.23-1.fc11.noarch

Segons el manual:

$ man yumdownloader
...
yumdownloader is a program for downloading RPMs from Yum repositories.

Per exemple, podem descarregar un paquet amb:

$ yumdownloader nmap

Un cop hagi acabat tindreu el paquet rpm corresponent a nmap a la carpeta on heu executar yumdownloader. Per exemple:

$ ls nmap-5.00-1.fc11.i586.rpm

Vegeu també

Enllaços externs