web-dev-qa-db-fra.com

Pourquoi autant de dépendances pour le paquet?

J'espère que quelqu'un de plus intelligent que moi pourra m'aider avec celui-ci. Il semble que quelque chose ne fonctionne pas dans ma ou mes bases de données apt.

J'utilise Ubuntu 16.04.2 LTS. J'ai téléchargé ossec-hids_2.8.3-4xenial_AMD64.deb sur ossec.wazuh.com, et lorsque j'essaie de l'installer, je reçois:

# 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

Quand je vais installer attendre, je reçois:

# 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.

Cela ne peut pas être juste, n'est-ce pas? Le paquet expect ne devrait pas avoir de dépendances sur les bibliothèques graphiques. Selon https://packages.ubuntu.com/xenial/expect , les seules dépendances sont libc6, libtcl8.6 et tcl-expect. J'ai vérifié ces trois dépendances, ainsi que leurs dépendances, et je n'ai rien trouvé qui soit proche de cette liste exhaustive.

J'ai essayé apt-get autoremove et apt-get -f install, mais ils ne signalent rien à faire.

Toute assistance sera grandement appréciée.

5
user352726

En général, Ubuntu est conçu pour être "convivial" et en général, tout paquet donné dans Ubuntu a tendance à avoir plus de dépendances que d’autres distributions. Ceci est idéal pour la plupart des utilisateurs car ils installent un paquet et que tous les sonneries sont installées.

Pour un contrôle du grain plus fin, n'installez pas les paquets supplémentaires.

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

Si vous souhaitez définir ce comportement par défaut, voir Comment ne pas installer les packages recommandés et suggérés?

Le seul inconvénient potentiel de ce problème est que vous devrez peut-être identifier ultérieurement les packages supplémentaires que vous souhaitez installer ultérieurement. Parfaitement acceptable pour les utilisateurs avancés tels que vous-même.

Si cela installe toujours plus, vous pouvez installer avec apt-get avec l'indicateur --nodeps ou télécharger .deb et installer avec dpkg en utilisant l'indicateur --ignore-depends. Cela va à l’encontre d’apt/apt-get et à ce stade, vous voudrez peut-être ressembler à Slackware, Arch Linux ou Gentoo. gentoo prend beaucoup de temps mais vous donne un très bon contrôle du grain sur ce qui est installé ou non. Arch est similaire sans toute la compilation. Slackware est facile et l'OMI "fonctionne"

4
Panther