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


Risposte:


129

Dai un'occhiata a 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 ha bisogno di wxwidgets, che non sono 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 un tutorial .

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

Launchpad ospita anche file scaricabili .

Uno screenshot:

screenshoot


12
keryx non è più in fase di sviluppo, se stai provando questo su una versione più recente di Ubuntu, usa la versione portatile per salvarti dal problema delle dipendenze.
Alex R,

1
Uso ancora keryxsenza problemi, anche se necessita chiaramente di ulteriori sviluppi e miglioramenti.
carnendil,


E se l'altro computer offline non avesse gcc, g ++? È un nuovo Ubuntu installato. Come posso installare wxwidgets? Senza wxwidgets, si lamenta del modulo mancante ...
un'offerta non può rifiutare il

3
Ho appena rilasciato una nuova versione di Keryx ( 0.92.5 ), che potrebbe risolvere alcuni problemi. La versione compilata dovrebbe contenere dipendenze come wxWidgets e consentire l'esecuzione su Windows senza problemi.
Michael Crenshaw,

57

Un trucco rapido

Un trucco rapido è copiare tutti i pacchetti scaricati per l'installazione sul suo computer ( istruzioni dettagliate qui ). I file .deb vengono archiviati /var/cache/apt/archives, quindi nell'altro computer avvia Synaptic e seleziona File -> Add Package Downloadede cerca la cartella in cui hai inserito i file e aprilo, accetta tutto (o installa dal terminale usando il comando sudo dpkg -i DEB_PACKAGE_NAME).

NOTA:
ciò presuppone che il gestore 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 di architettura (32b o 64b) .


Un repository di 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.


2
Se non riesci a farlo sudo apt-get update, non funzionerà molto bene, comunque risparmierai tempo durante l'impostazione di un nuovo sistema :)
GM-Script-Writer-62850

D'accordo, ho appena aggiornato due computer a 13.10 da 13.04. Il primo ha dovuto scaricare ~ 1,8 Gb, copiando il contenuto del /var/cache/apt/archivessecondo ha fatto scaricare solo ~ 250 Mb. Tuttavia, è necessaria una connessione per eseguire l'installazione.
Maxime R.

apt-get updatenon è necessario se si copia /var/lib/apt/lists: questa directory contiene le informazioni sul repository che vengono scaricate da apt-get update.
ignis,

Ho copiato il .debmio usbdal mio /var/cache/apt/archives. Sull'altro computer ho semplicemente aperto l'unità USB e ho fatto doppio clic su ciò .debche ha lanciato la GUI di Ubuntu Software Updater. Facile sfocato.
Jacksonkr

@ jr0cket: c'è un modo per evitare i pacchetti in questa cartella /var/cache/apt/archivesche già (integrati) arriva quando è installato Debian?
justin

42

Un repository USB

Se si dispone di una chiavetta USB di dimensioni decenti - assumendo 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 utilizzare apt-mirror.

