L'installazione di applicazioni tramite riga di comando è abbastanza semplice in Ubuntu/Debian. Tutto quello che devi fare è usare apt install nome_pacchetto.
Ma cosa succede se si desidera conoscere le dipendenze di un pacchetto prima o dopo l'installazione?
In questo tutorial, ti mostrerò vari modi per vedere le dipendenze di un pacchetto in Ubuntu e altre distribuzioni Linux basate su Debian che utilizzano il sistema di gestione dei pacchetti APT.
Cos'è la dipendenza dal pacchetto in Ubuntu?
Se non lo sapevi già, quando installi un pacchetto software in Linux, a volte, ha bisogno di altri pacchetti per funzionare correttamente. Questi pacchetti aggiuntivi sono chiamati dipendenze. Se questi pacchetti di dipendenze non sono installati sul sistema, di solito viene installato automaticamente con il pacchetto.
Ad esempio, lo strumento GUI HandBrake per la conversione di formati video necessita di FFmpeg, GStreamer. Quindi per HandBrake, FFmpeg e GStreamer sono le dipendenze.
Se non hai questi pacchetti installati sul tuo sistema, verranno installati automaticamente quando installi HandBrake su Ubuntu.
Verifica le dipendenze di un pacchetto nelle distribuzioni basate su Ubuntu e Debian
Come spesso accade in Linux, ci sono più di un modo per ottenere lo stesso risultato. Vediamo vari modi per vedere le dipendenze di un pacchetto.
Verifica delle dipendenze con apt show
È possibile utilizzare il comando apt show per visualizzare i dettagli di un pacchetto. Parte di queste informazioni sono dipendenze e puoi vederle nella riga che inizia con Dipende.
Ad esempio, ecco cosa mostra per il pacchetto ubuntu-restricted-extras.
[email protected]:~$ apt show ubuntu-restricted-extras
Package: ubuntu-restricted-extras
Version: 67
Priority: optional
Section: multiverse/metapackages
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 14.3 kB
Depends: ubuntu-restricted-addons
Recommends: libavcodec-extra, ttf-mscorefonts-installer, unrar
Download-Size: 3,200 B
APT-Manual-Installed: yes
APT-Sources: http://us.archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages
Description: Commonly used media codecs and fonts for Ubuntu
This collection of packages includes:
- MP3 and other audio codec software to play various audio formats
(GStreamer plugins)
- software to install the Microsoft Web fonts
- the Adobe Flash plugin
- LAME, software to create compressed audio files.
.
This software does not include libdvdcss2, and will not let you play
encrypted DVDs. For more information, see
https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs
.
These software packages are from the Multiverse channel, restricted by
copyright or legal issues in some countries. For more information, see
http://www.ubuntu.com/ubuntu/licensing
Come puoi vedere, il pacchetto ubuntu-restricted-extras dipende dal pacchetto ubuntu-restricted-addons.
Ecco un trucco! Il pacchetto delle dipendenze può anche dipendere da qualche altro pacchetto e la catena potrebbe continuare. Per fortuna, il gestore di pacchetti APT gestisce questo per te installando automaticamente tutte le dipendenze (il più delle volte).
Qual è il pacchetto consigliato?
Hai notato la riga che inizia con Raccomanda nell'output sopra?
I pacchetti consigliati non sono dipendenze dirette per il pacchetto ma abilitano funzionalità aggiuntive.
Come puoi vedere, ubuntu-restricted-extras ha ttf-mscorefonts-installer come pacchetto consigliato per l'installazione di Microsoft Fonts su Ubuntu.
I pacchetti consigliati sono anche installati per impostazione predefinita e se si desidera esplicitamente vietare l'installazione del pacchetto consigliato, utilizzare il flag –no-install-recommends in questo modo:
sudo apt install –no-install-recommends nome_pacchetto
Usa apt-cache per ottenere solo le informazioni sulle dipendenze
Lo spettacolo apt ha troppe informazioni. Se vuoi ottenere le dipendenze in uno script, il comando apt-cache ti offre un output migliore e pulito.
apt-cache depends package_name
L'output sembra molto pulito, vero?
Controlla le dipendenze di un file DEB usando dpkg
Sia il comando apt che apt-cache funzionano sui pacchetti disponibili dai repository. Ma se scarichi un file DEB, questi comandi non funzioneranno.
In questo caso, puoi usare il comando dpkg con l'opzione -I o –info.
dpkg -I path_to_deb_file
Le dipendenze possono essere visualizzate nella riga che inizia con Depends.
Controllo delle dipendenze e delle dipendenze inverse con apt-rdepends
Se desideri maggiori dettagli sulle dipendenze, puoi utilizzare lo strumento apt-rdepends. Questo strumento crea l'albero delle dipendenze completo. Quindi, ottieni la dipendenza di un pacchetto e anche le dipendenze delle dipendenze.
Non è un normale comando apt e dovrai installarlo dal repository dell'universo:
sudo apt install apt-rdepends
L'output è generalmente abbastanza grande a seconda dell'albero delle dipendenze.
Reading package lists... Done
Building dependency tree
Reading state information... Done
shutter
Depends: procps
Depends: xdg-utils
imagemagick
Depends: imagemagick-6.q16 (>= 8:6.9.2.10+dfsg-2~)
imagemagick-6.q16
Depends: hicolor-icon-theme
Depends: libc6 (>= 2.4)
Depends: libmagickcore-6.q16-6 (>= 8:6.9.10.2)
Depends: libmagickwand-6.q16-6 (>= 8:6.9.10.2)
hicolor-icon-theme
libc6
Depends: libcrypt1 (>= 1:4.4.10-10ubuntu4)
Depends: libgcc-s1
libcrypt1
Depends: libc6 (>= 2.25)
Lo strumento apt-rdepends è abbastanza versatile. Può anche calcolare le dipendenze inverse. Ciò significa che puoi vedere quali altri pacchetti dipendono da un determinato pacchetto.
apt-rdepends -r package_name
L'output potrebbe essere piuttosto grande perché stamperà l'albero delle dipendenze inverse.
[email protected]:~$ apt-rdepends -r ffmpeg
Reading package lists... Done
Building dependency tree
Reading state information... Done
ffmpeg
Reverse Depends: ardour-video-timeline (>= 1:5.12.0-3ubuntu4)
Reverse Depends: deepin-screen-recorder (5.0.0-1build2)
Reverse Depends: devede (4.15.0-2)
Reverse Depends: dvd-slideshow (0.8.6.1-1)
Reverse Depends: green-recorder (>= 3.2.3)
Spero che questo breve tutorial sia stato utile per migliorare un po' la tua conoscenza della riga di comando. Resta sintonizzato per altri suggerimenti simili.