xpanel, lxde, linux, fbpanel opensuse, linux, instalacion gtk3, gnome, ambienti grafici PS3, mandos, Play Station, Linux edubuntu, ubuntu, linux fedora, linux, discapacitados visuales fuduntu, fedora, ubuntu, linux, distribuciones inkscape, grafica, linux, editor tux, tuz, iconos, mascota, linux artistx, distro, linux, artistas, graficos

Como resolver los conflictos de las dependencias en Fedora.

Para resolver un conflicto entre paquetes, se recomienda seguir estos pasos:
Todo lo que se hace en esta guía debe hacerse con privilegios de root.


Paso 1: Deshabilitar uno de los repositorios conflictivos, en el caso de ejemplo, Unity o ATrpms.

 

Para ello nos dirigiremos con privilegios de superusuario al directorio /etc/yum.repos.d , y editamos el archivo correspondiente a nuestro repositorio, poniendo en la línea que dice "enabled=1", un 0 donde está el 1.

 

Si lo hacemos mediante consola, es así:


su
cd /etc/yum.repos.d
nano nombrerepo.repo]

Tux-Fedora-YUM

Esto es lo que nos sale en atrpms:

[atrpms]
name=Fedora $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
enabled=1
gpgcheck=1


Y así tiene que quedar: 

[atrpms]
name=Fedora $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
enabled=0
gpgcheck=1


Guardamos con Ctrl+O seguido de un enter, y a lo mejor convendría no salirnos de la terminal, ya que quizás queramos después volver a activar el repositorio.
Nota: Si queremos conservar después el repositorio, este paso nos lo podemos saltar, ya que hay una manera de hacerlo directamente junto al paso 2, pero a lo mejor queremos desactivar el repositorio definitivamente, y el método anterior es la forma de hacerlo. Paso 2: Ejecutar yum distro-sync. Esta es una de las herramientas más potentes de YUM, que sincroniza los paquetes llevándolos a la última versión de los repos que tengamos disponibles, siendo capaz de actualizar, desactualizar y sustituir (no siempre) paquetes.
Código:
yum distro-sync
O bien si nos hemos saltado el paso 1:

yum --disablerepo=nombredelrepositorio distro-sync


Una vez terminado el paso 2, puede que yum haya realizado su labor correctamente, y por tanto el conflicto de paquetes ya se haya resuelto. Sin embargo, por el hecho de que es posible que los repositorios hayan sustituido unos paquetes por otros, es probable que devuelva un mensaje de error, indicando los conflictos que ha encontrado.


Si se da lo segundo, es el momento de pasar al paso 3.
Paso 3: Identificar y eliminar los paquetes conflictivos.
Si yum distro-sync encuentra un conflicto de paquetes, nos mostrará un error de este tipo:

Error: Paquete: elquesea.fc17.i686 (@updates/17)
           Necesita: otropaquete >= 2
           Eliminando: otropaquete-2.fc17.i686 (@updates/17)
               otropaquete = 2.fc17
           Desactualizado por: otropaquete-1.fc17.i686 (updates)
               otropaquete = 1.fc17
           Disponible: ***
               ***
           Disponible: ***
               ***


En este caso deberemos eliminar el paquete "otropaquete" sin afectar a los paquetes que dependen de él, después, yum distro-sync arreglará las dependencias


Para eliminar el paquete "otropaquete" y todos los que sean como él:

rpm -e --nodeps otropaquete-2.fc17.i686


Y así con todos los paquetes conflictivos.


Aunque la verdad es que no sé si el anterior error es el más común en un conflicto de dependencias, lo que parece es que no puede encontrar el paquete que sustituye a los que va a quitar, en cualquier caso, la solución si aparece es la que he comentado.

El error que seguro que puede aparecer es este:

el archivo ejemplo de la instalación de un paquete.x86_64 entra en conflicto con el archivo del paquete otro paquete.i586


En este caso, deberemos eliminar de la misma forma el paquete "otropaquete", para ello se procede de la misma manera que anteriormente:

rpm -e --nodeps otropaquete.i586


Una vez terminamos de eliminar los paquetes conflictivos, pasamos al paso 4.
Paso 4: Volver a ejecutar yum distro-sync

yum distro-sync


o si nos hemos saltado el paso 1:

yum --disablerepo=nombredelrepositorio distro-sync


Y así, YUM deberá haber resuelto el conflicto de paquetes, y Fedora se podrá actualizar con normalidad.


¿Y qué hay que hacer si queremos tener habilitado el repositorio conflictivo?
Para eso tendremos que instalar y configurar el plugin priorities de YUM.


Paso 1: Instalar el plugin priorities: 

yum install yum-plugin-priorities


El plugin priorities sirve para asignar una prioridad a cada repositorio, de manera que si tenemos un paquete 1 instalado en un repo 1 y existe una versión actualizada del mismo en un repo 2, pero el repo 1 tiene una prioridad mayor que el repo 2, el paquete 1 no se actualizará.
Paso 2: Configurar los repositorios:
El plugin priorities asigna por defecto una prioridad de 99 a cada repositorio. Para modificar la prioridad nos vamos a la carpeta que contiene nuestros repositorios, /etc/yum.repos.d

cd /etc/yum.repos.d/


y abrimos los archivos de nuestros diferentes repositorios, modificando su prioridad según convenga. Podemos listar los archivos de un directorio con el comando ls .
Abrimos los archivos de repositorio con nuestro editor de texto favorito, por ejemplo, nano:

nano repositorio.repo


Para modificar la prioridad de un repositorio, añadiremos la linea "priority=XX" al final de las secciones que nos interese de cada repositorio, siendo XX la prioridad que le asignemos, la cual puede ser entre 1 y 99. De manera que quede así (con el repo ATrpms, pero igual de válido para los demás):

[atrpms]
name=Fedora $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
enabled=1
gpgcheck=1
priority=XX


Yo recomiendo poner una prioridad de 50 para los repositorios fedora, updates, y todos los repositorios que se lleven bien con estos dos y entre sí, y al resto una prioridad mayor o menos que 50, según convenga.


Activamos el repositorio si no estaba activado (es mejor no activar los source y debug) y guardamos con Ctrl+O seguido de Enter.

 

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Espero que esta publicación te haya gustado. Si tienes alguna duda, consulta o quieras complementar este post, no dudes en escribir en la zona de comentarios. También puedes visitar Facebook, Twitter, Google +, Linkedin, Instagram, Pinterest y Feedly donde encontrarás información complementaria a este blog. COMPARTE EN!

0 comentarios:

Publicar un comentario

Archivo