Sapevamo già come scaricare un pacchetto insieme a tutte le sue dipendenze in Ubuntu e suoi derivati. Oggi vedremo come scaricare le dipendenze ricorsive di un pacchetto in Ubuntu. In altre parole, scaricheremo le dipendenze delle dipendenze.
Supponiamo che tu stia tentando di installare un pacchetto denominato a.deb . Il pacchetto a.deb dipende dal pacchetto b.deb e ancora il pacchetto b.deb dipende dal pacchetto c.deb . In questo metodo, non scarichiamo solo le dipendenze di a.deb, ma anche le dipendenze di b.deb e c.deb. Questo potrebbe essere utile quando non puoi installare il pacchetto anche dopo aver scaricato tutte le dipendenze richieste usando apt-rdepends comando.
Il download di pacchetti con dipendenze in locale ha tre scopi principali.
- Evita di scaricare ripetutamente lo stesso set di pacchetti. Ad esempio, se vuoi installare Vim editor su più sistemi, puoi scaricare Vim con tutte le dipendenze richieste, salvarle su un drive USB (o trasferirle via LAN) e installare Vim su un altro sistema.
- Risparmia la larghezza di banda e il tempo di Internet.
- Installa i pacchetti su sistemi non connessi a Internet. Questo è il motivo principale per il download di pacchetti con dipendenze in locale. È possibile scaricare i pacchetti in un sistema connesso a Internet, quindi trasferirli al sistema offline tramite unità USB o LAN e installarli senza Internet.
I motivi potrebbero variare per te. Se hai mai voluto installare pacchetti su un sistema offline, questo metodo sarebbe sicuramente di aiuto.
Scarica le dipendenze ricorsive di un pacchetto in Ubuntu
Ai fini di questa guida, prenderemo Vim programma come esempio.
Per prima cosa, elenchiamo le dipendenze ricorsive del pacchetto Vim usando il seguente comando:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u
Sostituisci vim con il tuo pacchetto. Se vuoi visualizzare l'output in formato colonna per una facile lettura, esegui:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u | column
Risultato di esempio:
cdebconf libacl1 libdb5.3 liblzma5:i386 libpython3.6-stdlib libtinfo5 vim debconf libacl1:i386 libdebian-installer4 libmpdec2 libreadline7 libzstd1 vim-common dpkg libattr1 libexpat1 libncursesw5 libselinux1 libzstd1:i386 vim-runtime dpkg:i386 libattr1:i386 libffi6 libnewt0.52 libselinux1:i386 mime-support xxd gcc-8-base libbz2-1.0 libgcc1 libpcre3 libslang2 perl-base xxd:i386 gcc-8-base:i386 libbz2-1.0:i386 libgcc1:i386 libpcre3:i386 libsqlite3-0 readline-common zlib1g install-info libc6 libgpm2 libpython3.6 libssl1.1 tar zlib1g:i386 install-info:i386 libc6:i386 liblzma5 libpython3.6-minimal libtextwrap1 tar:i386

Queste sono le dipendenze delle dipendenze del programma Vim. Si prega di notare che tutti questi potrebbero non essere necessari per installare Vim.
Andiamo avanti e scarichiamo le dipendenze ricorsive del pacchetto Vim con il comando:
$ apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u)
Questo comando scaricherà vim insieme ai suoi programmi di dipendenza nella directory corrente. Scaricherà anche le dipendenze delle dipendenze di Vim.

Controlla che tutte le dipendenze siano state scaricate usando il comando "ls":
$ ls
Ecco l'elenco delle dipendenze del programma Vim e le dipendenze delle sue dipendenze nel mio desktop Ubuntu 18.04:

Ora sposta tutti i file scaricati tramite un'unità USB o una LAN sul sistema offline. Quindi vai alla posizione in cui hai salvato tutti i pacchetti scaricati nel tuo sistema offline e installali usando il comando:
$ sudo dpkg -i *
In alternativa, puoi creare l'indice di tutti i pacchetti scaricati e installarli utilizzando il gestore di pacchetti APT.
Per creare l'indice dei pacchetti scaricati, vai alla posizione in cui sono archiviati i pacchetti ed esegui il comando seguente:
$ dpkg-scanpackages . | gzip -c9 > Packages.gz
Aggiungi questa cartella all'elenco delle sorgenti APT usando il seguente comando:
$ echo "deb[trusted=yes] file:///home/sk/vim ./" | sudo tee -a /etc/apt/sources.list
Qui, ho salvato tutti i file in /home/sk/vim
cartella nel mio sistema offline. Devi sostituire questo percorso con il tuo.
Aggiorna l'indice del pacchetto usando il comando:
$ sudo apt-get update
Infine, installa il pacchetto vim usando il gestore di pacchetti APT:
$ sudo apt-get install vim
Allo stesso modo, puoi scaricare e installare anche altri pacchetti.
Spero che questo aiuti.
Lettura consigliata:
- Come scaricare un pacchetto RPM con tutte le dipendenze in CentOS
- Camiciri Cube:installazione di pacchetti su sistemi Ubuntu offline
- Come installare software offline in Ubuntu
- Come simulare i comandi di Linux senza modificare nulla nel sistema