Lejos 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 o los paquetes que proporcionan el fichero indicado. Muy útil cuando necesitamos determinada librería. | yum whatprovides nombre_fichero |
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:
rpm -qa lista_paquetes.txt
Para luego instalarlos en la segunda máquina de esta forma que nos cuentan en Unixcraft:
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 paqueteyum-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:
[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.
Tengo una página hecha con WordPress igual a la tuya
DE TODO LO QUE HAY EN ESTE POST NO ME SIRVE PARA MI EJERCICIO IJOS DE PUTA OJALA OS MORIAIS TODOS
http://t.co/H74acUQs