Il apt-mirrorpacchetto ti aiuterà a creare un mirror personalizzato che dovrebbe essere inferiore ai 30 Gb 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 messo il percorso per tutti i file .deb /tmp, assicurati di avere abbastanza spazio in modo che il disco rigido non si riempia (se il disco rigido si riempie e il computer si blocca, /tmpdovrebbe 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 del file di configurazione mirror.list :

set defaultarch i386

Una volta che hai la apt-mirrorconfigurazione che desideri, esegui apt-mirrore 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 di 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!


Il pacchetto apt-mirror è dettagliato su:: apt-mirror.sourceforge.net
jr0cket

Quando ho provato sudo apt-get install apt-mirrordirettamente su Ubuntu 16.10 (Yakkety Yak), edizione desktop / Rufus / chiavetta USB / modalità di prova, ho ottenuto " E: Unable to locate package apt-mirror". C'era una connessione a Internet, verificata da ping.
Peter Mortensen,

L'esecuzione sudo apt-get updatenon ha risolto il problema.
Peter Mortensen,

32

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.

Puoi usarlo per creare uno script shell per Linux o Mac OS (sostituisci ".cmd" nei comandi per .sh e fai "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 il 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 cambia wgetnelle righe sopra a ..\\bin\\wget.exe, md5suma ..\\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 upgradeosudo 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 o 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à, dato 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.
  • Consiglio di creare script di shell per aggiornare, aggiornare e installare pacchetti se si utilizzano spesso questi comandi.

3
Puoi creare una semplice
interfaccia grafica

usare Windows per questo sembra molto strano ...
Alex R

1
È applicabile anche a Linux (che in realtà è meglio perché non è necessario installare md5sum e wget). La parte di Windows è per coloro che non hanno un computer Linux con connessione a Internet, quindi puoi usarlo in un internet café o nel computer di un amico che ha solo Windows.
Arnel A. Borja,

-qqL'opzione sembra sopprimere tutto l'output da apt-get update. Suppongo che tu non voglia davvero questa opzione.
Ruslan,

29

È 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
inserisci qui la descrizione dell'immagine
Fai
inserisci qui la descrizione dell'immagine
clic su Crea Fai clic su Masterizza e imposta le opzioni quindi Applica
inserisci qui la descrizione dell'immagine
Masterizza o salvalo
inserisci qui la descrizione dell'immagine

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.


sooo, stai dicendo se faccio un vm e installo tutte le app che voglio, quindi eseguo questo programma, porta il cd / dvd sul pc offline. e installerebbe tutte le app su di esso?
Alex

2
Finché si utilizza lo stesso supporto di sistema di base, sì. Se stai implementando un ufficio e desideri un modo rapido e semplice per aggiungere qualcosa, questo diventa molto utile. Se usi il pacchetto create-meta, sì
RobotHumans,

Il ripristino dall'immagine richiede l'installazione di hal, ma è obsoleto e non è più supportato per quanto ne so.
Flashrunner,


22

Repository offline

La modalità di creazione di un repository offline è descritta qui : è sufficiente scaricare i file appropriati da archive.ubuntu.com . In alternativa, potresti usare apt-medium.

EDIT: un altro approccio basato su un archivio locale di *.debfile è 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
    

20

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!


Non --print-urisstampare anche le dipendenze che sono già installati nel sistema?
yuric,

19

Puoi usare Cube . È 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 di Cube .


è .deb o .exe?

2
Non esiste alcun file .deb perché è autonomo, portatile e può essere eseguito senza installazione (basta eseguire il file normale del cubo). Cube.exe è incluso anche per gli utenti di Windows.
Camicri,

1
Più persone devono sapere di questo. Ti amo.
howderek,

Ricevo un errore durante l'esecuzione di questa applicazione su win 7 Ultimate a 32 bit. Immagine: i.stack.imgur.com/XW3wt.jpg messaggio di errore: Firma del problema: Problema Nome evento: CLR20r3 Firma del problema 01: cube.exe Firma del problema 02: 1.0.9.3 Firma del problema 03: 54bd0258 Firma del problema 04: glib-sharp Firma del problema 05: 2.12.0.0 Firma del problema 06: 517edc4c Firma del problema 07: 1b4 Firma del problema 08: 17 Firma del problema 09: System.DllNotFoundException Versione del sistema operativo: 6.1.7600.2.0.0.256.1 ID locale: 16393
Sandeep

Ciao e grazie per aver usato Cube. Sfortunatamente, la versione del cubo che stai utilizzando non viene più mantenuta. Si prega di utilizzare quello nuovo e stabile, Cube Server: launchpad.net/cube-server. Vedi la risposta aggiornata sopra.
Camicri,

17

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" (cioè "download") tutti i pacchetti specificati che si voleva (e le loro dipendenze), che si esegue su un computer che ha l'accesso a internet.

Una volta eseguito avrai tutti i file del pacchetto necessari per il computer disconnesso. Trasportali su un CD / chiavetta USB e installali sudo dpkg -i *.deb.


è un bel trucco ma 2 computer per fare il processo? hmmmm
Suhaib,

@Suhaib: non sei sicuro di come scaricare i pacchetti di cui hai bisogno in qualsiasi misura senza "due computer" ... hai bisogno di una macchina "online" per ottenere i pacchetti che in qualche modo invierai alla tua macchina offline (anche se si tratta di VM o Docker Container in esecuzione su un diverso sistema operativo host, o un mucchio di manuali curl/ wgetcopie su alcuni supporti esterni ...
Cinderhaze,

15

Puoi usare apt-offlineo apt-offline-gui.
Prerequisiti : il sistema di un amico con connessione a 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 Disconnesso 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 :
scaricare 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, potresti semplicemente copiare i dati (un file di archivio, se hai usato l'opzione --bundle) di nuovo sul supporto rimovibile e copiarli nuovamente sul tuo host offline.

Step 3 :
Una volta tornato sulla macchina Debian domestica, 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.

fonte


Due osservazioni: in primo luogo, la generazione di una firma per un pacchetto già installato o pronto per l'installazione "non riesce", nel senso che il file .sig è vuoto. È un po 'sconcertante ma apparentemente normale. Secondo, apt e apt-offline funzionano correttamente solo se / var / lib / apt / lists è stato correttamente seminato. Questa è una buona dose di lavoro se le macchine target e host hanno architetture diverse.
Urhixidur,

Sia il PC di origine che quello di destinazione devono avere la stessa versione di Ubuntu?
Tulains Córdova,

Come installare apt-offline su macchina offline?
Sami Şimşekli

10

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
  • Creare il manifest del pacchetto
    • (cd /var/cache/apt/archives/ && sudo apt-ftparchive packages . ) | sudo tee /var/cache/apt/archives/Packages
  • Crea un archivio dei pacchetti
    • sudo tar cvf snapshot.tar -C /var/cache/apt archives/

Utilizzo 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

4

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

  • Ottieni il file del pacchetto con l' .debestensione e usalo dpkg -i package_nameper installarlo
  • Ottieni il tarball di origine con l' estensione del file .tar.gzo .tar.bz2, quindi estrailo e installalo 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.


2

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

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 il Restricted (non libero, supportato ufficialmente) o il Multiverso (non gratuito, nessun 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 dove suiteCodename deve essere opportunamente sostituito, ad esempio preciso per Ubuntu 12.04 (Precise Pangolin) [o utopico per Ubuntu 14.10 (Utopic Unicorn)] in modo da ora si trova in http://archive.ubuntu.com/ubuntu/dists/precise/ o in qualsiasi altro specifico della suite che hai.

  2. Scarica i file Release , Release.gpg e il file Contenuto - ????. Gz per la tua architettura (ad esempio Contenuto-i386.gz , supponendo che l'architettura sia i386). Salvare questi tre file in una directory / cartella che prende il nome dalla suiteCodename ( precisa per Precise 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. principale e quindi alla directory dell'architettura ad es. binary-i386 in modo da trovarti in http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary-????/

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

    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 della directory precisein una cartella denominata offlineRepository / dists / precise nella home dell'utente ( ~/offlineRepository/dists/precise) o in qualsiasi altro luogo ( /home/offlineRepository/dists/preciseutilizzando sudo previleges in un terminale o con il file manager Nautilus iniziato con gksu nautilus; assicurarsi inoltre di disporre delle autorizzazioni appropriate per la struttura copiata) . Le informazioni sul repository offline sarebbero quindi pronte per l'uso.

  6. Aggiungi il repository locale all'elenco delle fonti . Con Ubuntu Software Center , vai su Modifica -> Sorgenti software ... -> Altro software -> Aggiungi ... e poi nel campo per la linea APT, aggiungi: deb file:///home/offlineRepository precise main universee fai clic su Aggiungi sorgente . Assicurati di modificare la riga per quanto riguarda la tua directory / struttura di file e suite. Quindi ricaricare i pacchetti o eseguirli sudo apt-get updatein 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. Crea uno script per scaricare o usa l'elenco per il download in batch in alcuni gestori di download. (Nota anche che il file di testo generato utilizza la fine della linea Unix / Linux e che potresti voler cambiare in Windows.) In precedenza, c'era un modo più semplice per farlo quando Synaptic Package Manager era un'applicazione predefinita in Ubuntu.

  8. Finalmente nel sistema di destinazione, è possibile installare i pacchetti con dpkgo 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

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


Ad ogni modo, 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: è anche possibile utilizzare il dircomando 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 VLC player:
    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

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

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 quindi devono 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-desktopsu 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. Passare la -sbandiera a apt-get( prima di specificare qualsiasi azione) fa questo.

apt-get -s install g++

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

Se in realtà vuoi installare tutti gli strumenti più comuni per la creazione di pacchetti, piuttosto che solo g++, potresti preferire:

apt-get -s install build-essential

L'output (per g++) sarà simile a questo:

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 di pacchetti g++, g++-4.8e 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-geto il 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 utilizzarli apt-getper installarli, ciò accadrà.
  • Ma se si finisce per installare i pacchetti scaricati manualmente con dpkg -i, non sarà fatto.

Puoi cercare un pacchetto digitandone il nome in Pacchetti su https://launchpad.net/ubuntu e facendo clic su "Trova un pacchetto". Ad esempio, la ricerca di g++-4.8ti porta alla pagina del pacchetto sorgente di 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 che mostra il triangolo rivolto a destra con il quale si espande un rilascio per vedere i download per esso

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;
  • proposto , aggiornamenti disponibili per l'installazione, ma 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:

Schermata del Launchpad che mostra selezioni espandibili di download di pacchetti per più tasche nella stessa versione

Generalmente si vorranno pacchetti in sicurezza o aggiornamenti se esistono, e altrimenti pacchetti in rilascio .

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

  • PC / Mac a 64 bit (chiamato amd64, sia per processori Intel che AMD)
  • PC / Mac a 32 bit (chiamato i386, anche per entrambi)

Ad esempio, per ottenere il g++-4.8pacchetto 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 apt-getl' installazione avrebbe recuperato e installato automaticamente (se il tuo sistema fosse connesso in rete), allora puoi inserire i pacchetti /var/cache/apt/archivesed eseguire semplicemente quel comando:

sudo apt-get install g++

Se questo sistema non è mai stato collegato a Internet, probabilmente questo sarà il caso in cui tutti i pacchetti recuperati provenivano dalla tasca di rilascio . 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 g++, userei 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. In questo esempio si suppone che i pacchetti si trovino nella directory corrente (ovvero che sia stato modificato cdnella directory che li contiene):

sudo dpkg -i package1.deb package2.deb ...

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


1

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.


0

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

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.


Ma come aggiornarli in seguito?
Eliah Kagan,

0

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

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
  • Correre 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 poterlo utilizzare apt-getper installare i pacchetti.

dpkg-offline funzionerà con qualsiasi versione desktop di Ubuntu dalla 10.04 in poi (non ho testato con versioni precedenti ma dovrebbero funzionare anche) e con qualsiasi versione del server Ubuntu dalla 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.


Questo è fantastico, tuttavia penso che sia eccessivo scaricare l'intera distribuzione per utilizzare lo script, vorrei che potesse funzionare specificando solo i pacchetti richiesti e la destinazione target
Javier López,

0

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

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

Montare il bastone su un percorso ( /tmp/mntnel mio caso)

mkdir /tmp/mnt
sudo mount /dev/sdb1 /tmp/mnt

Quindi, modifico /etc/apt/sources.listper 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.


1
Probabilmente dovresti eseguire il backup sources.liste ripristinarlo.
Chai T. Rex,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.