Как использовать apt *без* исправления неудовлетворенных зависимостей в несвязанных пакетах?

Как использовать apt *без* исправления неудовлетворенных зависимостей в несвязанных пакетах?

У меня keybaseустановлен CLI, но keybaseпакет, к сожалению, также содержит клиент GUI, который требует libadwaita, GTK и кучу других огромных вещей GUI - что значительно увеличило бы количество установленных мной пакетов и объем дискового пространства, которое использует WSL. Из-за этого я вручную установил keybaseс, dpkg -iчтобы избежать добавления всех зависимостей GUI, что позволило мне использовать CLI без всякого раздувания.

Однако это привело aptк остановке работы. Когда я пытаюсь установить любой другой пакет, даже что-то совершенно не связанное с keybase, я получаю это сообщение об ошибке:

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 keybase : Depends: libappindicator1 but it is not going to be installed or
                    libayatana-appindicator1 but it is not going to be installed
           Depends: libgconf-2-4 but it is not going to be installed
           Depends: libgtk-3-0 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

Единственное решение, которое я нашел, это временно удалить keybaseс помощью dpkg, выполнить мою aptкоманду, а затем переустановить keybaseснова. Но мне не нравится это решение - я хочу сохранить keybaseсвою систему. Есть ли способ игнорировать aptэти неудовлетворенные зависимости? Или есть ли способ иметь какие-либо неудовлетворенные зависимости в системе, не нарушая apt?

решение1

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

  • "Не может быть использован для обновления" включает обновления пакета безопасности. Системы с неудовлетворенными зависимостями ненетполучать обновления безопасности. Поэтому большинству пользователей неразумно оставлять систему в таком состоянии.

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

Для бесстрашных продвинутых пользователей, Apt и dpkg имеют --force(см. man dpkg) опции, которые позволяют ограниченное переопределение. Это наследие эпохи до Ubuntu, и они редко используются сегодня... но могут быть тем, что вы ищете. Например, --force-depends-version:

depends-version: Не обращать внимания на версии при проверке зависимостей. Это влияет на поля Pre-Depends и Depends.

Предупреждение: Force следует использовать с большой осторожностью и только временно, пока релиз вышестоящей ветки не исправит проблему зависимости. Apt и dpkg могут продолжать усиленно (и правильно!) жаловаться на пакеты неправильной версии. Могут возникнуть и другие побочные эффекты.

  • НЕ используйте принудительные пакеты в качестве постоянного решения. Это закончится слезами и сломанной системой. Если вам нужно постоянное решение без deb-пакетов, рассмотрите возможность сборки из исходников, альтернативных приложений и/или альтернативных методов упаковки. НЕ релиз-обновляйте систему с установленными принудительными пакетами, так как эти пакеты могут привести к полному провалу релиз-обновления.

Связанный контент