Ver las dependencias de un paquete .deb

Cuando empece en Ubuntu, yo no tenia Internet en casa, Asi que cuando queria instalarme una aplicacion en mi equipo, me lo tenia que instalar en otro equipo previamente, uno que si tuviera acceso a internet y despues con una llave USB me llevaba los paquetes descargados a mi Pc para instalarlos.

Todos los paquetes descargados en un equipo se van guardando en el directorio /var/cache/apt/archives. Asi que si por ejemplo en ese PC instalas un reproductor de videos como puede ser “vlc”:

$ sudo aptitude install vlc

Todos los paquetes de VLC y sus dependencias se dejan en ese directorio /var/cache/apt/archives, asi que podrias llevartelos en una llave USB a un PC que no tenga internet. Copiarlos todos juntos a un directorio y luego ir haciendo click uno a uno en cada .deb para ir instalandolo de manera individual o acaso ejecutar el comando:

$ sudo dpkg -i *.deb

Para instalar todos los paquetes .deb del directorio de golpe.

Sin embargo este metodo es mucho de “ensayo y error”, porque llegas a tu casa tan contento, y cuando instalas un paquete .deb te sale un error diciendo que no puede instalarse porque le falta una dependencia no satisfecha (otro paquete .deb), asi que tienes que ir anotando los que te faltan y otra vez ir al Pc con acceso a internet, descargartelo o cogerlo de /apt/cache/archives y otra vez vuelta a empezar, hasta que por fin, consigues satisfacer todas las dependencias y tu aplicacion se instala.

Luego con el tiempo descubri AptonCD, con esta aplicacion puedes crearte un repositorio local de todos los paquetes descargados en un equipo, grabarlo a CD por ejemplo y llevarte ese CD a otra maquina sin internet para poder instalar comodamente todos los archivos. AptonCD me hubiera ahorrado muchos de esos viajes con la llave USB.

De todas formas existe tambien una forma de ver las dependencias que tiene un paquete .deb sin necesidad de instalarlo. Esto nos vendra muy bien para bajarnos ese paquete .deb, y todas sus dependencias, de golpe, facilitandonos estas instalaciones “tan traumaticas” si no tenemos internet.

El comando en cuestion es: dpkg-deb -I nombre_paquete_deb

Por ejemplo, si quisieramos saber que dependencias tiene “python-glade2_2.13.0-0ubuntu8_i386.deb” ejecutariamos:

root@soledad:~/Escritorio$dpkg-deb -I python-glade2_2.13.0-0ubuntu8_i386.deb
paquete debian nuevo, versión 2.0.
tamaño 46858 bytes: archivo de control= 1120 bytes.
1154 bytes, 20 líneas control
433 bytes, 5 líneas md5sums
183 bytes, 7 líneas * postinst #!/bin/sh
186 bytes, 7 líneas * prerm #!/bin/sh
Package: python-glade2
Source: pygtk
Version: 2.13.0-0ubuntu8
Architecture: i386
Maintainer: Ubuntu Desktop Team
Installed-Size: 156
Depends: python (<< 2.6), python (>= 2.4), python-support (>= 0.7.1), libatk1.0-0 (>= 1.20.0), libc6 (>= 2.2), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libglade2-0 (>= 1:2.6.1), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.14.1), libpango1.0-0 (>= 1.21.6), libxml2 (>= 2.6.27), zlib1g (>= 1:1.1.4), python-gtk2 (= 2.13.0-0ubuntu8)
Suggests: python-gtk2-doc
Conflicts: python-gdk-imlib, python-glade, python-gnome, python-gtk, python2.3-glade2, python2.4-glade2
Provides: python2.4-glade2, python2.5-glade2
Section: python
Priority: optional
Description: GTK+ bindings: Glade support
Contains bindings for the glade library from use within Python. Glade
makes it very easy to create a user interface. In the target
application you just need to load the interface description from
the .glade file instead of constructing the GUI at runtime.
.
URL: http://www.daa.com.au/~james/software/pygtk/
Original-Maintainer: Sebastien Bacher

He subrayado en negrita la parte del comando donde nos indica que paquetes tenemos que tener instalados para que este paquete se instale correctamente. Si los tenemos ya instalados en nuestra maquina, .. perfecto…, en otro caso tenemos que descargarlos previamente.

Si quieres descargar un paquete .deb sin necesidad de instalarlo, puedes ejecutar el comando: aptitude download

Ejemplo:

root@soledad:~/Escritorio$aptitude download vlc
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Des:1 http://es.archive.ubuntu.com intrepid/multiverse vlc 0.9.4-1ubuntu3 [1668kB]
Descargados 1668kB en 30s (55,4kB/s).

Asi que combinando estos dos comandos, ya podemos ir descargandonos una aplicacion y todas sus dependencias asociadas para luego poder llevarnosla a otra maquina.

Por ultimo comentar, que las dependencias de un paquete .deb tambien pueden verse desde Synaptic (el gestor grafico de paquetes de Ubuntu en Gnome). Abririamos Synaptic, meteriamos en la cadena de busqueda el paquete que queremos localizar (p.ej “vlc”) y cuando aparezca en el listado, lo seleccionamos, pulsamos click derecho > Propiedades y en una de las pestañas de la nueva ventana que se abre, ya podemos ver las dependencias asociadas.

dependencias

