Mostrando entradas con la etiqueta yum. Mostrar todas las entradas
Mostrando entradas con la etiqueta yum. Mostrar todas las entradas

Red Hat, instalar versión de un paquete

Hoy toca enseñar un pequeño truco acerca de cómo instalar una versión concreta de un paquete en sistemas Red Hat. En la mayoría de los repositorios, los mantenedores van sacando nuevas versiones y aunque puede resultar muy útil tener siempre la última versión instalada (seguridad, estabilidad, etc.) puede darse el caso de que necesites una versión concreta de un paquete para una determinada prueba. En este caso, la forma de instalarlo ya no es la de siempre,
shell> yum install openssh-server
Sino que hay que saber qué versión del paquete necesitas instalar y pasársela al instalador.
Para empezar, vamos a ver el listado de paquetes disponibles en el repositorio y con su correspondiente versión.
shell> yum --showduplicates list openssh-server
Paquetes disponibles
openssh-server.x86_64   5.3p1-104.el6       base
openssh-server.x86_64   5.3p1-104.el6_6.1   updates
Y de ahí, podemos optar por instalar el paquete que deseemos, tal que así
shell> yum install package-version
Que traducido a un caso concreto, quedaría,
shell> yum install openssh-server-5.3p1-104.el6
Espero que os haya sido de ayuda.
Leer más

Instalación de paquetes en GNU/Linux

Por suerte, desde hace ya muchos años instalar o desinstalar paquetes en los diferentes sistemas operativos de base Linux se hizo mucho más sencillo. Al principio de los tiempos, instalar algo era casi para "nativos del código fuente". Aun recuerdo la época en la que había que compilar los binarios con todas sus dependencias. Conseguías más rendimiento, puede ser, si sabías lo que hacías, pero actualizar un paquete era casi misión imposible. El trabajo casi nunca compensaba el esfuerzo.
Por suerte, el mundo Linux avanzó y las principales distribuciones tienen desde hace mucho tiempo repositorios en los que ofrecen software ya compilado y empaquetado. Así, instalar o actualizar un paquete es una tarea muy sencilla. Pero por supuesto, cada distribución, optó por un método diferente y para nada homogéneo, ni de paquetes ni de instrucciones para la instalación.
A continuación os dejo aquí una tabla comparativa de los comandos que cada distribución tiene para hacer la misma tarea. En todos los casos, los paquetes a instalar vienen de los repositorios que estén configurados en cada uno de los sistemas.
Linux OS
search
install
update
remove
Debian
Ubuntu
Linux Mint
apt-cache search [pkg] apt-get install [pkg] apt-get upgrade apt-get remove [pkg]
Fedora
Red Hat
CentOS
yum search [pkg] yum install [pkg] yum update yum remove [pkg]
Mandriva
Mageia
urpmi -y [pkg] urpmi [pkg] urpmi-auto-select urpme [pkg]
OpenSuse zypper search [pkg] zypper install [pkg] zypper update zypper remove [pkg]
Arch pacman -Ss [pkg] pacman -S [pkg] pacman -Syu pacman -R [pkg]
Gentoo emerge -s [pkg] emerge [pkg] emerge -uD [pkg] emerge -C [pkg]
Es muy recomendable tener presente esta chuleta de ayuda siempre que tengáis que manejar más de un sistema de base Linux de una familia diferente.
Leer más

Comprobando fallos de seguridad con yum

Prácticamente todas las distribuciones actuales de GNU/Linux tiene un método de control para informar sobre los fallos de seguridad y poder aplicar los parches correspondientes que salen. Hoy vamos a ver cómo realizar esta tarea en Red Hat, apoyándonos en yum, su gestor de paquetes. Este truco es aplicable tanto para Red Hat como para Fedora, no así para CentOS, que cambia un poco la forma de emplearlo y el nombre de los paquetes.
Desde yum podremos obtener información acerca de los fallos de seguridad más recientes que hay, así como datos adicionales de los mismos. De la misma forma, también podremos lanzar una actualización que sólo afecte a aquellos paquetes con problemas de seguridad, que son los más urgentes. Para realizar todas estas tareas, vamos a emplear el paquete yum-plugin-security, que no es más que un plugin que se encarga de tratar desde yum los temas de seguridad. Lo primero, instalarlo.
shell> yum install yum-plugin-security
Una vez instalado, podremos ya pedirle al sistema que nos enumere aquellos fallos de seguridad que están presentes en nuestro sistema, es decir, aquellos a los que todavía no se les aplicó un parche. Por ejemplo, la salida de un servidor con Red Hat 6,
shell> yum updateinfo list security

