it-swarm-es.com

¿Cómo puedo instalar software o paquetes sin Internet (sin conexión)?

Tengo un amigo que tiene una computadora que no está conectada a Internet. ¿Hay alguna forma de instalar software sin conexión fácilmente?

252
akshatj

Echa un vistazo a Keryx ; Es un administrador de repositorios fuera de línea.

¿Cómo funciona? Le permite descargar actualizaciones y nuevos programas (con dependencias) a su unidad flash .

Su interfaz es similar a la sináptica, pero funciona desde un pendrive (no necesita instalación). Desafortunadamente, la GUI necesita wxwidgets, que no vienen preinstalados en Ubuntu (son multiplataforma e instalables desde aquí y el repositorio de Ubuntu aquí ). Solo puede instalar software en un sistema Ubuntu, pero puede descargar las actualizaciones o los nuevos paquetes en cualquier Linux, Windows u OS X.

Aquí puedes encontrar n tutorial .

Otro tutorial detallado paso a paso está en esta respuesta .

Launchpad también alberga archivos descargables .

Una captura de pantalla:

Screenshoot

128
Javier Rivera

Un truco rápido

Un truco rápido es copiar todos los paquetes que descargó para su instalación en su máquina ( instrucciones detalladas aquí ). Los archivos .deb se almacenan en /var/cache/apt/archives, luego en la otra computadora inicie Synaptic y seleccione File -> Add Package Downloaded y busque la carpeta donde colocó los archivos y la abrió, aceptar todo (o instalar desde la terminal usando el comando Sudo dpkg -i DEB_PACKAGE_NAME).

NOTA:
Esto supone que su administrador de paquetes no está configurado para eliminar los paquetes inmediatamente después de la instalación. También supone que está ejecutando la misma versión de Ubuntu (10.10, 12.04, etc.) y la versión de arquitectura (32b o 64b) .


Un repositorio de DVD

Si desea las últimas correcciones de errores y parches de seguridad disponibles, eche un vistazo a este tutorial , que cubre la creación de su propio repositorio de DVD.

57
jr0cket

Un repositorio USB

Si tiene una memoria USB de tamaño decente, suponiendo alrededor de 4-8 Gb (o disco duro externo), puede configurar una copia personalizada del repositorio de Ubuntu y configurarla como un repositorio local como cubierto en AptGet/Offline/Repository en help.ubuntu.com.

Para obtener los archivos de paquete reales (los archivos .deb), sugiero usar apt-mirror.

El paquete apt-mirror lo ayudará a crear un espejo personalizado que debería ser más pequeño que los 30 Gb del repositorio completo. Instala el paquete:

Sudo apt-get install apt-mirror

y edite su archivo de configuración

gksudo gedit /etc/apt-mirror/mirror.list

o desde Ubuntu 14.04

gksudo gedit /etc/apt/mirror.list

Incluya solo las secciones del repositorio que desee. Aquí hay un ejemplo simple que copia los archivos binarios .deb de las 4 secciones (principal, restringido, universo y multiverso), así como las últimas correcciones de errores.

# apt-mirror configuration file
##
## The default configuration options (uncomment and change to override)
##
#
set base_path    /tmp/ubuntumirror
#

## Repositories to copy from - 

## use a mirror so you don't overload the main server!!!

# Lucid binaries - no source files
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse


## Clean up older .deb files no longer in the archive
clean http://archive.ubuntu.com/ubuntu

Se estima que necesitará alrededor de 15 Gb de espacio para las 4 secciones, sin la fuente.

He puesto la ruta para que todos los archivos .deb sean /tmp, asegúrese de tener suficiente espacio para que su disco duro no se llene (si su disco duro se llena y su computadora se congela, /tmp debe borrarse con un reinicio).

Si solo desea los archivos principales, elimine los nombres restringidos, de universo y multiverso del archivo de configuración.

Si está utilizando una arquitectura diferente (tiene 64 bits, pero su amigo tiene 32 bits), agregue lo siguiente al comienzo de la configuración mirror.list expediente:

set defaultarch i386

Una vez que tenga la configuración apt-mirror que desea, ejecute apt-mirror y vaya a hacer algo divertido o que cambie la vida, ya que tomará horas o días obtener el repositorio (dependiendo de su conexión y el espejo Ubuntu que esté usando) ).

Una vez que tenga los archivos .deb, copie los archivos en su memoria USB (o disco duro externo) y configure el repositorio local según el artículo mencionado anteriormente.

¡Prueba que funciona antes de llevárselo a tu amigo!

42
jr0cket

