Linux
 Computer >> コンピューター >  >> システム >> Linux

Ubuntuでパッケージの依存関係を一覧表示する方法

Windows、macOS、Androidとは異なり、Ubuntu(および一般的にはLinux)上のソフトウェアは単一のパッケージとして配布されません。代わりに、アプリケーションをインストールすると、システムのパッケージマネージャーがメインのアプリパッケージとその依存関係を含む複数のパッケージをダウンロードします。ただし、これはLinuxでの従来のパッケージインストール、つまりパッケージマネージャーを使用する場合にのみ当てはまります。

インストール中にダウンロードされる追加の依存関係を知ることは、初心者から上級者まで同様に有益です。このようにして、システムにインストールされているパッケージを完全に制御できます。

パッケージのUbuntuへの依存関係を確認する方法を見てみましょう。

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

依存関係は、Linuxでアプリケーションが正しく機能するために必要なパッケージをサポートしています。たとえば、UbuntuにVLCメディアプレーヤーをダウンロードする場合、APTは libc6などの追加パッケージをインストールします。 およびgcc 、プライマリ「 vlc」に加えて "パッケージ。依存関係は、依存関係として他のパッケージを持つこともできるため、階層構造を形成します。

Linuxパッケージは相互に依存しているため、ほとんどすべてのソフトウェアには、システムにインストールする必要のある追加のパッケージが必要です。

APTのようなパッケージマネージャーは、前述の依存関係の管理とインストールを自動化しますが、ソースから手動でパッケージをビルドしようとするとエラーが発生します。ただし、 apt install を使用してシステムに必要な依存関係をインストールするだけで、このようなエラーを解決できます。 コマンド。

Linuxでパッケージの依存関係を確認する方法

幸い、Ubuntuでは、パッケージの依存関係のリストを取得する方法がいくつかあります。 UbuntuおよびDebianベースのディストリビューションのデフォルトのパッケージマネージャーであるAPTは、パッケージの依存関係関連の情報を取得するための複数のコマンドを提供します。

APTパッケージマネージャーの使用

UbuntuでAPTを使用して、パッケージに関連付けられている依存関係のリストを取得できます。コマンドの基本的な構文は次のとおりです。

sudo apt depends packagename

たとえば、 rhythmboxの依存関係を確認するには パッケージ:

sudo apt depends rhythmbox

依存関係のリストとは別に、出力には、 rhythmboxと一緒にインストールできる推奨パッケージと推奨パッケージも含まれます。 。

Ubuntuでパッケージの依存関係を一覧表示する方法

または、 apt-cacheを使用することもできます 同じ出力を取得するコマンド。

sudo apt-cache depends rhythmbox

特定のパッケージに関連する追加情報を取得するには、表示を使用してください 依存の代わりにメソッド 。

sudo apt show rhythmbox
sudo apt-cache show rhythmbox

出力:

Ubuntuでパッケージの依存関係を一覧表示する方法

dpkgを使用した依存関係の一覧表示

システムにDEBパッケージをダウンロードしていて、パッケージと一緒にインストールされる依存関係を知りたい場合は、 -Iを使用できます。 (大文字のi、小文字のLではありません)または-info コマンドでフラグを立てます。

sudo dpkg -I /path/to/package.deb
sudo dpkg --info /path/to/package.deb

...ここで/path/to/package.deb DEBファイルへの絶対パスまたは相対パスです。

出力には、パッケージのサイズ、ソース、およびその他の有用な情報が、依存関係のリストとともに表示されます。

Ubuntuでパッケージの依存関係を一覧表示する方法

インストールされたパッケージの依存関係のリストを取得するには、 -sを使用します dpkgでフラグを立てます。例:

sudo dpkg -s firefox

出力:

Ubuntuでパッケージの依存関係を一覧表示する方法

apt-rdependsの使用

より詳細な出力を取得するには、apt-rdependsユーティリティを使用できます。ほとんどのLinuxディストリビューションにはプリインストールされていないため、APTを使用してUbuntuに手動でインストールする必要があります。

sudo apt install apt-rdepends

次のコマンド形式を使用して、パッケージの依存関係ツリーを取得します。

apt-rdepends packagename

例:

apt-rdepends vlc

出力:

Ubuntuでパッケージの依存関係を一覧表示する方法

生成される出力は、apt-rdependsが依存関係の完全な階層ツリーを表示する限り、通常は長くなります。つまり、依存関係の依存関係のリストも取得できます。

特定のパッケージに依存するパッケージのリストを取得することもできます。たとえば、どのパッケージに libcが必要かを確認するには 依存関係として:

apt-rdepends -r libc

出力:

Ubuntuでパッケージの依存関係を一覧表示する方法 逆依存ユーティリティ

逆依存機能( -r apt-rdependsのフラグ)は予想よりもうまく機能します。パッケージの逆依存関係を抽出するために使用できるさらに別のユーティリティがあります。 reverse-dependsコマンドは、 ubuntu-dev-toolsの一部です。 パッケージであり、以下を使用してダウンロードできます:

sudo apt install ubuntu-dev-tools

コマンドのデフォルトの構文は次のとおりです。

reverse-depends options packagename

...ここでオプション コマンドとパッケージ名で使用できるフラグです 依存関係を逆チェックするパッケージの名前です。

前述のコマンドにさまざまなフラグを追加して、出力を変更することもできます。最も便利なオプションのリストは次のとおりです。

  1. -R :直接の依存関係のみをリストします(推奨または推奨パッケージはありません)
  2. -s :提案されたパッケージを含める
  3. -l <​​/ strong> :スクリプトでの使用に適した、よりクリーンな形式で出力を表示します

ツールの使用方法がわからず、コマンドラインヘルプが必要な場合は、-helpを使用してください。 または-h フラグ。

reverse-depends -h
reverse-depends --help
シミュレートされたインストール/削除を使用して依存関係リストを取得する

現在システムにインストールされていないすべての依存関係の簡単なリストが必要な場合は、特定のパッケージのシミュレートされたインストール(またはアンインストール)を実行できます。

たとえば、PHPパッケージに必要な依存関係を確認するには、次のコマンドを実行します。

sudo apt install -s php

出力には、「次の追加パッケージがインストールされます」セクションが含まれます。さらにリストされているすべてのパッケージ名は、システムで見つからなかった依存関係です。

Ubuntuでパッケージの依存関係を一覧表示する方法

Ubuntuにすでにインストールされているパッケージの依存関係のリストを取得する場合は、シミュレートされたアンインストールを実行して、それとともに削除される追加のパッケージを確認できます。

sudo apt remove -s packagename

例:

sudo apt remove -s rhythmbox

出力:

Ubuntuでパッケージの依存関係を一覧表示する方法

Linuxパッケージは相互依存しています

このガイドからかなり推測できるように、ほとんどすべてのLinuxパッケージは別のパッケージに依存しています。この概念の背後にある主な原則は、Linuxベースのオペレーティングシステムでは、各パッケージが1つのジョブを実行し、それを適切に実行することになっているということです。

オーディオサービスを管理するためのパッケージが開発されている場合、他のプログラムはそのパッケージを依存関係としてリストし、それを使用してオーディオ要件を満たします。

また、複数のアプリケーションが同じパッケージを要求する場合、システムに1回だけインストールされるため、データの冗長性が妨げられ、ディスクのストレージスペースが節約されます。 APTを使用して、システムに現在インストールされているすべてのパッケージのリストを取得することもできます。


  1. Ubuntu18.04LTSをUbuntu20.04LTSにアップグレードする方法

    Ubuntu 20.04 LTSは4月23日にリリースされ、多くの改善された機能とソフトウェアの機能強化が付属しています。現在Ubuntu18.04LTSを実行している場合、このガイドでは、Ubuntu18.04LTSから20.04LTSにアップグレードする方法を説明します。 最初にバックアップしてテストする 何かをする前に、まず重要なデータをバックアップしてください。幸い、Ubuntuにはバックアップユーティリティが組み込まれているので、それを利用できます。 または、保持したいことがわかっている個々のファイルをバックアップすることを選択することもできます。 Timeshiftのようなバ

  2. Ubuntu20.04にフォントをインストールする方法

    ほとんどの人は、Ubuntuの最新バージョンに付属しているフォントのコレクションを「十分すぎる」と考えるでしょう。ただし、他の人は、自分の仕事の中で(はるかに)もっと多くを必要とするかもしれません。そして、より多くの選択肢が欲しいという人もいます。あなたもUbuntu20.04にもっと多くのフォントをインストールしたいのなら、読んでください。これはまさにこのチュートリアルが取り組んでいることです。 主力:Microsoftコアフォント インストーラーが利用可能である限り、Microsoftのコアフォントは、Linuxインストールへのフォントの追加に関するすべてのチュートリアルで機能します。そ