как «apt-get -f install» распознает проблемы из «dpkg»?

Во время установки Discord потребовались некоторые пакеты - libgconf -2-4 , libappindicator1 и libc ++ 1 .

Это сообщение об ошибке.

Selecting previously unselected package discord.
(Reading database ... 281442 files and directories currently installed.)
Preparing to unpack discord-0.0.14.deb ...
Unpacking discord (0.0.14) ...
dpkg: dependency problems prevent configuration of discord:
 discord depends on libgconf-2-4; however:
  Package libgconf-2-4 is not installed.
 discord depends on libappindicator1; however:
  Package libappindicator1 is not installed.
 discord depends on libc++1; however:
  Package libc++1 is not installed.

dpkg: error processing package discord (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Errors were encountered while processing:
 discord

Интернет сказал, что использует sudo apt-get -f install , чтобы исправить это, и это сработало.

Но как ?

Как apt-get распознает проблему зависимости dpkg и исправить?

Есть ли в системе Linux какой-нибудь файл с проблемным пакетом / списком зависимостей?

Не могли бы вы объяснить мне, как? Спасибо.

1
задан 16 April 2021 в 16:37

1 ответ

я собираюсь попытаться объяснить это лучшее, я могу. склонная Кв. , - добирается , способность и , dpkg все связан. dpkg является на самом деле "кормушкой пакета для Debian", источник человек dpkg . Если вы будете работать dpkg - справка , то вы будете видеть следующую строку у основания справки:

Use 'apt' or 'aptitude' for user-friendly package management.

Кв. и другие более удобны для пользователя, чем , dpkg, таким образом, у них есть способность прочитать ненастроенный, который перенесен от попытки установить пакет .deb , который был загружен с Интернета а не с репозитория. В основном, когда вы видите проблемы зависимости - отъезд, ненастроенный средства, что это оставило "регистрацию" зависимостей, которые должны быть установлены. Так, когда вы работаете sudo способная установка-f или , sudo Кв. - получает установку-f

   man apt-get:

   -f, --fix-broken
       Fix; attempt to correct a system with broken dependencies in place.
       This option, when used with install/remove, can omit any packages
       to permit APT to deduce a likely solution. If packages are
       specified, these have to completely correct the problem. The option
       is sometimes necessary when running APT for the first time; APT
       itself does not allow broken package dependencies to exist on a
       system. It is possible that a system's dependency structure can be
       so corrupt as to require manual intervention (which usually means
       using dpkg --remove to eliminate some of the offending packages).
       Use of this option together with -m may produce an error in some
       situations. Configuration Item: APT::Get::Fix-Broken.

, она отправляет, команда для склонный - заставляют читать ту "регистрацию" поврежденной установки (если существует), загрузите и установите зависимости, если они доступны.

можно пропустить этот шаг путем фактического входа в папку, в которую вы загрузили файл .deb и выполнили:

sudo apt-get install ./discord-0.0.14.deb

, который теперь скажет склонный - заставляют устанавливать пакет .deb и загружать все зависимости при наличии для устанавливаемого пакета.

я надеюсь, что это помогает!

0
ответ дан 23 April 2021 в 23:22

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

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