Utilizo apt-get con la opción "--print-uris" para hacerlo. También agrego "-qq" para que sea silencioso.

Use sed para eliminar caracteres adicionales agregados a algunos nombres de archivo (algo así como 3% 2a) y para obtener la url, el nombre de archivo y la suma de archivos md5. Use wget para descargar los archivos. Use md5sum para verificar si los archivos se descargan correctamente.

Puede usar esto para crear un script de Shell para Linux o Mac OS (reemplace ".cmd" en los comandos para .sh y haga "chmod a + x (nombre de archivo) para agregar permiso para ejecutar el script) o un archivo por lotes de comandos de Windows , y un archivo MD5Sum para asegurarse de que los archivos se descargan correctamente.

Comandos

Crear script:

Sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > script.cmd

Ejemplos:

Sudo apt-get install anjuta --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install-anjuta.cmd
Sudo apt-get upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > upgrade.cmd
Sudo apt-get dist-upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > dist-upgrade.cmd

Crear archivo md5sum:

Sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt

Ejemplos:

Sudo apt-get install anjuta --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt
Sudo apt-get upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt
Sudo apt-get dist-upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt

Necesita md5sum para Windows si está usando ese sistema operativo para descargar archivos.


Crear script para descargar listados de repositorio:

Sudo apt-get update --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) :/wget -c \1 -O \2.bz2/p" > update.cmd

Comprobación de sumas de MD5

Puede agregarlos al final de los scripts para verificar md5sum:

Linux:

md5sum --quiet -c md5sum.txt

Windows (usa md5sum anterior, no admite --quiet):

md5sum -c md5sum.txt

Para agregar automáticamente al script:

echo -e "md5sum -c md5sum.txt\npause" >> script.cmd

Instalación de archivos de lista (comando Actualizar)

Ejecute estos comandos en la computadora de destino.

Necesita usar bunzip2 para extraer los archivos de la lista de repositorios:

bunzip2 *.bz2

Luego copie a la carpeta de listado (la carpeta actual solo contiene archivos de lista):

Sudo cp * /var/lib/apt/lists/

Arriba combinado (la carpeta actual puede contener otros archivos):

for listfile in `ls *.bz2`; do bunzip2 $listfile; Sudo cp ${listfile%.bz2} /var/lib/apt/lists/; done

Descargas más rápidas

Si desea acelerar la descarga de los archivos, intente usar Axel.

Reemplace wget -c ... -O ... con axel ... -o ....

Jerarquía de carpetas (descarga de archivos con Windows)

Por lo general, creo una carpeta como esta:

  • apt-get /
    • compartimiento/
      • msys-1.0.dll
      • msys-intl-8.dll
      • wget.exe
      • msys-iconv-2.dll
      • md5sum.exe
      • libeay32.dll
      • libintl3.dll
      • libssl32.dll
      • libiconv2.dll
    • actualizar/
      • update.cmd
      • md5sum.txt
    • instalar/
      • install-foo.cmd
      • install-bar.cmd
      • upgrade.cmd
      • md5sum.txt

Luego cambie wget en las líneas de arriba a ..\\bin\\wget.exe, md5sum a ..\\bin\\md5sum.exe, etc.

Esto separará los archivos * .deb y los archivos de la lista en diferentes carpetas.

Actualizando su sistema

  1. Arrancar en la computadora de destino que usa Ubuntu
  2. Crea un script para actualizar
  3. Arrancar en una computadora con conexión a internet
  4. Ejecute update.sh (para Linux o Mac OS) o update.cmd (Windows)
  5. Regrese a la computadora de destino
  6. Instalar archivos de lista
  7. Cree un script para actualizar/dist-upgrade (agregue los comandos md5sum para finalizar)
  8. Regrese a la computadora con conexión a internet
  9. Ejecute upgrade.sh/dist-upgrade.sh (Linux o Mac OS) o upgrade.cmd/dist-upgrade.cmd (Windows)
  10. Regrese a la computadora de destino
  11. Copie los archivos * .deb a la memoria caché: Sudo cp *.deb /var/cache/apt/archives/
  12. Ejecutar: Sudo apt-get upgrade o Sudo apt-get dist-upgrade

Descargar Executables para Windows

Wget para Windows: http://gnuwin32.sourceforge.net/packages/wget.htm

md5sum para Windows: http://gnuwin32.sourceforge.net/packages/coreutils.htm o http://www.etree.org/cgi-bin/counter.cgi/software /md5sum.exe

También puede usar los de MinGW , que son los que yo uso. Solo necesita wget.exe, md5sum.exe y las bibliotecas compartidas necesarias. Consulte la sección "Jerarquía de carpetas".

Notas

  • No estoy completamente seguro de si todo lo anterior funcionará, ya que no los he usado en un mes. Especialmente el comando de actualización, que no he probado hoy algunas partes de él.
  • Para ver fácilmente los resultados de los comandos, agregue una línea de "pausa" al final de los scripts, si usa Windows.
  • Recomiendo crear scripts de Shell para actualizar, actualizar e instalar paquetes si usa estos comandos con frecuencia.
32
Arnel A. Borja

Primero debe obtener una PC con conexión a Internet, donde puede descargar los archivos .deb necesarios. Una vez que haya descargado todos los archivos, ahora puede crear un CD/DVD rom o un archivo ISO que puede usar para instalar el software que ha descargado en su PC sin conexión.

Comience con una instalación limpia o VM.
Sudo apt-get install aptoncd

Instale los paquetes que desee en una PC
Sudo apt-get install gbrainy

Ejecute aptoncd
enter image description here
Haga clic en Crear
enter image description here
Haga clic en Grabar y configure las opciones, luego Aplicar
enter image description here
Grabarlo o guardarlo
enter image description here

Tenga en cuenta que aptoncd solo realiza copias de seguridad de las cosas en el actual apt-cache.
Es por eso que comenzamos con una máquina virtual limpia/nueva instalación e hicimos todo esto en una sola ejecución.

29
RobotHumans

Repositorio fuera de línea

Se describe cómo crear un repositorio fuera de línea aquí : Solo tiene que descargar los archivos apropiados de archive.ubuntu.com . Alternativamente, puede usar apt-medium .

EDITAR: Otro enfoque basado en un archivo local de archivos _*.deb_ se describe en diferentes entradas de blog (ver aquí y aquí ). Sarath Chandra resume de la siguiente manera:

  1. Hacer un directorio accesible (al menos de raíz)

    _Sudo mkdir /var/my-local-repo
    _
  2. Copie todos los archivos deb a este directorio.

  3. Hacer el directorio como un

    _Sudo bash -c 'dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz'
    _

    o

    _Sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
    _
  4. Agregue el repositorio local a las fuentes

    _echo "deb file:/var/my-local-repo ./" > /tmp/my-local.list
    Sudo mv /tmp/my-local.list /etc/apt/sources.list.d/my-local.list
    Sudo apt-get update
    _
22
tohuwawohu

Paso 1: Obtenga las URL de descarga en un archivo:

Ejecute el siguiente comando reemplazando los nombres de paquetes por los obligatorios, separándolos por un espacio.

apt-get -y install --print-uris package-name | cut -d\' -f2 | grep http:// > apturls

Paso 2: copie este archivo (apturls) en una máquina que tenga acceso a Internet de alta velocidad y ejecute el siguiente comando para descargar los paquetes:

wget -i path-to-apturls-file 

Paso 3: Ahora obtenga esos paquetes descargados en su máquina e instálelos usando:

cd path-to-the-downloaded-packages-directory

Sudo dpkg -i *.deb

¡Hecho!

20
harisibrahimkv

Puede usar Cubo. Es un administrador de paquetes portátil que le permite descargar paquetes en otra computadora conectada a Internet e instalarlos nuevamente en su computadora Linux original, sin conexión.

Descarga de aplicaciones (en Windows)  

Instalación de aplicaciones (en Linux)  

Puede descargarlo en el sitio web de Cube .

18
Camicri

En Synaptic, puede seleccionar los paquetes que desea instalar y en el primer menú hay una opción para generar un script que puede llevar a otra máquina y ejecutar allí. Este script "wget" (es decir, "descargará") todos los paquetes que especificó que deseaba (y sus dependencias) que ejecuta en una computadora que tiene tiene acceso a Internet.

Una vez ejecutado, tendrá todos los archivos de paquete que necesita la computadora desconectada. Llévelos en una unidad de CD/USB e instálelos con Sudo dpkg -i *.deb.

17
popey

Puede usar apt-offline o apt-offline-gui.
Requisitos previos : El sistema de un amigo con conexión a Internet. apt-offline instalado en sus dos sistemas.

La instalación sin conexión se logra en 3 simples pasos.

Paso 1 :
Genere un archivo de firma en el cuadro Debian desconectado en casa
apt-offline set /tmp/apt-offline.sig
El comando anterior generará toda la información requerida de apt sobre la actualización de su base de datos.

Paso 2 :
Descargar datos basados ​​en el archivo de firma generado anteriormente
apt-offline get C:\apt-offline.sig --threads 5
El comando anterior descargará los datos como se menciona en el archivo de firma. Para acelerar las descargas (que pueden ser de múltiples repositorios aptos), en este ejemplo generamos 5 hilos de descarga.
Una vez completado, puede copiar los datos (un archivo de almacenamiento, si usó la opción --bundle) de nuevo al medio extraíble y copiarlo nuevamente en su Host fuera de línea.

Paso 3 :
Una vez que regresa a la máquina Debian de su casa, alimenta los datos del medio extraíble a apt-offline:
apt-offline install /media/USB/apt-offline.Zip
Esto actualizará la base de datos APT en su máquina desconectada sin problemas.

Apt-offline puede incluso usarse en sistemas Windows. En mi opinión, apt-offline es la mejor opción para la instalación sin conexión.

Fuente

15
Hashken

Hay varias respuestas buenas y efectivas enumeradas anteriormente. Sin embargo, este es el mecanismo que personalmente uso - apt-ftparchive . Lo estoy documentando aquí, en caso de que lo necesite nuevamente en el futuro. Quizás te sea útil.

Creación de la instantánea de archivo

  • Cree una instancia de Ubuntu que imite de cerca el entorno de destino
    • Por ejemplo, una instancia de Ubuntu 12.04 de 64 bits en Amazon
  • Comience con un entorno de paquete limpio
    • Sudo apt-get clean
  • Actualice las listas de paquetes
    • Sudo apt-get update
  • Descargue todas las actualizaciones de paquetes disponibles
    • Sudo apt-get dist-upgrade --download-only
  • Descargue todos los paquetes y dependencias relevantes
    • Sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
  • Instale la utilidad apt-ftparchive
    • Sudo apt-get install apt-utils
  • Cree el manifiesto del paquete
    • (cd /var/cache/apt/archives/ && Sudo apt-ftparchive packages . ) | Sudo tee /var/cache/apt/archives/Packages
  • Cree un archivo de los paquetes
    • Sudo tar cvf snapshot.tar -C /var/cache/apt archives/

Uso de la instantánea de archivo en el sistema de destino sin conexión

  • A través de algún mecanismo, necesitará obtener el snapshot.tar del sistema de origen al de destino. Quizás en una memoria USB, o de otra manera.
  • Extraiga el archivo en el sistema de destino (en este caso, en /home/ubuntu)
    • tar xvf snapshot.tar
  • Agregue la fuente local fuera de línea a /etc/apt/sources.list
    • echo "deb file:/home/ubuntu/archives /" | Sudo tee -a /etc/apt/sources.list
  • Actualice la lista de paquetes
    • Sudo apt-get update
  • Instale los paquetes como desee
    • Sudo apt-get install byobu run-one bikeshed dotdee powernap
10
Dustin Kirkland

Para la instalación fuera de línea, necesitará los paquetes. Si está utilizando un sistema Debian

  • Obtenga el archivo del paquete con la extensión de archivo .deb y use dpkg -i package_name para instalarlo
  • Obtenga el tarball fuente con la extensión de archivo .tar.gz o .tar.bz2, luego extráigalo e instálelo con:

    tar -zxvf your_pack.tar.gz` or tar `-jxvf your_pack.tar.bz2
    make
    Sudo make install
    make clean        (optional, and may prevent uninstallation)
    

Puede tener problemas con las dependencias. Debe instalar todos esos primero para una instalación sin conexión exitosa.

4
Harshit Chaudhary

Lo primero que puede hacer antes de la instalación de un paquete fuera de línea es actualizar el repositorio/repositorios que necesita. Seguro que debe actualizar el repositorio principal (para software gratuito y oficialmente compatible).

Las aplicaciones que está buscando instalar pueden estar en otros repositorios como el Universo (gratuito pero sin soporte oficial), o el Restringido (no libre, oficialmente compatible), o el Multiverso (no libre, no repositorio oficial). Por lo tanto, es posible que desee uno o más de estos también.

Entonces, el primer paso en el proceso es construir un repositorio fuera de línea actualizado; luego genere la lista de "descargar" y descárguelas, y finalmente la instalación. Así es como se hace: fuente

  1. Ingrese la url: http://archive.ubuntu.com/ubuntu/dists/suiteCodename where suiteCodename = debe ser sustituido apropiadamente, digamos preciso para Ubuntu 12.04 (Precise Pangolin) [o tópico para Ubuntu 14.10 (Utopic Unicorn)] para que ahora estarías en http://archive.ubuntu.com/ubuntu/dists/precise/ o cualquier otro específico de la suite que tengas.

  2. Descargue los archivos Release, Release.gpg, y el archivo Contenido - ????. gz para su arquitectura (es decir Contenido-i386.gz, suponiendo que su arquitectura es i386). Guarde estos tres archivos en un directorio/carpeta con el nombre de su suiteCodename ( precisa para Precise Pangolin).

  3. A continuación, deberá hacer lo siguiente para cada uno de los repositorios (entre Principal, Universo, Restringido, Multiverso) que desee.

    a. ir al directorio del repositorio de destino, por ejemplo. main y luego al directorio de arquitectura, por ejemplo. binary-i386 para que estés en http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary-????/

    segundo. descargue los contenidos Packages.bz2, Packages.gz, Release y guárdelos en un directorio con el nombre del repositorio, por ejemplo. main y coloque este directorio en el directorio suiteCodename creado anteriormente.

    do. repetir a. y B. para cada uno de los repositorios que desee.

  4. Finalmente deberías tener una estructura como esta:

     precise
     ├── Contents-i386.gz
     ├── main
     │   └── binary-i386
     │       ├── Packages.bz2
     │       ├── Packages.gz
     │       └── Release.txt
     ├── Release.gpg
     ├── Release.txt
     └── universe
         └── binary-i386
             ├── Packages.bz2
             ├── Packages.gz
             └── Release.txt
    

    (suponiendo que su suiteCodename = precisa, la arquitectura es i386, y necesita repositorios principales y universales)

  5. Luego, después de descargar los repositorios actualizados, colocaría los archivos descargados dispuestos en una estructura adecuada (como se muestra arriba) en un directorio de la computadora fuera de línea de destino. Guarde la estructura de directorios precise en una carpeta llamada offlineRepository/dists/precisa en su página de inicio de usuario (~/offlineRepository/dists/precise) o en cualquier otro lugar (/home/offlineRepository/dists/precise usando los previos Sudo en un terminal o con el administrador de archivos Nautilus comenzó con gksu nautilus; también asegúrese de tener los permisos correctos para la estructura copiada). La información del repositorio fuera de línea estaría lista para usar.

  6. Agregar el repositorio local en su lista de fuentes. Con Centro de software de Ubunt, vaya a Editar -> Fuentes de software ... -> Otro software -> Agregar ... y luego en el campo para la línea APT, agregue: deb file:///home/offlineRepository precise main universe y haga clic en Agregar fuente. Asegúrese de modificar la línea en cuanto a su directorio/estructura de archivos y suite. Luego vuelva a cargar los paquetes o ejecute Sudo apt-get update en una terminal. snap1

  7. Ahora con los repositorios actualizados (y probablemente también los recién agregados), puede volcar la lista de URL para los paquetes y dependencias.

    Tomo prestada la siguiente línea de código de una de las publicaciones anteriores de askUbuntu:

    Sudo apt-get install packageName --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
    

    p.ej. instalar Synaptic Package Manager:

    Sudo apt-get install synaptic --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
    

    (También puede generar listas de actualizaciones de manera similar).

    La lista generada se puede usar para descargar el paquete y todas las dependencias en una computadora en línea. Cree un script para descargar o use la lista para la descarga por lotes en algunos administradores de descargas. (Tenga en cuenta también que el archivo de texto generado utiliza el final de línea de Unix/Linux, y que es posible que desee cambiar a Windows). Solía ​​haber una forma más fácil para esto cuando Synaptic Package Manager era una aplicación predeterminada en Ubuntu.

  8. Finalmente en el sistema de destino, puede instalar los paquetes con dpkg o de cualquier otra manera.

Obtener la base de datos del paquete actualizado, incluidas las actualizaciones de seguridad

La siguiente estructura, además de la explicación anterior, debería darle la idea:

/opt/offlineRepoList/
└── dists
    ├── precise
    │   ├── Contents-i386.gz
    │   ├── main
    │   │   └── binary-i386
    │   │       ├── Packages.bz2
    │   │       ├── Packages.gz
    │   │       └── Release.txt
    │   ├── Release.gpg
    │   ├── Release.txt
    │   └── universe
    │       └── binary-i386
    │           ├── Packages.bz2
    │           ├── Packages.gz
    │           └── Release.txt
    ├── precise-security
    │   ├── Contents-i386.gz
    │   ├── main
    │   │   └── binary-i386
    │   │       ├── Packages.bz2
    │   │       ├── Packages.gz
    │   │       └── Release
    │   ├── Release
    │   ├── Release.gpg
    │   └── universe
    │       └── binary-i386
    │           ├── Packages.bz2
    │           ├── Packages.gz
    │           └── Release
    └── precise-updates
        ├── Contents-i386.gz
        ├── main
        │   └── binary-i386
        │       ├── Packages.bz2
        │       ├── Packages.gz
        │       └── Release
        ├── Release
        ├── Release.gpg
        └── universe
            └── binary-i386
                ├── Packages.bz2
                ├── Packages.gz
                └── Release
2
precise

Para un sistema que siempre se mantendrá fuera de línea, generalmente es mejor usar uno de los métodos robustos de administración de paquetes fuera de línea presentados en algunas de las otras respuestas. Esto se debe a que facilitan mantener actualizados los paquetes ya instalados, en lugar de simplemente instalar un puñado de paquetes una vez.

Sin embargo, para casos aislados en los que solo desea instalar rápidamente paquetes en un sistema que no tiene conexión a Internet (y tiene la capacidad de descargarlos en otra máquina y traerlos), puede hacerlo. La principal complicación es determinar lo que necesita, ya que un paquete a menudo tiene otros paquetes de los que depende y, por lo tanto, deben instalarse antes o al mismo tiempo que se instala el paquete.

Esta respuesta está motivada por la pregunta duplicada g ++ en Ubuntu 14.04 , y utiliza el caso de la necesidad de instalar g++ como su ejemplo central.

Destaco que este método no debe usarse a largo plazo como una alternativa a algo que al menos facilite la determinación e instalación automáticas de las actualizaciones de seguridad necesarias. Nunca conectarse a una red reduce considerablemente el potencial de un ataque, pero algunos errores de seguridad pueden explotarse a través de datos de cualquier fuente.

Si bien este método puede parecer complejo, generalmente solo toma unos minutos. Para paquetes con una gran cantidad de dependencias, puede llevar más tiempo. Para instalar metapaquetes que extraen una gran cantidad de dependencias (por ejemplo, ubuntu-desktop en un sistema mínimo), puede tomar mucho más tiempo descargar todos los archivos .deb necesarios y es poco probable que este método sea adecuado.

Determinación de dependencias necesarias

Puede simular la instalación para determinar qué otros paquetes son necesarios para satisfacer las dependencias del paquete. Al pasar la bandera -s a apt-get ( antes usted especifica cualquier acción) hace esto.

apt-get -s install g++

He omitido Sudo, ya que esto es solo una simulación, por lo que no se necesitan privilegios de root.

Si realmente desea instalar todas las herramientas más comunes para crear paquetes, en lugar de solo g++, puede preferir:

apt-get -s install build-essential

La salida (para g++) se verá así:

NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  g++-4.8 libstdc++-4.8-dev
Suggested packages:
  g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
  libstdc++-4.8-doc
The following NEW packages will be installed:
  g++ g++-4.8 libstdc++-4.8-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Inst libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [AMD64])
Inst g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [AMD64])
Inst g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [AMD64])
Conf libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [AMD64])
Conf g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [AMD64])
Conf g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [AMD64])

Esto dice que para instalar g++ en mi sistema, necesito paquetes g++, g++-4.8 y libstdc++-4.8-dev.

Seguir los resultados de una simulación suele ser mejor que simplemente buscar las dependencias de un paquete (o suponer que lo que necesita es lo mismo que el anterior), porque:

  1. Es posible que ya tenga algunas dependencias instaladas.
  2. Las dependencias (es decir, los otros paquetes que un paquete necesita instalar o funcionar) pueden tener dependencias que usted no haya instalado.

Obteniendo los paquetes

Una vez que sepa qué paquetes necesita, puede descargarlos. Sugiero usar Launchpad para esto, porque las descargas están encriptadas con SSL, lo que ayuda a prevenir la corrupción de archivos.

  • Esto no es solo una protección contra la manipulación deliberada por una parte maliciosa; También ayuda a prevenir la corrupción accidental de archivos, que es un problema mucho más común para los archivos descargados.
  • Hay un tipo que no previene: cuando un archivo se descarga solo parcialmente pero cree que terminó.
  • Instalar un paquete normalmente con apt-get o el Centro de software no requiere HTTPS porque su hash se verifica contra una lista de hashes firmada digitalmente. Si termina poniendo estos paquetes en su caché de paquetes y usando apt-get para instalarlos, eso sucederá.
  • Pero si termina teniendo que instalar los paquetes descargados manualmente con dpkg -i, eso no se hará.

Puede buscar un paquete escribiendo su nombre en Paquetes en https://launchpad.net/ubunt y haciendo clic en " Encuentra un paquete ". Por ejemplo, buscar g++-4.8 lo lleva a página del paquete fuente gcc-4.8 .