RHSA-2014:0328 Important/Sec. kernel-2.6.32-431.11.2.el6.x86_64
RHSA-2014:0328 Important/Sec. kernel-firmware-2.6.32-431.11.2.el6.noarch
RHSA-2014:0328 Important/Sec. kernel-headers-2.6.32-431.11.2.el6.x86_64
RHSA-2014:0330 Moderate/Sec.  libsmbclient-3.6.9-168.el6_5.x86_64
RHSA-2014:0330 Moderate/Sec.  samba-common-3.6.9-168.el6_5.x86_64
RHSA-2014:0330 Moderate/Sec.  samba-winbind-3.6.9-168.el6_5.x86_64
RHSA-2014:0330 Moderate/Sec.  samba-winbind-clients-3.6.9-168.el6_5.x86_64
Una vez tengamos el listado de fallos de seguridad, podremos obtener más información acerca de cualquiera de ellos.
shell> yum updateinfo "RHSA-2014:0328"

====================================================================
Important : kernel security and bug fix update
====================================================================
Update ID : RHSA-2014:0328
  Release : 
     Type : security
   Status : final
   Issued : 2014-03-25 00:00:00
     Bugs : 921970 - CVE-2013-1860 kernel: usb: cdc-wdm buffer overflow ...
          : 1062577 - CVE-2014-0055 kernel: vhost-net: insufficient ...
          : 1064253 - CVE-2014-0069 kernel: cifs: incorrect handling of...
          : 1070705 - CVE-2014-0101 kernel: net: sctp: null pointer ...
     CVEs : CVE-2013-1860
          : CVE-2014-0101
          : CVE-2014-0055
          : CVE-2014-0069
 Descript : The kernel packages contain the Linux kernel, the core of any
          : Linux operating system.
          : 
          : * A flaw was found in the way the get_rx_bufs()
          :   function in the vhost_net implementation in the
          :   Linux kernel handled error conditions reported
          :   by the vhost_get_vq_desc() function. A
          :   privileged guest user could use this flaw to
          :   crash the host. (CVE-2014-0055, Important)
          ...

 Severity : Important
Es importante aquí destacar la información que el primero comando nos da, pudiendo diferenciar rápidamente los tipos de vulnerabilidades por su criticidad (Important, Moderate, bugfix, etc.).
Por supuesto, una vez obtenemos este listado, actualizar el paquete en cuestión es muy sencillo, aunque ir paquete a paquete no es lo más eficiente. Para actualizar todos aquellos paquetes con un bug de seguridad, simplemente,
shell> yum --security update-minimal
Ya no hay excusas para no estar informado de aquellos problemas de seguridad y cómo afectan a nuestros sistemas, ni por supuesto, tener los sistemas sin el adecuado parche. Una de las mejoras cosas que tiene GNU/Linux es que los parches de seguridad salen casi tan rápido como los fallos se publican.
Leer más

GPG key Error con yum

Aunque este error fue algo esporádico, la verdad es que tiene su lógica y probablemente a vosotros también os haya pasado si habéis creado el fichero de acceso a EPEL directamente y no instalasteis el paquete del repositorio.
Por defecto, el fichero que emplea yum para acceder al repositorio EPEL es /etc/yum.repos.d/epel.repo, el cual contiene una línea similar a la que sigue, que hace referencia a un fichero de clave GPG.
...
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
Si dicho fichero no existe, no se puede verificar la autenticidad de los paquetes, por lo que el siguiente fallo aparecerá al intentar descargar e instalar algún paquete desde dicho repositorio.
shell> yum update
...
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
La solución más sencilla es instalar el fichero del repositorio con el paquete epel-release, que se encargará de crear el fichero del repositorio, localizado bajo /etc/yum.repos.d/ y también el fichero con la clave GPG.
shell> yum install epel-release.noarch
Tras la instalación de dicho paquete, ya no se debería de volver a tener dicho error. Al intentar instalar algo por primera vez desde el repositorio EPEL, nos saldrá el siguiente aviso de empleo de clave GPG.
shell> yum update
...
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
 Userid : EPEL (6) 
 Package: epel-release-6-8.noarch (@epel)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Running rpm_check_debug
