GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu/DebianベースのLinuxディストリビューションでパッケージの依存関係を確認する方法

Ubuntu / Debianでは、コマンドラインからアプリケーションをインストールするのは非常に簡単です。必要なのは、aptinstallpackage_nameを使用することだけです。

しかし、インストール前またはインストール後のパッケージの依存関係を知りたい場合はどうでしょうか。

このチュートリアルでは、UbuntuおよびAPTパッケージ管理システムを使用する他のDebianベースのLinuxディストリビューションでパッケージの依存関係を確認するさまざまな方法を紹介します。

Ubuntuのパッケージ依存関係とは何ですか?

まだ知らなかった場合は、Linuxにソフトウェアパッケージをインストールするときに、正しく機能するために他のパッケージが必要になることがあります。これらの追加パッケージは依存関係と呼ばれます。これらの依存関係パッケージがシステムにインストールされていない場合、通常はパッケージとともに自動的にインストールされます。

たとえば、ビデオ形式を変換するためのGUIツールHandBrakeには、FFmpeg、GStreamerが必要です。したがって、HandBrakeの場合、FFmpegとGStreamerが依存関係になります。

これらのパッケージがシステムにインストールされていない場合、UbuntuにHandBrakeをインストールすると自動的にインストールされます。

UbuntuおよびDebianベースのディストリビューションでパッケージの依存関係を確認する

Linuxでよくあることですが、同じ結果を得るには複数の方法があります。パッケージの依存関係を確認するさまざまな方法を見てみましょう。

aptshowで依存関係を確認する

apt showコマンドを使用して、パッケージの詳細を表示できます。この情報の一部は依存関係であり、Dependsで始まる行に表示されます。

たとえば、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

ご覧のとおり、ubuntu-restricted-extrasパッケージはubuntu-restricted-addonsパッケージに依存しています。

これがキャッチです!依存関係パッケージは他のパッケージにも依存している可能性があり、チェーンが続く可能性があります。ありがたいことに、APTパッケージマネージャーは、すべての依存関係を自動的にインストールすることでこれを処理します(ほとんどの場合)。

おすすめのパッケージは何ですか?

上記の出力でRecommendsで始まる行に気づきましたか?

推奨されるパッケージは、パッケージの直接の依存関係ではありませんが、追加機能を有効にします。

ご覧のとおり、ubuntu-restricted-extrasには、UbuntuにMicrosoftフォントをインストールするための推奨パッケージとしてttf-mscorefonts-installerがあります。

推奨パッケージもデフォルトでインストールされます。推奨パッケージのインストールを明示的に禁止する場合は、次のような–no-install-recommendsフラグを使用してください。

sudo apt install –no-install-recommends package_name

依存関係情報のみを取得するにはapt-cacheを使用します

aptショーには情報が多すぎます。スクリプトで依存関係を取得する場合は、apt-cacheコマンドを使用するとより適切でクリーンな出力が得られます。

apt-cache depends package_name

出力はかなりきれいに見えますね?

dpkgを使用してDEBファイルの依存関係を確認する

aptコマンドとapt-cacheコマンドはどちらも、リポジトリから入手できるパッケージで機能します。ただし、DEBファイルをダウンロードすると、これらのコマンドは機能しません。

この場合、-Iまたは–infoオプションを指定してdpkgコマンドを使用できます。

dpkg -I path_to_deb_file

依存関係は、Dependsで始まる行に表示されます。

apt-rdependsを使用した依存関係と逆依存関係の確認

依存関係の詳細が必要な場合は、apt-rdependsツールを使用できます。このツールは、完全な依存関係ツリーを作成します。したがって、パッケージの依存関係と依存関係の依存関係も取得します。

これは通常のaptコマンドではないため、ユニバースリポジトリからインストールする必要があります:

sudo apt install apt-rdepends

依存関係ツリーによっては、通常、出力は非常に大きくなります。

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)

apt-rdependsツールは非常に用途が広いです。また、逆依存関係を計算することもできます。つまり、特定のパッケージに依存している他のパッケージを確認できます。

apt-rdepends -r package_name

逆依存関係ツリーが出力されるため、出力はかなり大きくなる可能性があります。

[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)

このクイックチュートリアルが、コマンドラインの知識を少し向上させるのに役立つことを願っています。このようなヒントにご期待ください。



Ubuntu
  1. UbuntuでLinuxカーネルのバージョンを確認する方法は?

  2. UbuntuLinuxにZlibをインストールする方法

  3. Ubuntu Linuxサーバーの稼働時間を確認する-その方法は?

  1. UbuntuLinuxでデフォルトのランレベルを確認および変更する方法

  2. UbuntuLinuxでソフトウェアパッケージの詳細を確認する方法

  3. Linux で rpm パッケージの整合性をチェックする方法

  1. UbuntuLinuxでaptパッケージマネージャーを使用する方法

  2. Ubuntu 20.04 FocalFossaLinuxでCUDAバージョンを確認する方法

  3. Linux OS のバージョンを確認する方法