Tag Archive | "yum"

Tags: , , , , , ,

Paquetes RPM, archivos .repo y yum

Posted on 07 January 2012 by Tea Server

herramientasLejos han quedado ya los tiempos en que se usaba la expresión “infierno de las dependencias” o que había que ir por ahí buscando herramientas de terceros o recurrir a rebuscados trucos para gestionar instalaciones y actualizaciones en una distribución Linux con paquetes rpm. Hoy en día la combinación rpm/yum de Fedora, Red Hat, CentOS y otras derivadas tiene poco (o nada) que envidiarle a la pareja dpkg/apt-get de Debian & co. En esta entradilla vamos a dar un pequeño repaso a las opciones más comunes y a alguna de las más útiles.

Para empezar, los comandos usados más frecuentemente son estos:

                         Comando                         
Actualizar completamente el sistema. Las opciones --skip-broken --nogpgcheck y --assumeyes (o simplemente -y) son útiles yum update
Tratar de instalar o actualizar un paquete de un fichero local (no lo hace si faltan dependencias) rpm -Uvh fichero.rpm
Instalar un paquete de un fichero local resolviendo las dependencias necesarias yum localinstal fichero.rpm
Instalar un paquete de los repositorios y resolver las dependencias necesarias yum install nombre_paquete
Tratar de eliminar un paquete (no lo hace si hay otros que dependen de él) rpm -e nombre_paquete
Eliminar un paquete y todos los que dependan de él (pedirá confirmación) yum remove nombre_paquete

En un gran porcentaje de casos esto es todo lo que debemos conocer de ambos y lo que tendremos que usar de forma habitual. Pero existen muchas otras opciones útiles y/o interesantes:

                         Comando                         
Realiza un "downgrade" del paquete en fichero.rpm rpm -Uvh --oldpackage fichero.rpm
Idem que el anterior, pero usando yum yum dowgrade nombre_paquete
Lista las dependencias necesarias para el paquete rpm -qpR fichero.rpm
Lista todos los ficheros (y su ubicación) que se han instalado con el paquete rpm -ql nombre_paquete
Nos indica el paquete del que ha salido el fichero indicado rpm -qf nombre_fichero
Busca paquetes cuyo nombre sea total o parcialmente el indicado yum search nombre
Busca el paquete indicado (admite comodines en el nombre) y nos dice si está instalado o no y otros datos. yum list nombre_paquete
Muestra el historial de uso reciente de yum yum history

Cuando queremos instalar un equipo con exactamente los mismos paquetes que otro dado, tenemos la posibilidad de crear una lista de paquetes instalados con el siguiente comando:

1
rpm -qa lista_paquetes.txt

Para luego instalarlos en la segunda máquina de esta forma que nos cuentan en Unixcraft:

1
sudo yum -y install $(cat paquetes.txt)

Para otras posibilidades, tienes buenas referencias aquí para yum y aquí y aquí para rpm (pero con cuidado, que he visto algunos ejemplos que usan opciones que ya no están disponibles, como --repackage) o, por supuesto, en las páginas del manual de cada una de ellas.

Además, yum cuenta con un amplio repertorio de plugins que le permiten mejorar u optimizar su trabajo. Puedes ver la lista de la que dispones en tus repositorios con alguno de los comandos que acabas de aprender (yum list yum-plugin* o yum search yum-plugin funcionarían). Aparte de los que vienen cargados con Fedora por defecto, estos son los que considero imprescindibles:

  • yum-plugin-fastestmirror elige el repositorio óptimo de entre una lista de mirrors.
  • yum-plugin-remove-with-leaves elimina también los paquetes de dependencias huérfanos cuando se borra un paquete
  • yum-plugin-downloadonly añade la posibilidad de poder descargar un paquete de los repositorios sin realizar su instalación

Y nos falta aún por ver la forma de indicarle al sistema donde están los repositorios de software, o sea, el equivalente al archivo /etc/apt/sources.list de los Debian. Esto se hace en archivos con extensión .repo que deben de crearse en el directorio /etc/yum.repos.d. Lo normal es crear un archivo por cada repositorio o familia de estos. Aquí tenemos también diferentes opciones de personalización. Veamos un ejemplo:

1
2
3
4
5
6
7
8
[kde-testing]
name=kde-testing
# baseurl=http://ftp.heanet.ie/pub/kde-redhat/fedora/$releasever/$basearch/testing
mirrorlist=http://apt.kde-redhat.org/apt/kde-redhat/fedora/mirrors-testing
enabled=1
gpgkey=http://apt.kde-redhat.org/apt/kde-redhat/kde-redhat.RPM-GPG-KEY
gpgcheck=1
skip_if_unavailable=1

En las páginas del manual de yum.conf (el archivo de configuración de esta herramienta) tienes explicadas estas opciones y otras muchas bajo el epígrafe de repository options.

Y para el que prefiera una utilidad gráfica y, como a mi, no le entusiasme KPackagekit (apper desde fedora 16), puede echarle un vistazo a yumex (mi favorito) o a smart.

Compártelo: emailPDFPrintIdenti.caTwitterFacebookdel.icio.usDiigoFriendFeedBitacoras.comNetvibesMeneameBarraPuntoWikioLinkedInGoogle BuzzGoogle BookmarksLiveMisterWongTechnorati

Syndicated from: Un lugar en el mundo...

Comments (0)

Register your blog:

Enter your blog address below to become a part of the TeaBreak network.

About TeaBreak:

TeaBreak.pk is a blog aggregator that syndicates pakistani blogs and categorizes them appropriately. Our mission is to give our readers a break from work and let them enjoy their blog time. And we are doing this by bringing all the popular blogs of Pakistan on one platform.