...
Tras aceptarlo, ya se podrá trabajar con el repositorio EPEL de forma permanente y certificando la autenticidad de los paquetes.
Leer más

Yum, Metadata file does not match checksum

Hoy tuve una mala experiencia con yum. Necesitaba instalar unos paquetes y como siempre, en el peor momento, el mejor error. El detalle vino al intentar actualizar el listado de paquetes disponibles que tenía el servidor remoto (en este caso epel). Tras descargar la base de datos, al hacer la comparación daba un error de checksum: Los datos no coinciden!.
shell> yum install php-pdo.x86_64
...
epel/pkgtags                                       | 996 kB     00:01
http://...: [Errno -1] Metadata file does not match checksum
Trying other mirror.                               | 997 kB     00:00
epel-testing/pkgtags                               | 996 kB     00:01
http://...: [Errno -1] Metadata file does not match checksum
Este fallo se produce en numerosas ocasiones en sistemas RedHat, CentOS y Fedora, principales distribuciones basadas en RPM. El error que obtenemos, nos indica que la versión del fichero que tenemos cacheada no coincide con la versión que estamos descargando. Existen por lo tanto dos soluciones: La primera, esperar a que se caduque la caché local, lo que hará el purgado automático de dicho fichero. La segunda, forzar la limpieza de la caché con,
shell> yum clean all
Y tras ello ejecutar nuevamente el comando. Descargará todos los ficheros completos, lo que puede llevarle un tiempo si tenemos muchos repositorios, pero habremos solucionado el problema.
shell> yum install php-pdo.x86_64
...
epel/metalink                                      |  23 kB     00:00
epel                                               | 4.2 kB     00:00
epel/primary_db                                    | 6.0 MB     00:00
epel-testing/metalink                              |  23 kB     00:00
epel-testing                                       | 4.2 kB     00:00
epel-testing/primary_db                            | 405 kB     00:00
Setting up Update Process
Resolving Dependencies
...

La entrada Yum, Metadata file does not match checksum la puedes leer en El mundo en bits.
Leer más

RedHat, limpiar paquetes descargados

Una de las cosas que siempre suele suceder al instalar y actualizar paquetes en nuestras distribuciones es que estos terminan ocupando más espacio del que deberían. Por defecto, al actualizar un paquetes, éste suele ocupar un poco más de espacio que el anterior, por nuevas funcionalidades o librerías nuevas que incluya, pero a mayores, ocupa todo el espacio del propio paquete que se descargar. Este paquete queda en la caché de nuestro gestor de paquetes y por lo tanto en disco, aunque no sea estrictamente necesario.
En sistemas debian, para hacer un purgado de dichos ficheros nos llega con hacer,
shell> apt-get clean
En sistemas Redat/CentOS, que emplean yum, también podemos hacer algo similar que ayuda al purgado de dichos paquetes,
shell> du -sh /var/cache/yum
48M   /var/cache/yum
shell> yum clean all
Loaded plugins: fastestmirror
Cleaning up Everything
Cleaning up list of fastest mirrors
shell> du -sh /var/cache/yum
84K   /var/cache/yum
Como se puede observar, tras el purgado el espacio fue liberado. En el fichero de configuración, /etc/yum.conf, está definido el directorio cachedir.
Leer más

CentOS forzar desinstalación de paquetes

