インストールしていないのにプログラムがインストールされたのはなぜですか?

インストールしていないのにプログラムがインストールされたのはなぜですか?

というプログラムが、python-netifaces (0.8-3build1, automatic)私がインストールしていないのにインストールされました。

gufw完全に最新の、新しくインストールされた Ubuntu 14.04 の標準アカウントにインストールしようとしていました。

これは異常なのか、それとも明示的にインストールしていないのにそこにあるはずのものなのか、誰か知っていますか?

答え1

パッケージ(プログラム)は、動作するために他のプログラムのインストールを必要とすることがよくあります。これらの他のパッケージは依存関係最初のプログラムはそれらがインストールされていることを前提としているためです。

パッケージをインストールすると、依存関係もインストールされます。ソフトウェア センターを使用する場合、このプロセスは非表示になります。

インストールされる依存関係について知りたい場合は、コマンドラインを使用できます。

例えば:

sudo apt-get install gufw
The following extra packages will be installed:
python-netifaces
The following NEW packages will be installed:
gufw python-netifaces
Need to get 482 kB of archives.
After this operation, 2,607 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

何らかの理由で依存関係をインストールしたくない場合は、インストールをキャンセルすることもできます。

依存関係を調べる他の方法は次のとおりです。

apt-cache show gufw
Depends: python:any (>= 2.7.1-0ubuntu2), ufw (>= 0.31.1), gir1.2-gtk-3.0, policykit-1, gnome-icon-theme-symbolic, python-netifaces, gir1.2-webkit-3.0

apt-cacheにはすべての依存関係が表示されますが、 にはapt-getまだインストールされていない依存関係のみが表示されることに注意してください。

また、Ubuntu パッケージ データベースを参照してくださいgufw の結果ページ

答え2

インストールしましたグフpython-netifaces依存関係として があります。

「依存関係」とは、その名の通り、他のパッケージが動作するために必要なパッケージです。削除しようとするとpython-netifacesグフ同時にアンインストールされます。

Linux 辞書より:

定義: 依存関係: あるパッケージの適切な機能は、別のパッケージの存在に依存する場合があります。つまり、依存関係があるということです [...]

からウィキ。 :

プログラムをインストールするときは、その依存関係も同時にインストールする必要があります。通常、必要な依存関係のほとんどはすでにインストールされていますが、いくつかの追加パッケージも必要になる場合があります。したがって、パッケージをインストールするときに、他のいくつかのパッケージもインストールされても驚かないでください。これらは、選択したパッケージが適切に機能するために必要な依存関係にすぎません。

Linux はこのように動作します。

関連情報