Como descargar paquetes mas sus dependencias?

Imagen de programx
0 puntos

Hola a todos, resulta que necesito instalar programas en una computadora sin internet, para ello simplemente genero el script del programa mas las dependecias en el synaptic, luego descargo todos los paquetes automaticamente y los llevo a la pc sin internet, hasta aqui todo bien, pero resulta que cuando quiero generar un script de un programa "que ya tenia instalado", no puedo porque cuando intento seleccionar el programa en el synaptic para que se marquen tambien todas sus dependecias, pues no las marca, solo se marca el programa mas no sus dependecias, en cambio si el programa no estuviese instalado, si las marca todas y asi si puedo crear el script. Entonces mi pregunta es:

¿Como descargo un paquete mas todas sus dependecias de forma automatica? Es decir, sin descargar paquete por paquete de forma manual pues es una tortura.

Existen comandos como "aptitude download paquete" pero me descarga unicamente ese paquete, sin sus dependencias.

Saludos!

Imagen de cuentos
+1
0
-1

+1
0
-1

(recordatorio) -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Si el problema se soluciono, edita el 1° hilo, y agrega (Solucionado), para tener el foro mas ordenado.
Y finaliza poniendo la solución para que sirva para otros Usuarios.
Twitter @mcuentos

Imagen de Alcruz
+1
0
-1

Lo que debes hacer es crear la lista de descargas desde el equipo sin inet, para hacer posible esto, antes debes copiarle los índices de un equipo que los tenga actualizados por tener internet
En el equipo con internet, ejecuta
gedit origen
se abrirá un nuevo archivo de texto vacío de nombre origen en en este pones lo siguiente

#!/bin/sh
cd /tmp
sudo apt-get update
sudo tar -zcvf lists.tar.gz /var/lib/apt/lists
sudo tar -zcvf apt.tar.gz /etc/apt

luego guardas, cierras y sierras terminal
abre otro terminal y pones

bash origen

entras al directorio /tmp copia en un medio removible los archivos lists.tar.gz y apt.tar.gz
Ahora arranca el equipo sin inet y en este ejecuta
gedit destino
pones lo siguiente

#!/bin/sh
cd /tmp
sudo rm -Rf /var/lib/apt/lists
sudo rm -Rf /etc/apt
sudo tar -zxvf lists.tar.gz -C /
sudo tar -zxvf apt.tar.gz -C /
sudo apt-get update

luego guardas, cierras y cierras terminal
pones los archivos generados en equipo con internet o sea lists.tar.gz y apt,tar.gz em /tmp y finalmente ejcuta

bash destino

Ahota ya puesdes usar Synaptic desde el equipo sin internet , si no tienes Synaptic puedes generar listas con comandos, lo recomendable es instalar Synaptic ya que es un método que conoces, para poder generar la lista de descargas necesaria para instalar Synaptic, ejecuta
apt-get --print-uris -y install synaptic | grep .deb | awk '{print $1 }' > 111
se generará el archivo 111 en donde estarán todas las URLs de descargas de los paquetes necesarios

+1
0
-1
Imagen de Alcruz
+1
0
-1

Antes que nada debo marcar un error en el primer script de mi comentario anterior
dice
cd tmp
debe decir
cd /tmp

Lo siguiente te va a aliviar la tarea de descargar paquetes que ya has descargado en el equipo orígen, en este ejecuta
sudo apt-get install dpkg-repack
luego
gedit paq
pones lo siguiente

#!/bin/sh
mkdir $HOME/paquetes 
cd $HOME/paquetes 
echo -e  " #!/bin/sh \n dpkg --get-selections | grep -v deinstall | awk '{print \$1}' > paq.txt \n while read line; do \n sudo dpkg-repack \$line \n done < paq.txt " > recons 
cd $HOME/paquetes 
sh recons 
rm recons paq.txt 
sudo chown $USER:$USER -R $HOME/paquetes

guardas, cierras y cierras terminal y finalmente ejecuta en otro terminal
bash paq
después de una larga espera, vas a tener en tu directorio de usuario la carpeta paquetes la que contendrá todos los paquetes reempaquetados que conforman tu sistema a esos paquetes los llevas a /var/cache/apt/archives del equipo sin inet

+1
0
-1
Imagen de Gabriel_M
+1
0
-1

Hola Alcruz:
Al pie de tus posts, tienes la opción de editar, para modificar errores y demás. Ya te corregí algunos.

+1
0
-1
Imagen de Alcruz
+1
0
-1

Esa opción la tengo por unos 200 segundos después de haber posteado, pasado ese tiempo no puedo modificar nada , salvo que se trate de un hilo creado por mi.

+1
0
-1
Imagen de rioport
+1
0
-1

apt-offline te puede servir, ya que si la maquina con internet no tiene Linux, no tiene la misma distro/versión que la otra maquina sin internet, o incluso si usa Windows lo puedes usar, pero puede ser algo difícil su uso.

En realidad lo que synaptic hace, en este caso, es marcar las dependencias que no están instaladas y además genera un script de descarga solo para los paquetes que no están en cache (/var/cache/apt/archives), ahí está la razón de que no funcione como crees que debería.

+1
0
-1

-- GC --

Imagen de Alcruz
+1
0
-1

Por eso mismo, para generar la lista de paquetes se debe hacer desde la máquina sin internet, pero para ello este equipo debe contar con los índices de repositorios actualizados, en este caso la tarea se facilita por que ambos equipos cuentan con la misma versión de Ubuntu, de todas maneras , si no fuera así, se puede generar los indices con un Live CD y es mas, yo he actualizado índices de Debian con un LiveCd de Ubuntu., la limitante era que ambos sistemas deben ser de la misma arquitectura, 64 bits en mi caso

+1
0
-1