Por defecto y desde hace ya algunas versiones Red Hat y por lo tanto CentOS han implantado yum como herramienta para la gestión de paquetes. Sin embargo todavía queda presente el comando rpm que sigue plenamente funcional y que en determinadas ocasiones nos puede ayudar a solucionar problemas.
Como vimos en un post anterior, para desinstalar paquetes desde yum, se emplea la opción erase. En caso de que alguna dependencia falle y no se permita desinstalar el software, el comando no seguirá, por lo que si necesitamos desinstalar dicho paquete, habrá que recurrir al uso de rpm.
Por lo tanto, si interesa desinstalar un paquete, pero no todas las dependencias que éste desinstalará, lo podremos lograr así,
shell> rpm -e --nodeps PACKAGE
En caso de que el número de dependencias sea excesivo y pueda hacer algo que no interesa, se puede forzar la desinstalación de un paquete tal que así, evitando todas las dependencias.
shell> rpm -e --justdb --nodeps PACKAGE
Leer más

yum, listado de paquetes por tamaño

Otro de los plugins interesantes que le dan una funcionalidad extra a yum es yum-list-data. Aunque su funcionalidad es relativa, sí es cierto que sirve para sacar estadísticas de aquellos paquetes que hay instalados en el sistema y saber el tamaño de los mismos, así como saber el porcentaje de paquetes por rangos de tamaños.
Algo que como ya dije, sólo sirve para tener un poco más controlado el sistema, pero que en determinadas ocasiones puede resultar de cierta utilidad.
Primeramente, procedemos a su instalación,
shell> yum install yum-list-data 
y una vez instalado, simplemente lo usamos.
shell> yum -C info-package-sizes installed
==================== Installed Packages ====================
[    1B -  10KB ]        9 (  3%)
 basesystem-10.0-4.el6.noarch                   124   (   124)
...
[  10KB -  25KB ]        7 (  2%)
 device-mapper-event-libs-1.02.66-6.el6.i686    19 k (19.420)
...
[  25KB -  50KB ]       24 (  9%)
 b43-openfwwf-5.2-4.el6.noarch                  32 k (33.000)
...
 yum-plugin-versionlock-1.1.30-10.el6.noarch    45 k (45.992)

[  50KB -  75KB ]       14 (  5%)
 bzip2-libs-1.0.5-7.el6_0.i686                  69 k (70.864)
...
[  75KB - 100KB ]       10 (  3%)
 bzip2-1.0.5-7.el6_0.i686                       77 k ( 78.612)
...
[ 250KB - 500KB ]       41 ( 15%)
 compat-readline5-5.2-17.1.el6.i686             320 k (327.432)
  curl-7.19.7-26.el6_1.2.i686                   345 k (352.904)
...
[ 500KB - 750KB ]       27 ( 10%)
 atmel-firmware-1.3-7.el6.noarch                716 k (733.156)
...
[   1MB -   5MB ]       40 ( 15%)
 authconfig-6.1.12-5.el6.i686                   1.8 M (1.856.068)
...
[   5MB -  10MB ]       12 (  4%)
 binutils-2.20.51.0.2-5.28.el6.i686             8.9 M ( 9.279.944)
...
[  10MB -  50MB ]        5 (  1%)
 coreutils-8.4-16.el6.i686                      12 M (12.672.740)
...
[  50MB - 100MB ]        2 (  0%)
 kernel-2.6.32-220.el6.i686                     63 M ( 66.007.368)
...
[ 100MB - 500MB ]        1 (  0%)
 glibc-common-2.12-1.47.el6_2.5.i686            107 M (112.361.324)

info-package-sizes done
Leer más

Creación de grupos de paquetes en repositorios RedHat