Importante recordarte que un paquete .deb solo se instalara si es correcto y tiene satisfechas todas sus dependencias (es decir, estan instaladas previamente en tu maquina). En otro caso, el gestor de paquetes te mostara un error del tipo “Dependencia no satisfecha” y te mostrara el nombre de la dependecia que te falta por instalar. Esto a veces se hace largo pues por ejemplo una aplicacion depende de dos, y una de estas dos a su vez depende de otras, ect… pero tranquilo que llega un momento donde ya se terminan las dependencias y el programa se instala.

14 Responses to “Ver las dependencias de un paquete .deb”


  1. 1 juancarlospaco noviembre 21, 2008 a las 11:44 pm

    mmmmmm…
    Pues hacias medio mal.

    tenes que usar Synaptic como si tubieras internet, seleciona lo que queres instalar,
    y no te preocupes en lo mas minimo por las dependencias, una vez que elejiste todo lo que queres instalar,
    haces Archivo—>Generar Script de descarga de paquetes
    te guardas el aechivito, luego en cualquier PC con internet lo usas,
    si es una PC cn Linux le haces doble click y tenes los paquetes,
    si es una PC con Windows, te bajas primero el WGET para Windows, le cambias la extension a ” .bat “,
    y le haces doble click y tenes los paquetes, siempre digo que no es necesario tener los Repos, ni internet, ni nada,
    Linux lo hace todo facil, la gente a veces busca la manera mas dificil de hacer las cosas…

    salu2

  2. 2 ipako noviembre 22, 2008 a las 12:45 am

    Bueno, en gustos se rompen géneros, y a mi manera de ver las cosas nunca está de más saber cual es el funcionamiento de tu SO, y agradezco mucho tu información. Siempre quiero aprender y saber el porqué de las cosas.

    Gracias, saludos !!

  3. 3 superpiwi noviembre 22, 2008 a las 9:03 am

    @juancarlospaco

    Vaya no tenia ni idea (aunque mi caso ya fue hace 2-3 años), me parece interesante, lo mirare y comentare pues habra mas gente que no lo sabe a priori.

  4. 4 lesergi noviembre 22, 2008 a las 10:19 am

    @juancarlospaco
    Cierto, es la forma más correcta. Primero debes de mirar qué paquetes se tendrían que instalar en tu sistema, sino podrás encontrarte que una dependencia de otra dependencia no la tienes instalada, ya que de las formas que comenta el artículo simplemente te muestra las dependencias de primer nivel.

    Au!

  5. 5 superpiwi noviembre 22, 2008 a las 10:29 am

    Bueno, pero tambien puedes emplearlo recursivamente.
    Ves las dependencias de primer nivel, te anostas los nuevos paquetes y para cada uno de ellos vuelves a ver las dependencias y asi sucesivamente.
    De hecho me imagino que esta opcion de Synaptic, funciona de manera similar.

  6. 6 lesergi noviembre 22, 2008 a las 10:57 am

    @superpiwi
    Sí, lo hace igual pero de forma automática. Aunque manualmente, a parte de mirar todas las subdependencias, también tienes que mirar si las tienes instaladas o requieres de una versión más actuaizada.

    Au!

  7. 7 Hijo del Opio noviembre 22, 2008 a las 11:46 am

    Wow, esto si que me sera útil si algún día me quedo sin internet ^^
    Muchas gracias.

  8. 8 shakaran noviembre 22, 2008 a las 11:04 pm

    Un artículo muy útil. Añadido a mis favoritos para consultarlo cuando me haga falta.

    Saludos.

  9. 9 prezeus noviembre 23, 2008 a las 10:15 am

    Siempre he tenido estos problemas con un ordenador sin internet, gracias me ha servido mucho…

  10. 10 Antonio noviembre 24, 2008 a las 10:28 am

    En vez de usar
    dpkg -i …
    es mejor usar
    dpkg -iEGB …
    es fácil de recordar (sí, vale, más para los que tenemos unos cuantos años 🙂 ) y ….

    -E, –skip-same-version
    Don’t install the package if the same version of the
    package is already installed.

    -G
    Don’t install a package if a newer version of the same
    package is already installed.

    -B, –auto-deconfigure
    When a package is removed, there is a possibility that
    another installed package depended on the removed pack‐
    age. Specifying this option will cause automatic decon‐
    figuration of the package which depended on the removed
    package.

  11. 11 Antonio noviembre 24, 2008 a las 10:41 am

    > Si quieres descargar un paquete .deb sin necesidad de instalarlo,
    > puedes ejecutar el comando: aptitude download

    Para los que están más habituados a usar “apt-get”, tiene el parámetro

    –download-only
    Sólo descarga los ficheros con los paquetes, no los desempaqueta
    ni los instala.

  12. 13 tickshun marzo 15, 2009 a las 7:00 am

    gracias, me sacaste de un gran clavo tenia problemas con el vlc, pero al saber donde se guardan los archivos deb los ejecute y todo esta solucionado

  13. 14 ACM1PT diciembre 1, 2011 a las 10:40 am

    Esto de buscar dependencias, chequear versiones, y encima en los repositorios mucho software no esta en su ultima version. Esto desalienta a cualquier usuario Windows que quiera migrar al pinguino


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s







¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map

Archivos

noviembre 2008
L M X J V S D
 12
3456789
10111213141516
17181920212223
24252627282930

Blog Stats

  • 31.241.970 hits

A %d blogueros les gusta esto: