it-swarm.it

Come posso installare software o pacchetti senza Internet (offline)?

Ho un amico che ha un computer che non è connesso a Internet. Esiste un modo per installare facilmente il software offline?

256
akshatj

Dai un'occhiata Keryx ; è un gestore di repository offline.

Come funziona? Ti consente di scaricare aggiornamenti e nuovi programmi (con dipendenze) sull'unità flash .

La sua interfaccia è simile a Synaptic, ma funziona da un pendrive (non necessita di installazione). Sfortunatamente, la GUI necessita di wxwidgets, che non vengono preinstallati su Ubuntu (sono multipiattaforma e installabili da qui e repository Ubuntu qui ). Può installare solo software in un sistema Ubuntu, ma è possibile scaricare gli aggiornamenti o i nuovi pacchetti in qualsiasi Linux, Windows o OS X.

Qui puoi trovare n tutorial .

Un altro tutorial dettagliato passo-passo è in questa risposta .

Launchpad ospita anche file scaricabili .

Uno screenshot:

Screenshoot

129
Javier Rivera

Un trucco rapido

Un trucco rapido è copiare tutti i pacchetti scaricati per l'installazione sul suo computer ( istruzioni dettagliate qui ). I file .deb sono memorizzati in /var/cache/apt/archives, quindi nell'altro computer avvia Synaptic e seleziona File -> Add Package Downloaded e cerca nella cartella metti i file e lo apri, accetti tutti (o installa dal terminale usando il comando Sudo dpkg -i DEB_PACKAGE_NAME).

NOTA:
Ciò presuppone che il gestore dei pacchetti non sia configurato per eliminare i pacchetti subito dopo l'installazione. Presuppone inoltre che si stia eseguendo la stessa versione di Ubuntu (10.10, 12.04, ecc.) e la versione dell'architettura (32b o 64b) .


Un repository DVD

Se vuoi le ultime correzioni di bug e patch di sicurezza disponibili, dai un'occhiata a questo tutorial , che copre la creazione del tuo repository DVD.

57
jr0cket

Un repository USB

Se si dispone di una chiavetta USB di dimensioni decenti - ipotizzando circa 4-8 Gb (o disco rigido esterno) è possibile impostare una copia personalizzata del repository Ubuntu e configurarla come repository locale come descritto in AptGet/Offline/Repository su help.ubuntu.com.

Per ottenere i file del pacchetto effettivo (i file .deb), suggerisco di usare apt-mirror.

Il pacchetto apt-mirror ti aiuterà a creare un mirror personalizzato che dovrebbe essere più piccolo dei 30Gb dell'intero repository. Installa il pacchetto:

Sudo apt-get install apt-mirror

e modifica il suo file di configurazione

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

o da Ubuntu 14.04

gksudo gedit /etc/apt/mirror.list

Includi solo le sezioni del repository che desideri. Ecco un semplice esempio che copia i file binari .deb da tutte e 4 le sezioni (principale, limitato, universo e multiverso) e le ultime correzioni di bug.

# 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

Si presume che occorrano circa 15 GB di spazio per tutte e 4 le sezioni, senza la fonte.

Ho impostato il percorso per tutti i file .deb in /tmp, assicurati di avere spazio sufficiente in modo che il disco rigido non si riempia (se il disco rigido si riempie e il computer si blocca, /tmp dovrebbe essere cancellato con un riavvio).

Se si desidera solo i file principali, rimuovere i nomi con restrizioni, universo e multiverso dal file di configurazione.

Se stai utilizzando un'architettura diversa (hai 64 bit, ma il tuo amico ha 32 bit), aggiungi quanto segue all'inizio della configurazione mirror.list file:

set defaultarch i386

Una volta che hai la configurazione apt-mirror che desideri, esegui apt-mirror e vai a fare qualcosa di divertente o che cambia la vita in quanto ci vorranno ore o giorni per ottenere il repository (a seconda della tua connessione e del mirror Ubuntu che stai utilizzando ).

Una volta che hai i file .deb, copia i file sulla tua chiavetta USB (o disco rigido esterno) e configura il repository locale secondo l'articolo menzionato in precedenza.

Test funziona prima di portarlo al tuo amico!

42
jr0cket

Uso apt-get con l'opzione "--print-uris" per farlo. Aggiungo anche "-qq" in modo che sia silenzioso.

Usa sed per rimuovere caratteri extra aggiunti ad alcuni nomi di file (qualcosa come 3% 2a) e ottenere l'URL, il nome file e il md5sum dei file. Usa wget per scaricare i file. Utilizzare md5sum per verificare se i file sono stati scaricati correttamente.

È possibile utilizzarlo per creare uno script Shell per Linux o Mac OS (sostituire ".cmd" nei comandi per .sh ed eseguire "chmod a + x (nome file) per aggiungere l'autorizzazione per eseguire lo script) o un file batch di comandi di Windows e un file MD5Sum per assicurarsi che i file vengano scaricati correttamente.

Comandi

Crea script:

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

Esempi:

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

Crea file 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

Esempi:

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

È necessario md5sum per Windows se si utilizza quel sistema operativo per scaricare file.


Crea script per scaricare elenchi di repository:

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

Verifica delle somme MD5

Puoi aggiungerli alla fine degli script per controllare md5sum:

Linux:

md5sum --quiet -c md5sum.txt

Windows (usa md5sum precedente, non supporta --quiet):

md5sum -c md5sum.txt

Per aggiungere automaticamente allo script:

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

Installazione dei file di elenco (comando di aggiornamento)

Esegui questi comandi sul computer di destinazione.

È necessario utilizzare bunzip2 per estrarre i file dell'elenco repository:

bunzip2 *.bz2

Quindi copia nella cartella dell'elenco (la cartella corrente contiene solo i file dell'elenco):

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

Combinato sopra (la cartella corrente può contenere altri file):

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

Download più rapidi

Se vuoi velocizzare il download dei file, prova ad usare Axel.

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

Gerarchia di cartelle (download di file tramite Windows)

Di solito creo una cartella come questa:

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

Quindi modificare wget nelle righe sopra in ..\\bin\\wget.exe, md5sum in ..\\bin\\md5sum.exe, ecc.

Ciò separerà i file * .deb ed elencherà i file in diverse cartelle.

Aggiornamento del sistema

  1. Avviare sul computer di destinazione che utilizza Ubuntu
  2. Crea uno script per l'aggiornamento
  3. Avvia da un computer con una connessione Internet
  4. Esegui update.sh (per Linux o Mac OS) o update.cmd (Windows)
  5. Torna al computer di destinazione
  6. Installa i file dell'elenco
  7. Crea uno script per upgrade/dist-upgrade (aggiungi i comandi md5sum alla fine)
  8. Torna al computer con connessione a Internet
  9. Esegui upgrade.sh/dist-upgrade.sh (Linux o Mac OS) o upgrade.cmd/dist-upgrade.cmd (Windows)
  10. Torna al computer di destinazione
  11. Copia i file * .deb nella cache: Sudo cp *.deb /var/cache/apt/archives/
  12. Esegui: Sudo apt-get upgrade o Sudo apt-get dist-upgrade

Scarica eseguibili per Windows

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

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

Puoi anche usare quelli di MinGW , che sono quelli che uso. Hai solo bisogno di wget.exe, md5sum.exe e le librerie condivise necessarie. Controlla la sezione "Gerarchia di cartelle".

Appunti

  • Non sono del tutto sicuro se tutto quanto sopra descritto funzionerà, dal momento che non li uso da un mese ormai. Soprattutto il comando di aggiornamento, che non ho testato oggi alcune parti di esso.
  • Per visualizzare facilmente i risultati dei comandi, aggiungere una riga di "pausa" alla fine degli script, se si utilizza Windows.
  • Raccomando di creare script Shell per aggiornare, aggiornare e installare pacchetti se si utilizzano spesso questi comandi.
32
Arnel A. Borja

È necessario prima ottenere un PC con connessione a Internet, da cui è possibile scaricare i file .deb richiesti. Dopo aver scaricato tutti i file, è ora possibile creare un rom CD/DVD o un file ISO che è possibile utilizzare per installare il software scaricato nel PC offline.

Inizia con un'installazione pulita o una VM.
Sudo apt-get install aptoncd

Installa i pacchetti che desideri su un PC
Sudo apt-get install gbrainy

Esegui aptoncd
enter image description here
Fai clic su Crea
enter image description here
Fai clic su Masterizza e imposta le opzioni quindi Applica
enter image description here
Masterizzalo o salvalo
enter image description here

Si noti che aptoncd esegue il backup delle cose solo nella apt-cache corrente.
Questo è il motivo per cui abbiamo iniziato con una VM pulita/nuova installazione e fatto tutto questo in una volta sola.

29
RobotHumans

Repository offline

Viene descritto come creare un repository offline qui : Devi solo scaricare i file appropriati da archive.ubuntu.com . In alternativa, è possibile utilizzare apt-medium .

EDIT: un altro approccio basato su un archivio locale di _*.deb_ file è descritto in diversi post di blog (vedi qui e qui ). Sarath Chandra riassume come segue:

  1. Rendi accessibile una directory (almeno per root)

    _Sudo mkdir /var/my-local-repo
    _
  2. Copia tutti i file deb in questa directory.

  3. Crea la directory come a

    _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. Aggiungi il repository locale alle fonti

    _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

Passaggio 1: ottieni gli URL di download in un file:

Eseguire il comando seguente sostituendo i nomi dei pacchetti con quelli richiesti, separandoli con uno spazio.

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

Passaggio 2: copiare questo file (apturls) su un computer con accesso a Internet ad alta velocità ed eseguire il comando seguente per scaricare i pacchetti:

wget -i path-to-apturls-file 

Passaggio 3: ora scarica i pacchetti scaricati sul tuo computer e installali usando:

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

Sudo dpkg -i *.deb

Fatto!

20
harisibrahimkv

Puoi usare Cubo. È un gestore di pacchetti portatile che ti consente di scaricare pacchetti su un altro computer connesso a Internet e installarli di nuovo sul tuo computer Linux originale, offline.

Download di app (su Windows)  

Installazione di app (su Linux)  

Puoi scaricarlo dal sito Web Cube .

19
Camicri

In sinaptic puoi selezionare i pacchetti che vuoi installare e sotto il primo menu c'è un'opzione per generare uno script che puoi portare su un altro computer ed eseguirlo lì. Questo script "wget" (ovvero "download") tutti i pacchetti che hai specificato che volevi (e le loro dipendenze) che esegui su un computer che ha ha accesso a Internet.

Una volta eseguito avrai tutti i file del pacchetto necessari per il computer disconnesso. Trasportarli su una chiavetta CD/USB e installarli con Sudo dpkg -i *.deb.

17
popey

Puoi usare apt-offline o apt-offline-gui.
Prerequisiti : sistema di un amico con connessione Internet. apt-offline installato in entrambi i sistemi.

L'installazione offline viene eseguita in 3 semplici passaggi.

Passaggio 1 :
Genera un file di firma nella casella Disconnected Debian a casa
apt-offline set /tmp/apt-offline.sig
Il comando sopra genererà tutte le informazioni richieste da apt sull'aggiornamento del suo database.