Luego, desplácese hacia abajo hasta el nombre en código de su versión de Ubuntu. Estás ejecutando 14.04, así que eso es Trusty Tahr. Los nombres clave para todas las versiones de Ubuntu se enumeran en la página wiki de versiones . Haga clic en el triángulo que apunta hacia la derecha para ver las descargas de paquetes.

screenshot showing the rightward facing triangle with which one expands a release to see downloads for it

Para algunos paquetes, puede expandir las listas de descargas de más de un bolsillo . Puedes ver:

  • lanzamiento , la versión de un paquete enviado con un lanzamiento de Ubuntu (o disponible en el momento del lanzamiento);
  • seguridad , actualizaciones de seguridad enviadas después del lanzamiento;
  • actualizaciones , cualquier actualización enviada después del lanzamiento;
  • propuestas , actualizaciones que están disponibles para ser instaladas, pero aún están en prueba y no se recomiendan para uso general;
  • backports , software originado en una versión posterior de Ubuntu y reconstruido para una versión anterior.

Por ejemplo, esto es lo que está disponible para Firefox en 14.04:

Launchpad screenshot showing expandable selections of package downloads for multiple pockets in the same release

En general, querrá paquetes en seguridad o actualizaciones si existen, y de lo contrario paquetes en versión .

Una vez que expanda la lista de paquetes, busque el archivo .deb para su arquitectura. Las debs se llaman name_version_architecture.deb. Las arquitecturas más comunes son:

  • PC/Mac de 64 bits (llamado AMD64, tanto para procesadores Intel como AMD)
  • PC/Mac de 32 bits (llamado i386, también para ambos)

Por ejemplo, para obtener el paquete g++-4.8 para la versión de 64 bits de Ubuntu, puede descargar g++-4.8_4.8.4-1ubuntu15_AMD64.deb.

Instalar los paquetes

Si los paquetes que recuperó son las mismas versiones que apt-get 's install action habría recuperado e instalado automáticamente (si su sistema estuviera conectado a la red), entonces puedes poner los paquetes en /var/cache/apt/archives y simplemente ejecutar ese comando:

Sudo apt-get install g++

Si este sistema nunca se conectó a Internet, entonces este será probablemente el caso cuando todos los paquetes que recuperó fueran de la versión bolsillo. Independientemente de si el sistema alguna vez estuvo conectado a Internet o no, esto también será casi siempre el caso si no se muestran paquetes en ningún otro bolsillo en Launchpad. (Esencialmente, la única situación que no ocurrirá es si instaló un sistema alfa o beta y nunca lo actualizó).

En el caso específico de instalar g++, usaría apt-get.

En los casos en que eso no funciona o espera que no funcione, instale los paquetes colocándolos en una carpeta vacía y ejecutando:

Sudo dpkg -Ri /path/to/folder

O puede nombrar los paquetes individualmente. Este ejemplo supone que los paquetes están en el directorio actual (es decir, que has cd al directorio que los contiene):

Sudo dpkg -i package1.deb package2.deb ...

A menos que el número de paquetes que se instalen sea muy pequeño y conozca el orden preciso en que deben instalarse para que se satisfagan las dependencias, es considerablemente más eficiente usar esos métodos que para instalar manualmente cada paquete individualmente.

2
Eliah Kagan

Tengo una pequeña secuencia de comandos python que se puede ejecutar en Windows que analiza el sitio web del paquete ubuntu para encontrar el árbol de dependencias y descargar todos los paquetes necesarios + haciendo una verificación de suma de verificación.

Obviamente, esto podría descargar más de lo necesario, pero fue la solución más simple para mí.

https://Gist.github.com/Zitrax/2bad212a3b0571357e1b

Todos los paquetes descargados se pueden instalar con dpkg -i E pkg\*. Evita la reinstalación de paquetes que ya están instalados.

Uso:

usage: ubuntu-deps.py [-h] [-a Arch] [-r RELEASE] [-m MIRROR] [-f FALLBACK] [-d DIRECTORY] dep [dep ...]

Download ubuntu dependencies

positional arguments:
  dep                                  The main/top package

optional arguments:
  -h, --help                           show this help message and exit
  -a Arch, --Arch ARCH                 The architecture to use (default: AMD64)
  -r RELEASE, --release RELEASE        Ubuntu release (default: trusty)
  -m MIRROR, --mirror MIRROR           Mirror to use for download (default: http://no.archive.ubuntu.com/)
  -f FALLBACK, --fallback FALLBACK     Mirror to use when main mirror is not found (default:
                                       http://security.ubuntu.com/)
  -d DIRECTORY, --directory DIRECTORY  Target directory (default: pkg)
2
Zitrax

Sí. Puede descargar el DVD iso, grabarlo en un DVD e instalar el software desde el DVD. Ver aquí Los CD y DVD se pueden proporcionar como fuente a los administradores de paquetes de la misma manera que los archivos en línea.

2
txwikinger

Si no tiene conexión a Internet de ningún tipo y no tiene a nadie cerca de donde pueda conectarse a Internet, hay una opción que aún no se menciona: que alguien envíe los archivos de origen a través de la publicación regular.

Puede obtener todo el sistema operativo Ubuntu a través del correo pagando un DVD. De la misma manera, puede pedirle a un amigo en línea que le envíe los archivos DEB o incluso los archivos fuente de un paquete como VLC. Aunque podría valer la pena que alguien envíe un DVD completo con todos los paquetes. De esa manera puedes instalarlo desde ese DVD.

1
Rinzwind

Sugiero personalizar Live CDs e instalarlos.

También puede descargar los archivos en http://packages.ubuntu.com/ nombre de archivo , pero luego tiene que pagar atención a las dependencias, también.

0
Jakob

Esta no es una respuesta completamente detallada, pero a un alto nivel podría:

  1. obtenga los paquetes .deb deseados (y cree una lista de ellos) (incluya paquetes de los que dependan que no estén ya instalados)
  2. crear un archivo apto que los contenga
  3. copie el archivo apt en un CD o USB
  4. inserte el CD o USB en el sistema de destino
  5. configure apt en el sistema de destino para incluir el CD o el archivo USB apt como fuente
  6. instale los paquetes de su lista con apt-get install (lista de paquetes)
0
kyleN

Otra posibilidad es usar remastersys. Esta herramienta le permite crear una imagen iso desde su propio sistema y, después de crear un dispositivo USB de arranque a través de unetbootin, puede instalar un sistema personalizado en la cantidad de computadoras que desee.

0
dago

Esta pregunta es un poco antigua, por lo que una respuesta en este momento puede ser redundante, pero quizás también podría intentar usar dpkg-offline . Instale bzr, luego:

bzr branch lp:dpkg-offline

hay un tutorial y un archivo Léame incluido allí.

Suponiendo que desea instalar git en un sistema Ubuntu 14.04 AMD64, incluso si su sistema es, p. 12.04 i386, puedes:

  • descargue la imagen ubuntu-14.04-desktop-AMD64.iso
  • Ejecute dpkg-offline ubuntu-14.04-desktop-AMD64.iso git
  • Obtendrá un tar.gz que puede transportar al sistema de destino, contendrá el paquete semilla (git) y todas sus dependencias. También incluye un script auxiliar para agregar un repositorio local, para que pueda usar apt-get para instalar sus paquetes.

dpkg-offline funcionará con cualquier versión de escritorio de Ubuntu desde 10.04 en adelante (no he probado con versiones anteriores, pero deberían también deberían funcionar), y con cualquier Versión del servidor Ubuntu desde 12.10 en adelante. También debería funcionar con AMD64, i386 e imágenes armhf, independientemente de la arquitectura del host. Una vez más, no he probado con arm64 o powerpc/ppc64el, pero también pueden funcionar.

Descargo de responsabilidad: escribí dpkg-offline.

0
roadmr

Algunos paquetes se instalan en la unidad usb-stick. Desinstalé network-manager y quiero instalarlo nuevamente.

Así obtuve el dispositivo desde el que instalé el sistema operativo (Lubuntu 17.10). Fue /dev/sdb

Monte el palo en una ruta (/tmp/mnt en mi caso)

mkdir /tmp/mnt
Sudo mount /dev/sdb1 /tmp/mnt

Luego, edito /etc/apt/sources.list para que solo contenga

deb file:///tmp/mnt/ main universe

Entonces lo hago

Sudo apt-get update

Y puedo instalar network-manager.

Nota: Esta podría no ser la respuesta a la pregunta anterior, sino a la pregunta que tuve cuando busqué esta.

0
User

Tengo un par de sugerencias simples. Puedes ir a la biblioteca. Busque en la sección de computadora el sistema operativo que desea, algunos de los libros tienen DVD dentro de ellos. Además, si desea el sistema operativo más actualizado, le recomendaría este sitio web donde puede comprar un DVD por una tarifa nominal. www.ubuntu.com/download/desktop.

0
BJsgoodlife