web-dev-qa-db-ja.com

パッケージの依存関係が非常に多いのはなぜですか?

私よりも賢い人がこれを手伝ってくれることを願っています。 aptデータベースで何かが台無しになっているようです。

Ubuntu 16.04.2 LTSを実行しています。 ossec.wazuh.comからossec-hids_2.8.3-4xenial_AMD64.debをダウンロードしました。インストールしようとすると、次のメッセージが表示されます。

# dpkg -i ossec-hids_2.8.3-4xenial_AMD64.deb 
Selecting previously unselected package ossec-hids.
(Reading database ... 162578 files and directories currently installed.)
Preparing to unpack ossec-hids_2.8.3-4xenial_AMD64.deb ...
Unpacking ossec-hids (2.8.3-4xenial) ...
dpkg: dependency problems prevent configuration of ossec-hids:
 ossec-hids depends on expect; however:
  Package expect is not installed.

dpkg: error processing package ossec-hids (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 ossec-hids

Expectをインストールすると、次のメッセージが表示されます。

# apt-get install expect
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfontenc1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libice6 libllvm3.8 libpciaccess0 libsm6 libtcl8.6
  libtk8.6 libtxc-dxtn-s2tc0 libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcomposite1 libxdamage1 libxfixes3
  libxft2 libxi6 libxinerama1 libxmu6 libxrandr2 libxrender1 libxshmfence1 libxss1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 tcl-expect tcl8.6 tk8.6 x11-common
  x11-utils xbitmaps xterm
Suggested packages:
  tcl-tclreadline mesa-utils xfonts-cyrillic
The following NEW packages will be installed:
  expect libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfontenc1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libice6 libllvm3.8 libpciaccess0 libsm6
  libtcl8.6 libtk8.6 libtxc-dxtn-s2tc0 libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcomposite1 libxdamage1
  libxfixes3 libxft2 libxi6 libxinerama1 libxmu6 libxrandr2 libxrender1 libxshmfence1 libxss1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 tcl-expect tcl8.6 tk8.6
  x11-common x11-utils xbitmaps xterm
0 upgraded, 47 newly installed, 0 to remove and 41 not upgraded.
Need to get 18.3 MB of archives.
After this operation, 168 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

これは正しくないでしょうか? expectパッケージは、グラフィックスライブラリに依存しません。 https://packages.ubuntu.com/xenial/expect によると、依存関係はlibc6、libtcl8.6、およびtcl-expectのみです。これら3つの依存関係とそれらの依存関係を確認しましたが、その広範なリストに近いものは思いつきません。

Apt-get autoremoveとapt-get -f installを試しましたが、何も実行されないと報告されます。

どんな援助も大歓迎です。

5
user352726

一般に、Ubuntuは「ユーザーフレンドリー」になるように設計されており、一般的にUbuntuの特定のパッケージは、他のディストリビューションよりも多くの依存関係を持つ傾向があります。パッケージをインストールし、すべての機能がインストールされるため、これはほとんどのユーザーに最適です。

より細かく制御するために、追加のパッケージをインストールしないでください

Sudo apt-get install --no-install-recommends package_list

これをデフォルトの動作として設定する場合は、 推奨および推奨パッケージをインストールしない方法 を参照してください。

この動作の唯一の潜在的な欠点は、後でインストールする追加パッケージを後で識別しなければならない場合があることです。自分のような上級ユーザーには完全に受け入れられます。

それでもインストールされる場合は、apt-getを使用して--nodepsフラグを使用してインストールするか、.debをダウンロードして--ignore-dependsフラグを使用してdpkgを使用してインストールできます。そうすることでapt/apt-getの目的が無効になり、この時点でSlackware、Arch Linux、またはgentooになりたいと思うかもしれません。 gentooは時間がかかりますが、インストールされているものとされていないものを非常にきめ細かく制御できます。 Archはすべてのコンパイルなしで似ています。 Slackwareは簡単で、IMOは「機能する」

4
Panther