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 [email protected] 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.
É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
Vegeu rpm -ql.
En sistemes Debian:
$ 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!
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
Consulteu l'article Taula comparativa comandes yum i apt
$ 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:
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 ...
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