Risposte:
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:
keryx
senza problemi, anche se necessita chiaramente di ulteriori sviluppi e miglioramenti.
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 Downloaded
e 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.
sudo apt-get update
, non funzionerà molto bene, comunque risparmierai tempo durante l'impostazione di un nuovo sistema :)
/var/cache/apt/archives
secondo ha fatto scaricare solo ~ 250 Mb. Tuttavia, è necessaria una connessione per eseguire l'installazione.
apt-get update
non è necessario se si copia /var/lib/apt/lists
: questa directory contiene le informazioni sul repository che vengono scaricate da apt-get update
.
.deb
mio usb
dal mio /var/cache/apt/archives
. Sull'altro computer ho semplicemente aperto l'unità USB e ho fatto doppio clic su ciò .deb
che ha lanciato la GUI di Ubuntu Software Updater
. Facile sfocato.
/var/cache/apt/archives
che già (integrati) arriva quando è installato Debian?
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-mirror
pacchetto 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, /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 del file di configurazione mirror.list :
set defaultarch i386
Una volta che hai la apt-mirror
configurazione 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 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!
sudo apt-get install apt-mirror
direttamente 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
.
sudo apt-get update
non ha risolto il problema.
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.
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
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
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
Se vuoi velocizzare il download dei file, prova ad usare Axel.
Sostituisci wget -c ... -O ...
con axel ... -o ...
.
Di solito creo una cartella come questa:
Quindi cambia wget
nelle righe sopra a ..\\bin\\wget.exe
, md5sum
a ..\\bin\\md5sum.exe
, ecc.
Ciò separerà i file * .deb ed elencherà i file in diverse cartelle.
sudo cp *.deb /var/cache/apt/archives/
sudo apt-get upgrade
osudo apt-get dist-upgrade
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".
-qq
L'opzione sembra sopprimere tutto l'output da apt-get update
. Suppongo che tu non voglia davvero questa opzione.
È 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
Fai
clic su Crea Fai clic su Masterizza e imposta le opzioni quindi Applica
Masterizza o salvalo
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.
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 *.deb
file è descritto in diversi post di blog (vedi qui e qui ). Sarath Chandra riassume come segue:
Rendi accessibile una directory (almeno per root)
sudo mkdir /var/my-local-repo
Copia tutti i file deb in questa directory.
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
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
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!
--print-uris
stampare anche le dipendenze che sono già installati nel sistema?
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 .
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
.
curl
/ wget
copie su alcuni supporti esterni ...
Puoi usare apt-offline
o 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.
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
sudo apt-get clean
sudo apt-get update
sudo apt-get dist-upgrade --download-only
sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
sudo apt-get install apt-utils
(cd /var/cache/apt/archives/ && sudo apt-ftparchive packages . ) | sudo tee /var/cache/apt/archives/Packages
sudo tar cvf snapshot.tar -C /var/cache/apt archives/
Utilizzo dell'istantanea dell'archivio sul sistema di destinazione offline
tar xvf snapshot.tar
echo "deb file:/home/ubuntu/archives /" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install byobu run-one bikeshed dotdee powernap
Per l'installazione offline sono necessari i pacchetti. Se stai usando un sistema Debian
.deb
estensione e usalo dpkg -i package_name
per installarlo Ottieni il tarball di origine con l' estensione del file .tar.gz
o .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.
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.
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
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.
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).
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.
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)
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 precise
in una cartella denominata offlineRepository / dists / precise nella home dell'utente ( ~/offlineRepository/dists/precise
) o in qualsiasi altro luogo ( /home/offlineRepository/dists/precise
utilizzando 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.
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 universe
e 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 update
in un terminale.
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.
Finalmente nel sistema di destinazione, è possibile installare i pacchetti con dpkg
o in qualsiasi altro modo.
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
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.
cd FOLDERNAME
(Esempio:cd Desktop
)
Suggerimento: è anche possibile utilizzare ildir
comando per elencare le cartelle.
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
sh install.sh
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.
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)
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-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.
È possibile simulare l'installazione per determinare quali altri pacchetti sono necessari per soddisfare le dipendenze del pacchetto. Passare la -s
bandiera 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.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é:
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.
apt-get
o 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-get
per installarli, ciò accadrà.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.8
ti 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.
Per alcuni pacchetti potresti essere in grado di espandere elenchi di download da più di una tasca . Potresti vedere:
Ad esempio, ecco cosa è disponibile per Firefox in 14.04:
Generalmente si vorranno pacchetti in sicurezza o aggiornamenti se esistono, e altrimenti pacchetti in rilascio .
Una volta espanso l'elenco dei pacchetti, trova il .deb
file per la tua architettura. I debs sono chiamati . Le architetture più comuni sono:name_version_architecture.deb
amd64
, sia per processori Intel che AMD)i386
, anche per entrambi)Ad esempio, per ottenere il g++-4.8
pacchetto per la versione a 64 bit di Ubuntu, è possibile scaricare g++-4.8_4.8.4-1ubuntu15_amd64.deb
.
Se i pacchetti che hai recuperato sono le stesse versioni che apt-get
l' install
azione avrebbe recuperato e installato automaticamente (se il tuo sistema fosse connesso in rete), allora puoi inserire i pacchetti /var/cache/apt/archives
ed 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 cd
nella 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.
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.
Questa non è una risposta completamente dettagliata, ma a un livello elevato potresti:
Suggerisco di personalizzare i Live CD e installarli.
Puoi anche scaricare i file su http://packages.ubuntu.com/ nomefile , ma devi anche prestare attenzione alle dipendenze.
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.
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.
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:
dpkg-offline ubuntu-14.04-desktop-amd64.iso git
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 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.
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 il bastone 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.
sources.list
e ripristinarlo.