Passaggio 2 :
Scarica i dati in base al file della firma generato in precedenza
apt-offline get C:\apt-offline.sig --threads 5
Il comando precedente scaricherà i dati come indicato nel file della firma. Per accelerare i download (che possono provenire da più repository apt), in questo esempio vengono generati 5 thread di download.
Una volta completato, puoi semplicemente copiare i dati (un file di archivio, se hai usato l'opzione --bundle) sul supporto rimovibile e copiarli nuovamente sul tuo Host offline.

Passaggio 3 :
Una volta tornato sul computer Debian di casa, dai i dati dal supporto rimovibile a apt-offline:
apt-offline install /media/USB/apt-offline.Zip
Questo aggiornerà il database APT sulla tua macchina disconnessa senza problemi.

Apt-offline può essere utilizzato anche nei sistemi Windows. A mio avviso, apt-offline è l'opzione migliore per l'installazione offline.

Source

15
Hashken

Esistono diverse risposte valide ed efficaci sopra elencate. Tuttavia, questo è il meccanismo che uso personalmente - apt-ftparchive . Lo sto documentando qui, nel caso in cui avessi bisogno di nuovo in futuro. Forse potrebbe esserti utile.

Creazione dell'istantanea dell'archivio

  • Crea un'istanza di Ubuntu che imita da vicino l'ambiente di destinazione
    • Ad esempio, un'istanza di Ubuntu 12.04 a 64 bit in Amazon
  • Inizia con un ambiente di pacchetto pulito
    • Sudo apt-get clean
  • Aggiorna gli elenchi dei pacchetti
    • Sudo apt-get update
  • Scarica tutti gli aggiornamenti dei pacchetti disponibili
    • Sudo apt-get dist-upgrade --download-only
  • Scarica tutti i pacchetti e le dipendenze pertinenti
    • Sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
  • Installa l'utilità apt-ftparchive
    • Sudo apt-get install apt-utils
  • Crea il manifest manifest
    • (cd /var/cache/apt/archives/ && Sudo apt-ftparchive packages . ) | Sudo tee /var/cache/apt/archives/Packages
  • Creare un archivio dei pacchetti
    • Sudo tar cvf snapshot.tar -C /var/cache/apt archives/

Uso dell'istantanea dell'archivio sul sistema di destinazione offline

  • Attraverso alcuni meccanismi, sarà necessario ottenere lo snapshot.tar dall'origine al sistema di destinazione. Forse su una chiavetta USB o altro.
  • Estrarre l'archivio sul sistema di destinazione (in questo caso, in /home/ubuntu)
    • tar xvf snapshot.tar
  • Aggiungi la fonte locale offline a /etc/apt/sources.list
    • echo "deb file:/home/ubuntu/archives /" | Sudo tee -a /etc/apt/sources.list
  • Aggiorna l'elenco dei pacchetti
    • Sudo apt-get update
  • Installare i pacchetti come desiderato
    • Sudo apt-get install byobu run-one bikeshed dotdee powernap
10
Dustin Kirkland

Per l'installazione offline sono necessari i pacchetti. Se stai usando un sistema Debian

  • Ottieni il file del pacchetto con l'estensione .deb e usa dpkg -i package_name per installarlo
  • Ottieni il tarball di origine con l'estensione .tar.gz o .tar.bz2, quindi estrai e installali 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)
    

Potresti avere problemi con le dipendenze. È necessario installare prima tutti quelli per una corretta installazione offline.

4

La prima cosa che puoi fare prima dell'installazione di un pacchetto offline è aggiornare il repository/repository di cui hai bisogno. Dovresti sicuramente aggiornare il repository principale (per software gratuito e ufficialmente supportato).

Le applicazioni che stai cercando di installare potrebbero trovarsi in altri repository come l'universo (gratuito ma senza supporto ufficiale) o Limitato (non gratuito, supportato ufficialmente) o Multiverso (non libero, no supporto ufficiale). Quindi potresti volere anche uno o più di questi.

Quindi il primo passo nel processo è costruire un repository offline aggiornato; quindi generare l'elenco "da scaricare" e scaricarli, e infine l'insatllation. Ecco come è fatto: fonte

  1. Inserisci l'URL: http://archive.ubuntu.com/ubuntu/dists/ suiteCodename where suiteCodename deve essere opportunamente sostituito, diciamo preciso per Ubuntu 12.04 (Precise Pangolin) [o utopic per Ubuntu 14.10 (Utopic Unicorn)] in modo che ora ti trovi in ​​ http://archive.ubuntu.com/ubuntu/dists/precise/ oppure qualsiasi altro specifico per la suite che hai.

  2. Scarica i file Rilascio , Release.gpg e il Contenuto - ????. Gz file per la tua architettura (es. Sommario-i386.gz , supponendo che l'architettura sia i386). Salvare questi tre file in una directory/cartella che prende il nome da suiteCodename ( preciso per Precang Pangolin).

  3. Successivamente dovrai fare quanto segue per ciascuno dei repository (tra Principale, Universo, Limitato, Multiverso ) che desideri.

    un. vai alla directory del repository di destinazione, ad es. main e quindi nella directory architecture ad es. binary-i386 in modo da essere in http: //archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary- ???? /

    b. scarica i contenuti Packages.bz2, Packages.gz, Release e salvali in una directory che prende il nome il repositoryName ad es. main e posiziona questa directory nella directory precedentemente creata suiteCodename .

    c. ripetere a. e B. per ciascuno dei repository che desideri.

  4. Infine dovresti avere una struttura simile a questa:

     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
    

    (supponendo che il tuo nomeCodice suite = preciso, l'architettura sia i386 e siano necessari repository principali e universi)

  5. Successivamente, dopo aver scaricato i repository aggiornati, i file scaricati verranno posizionati in una struttura appropriata (come mostrato sopra) in una directory del computer offline di destinazione. Salvare la struttura di directory precise in una cartella denominata offlineRepository/dists/precise nella home dell'utente (~/offlineRepository/dists/precise) o in qualsiasi altro luogo (/home/offlineRepository/dists/precise l'utilizzo di Sudile previleges in un terminale o con il file manager Nautilus è iniziato con gksu nautilus; assicurati inoltre di disporre delle autorizzazioni giuste per la struttura copiata). Le informazioni del repository offline sarebbero quindi pronte per l'uso.

  6. Aggiungi il repository locale nell'elenco delle fonti . Con Ubuntu Software Center , vai a Modifica -> Sorgenti software ... -> Altro software -> Aggiungi ... e quindi nel campo per APT riga, aggiungi: deb file:///home/offlineRepository precise main universe e fai clic su Aggiungi sorgente . Assicurati di modificare la linea per quanto riguarda la tua directory/struttura di file e suite. Quindi ricaricare i pacchetti o eseguire Sudo apt-get update in un terminale. snap1

  7. Ora con i repository aggiornati (e probabilmente anche quelli appena aggiunti), è possibile scaricare l'elenco di URL per i pacchetti e le dipendenze.

    Prendo in prestito la seguente riga di codice da uno dei precedenti post di askUbuntu:

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

    per esempio. per installare Synaptic Package Manager:

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

    (Puoi anche generare elenchi di aggiornamenti in modo simile.)

    L'elenco generato può essere utilizzato per scaricare il pacchetto e tutte le dipendenze su un computer online. Creare uno script per scaricare o utilizzare l'elenco per il download in batch in alcuni gestori di download. (Nota anche che il file di testo generato usa la fine della linea Unix/Linux e che potresti voler cambiare in Windows.) In passato c'era un modo più semplice quando Synaptic Package Manager era un'applicazione predefinita in Ubuntu.

  8. Finalmente nel sistema di destinazione, è possibile installare i pacchetti con dpkg o in qualsiasi altro modo.

Ottenere il database del pacchetto aggiornato inclusi gli aggiornamenti di sicurezza

La seguente struttura, oltre alla spiegazione sopra, dovrebbe darti l'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

Per un sistema che rimarrà sempre offline, di solito è meglio usare uno dei metodi di gestione dei pacchetti offline affidabili presentati in alcune delle altre risposte. Questo perché facilitano l'aggiornamento dei pacchetti già installati, anziché semplicemente l'installazione di una manciata di pacchetti una volta.

Tuttavia, per i casi isolati in cui si desidera installare rapidamente pacchetti su un sistema che non dispone di una connessione Internet (e si ha la possibilità di scaricarli su un altro computer e trasferirli), è possibile farlo. La principale complicazione è determinare ciò di cui hai bisogno, dal momento che un pacchetto spesso ha altri pacchetti da cui dipende e che devono quindi essere installati prima o contemporaneamente al pacchetto.

Questa risposta è motivata dalla duplice domanda g ++ in Ubuntu 14.04 e utilizza il caso della necessità di installare g++ come esempio principale.

Sottolineo che questo metodo non dovrebbe essere usato a lungo termine come alternativa a qualcosa che faciliti almeno la determinazione e l'installazione automatica degli aggiornamenti di sicurezza necessari. Non collegarsi mai a una rete riduce considerevolmente il potenziale di un attacco, ma alcuni bug di sicurezza possono essere sfruttati tramite dati provenienti da qualsiasi fonte.

Mentre questo metodo può sembrare complesso, di solito ci vogliono solo pochi minuti. Per i pacchetti con un numero elevato di dipendenze, potrebbe richiedere più tempo. Per l'installazione di metapacchetti che generano un numero molto elevato di dipendenze (ad esempio, ubuntu-desktop su un sistema minimo), il download di tutti i file .deb necessari può richiedere molto più tempo e è improbabile che questo metodo sia adatto.

Determinazione delle dipendenze necessarie

È possibile simulare l'installazione per determinare quali altri pacchetti sono necessari per soddisfare le dipendenze del pacchetto. Passando il flag -s a apt-get ( prima si specifica un'azione).

apt-get -s install g++

Ho omesso Sudo, poiché questa è solo una simulazione, quindi non sono necessari i privilegi di root.

Se desideri effettivamente installare tutti gli strumenti più comuni per la creazione di pacchetti, anziché solo g++, potresti preferire:

apt-get -s install build-essential

L'output (per g++) avrà un aspetto simile al seguente:

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])

Questo dice che per installare g++ sul mio sistema, ho bisogno dei pacchetti g++, g++-4.8 e libstdc++-4.8-dev.

Seguire i risultati di una simulazione di solito è meglio che cercare semplicemente le dipendenze di un pacchetto (o supporre che ciò di cui hai bisogno sia lo stesso di quello sopra), perché:

  1. Potresti già avere alcune dipendenze installate.
  2. Le dipendenze (ovvero gli altri pacchetti che un pacchetto deve installare o funzionare) possono avere dipendenze che non sono già state installate.

Ottenere i pacchetti

Una volta che sai quali pacchetti hai bisogno, puoi scaricarli. Suggerisco di usare Launchpad per questo, perché i download sono crittografati con SSL, il che aiuta a prevenire la corruzione dei file.

  • Questa non è solo una protezione contro la manipolazione deliberata da parte di un malintenzionato; aiuta anche a prevenire la corruzione accidentale dei file, che è un problema molto più comune per i file scaricati.
  • C'è un tipo che non impedisce: quando un file viene scaricato solo parzialmente ma pensi che sia finito.
  • L'installazione di un pacchetto normalmente con apt-get o Software Center non richiede HTTPS perché il suo hash è verificato rispetto a un elenco di hash con firma digitale. Se finisci per mettere questi pacchetti nella cache dei pacchetti e usando apt-get per installarli, ciò accadrà.
  • Ma se si finisce per installare i pacchetti scaricati manualmente con dpkg -i, ciò non verrà fatto.

Puoi cercare un pacchetto digitandone il nome in Pacchetti su https://launchpad.net/ubunt e facendo clic su " Trova un pacchetto ". Ad esempio, la ricerca di g++-4.8 ti porta alla pagina pacchetto sorgente gcc-4.8 .

Quindi scorrere verso il basso fino al nome in codice della versione di Ubuntu. Stai correndo il 14.04, quindi è Trusty Tahr. I nomi in codice per tutte le versioni di Ubuntu sono elencati nella pagina wiki delle versioni . Fai clic sul triangolo rivolto verso destra per visualizzare i download dei pacchetti.

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

Per alcuni pacchetti potresti essere in grado di espandere elenchi di download da più di una tasca . Potresti vedere:

  • release , la versione di un pacchetto fornito con una versione di Ubuntu (o disponibile al momento del rilascio);
  • sicurezza , aggiornamenti di sicurezza spediti dopo il rilascio;
  • aggiornamenti , eventuali aggiornamenti spediti dopo il rilascio;
  • proposti , aggiornamenti disponibili per l'installazione, ma che sono ancora in fase di test e non consigliati per l'uso generale;
  • backport , software originato in una versione successiva di Ubuntu e ricostruito per una versione precedente.

Ad esempio, ecco cosa è disponibile per Firefox in 14.04:

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

Generalmente si vorranno pacchetti in aggiornamenti di sicurezza o se presenti, e altrimenti pacchetti in .

Una volta espanso l'elenco dei pacchetti, trova il file .deb per la tua architettura. I debs sono chiamati name_version_architecture.deb. Le architetture più comuni sono:

  • PC/Mac a 64 bit (chiamato AMD64, per processori Intel e AMD)
  • PC/Mac a 32 bit (chiamato i386, anche per entrambi)

Ad esempio, per ottenere il pacchetto g++-4.8 per la versione a 64 bit di Ubuntu, è possibile scaricare g++-4.8_4.8.4-1ubuntu15_AMD64.deb.

Installazione dei pacchetti

Se i pacchetti che hai recuperato sono le stesse versioni che l'azione install di apt-get avrebbe recuperato e installato automaticamente (se il tuo sistema fosse connesso in rete), allora puoi mettere i pacchetti in /var/cache/apt/archives ed esegui semplicemente quel comando:

Sudo apt-get install g++

Se questo sistema non è mai stato mai connesso a Internet, probabilmente questo sarà il caso in cui tutti i pacchetti che hai recuperato provenivano dalla versione tasca. Indipendentemente dal fatto che il sistema sia mai stato collegato a Internet, ciò avverrà quasi sempre anche se nessun pacchetto in altre tasche fosse mostrato su Launchpad. (Essenzialmente l'unica situazione che non sarà se hai installato un sistema alfa o beta e non l'hai mai aggiornato.)

Nel caso specifico dell'installazione di g++, utilizzerei apt-get.

Nei casi in cui ciò non funziona o ti aspetti che non funzioni, installa i pacchetti inserendoli in una cartella altrimenti vuota ed eseguendo:

Sudo dpkg -Ri /path/to/folder

Oppure puoi nominare i pacchetti individualmente. Questo esempio suppone che i pacchetti si trovino nella directory corrente (ovvero che cded nella directory che li contiene):

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

A meno che il numero di pacchetti installati non sia molto piccolo e si conosca l'ordine preciso in cui devono essere installati affinché le dipendenze siano soddisfatte, è molto più efficiente usare questi metodi che per installare manualmente ciascun pacchetto singolarmente.

2
Eliah Kagan

Dopo aver cercato le risposte qui: Come posso installare software o pacchetti senza Internet (offline)? , ho trovato questo codice di Arnel A. Borja il più utile.

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


Comunque, ecco alcune istruzioni per i neofiti completi. Spero che li troverai utili.

Istruzioni complete per il download per altri utenti di Ubuntu 15.10+:

  1. Apri il Terminale (scorciatoia CTRL + ALT + T)
  2. Passare alla cartella in cui si desidera scaricare il pacchetto utilizzando il comando:

    cd FOLDERNAME
    (Esempio: cd Desktop)
    Suggerimento: è inoltre possibile utilizzare il comando dir per elencare le cartelle.

  3. Nel codice sopra le istruzioni, sostituire PACCHETTO con il pacchetto che si desidera scaricare.
  4. Copia e incolla il codice modificato (scorciatoia CTRL + MAIUSC + V) e premi Invio

    Codice di esempio per scaricare Synaptic Package Manager:
    Sudo apt-get install synaptic --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

    Codice di esempio per scaricare il lettore VLC:
    Sudo apt-get install vlc --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

  5. Se richiesto, digitare la password di root e premere Invio. (Non preoccuparti se i caratteri per la password non vengono visualizzati. È solo una misura di sicurezza.)
  6. Il file "install.sh" dovrebbe ora essere generato. Tutte le dipendenze necessarie sono incluse nello script.
  7. Ora dobbiamo eseguire lo script con questo comando:
    sh install.sh
  8. Attendi il download dei file
  9. Successivamente, è possibile utilizzare questo comando per installare tutti i pacchetti all'interno della cartella:

    Sudo dpkg -i *.deb

    Oppure potresti usare un programma come Synaptics per installare i pacchetti. (Synaptics: File - Aggiungi pacchetti scaricati)
    In alternativa, puoi anche fare doppio clic sui file. Questo aprirà Ubuntu Software Center. Una volta caricato il centro software, premere il pulsante di installazione. Ripetere l'operazione fino all'installazione di tutti i file nella cartella.

2
GSM-S

Ho un piccolo script python che può essere eseguito su Windows che analizza il sito Web del pacchetto ubuntu per trovare l'albero delle dipendenze e scaricare tutti i pacchetti necessari + facendo la verifica del checksum.

Questo potrebbe ovviamente scaricare più del necessario, ma è stata la soluzione più semplice per me.

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

Tutti i pacchetti scaricati possono quindi essere installati con dpkg -i E pkg\*. Evita la reinstallazione di pacchetti già installati.

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ì. È possibile scaricare l'iso del DVD, masterizzarlo su un DVD e installare il software dal DVD. Vedi qui CD e DVD possono essere dati come fonte ai gestori di pacchetti allo stesso modo degli archivi online.

2
txwikinger

Se non hai alcuna connessione a Internet e non hai nessuno vicino a dove puoi collegarti a Internet, c'è un'opzione non ancora menzionata: chiedi a qualcuno di inviare i file di origine tramite posta ordinaria.

Puoi ottenere l'intero sistema operativo Ubuntu tramite posta pagando un DVD. Allo stesso modo in cui potresti chiedere a un amico online di inviarti i file DEB o anche i file sorgente per un pacchetto come VLC. Anche se potrebbe valerne la pena avere qualcuno che mandi un DVD completo con tutti i pacchetti. In questo modo è possibile installarlo da quel DVD.

1
Rinzwind

Suggerisco di personalizzare i Live CD e installarli.

Puoi anche scaricare i file su http://packages.ubuntu.com/ nomefile , ma poi devi pagare attenzione anche alle dipendenze.

0
Jakob

Questa non è una risposta completamente dettagliata, ma a un livello elevato potresti:

  1. ottenere i pkgs .deb desiderati (e crearne un elenco) (includere i pacchetti da cui dipendono che non sono già installati)
  2. creare un archivio apt che li contenga
  3. copia l'archivio apt su un CD o USB
  4. inserire il CD o USB nel sistema di destinazione
  5. configurare apt sul sistema di destinazione in modo che includa il CD o l'archivio apt USB come sorgente
  6. installa i pacchetti dal tuo elenco con apt-get install (elenco di pkgs)
0
kyleN

Un'altra possibilità è usare remastersys. Questo strumento consente di creare un'immagine ISO dal proprio sistema e dopo aver creato una chiavetta USB avviabile tramite unetbootin è possibile installare un sistema personalizzato su tutti i computer desiderati.

0
dago

Questa domanda è un po 'vecchia quindi una risposta in questo momento potrebbe essere ridondante, ma forse potresti anche provare a usare dpkg-offline . Installa bzr, quindi:

bzr branch lp:dpkg-offline

c'è un tutorial e un file readme incluso in là.

Supponendo che tu voglia installare git su un sistema Ubuntu 14.04 AMD64, anche se il tuo sistema è ad es. 12.04 i386, puoi:

  • scarica l'immagine ubuntu-14.04-desktop-AMD64.iso
  • Esegui dpkg-offline ubuntu-14.04-desktop-AMD64.iso git
  • Otterrai un tar.gz che puoi trasportare al sistema di destinazione, conterrà il pacchetto seed (git) e tutte le sue dipendenze. Include anche uno script di supporto per aggiungere un repository locale, in modo da poter utilizzare apt-get per installare i pacchetti.

dpkg-offline funzionerà con qualsiasi versione desktop di Ubuntu dalla 10.04 in poi (non ho testato con versioni precedenti ma loro dovrebbero funzionare anche), e con qualsiasi Versione del server Ubuntu dal 12.10 in poi. Dovrebbe funzionare anche con le immagini AMD64, i386 e armhf indipendentemente dall'architettura Host. Ancora una volta, non ho testato con arm64 o powerpc/ppc64el ma potrebbero anche funzionare.

Disclaimer: ho scritto dpkg-offline.

0
roadmr

Alcuni pacchetti sono installati sulla chiavetta USB di installazione. Ho disinstallato network-manager e voglio installarlo di nuovo.

Così ho ottenuto lo stick da cui ho installato il sistema operativo (Lubuntu 17.10). Era /dev/sdb

Montare lo stick su un percorso (/tmp/mnt nel mio caso)

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

Quindi, modifico /etc/apt/sources.list per contenere solo

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

Quindi lo faccio

Sudo apt-get update

E posso installare network-manager.

Nota: questa potrebbe non essere la risposta alla domanda precedente ma alla domanda che ho avuto quando ho cercato questo.

0
User

Ho un paio di semplici suggerimenti. Puoi andare in biblioteca. Cerca nella sezione computer il sistema operativo che desideri, in alcuni dei libri sono presenti dei DVD al loro interno. Inoltre, se si desidera il sistema operativo più aggiornato, consiglierei questo sito Web in cui è possibile acquistare un DVD a un costo nominale. www.ubuntu.com/download/desktop.

0
BJsgoodlife