Como verificar as dependências de um pacote em distribuições Linux baseadas em Ubuntu ou Debian

Instalar aplicativos através da linha de comando é muito fácil no Ubuntu/Debian. Tudo que você precisa fazer é usar apt install package_name.

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:

Comandos para usar no terminal

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.

Comandos para usar no terminal

apt-cache depends nome_do_pacote

A saída parece muito limpa, não é?

Apt Verificar Dependências do Ubuntu

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.

Comandos para usar no terminal

dpkg -I caminho_para_o_arquivo_deb

As dependências podem ser vistas na linha que começa com Depends.

Check Dpendencies Of Deb Package

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:

Comandos para usar no terminal

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.

Comandos para usar no terminal

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.

Última atualização deste artigo: 27 de august de 2020