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.
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.




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
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 !!
@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.
@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!
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.
@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!
Wow, esto si que me sera útil si algún día me quedo sin internet ^^
Muchas gracias.
Un artículo muy útil. Añadido a mis favoritos para consultarlo cuando me haga falta.
Saludos.
Siempre he tenido estos problemas con un ordenador sin internet, gracias me ha servido mucho…
En vez de usar
) y ….
dpkg -i …
es mejor usar
dpkg -iEGB …
es fácil de recordar (sí, vale, más para los que tenemos unos cuantos años
-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.
> 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.
Gracias por el dato
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