En un post anterior ya vimos cómo crear un repositorio local para equipos RedHat. En éste vamos a ver cómo poder aprovechar toda la potencia que dan los repositorios locales y el sistema de gestión de paquetes yum.
yum puede trabajar con paquetes individuales (rpm's) o con grupos de paquetes (colecciones de paquetes prefijadas), así que vamos a ver cómo podemos crear nuestro 'grupo de paquetes' locales, que simplifiquen una instalación partiendo de los paquetes que hemos creado previamente.
Primero, vamos a recordar cómo creamos el repositorio local,
shell> mkdir -p repo/i386 repo/noarch repo/i686 repo/SRPMS
shell> mv myrpm.noarch.rpm repo/noarch
shell> mv myrpm.src.rpm repo/SRPMS
shell> mv mybinrpm.i386.rpm repo/i386
shell> createrepo repo
Una vez tengamos el repositorio ya listo e indexado, es hora de crear el grupo de paquetes. Para ello, creamos un fichero xml con toda la definición del grupo. Por ejemplo, zabbixserver.xml el que tendrá todos los paquetes que dependan para la instalación de un zabbix-server personalizado en equipos RedHat. Los paquetes, recordemos, son locales. El contenido del fichero, sería similar al siguiente,
<zabbixserver>
<!--  <meta> -->
<!-- Meta information will go here eventually -->
<!--  </meta> -->
  <group>
    <id>zabbix_server</id>
    <name>Zabbix Server</name>
    <default>true</default>
    <description>Default RPMS from zabbix-server</description>
    <uservisible>true</uservisible>
    <packagelist>
      <packagereq type="default">zabbix-server</packagereq>
      <packagereq type="optional">percona-server</packagereq>
    </packagelist>
  </group>
</zabbixserver>
Ahora es necesario recrear nuevamente el repositorio local, pero esta vez pasándole el fichero de grupo a la hora de realizar la indexación. Tal como sigue,
shell> createrepo -g zabbixserver.xml repo
Una vez termine, ya podemos tirar de nuestro repositorio local e instalar con una sola instrucción todos los paquetes del grupo que acabamos de crear.
shell> yum groupinstall zabbixserver

Leer más

Gestión de paquetes con yum

Yum es a RedHat, lo que apt es a Debian. Algo que mola y facilita enormemente la gestión de paquetes. Vamos a ver de forma muy simple algunas de las acciones básicas que se pueden y se suelen realizar con yum.


  • Búsqueda
    shell> yum search wget
    ...
    wget.x86_64 : A utility for retrieving files using...
    
  • Instalación
    shell> yum install wget
    
  • Desinstalación
    shell> yum erase wget
  • Información adicional
    shell> yum info wget
    Name       : wget
    Arch       : x86_64
    Version    : 1.12
    Release    : 1.4.el6
    Size       : 1.8 M
    Repo       : installed
    From repo  : anaconda-RedHatEnterpriseLinux-201009221801.x86_64
    Summary    : A utility for retrieving files using the HTTP or FTP
    URL        : http://wget.sunsite.dk/
    License    : GPLv3+ and GFDL
    Description: GNU Wget is a file retrieval ....
    
  • Dependencias de paquetes
    shell> yum deplist wget
    package: wget.x86_64 1.12-1.4.el6
      dependency: libssl.so.10()(64bit)
      dependency: libc.so.6(GLIBC_2.3.4)(64bit)
      dependency: /sbin/install-info
      dependency: libz.so.1()(64bit)
      dependency: rtld(GNU_HASH)
      ...
    
  • Listado de grupos
    shell> yum grouplist
    Backup Client
    Backup Server
    CIFS file server
    Client management tools
    Compatibility libraries
    Desktop
    ...
    
  • Instalación de un grupo
    shell> yum groupinstall "MySQL Database server"
    
  • Reinstalación
    shell> yum reinstall wget
    Resolving Dependencies
    --> Running transaction check
    ---> Package wget.x86_64 0:1.12-1.4.el6 will be reinstalled
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==========================================================
    Package  Arch    Version       Repository            Size
    ==========================================================
    Reinstalling:
    wget     x86_64  1.12-1.4.el6  rhel-x86_64-server-6  481 k
    
    Transaction Summary
    ==========================================================
    Reinstall     1 Package(s)
    
    Total download size: 481 k
    Installed size: 0  
    Is this ok [y/N]: y
    
  • Actualizar
    shell> yum update
Leer más

yum utils

yum, del que ya hablamos en otras ocasiones aquí, tiene una gran lista de utilidades y plugins que lo hacen muy versátil y funcional. A continuación, vamos a ver algunas de estas para aprovechar y sacarle más partidos a este estupendo gestor de paquetes.
Para comenzar instalamos todas las utilidades de yum, que están dentro del paquete yum-utils. Una vez tengamos el paquete listo para funcionar, ya tendremos en nuestro sistema un nuevo comando, package-cleanup, que permite realizar una buena optimización de los paquetes ya instalados, así como tener un mejor control de lo que se instalar. Por lo tanto, procedamos.
shell> yum install yum-utils
  • Lista paquetes duplicados
    Nos ofrece una lista de paquetes que pueden estar duplicados, pero en diferentes versiones. Estos paquetes generalmente están ocupando espacio y la versión más reciente es la única que se usa, por lo que poder purgarlos es importante.
    shell> package-cleanup --dupes
  • Limpia paquetes duplicados
    Si existen paquetes duplicados, esta es una muy buena forma de eliminarlos todos. Lo hace automáticamente.
    shell> package-cleanup --cleandupes 
    
  • Lista paquetes con dependencias rotas
    Nos ofrece una salida de todos aquellos programas que tienen problemas de dependencias.
    shell> package-cleanup --problems
    
  • Lista paquetes huérfanos
    Saca una salida que contiene todos aquellos paquetes que no están disponibles en ningún repositorio, es decir, aquellos que fueron instalados de forma manual.
    shell> package-cleanup --orphans
    
  • Borra kerneles antiguos
    Elimina los kerneles antiguos del sistema de forma automática.
    shell> package-cleanup --oldkernels
Leer más

yum, retener versión de paquete


El otro día, hablando con un compañero me preguntó si sabía cómo hacer para retener un paquete en una versión exacta en RedHat/CentOS, yum. En aquel momento no lo sabía y como no me hacía falta, pues la verdad es que tampoco vi necesario aprender cómo hacerlo. Ahora que sí me hizo falta, pues hubo que buscar cómo poder hacerlo. yum, tiene un plugin, llamado versionlock que hace exactamente esa funcionalidad, retener un paquete en una versión específica e impedir que se actualice.
Como el resto de plugins, lo primero es instalarlo en el sistema en caso de que no esté.

shell> yum install yum-versionlock
Una vez esté presente en el sistema sólo habrá que indicar qué paquete, con nombre o comodín (*) se desea retener. En este caso, interesa retener el paquete puppet, para evitar que se actualice. La versión disponible en CentOS de puppet es más actual que el servidor de Debian (testing), por lo que no funciona muy bien. Así que mejor instalamos un paquete más antiguo e impedimos que se actualice. Para hacerlo, simplemente damos el nombre del paquete.
shell> rpm -qa |grep puppet
puppet-2.7.9-2.el6.noarch
shell> yum versionlock puppet
Loaded plugins: fastestmirror, versionlock
Adding versionlock on: 0:puppet-2.7.9-2.el6
versionlock added: 1
Como se puede observar, muy simple de usar y efectivo. Si ya nos interesa profundizar un poco más en cómo funciona, podemos ir a la carpeta en la que yum almacena los archivos de configuración de los plugins instalados, y ahí vemos que ya hay datos relativos a versionlock.
shell> cd /etc/yum/pluginconf.d
shell> cat versionlock.conf
[main]
enabled = 1
locklist = /etc/yum/pluginconf.d/versionlock.list
Si listamos los paquetes que están retenidos vemos que está el que acabamos de introducir.
shell> cat /etc/yum/pluginconf.d/versionlock.list

# Added locks on Wed Feb 29 16:40:46 2012
0:puppet-2.7.9-2.el6.*
Leer más

yum, blacklist packages

Volvemos con otra entrada sobre una feature a destacar de yum para aquellos que no la conozcáis, esta es la posibilidad de bloquear paquetes, o añadir paquetes a una lista negra, para evitar que se instalen.
Se puede dar el caso de que en un sistema compartido a un usuario se le den permisos de sudo para que instale ciertos paquetes, pero no nos interesa que pueda instalar otros determinados paquetes. También puede suceder que no interese que ningún paquete de cierto tipo se instale en un sistema que estamos administrando. Para hacer esto, existen las blacklist, que aprenderemos cómo gestionarlas. Simplemente es añadir un exclude del o de los paquetes que no interesen en el repositorio que los provea.
shell> vi /etc/yum.repos.d/epel.repo
 [epel]
  name=Extra Packages for Enterprise Linux 6
  mirrorlist=https://mirrors.fedoraproject.org/...
  enabled=1
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  exclude=httpd*

shell> yum install httpd.x86_64
Loaded plugins: rhnplugin
Setting up Install Process
Nothing to do
También se puede hacer lo mismo pero de forma directa en línea de comandos, para asegurarnos de que no se instalan dependencias de paquetes que no nos interesan, por ejemplo. En el siguiente ejemplo, vemos que no se instala nada, por que el paquete httpd se dice que no esté disponible para instalar.
shell> yum --exclude=httpd\* install httpd.x86_64
Loaded plugins: rhnplugin
Setting up Install Process
Nothing to do
Leer más

yum reinstall package


yum, el gestor de paquetes por excelencia de Red Hat/Centos/Fedora tiene algunas curiosidades interesantes a la hora de trabajar y gestionar paquetes con él. En esta entrada vamos a enseñar cómo reinstalar un paquete previamente instalado en el sistema, pero que por algún motivo está fallando, por ejemplo, que borramos accidentalmente un fichero de configuración o alguna librería que necesita para funcionar.
Para hacerlo, yum incluye la opción reinstall, que permite justamente hacer lo mencionado anteriormente.

shell> yum reinstall gnutls
Leer más

yum priorities

El gestor de paquetes de Red Hat permite establecer prioridades entre los diferentes repositorios que tenga configurados para evitar la colisión de paquetes en caso de producirse. Esto por ejemplo es muy útil si usas repositorios no oificiales, por ejemplo EPEL. En éste suele haber todos los paquetes que hay en el repositorio oficial y a mayores otros muchos paquetes que suelen ser necesarios según para que cosas.
Para evitar el problema de los conflictos entre paquetes, la solución, priorizar repositorios.
Para poder hacer esto, simplemente hay que instalar el paquete yum-priorities y activar  el uso de prioridades por yum. Para ello,
shell> yum install yum-priorities
shell> vi /etc/yum/pluginconf.d/priorities.conf
  [main]
  enabled=1
Con las prioridades activadas, ahora sólo falta configurarlas para los diferentes repositorios. Estas pueden ir de 1 a 99, siendo la prioridad más alta cuanto más bajo sea el número.
Un ejemplo de configuración usando prioridades a continuación.
shell> vi /etc/etc/yum.repos.d/rhdp.repo
  [epel-testing]
  name=Extra Packages - Testing
  mirrorlist=https://mirrors.fedoraproject.org/[...]
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  priority=50

[epel-testing-debuginfo]
  name=Extra Packages - Testing - Debug
  mirrorlist=https://mirrors.fedoraproject.org/[...]
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  gpgcheck=1
  priority=50

  [epel-testing-source]
  name=Extra Packages - Testing - Source
  mirrorlist=https://mirrors.fedoraproject.org/[...]
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  gpgcheck=1
  priority=50

  [epel]
  name=Extra Packages for Enterprise Linux 6
  mirrorlist=https://mirrors.fedoraproject.org/[...]
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  priority=15

  [epel-debuginfo]
  name=Extra Packages for Enterprise Linux 6 - Debug
  mirrorlist=https://mirrors.fedoraproject.org/[...]
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  gpgcheck=1
  priority=15

  [epel-source]
  name=Extra Packages for Enterprise Linux 6 - Source
  mirrorlist=https://mirrors.fedoraproject.org/[...]
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  gpgcheck=1
  priority=15

  [Red Hat Official]
  name=axinrhrepo
  mirrorlist=http://mirror.redhat.com/[...]
  priority=1
Leer más

yum, descargar paquetes y no instalar

yum, gestor de paquetes de Red Hat del que ya hemos hablado en otras ocasiones, tiene, al igual que apt, la posibilidad de descargar los paquetes que se desean instalar, pero sin concluir la instalación. Esto puede resultar útil si interesa llevar dichos paquetes a otros equipos o tener los RPM's disponibles para otro momento en el que se instalen.Para poder usarlo simplemente hay que instalar el paquete yum-downloadonly.
shell> yum install yum-downloadonly
Una vez instalado el paquete ya se puede usar como parámetro de yum, al que se le puede especificar el directorio de descarga. A continuación un ejemplo de cómo usarlo.
shell> yum install --downloadonly --downloaddir=/var/tmp mysql.x86_64
Si por el contrario usas un sistema de base Debian, para poder hacer esto mismo, simplemente,
shell> apt-get install --download-only mysql-server
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios