Algunas veces nos hemos descargado un paquete que no se encuentra en los repositorios desde la web del desarrollado.
En algunas ocasiones no nos deja instalarlo debido a que no se cumplen las dependencias.
En mi caso quise instalar la última versión de google-chrome.
root@servidorweb:/tmp# dpkg -i google-chrome-stable_current_i386.deb
Seleccionando el paquete google-chrome-stable previamente no seleccionado.
(Leyendo la base de datos ... 431340 ficheros o directorios instalados actualmente.)
Desempaquetando google-chrome-stable (de google-chrome-stable_current_i386.deb) ...
dpkg: problemas de dependencias impiden la configuración de google-chrome-stable:
google-chrome-stable depende de libnss3 (>= 3.14.3).
google-chrome-stable depende de xdg-utils (>= 1.0.2).
dpkg: error al procesar google-chrome-stable (--install):
problemas de dependencias - se deja sin configurar
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para gnome-menus ...
Procesando disparadores para man-db ...
Procesando disparadores para menu ...
Se encontraron errores al procesar:
google-chrome-stable
SSin embargo si vemos las versiones de los paquetes que dan dependencias incumplidas:
dpkg -l libnss3
Deseado=Desconocido/Instalar/Eliminar/Purgar/Retener
| Estado=No/Instalado/Config-files/Desempaquetado/Medio-conf/Medio-inst/espera-disparo/pendiente-disparo
|/ Err?=(ninguno)/Requiere-reinst (Estado,Err: mayúsc.=malo)
||/ Nombre Versión Arquitectura Descripción
+++-==============-============-============-=================================
ii libnss3:amd64 2:3.15.1-1~b amd64 Network Security Service librarie
root@servidorweb:/tmp# dpkg -l xdg-utils
Deseado=Desconocido/Instalar/Eliminar/Purgar/Retener
| Estado=No/Instalado/Config-files/Desempaquetado/Medio-conf/Medio-inst/espera-disparo/pendiente-disparo
|/ Err?=(ninguno)/Requiere-reinst (Estado,Err: mayúsc.=malo)
||/ Nombre Versión Arquitectura Descripción
+++-==============-============-============-=================================
ii xdg-utils 1.1.0~rc1+gi all desktop integration utilities fro
Por lo tanto puedo probar a forzar la instalación del paquete google-chrome con --force-depends o --force all para ver si funciona.
root@servidorweb:/tmp# dpkg -i --force depends google-chrome-stable_current_i386.deb
(Leyendo la base de datos ... 431443 ficheros o directorios instalados actualmente.)
Preparando para reemplazar google-chrome-stable 38.0.2125.111-1 (usando google-chrome-stable_current_i386.deb) ...
Desempaquetando el reemplazo de google-chrome-stable ...
dpkg: google-chrome-stable: problemas de dependencias, pero se configurará de todas formas
tal y como se solicitó:
google-chrome-stable depende de libnss3 (>= 3.14.3).
google-chrome-stable depende de xdg-utils (>= 1.0.2).
Configurando google-chrome-stable (38.0.2125.111-1) ...
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para gnome-menus ...
Procesando disparadores para man-db ...
Procesando disparadores para menu ...
root@servidorweb:/tmp#
Si no vemos que una vez instalado no funciona correctamente puedo volver atrás a instalar la versión de los repositorios.
Aquí podemos ver las opciones de dpkg --force:
dpkg --force-help
opciones de forzado de dpkg - controlan el comportamiento cuando hay problemas:
avisa pero continúa: --force-<cosa>,<cosa>,...
se detiene si hay error: --refuse-<cosa>,<cosa>,... | --no-force-<cosa>,...
Cosas que se pueden forzar:
[!] all Activa todas las opciones de forzado.
[*] downgrade Reemplaza el paquete con una versión menor.
configure-any Configura cualquier paquete que pudiera ayudar a éste.
hold Procesa paquetes accesorios aunque estén bloqueados
not-root Intenta (des)instalar cosas incluso sin ser root.
bad-path No se pueden encontrar programas importante en PATH, seguramente cause problemas
bad-verify Instala un paquete aunque falle la comprobación de autenticidad
bad-version Procesa incluiso paquetes con versiones incorrectas
overwrite Sobreescribe un fichero de un paquete con otro.
overwrite-diverted Sobreescribe un fichero desviado con una versión no desviada.
[!] overwrite-dir Sobreescribir el directorio de un paquete con el fichero de otro
[!] unsafe-io No utiliza las operaciones seguras de E/S cuando se realiza desempaqueta.
[!] confnew Utiliza siempre los archivos de configuración nuevos, no pregunta.
[!] confold Utiliza siempre los archivos de configuración antiguos, no pregunta.
[!] confdef Utiliza la opción predeterminada para los ficheros de
configuración nuevo si están disponibles,
sin preguntar. Si no se encuentra ninguno
predeterminado preguntará, a menos que se
utilicen también alguna de las opciones confold
o confnew.
[!] confmiss Instala siempre los ficheros de configuración que faltan.
[!] confask Ofrece el reemplazo de ficheros de configuración sin versiones nuevas.
[!] architecture Procesa incluso los paquetes con arquitectura errónea o sin arquitectura.
[!] breaks Instala aunque pudiera romper otro paquete.
[!] conflicts Permite la instalación de paquetes en conflicto.
[!] depends Convierte todos los problemas de dependencias en avisos.
[!] depends-version Convierte todos los problemas de versiones de dependencias en avisos.
[!] remove-reinstreq Elimina los paquetes que precisan instalación.
[!] remove-essential Elimina un paquete esencial.
ATENCIÓN - el uso de las opciones marcadas con [!] puede dañar seriamente
su instalación. Las opciones de forzado marcadas con [*] están activas
por omisión.
Se acabo el tropezar dos veces con la misma piedra. Ya estaba cansado de que una vez tras otra, tuviera que repetir el aprendizaje. Y como ya son muchos los años, aunque como se dice "nunca es tarde si la dicha es buena"... intentaré colocar aquí el cómo hago las cosas. No pretendo enseñar a nadie, solo que me sirva a mi para recordar: " Sapere aude" El Origen de este blog fue el sitio: https://sites.google.com/a/iesburguillos.homelinux.org/para-recordar/home
Suscribirse a:
Enviar comentarios (Atom)
Muchas Gracias.
ResponderEliminarmuchisimias gracias.
ResponderEliminarcomo a vos siempre me pasa lo mismo
a mi
ResponderEliminarapt --fix-broken install
siempre me salva en estos casos