Instalar aplicativos através da linha de comando é muito fácil no Ubuntu/Debian. Tudo que você precisa fazer é usar apt install nome_do_pacote.
Mas e se você quiser saber as dependências de um pacote antes ou depois de instalá-lo?
Neste tutorial, vou mostrar várias maneiras de ver as dependências de um pacote no Ubuntu e outras distribuições Linux baseadas em Debian que usam sistema de gerenciamento de pacotes APT.
O que é dependência de pacote no Ubuntu?
Se você ainda não sabe, ao instalar um pacote de software no Linux, às vezes, ele precisa de outros pacotes para funcionar corretamente. Esses pacotes adicionais são chamados de dependências. Se esses pacotes de dependência não estiverem instalados no sistema, geralmente são instalados automaticamente com o pacote.
Por exemplo, a ferramenta GUI HandBrake para conversão de formatos de vídeo precisa do FFmpeg e do GStreamer. Portanto, para HandBrake, FFmpeg e GStreamer são as dependências.
Se você não tiver esses pacotes instalados em seu sistema, eles serão instalados automaticamente quando você instalar o HandBrake no Ubuntu.
Verifique as dependências de um pacote em distribuições baseadas em Ubuntu e Debian
Como costuma acontecer no Linux, há mais de uma maneira de obter o mesmo resultado. Vamos ver várias maneiras de ver as dependências de um pacote.
Verificando dependências com apt show
Você pode usar o comando apt show para exibir os detalhes de um pacote. Parte dessas informações são dependências e você pode vê-las na linha começando com Depends.
Por exemplo, aqui está o que mostra para o pacote ubuntu-restrito-extras.
abhishek@itsfoss:~$ 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
Como você pode ver, o pacote ubuntu-restrict-extras
depende do pacote ubuntu-restrict-addons
.
Aqui está um truque! O pacote de dependência também pode depender de algum outro pacote e a cadeia pode continuar. Felizmente, o gerenciador de pacotes APT cuida disso para você instalando automaticamente todas as dependências (na maioria das vezes).
O que é pacote recomendado?
Você notou a linha que começa com "Recommends" na saída acima?
Os pacotes recomendados não são dependências diretas do pacote, mas habilitam recursos adicionais.
Como você pode ver, ubuntu-restricted-extras
tem ttf-mscorefonts-installer
como pacote recomendado para instalar Fontes da Microsoft no Ubuntu.
Os pacotes recomendados também são instalados por padrão e se você deseja proibir explicitamente a instalação do pacote recomendado, use o sinalizador –no-install-recommends
como este:
sudo apt install –no-install-recommends nome_do_pacote
Use apt-cache para obter apenas as informações de dependências
O apt show
mostra muitas informações. Se você deseja obter as dependências em um script, o comando apt-cache
oferece uma saída melhor e limpa.
apt-cache depends nome_do_pacote
A saída parece muito limpa, não é?
Verifique as dependências de um arquivo DEB usando dpkg
Os comandos apt
e apt-cache
funcionam nos pacotes que estão disponíveis nos repositórios. Mas se você baixar um arquivo DEB, esses comandos não funcionarão.
Nesse caso, você pode usar o comando dpkg
com a opção -I
ou –info
.
dpkg -I caminho_para_o_arquivo_deb
As dependências podem ser vistas na linha que começa com Depends.
Verificando dependências e invertendo dependências com apt-rdepends
Se você quiser mais detalhes sobre as dependências, pode usar a ferramenta apt-rdepends
. Esta ferramenta cria a árvore de dependências completa. Portanto, você obtém a dependência de um pacote e as dependências das dependências também.
Não é um comando apt
regular e você terá que instalá-lo do repositório universe:
sudo apt install apt-rdepends
A saída geralmente é muito grande dependendo da árvore de dependências.
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)
A ferramenta apt-rdepends
é bastante versátil. Ele também pode calcular as dependências reversas. O que significa que você pode ver quais outros pacotes dependem de um determinado pacote.
apt-rdepends -r nome_do_pacote
A saída pode ser muito grande porque irá imprimir a árvore de dependência reversa.
abhishek@itsfoss:~$ 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)
Espero que este tutorial rápido tenha sido útil para melhorar um pouco o seu conhecimento de linha de comando. Fique ligado para mais dicas.
Via itsfoss.com. Você pode conferir o post original em inglês:
How to Check Dependencies of a Package in Ubuntu/Debian-based Linux DistributionsÚltima atualização deste artigo: 27 de august de 2020