Gestió de paquets RPM, YUM, DNF i Zypper

A més dels gestors de paquets de debian, que ja vam discutir aquí hi ha més gestors de paquets, com els que explicarem avui: RPM, YUM, DNF i Zypper.

rpm és l’eina essencial per administrar paquets de software en sistemes Red Hat o derivats. Les seves funcions principals són:

Per instal·lar paquets, farem:

bash

$ sudo rpm -i PACKAGENAME

On PACKAGENAME és el paquet a instal·lar. Per actualitzar paquets, fem:

bash

$ sudo rpm -U PACKAGENAME

Per veure més informació en les dues comandes esmentades, podem afegir el paràmetre -v. Per veure el progrès podem afegir també -h.

Per eliminar un paquet, farem:

bash

$ sudo rpm -e PACKAGENAME

RPM no pot resoldre dependències per si sol, així que si un paquet requereix d’altres per poder funcionar, rpm llistarà aquests paquets necessaris, però serà cosa de l’usuari instal·lar-los.

Per llistar els paquets instal·lats, farem:

bash

$ sudo rpm -qa

Per obtenir informació sobre un paquet instal·lat (núm. de versió, arquitectura, data d’instal·lació,…), farem:

bash

$ sudo rpm -qi PACKAGENAME

Per obtenir una llista dels arxius dins un paquet instal·lat, fem:

bash

$ sudo rpm -ql PACKAGENAME

Per obtenir informació sobre un paquet no instal·lat, podem fer:

bash

$ sudo rpm -qip PACKAGENAME
# I també
$ sudo rpm -qlp PACKAGENAME

Per esbrinar quin arxiu posseeix un paquet instal·lat, utilitzarem els paràmetres -qf (“query file”) seguit de l’arxiu:

bash

$ sudo rpm -qf /usr/bin/unzip

Aquest gestor de paquets estava pensat per la distribució Yellow Dog Linux, però amb el temps va evolucionar per administrar paquets en sistemes basats en RPM.

És semblant a apt en quant a funcions, ja que permet cercar, instal·lar i eliminar paquets i maneja les dependències automàticament.

Per instal·lar un paquet, primer s’ha de conèixer el seu nom. Per això, yum permet realitzar cerques amb yum search:

bash

$ sudo yum search 7zip
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.usfcar.br
 * epel: mirror.globo.com
 * extras: mirror.ufscar.br
 * updates: mirror.ufscar.br
 (...)

Com ja hem explicat abans, yum gestiona les dependències automàticament. Per tant, si volem instal·lar un paquet i no tenim les seves dependències, yum les instal·larà automàticament.

Per instal·lar un paquet, fem:

bash

$ sudo yum install PACKAGENAME

Per verificar si hi ha actualitzacions per un paquet, fem:

bash

$ sudo yum check-update PACKAGENAME

Si no afegim PACKAGENAME, buscarà si hi ha actualitzacions disponibles per a tots els paquets instal·lats.

I per actualitzar, fem:

bash

$ sudo yum update PACKAGENAME

Com abans, si no afegim PACKAGENAME, actualitzarà tots els paquets del sistema.

Per eliminar un paquet, fem:

bash

$ sudo yum remove PACKAGENAME

Per veure les dependències que falten a l’hora d’instal·lar un paquet:

bash

$ sudo yum whatprovides libgimpui-2.0.so.0

També funciona amb paquets instal·lats.

Per obtenir informació sobre un paquet, fem:

bash

$ sudo yum info PACKAGENAME

Els repositoris de yum es troben a /etc/yum.repos.d. Cada repo es representa amb un arxiu .repo. Per afegir repositoris, els podem afegir al directori mencionat o al final de /etc/yum.conf, tot i que la manera correcta de fer-ho és amb l’eina que proveeix yum, yum-config-manager.

Per afegir un repositori, utilitzarem el paràmetre –ad-repo:

bash

$ sudo yum-config-manager --ad-repo https://...repo

Per llistar els repositoris disponibles, farem:

bash

$ sudo yum repolist all

Per habilitar o deshabilitar repositoris, fem:

bash

$ sudo yum config-manager --enable/disable REPO

yum emmagatzema la caché a /var/cache/yum. Per netejar-la, podem fer yum clean seguit del que volem netejar.

És l’eina que s’utilitza a Fedora i és una bifurcació de yum, pel que és molt semblant.

Per buscar paquets, farem:

bash

$ sudo dnf search PATTERN

Per obtenir informació sobre un paquet, fem:

bash

$ sduo dnf info PACKAGENAME

Per instal·lar un paquet, fem:

bash

$ sudo dnf install PACKAGENAME

Per eliminar un paquet fem:

bash

$ sudo dnf remove PACKAGENAME

Per actualitzar paquets, fem:

bash

$ sudo dnf update PACKAGENAME

Si no afegim quin paquet volem actualitzar, els actualitzarà tots.

Per trobar quin paquet dona un arxiu, fem:

bash

$ sudo dnf provides FILENAME

Per llistar els paquets instal·lats, fem:

bash

$ sudo dnf list --installed

Per llistar el contingut d’un paquet, fem:

bash

$ sudo dnf repoquery -l PACKAGENAME

Per llistar els repositoris, fem:

bash

$ sudo dnf repolist

Per llistar només els habilitats, afegim el paràmetre –enabled.

Per afegir un repositori, fem:

bash

$ sudo dnf config-manager --ad-repo URL

I per habilitar-lo, ho fem també amb config-manager i la opció –set-emabled REPO_ID.

És l’eina de paquets utilitzada per SUSE i openSUSE. Té característiques semblants a apt i yum, i també resol dependències per si mateix.

També funciona amb repositoris i metadades, que s’han d’actualitzar perquè la utilitat conegui els últims paquets disponibles. Es fa amb:

bash

$ sudo zypper refresh

zypper té una funció d’actualització automàtica que es pot habilitar per cada repositori.

Per buscar paquets, farem:

bash

$ sudo zypper se PACKAGENAME

I per buscar en els paquets instal·lats, podem afegir el paràmetre -i.

Per instal·lar paquets, fem:

bash

$ sudo zypper in PACKAGENAME

zypper també pot instal·lar paquets rpm. Per fer-ho, utilitzarem la mateixa comanda especificant la ruta del paquet .rpm.

Per actualitzar els paquets, fem:

bash

$ sudo zypper update

Per eliminar un paquet, fem:

bash

$ sudo zypper rm PACKAGENAME

Per trobar quin paquet dona un arxiu, fem:

bash

$ sudo zypper se --provides /ruta/al/paquet

Per obtenir inforamció d’un paquet, fem:

bash

$ sudo zypper info PACKAGENAME

Per veure una llista dels repositoris del sistema, fem:

bash

$ sudo zypper repos

Podem habilitar i deshabilitar repositoris amb el paràmetre modifyrepo seguit de -e (enable) o -d (disable).

Per automatitzar l’actualització dels repositoris, utilitzarem modifyrepo amb -f i -F.

Per això tenim dues opcions, addrepo i removerepo.

Fins aquí el post d’avui. Espero que hagi estat d’interès i d’ajut tan per aprendre a utilitzar certs gestors de paquets com per estudiar per certificacions LPIC. Recorda que pots deixar un comentari i compartir. Ens veiem al següent!