Почему так много зависимостей для пакета ожидают?

Надеюсь, кто-то умнее меня может помочь мне с этим. Похоже, у меня что-то испортилось в моей подходящей базе данных.

Я запускаю Ubuntu 16.04.2 LTS. Я загрузил ossec-hids_2.8.3-4xenial_amd64.deb из ossec.wazuh.com, и когда я пытаюсь установить его, я получаю:

# 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

Когда я иду на установку, я получаю :

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

Это не может быть прав, не так ли? Пакет ожиданий не должен иметь зависимости от графических библиотек. Согласно https://packages.ubuntu.com/xenial/expect, единственными зависимостями являются libc6, libtcl8.6 и tcl-expect. Я проверил эти три зависимости и их зависимости и не придумал ничего близкого к этому обширному списку.

Я пробовал apt-get autoremove и apt-get -f install, но они сообщают, что ничего не сделано.

Любая помощь будет принята с благодарностью.

3
задан 1 June 2017 в 00:44

3 ответа

В целом Ubuntu спроектирован так, чтобы быть «удобным для пользователя», и вообще любой данный пакет в Ubuntu имеет больше зависимостей, чем другие дистрибутивы.

Для более тонкого управления зерном не устанавливайте дополнительные пакеты

sudo apt-get install --no-install-recommends package_list

. Если вы хотите установить пакет, хотите установить это как поведение по умолчанию, см. раздел «Как не устанавливать рекомендуемые и предлагаемые пакеты?»

Единственным потенциальным недостатком этого поведения является то, что впоследствии вам может понадобиться определить дополнительные пакеты, которые вы хотите установить позже.

Если это все еще установлено больше, чем вы хотите, вы можете установить с помощью apt-get с флагом --nodeps или загрузить .deb и установить с помощью dpkg с помощью --ignore-depends флаг. Выполнение такого рода поражений предназначено для apt / apt-get, и в этот момент вы можете захотеть выглядеть как Slackware, arch linux или gentoo. gentoo занимает много времени, но дает вам очень тонкий контроль над тем, что установлено или не установлено. arch аналогичен без компиляции. Slackware прост, и IMO «просто работает»

2
ответ дан 22 May 2018 в 22:01
  • 1
    Благодаря! За все свои годы я никогда не замечал вариант -no-install-рекомендует. Думаю, я никогда не сталкивался с пакетом с таким количеством смешных дополнительных пакетов. Мы довольно привержены делу ubuntu здесь на работе. Если бы это была моя собственная машина, я бы расследовал другие дистрибутивы, но ... Я попытался проголосовать за этот ответ, но, по-видимому, «новичкам» не разрешили голосовать. – user352726 1 June 2017 в 01:05

В целом Ubuntu спроектирован так, чтобы быть «удобным для пользователя», и вообще любой данный пакет в Ubuntu имеет больше зависимостей, чем другие дистрибутивы.

Для более тонкого управления зерном не устанавливайте дополнительные пакеты

sudo apt-get install --no-install-recommends package_list

. Если вы хотите установить пакет, хотите установить это как поведение по умолчанию, см. раздел «Как не устанавливать рекомендуемые и предлагаемые пакеты?»

Единственным потенциальным недостатком этого поведения является то, что впоследствии вам может понадобиться определить дополнительные пакеты, которые вы хотите установить позже.

Если это все еще установлено больше, чем вы хотите, вы можете установить с помощью apt-get с флагом --nodeps или загрузить .deb и установить с помощью dpkg с помощью --ignore-depends флаг. Выполнение такого рода поражений предназначено для apt / apt-get, и в этот момент вы можете захотеть выглядеть как Slackware, arch linux или gentoo. gentoo занимает много времени, но дает вам очень тонкий контроль над тем, что установлено или не установлено. arch аналогичен без компиляции. Slackware прост, и IMO «просто работает»

2
ответ дан 18 July 2018 в 12:23

В целом Ubuntu спроектирован так, чтобы быть «удобным для пользователя», и вообще любой данный пакет в Ubuntu имеет больше зависимостей, чем другие дистрибутивы.

Для более тонкого управления зерном не устанавливайте дополнительные пакеты

sudo apt-get install --no-install-recommends package_list

. Если вы хотите установить пакет, хотите установить это как поведение по умолчанию, см. раздел «Как не устанавливать рекомендуемые и предлагаемые пакеты?»

Единственным потенциальным недостатком этого поведения является то, что впоследствии вам может понадобиться определить дополнительные пакеты, которые вы хотите установить позже.

Если это все еще установлено больше, чем вы хотите, вы можете установить с помощью apt-get с флагом --nodeps или загрузить .deb и установить с помощью dpkg с помощью --ignore-depends флаг. Выполнение такого рода поражений предназначено для apt / apt-get, и в этот момент вы можете захотеть выглядеть как Slackware, arch linux или gentoo. gentoo занимает много времени, но дает вам очень тонкий контроль над тем, что установлено или не установлено. arch аналогичен без компиляции. Slackware прост, и IMO «просто работает»

2
ответ дан 24 July 2018 в 19:57

Другие вопросы по тегам:

Похожие вопросы: