Вопрос Как автоматически получать недостающие зависимости при установке программного обеспечения из .deb? [Дубликат]


На этот вопрос уже есть ответ:

Я пытаюсь установить MySQL Workbench на моем поле Ubuntu (11.04). На сайте есть Ubuntu .deb, доступный для скачивания (для 10.10 и 10.04, поэтому я выбрал 10.10).

Однако,

sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb

выходы:

(Reading database ... 194069 files and directories currently installed.)
Preparing to replace mysql-workbench-gpl 5.2.34-1ubu1010 (using mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb) ...
Unpacking replacement mysql-workbench-gpl ...
dpkg: dependency problems prevent configuration of mysql-workbench-gpl:
 mysql-workbench-gpl depends on libctemplate0; however:
  Package libctemplate0 is not installed.
 mysql-workbench-gpl depends on libpython2.6 (>= 2.6); however:
  Package libpython2.6 is not installed.
 mysql-workbench-gpl depends on libzip1 (>= 0.8); however:
  Package libzip1 is not installed.
 mysql-workbench-gpl depends on python-paramiko; however:
  Package python-paramiko is not installed.
 mysql-workbench-gpl depends on python-pysqlite2; however:
  Package python-pysqlite2 is not installed.
dpkg: error processing mysql-workbench-gpl (--install):
 dependency problems - leaving unconfigured
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache...
Processing triggers for python-support ...
Errors were encountered while processing:
 mysql-workbench-gpl

Мой вопрос в том, есть ли способ сообщить dpkg автоматически получать недостающие зависимости, или мне нужно вручную apt-get install отсутствующие пакеты, такие как libctemplate0 и libpython2.6?

(Или, альтернативно, есть ли другой способ легко запустить MySQL Workbench?)


101
2017-08-22 11:34


происхождения


@Braiam: как этот вопрос может быть дубликатом вопроса, опубликованного через три месяца? - enzotib
Этот вопрос имеет лучшие ответы и гораздо более популярен из двух, так что другой должен быть отмечен как дубликат этого. - Jonik
@Jonik На данный момент у этого вопроса есть 221,988 просмотров, и вопрос, который он закрыл, как дубликат, имеет 241,929 просмотров, поэтому, если это было когда-то более популярным из двух, это уже не так. Что касается качества ответов, было бы достаточно, чтобы ответы здесь просто объединялись в другой вопрос? Модераторы могут это сделать (если мы спросим их, и они согласятся). Ответы появятся на другом вопросе (вместе с ответами), а не на этом. Этот вопрос все еще существует и по-прежнему связан с другим вопросом и продолжает помогать людям находить ответы. Что ты думаешь об этом? - Eliah Kagan
О, это мой вопрос от 6 лет назад. :) Честно говоря, я не думаю, что это имеет большое значение. Я просто оставлю это как есть. Слияние грязи воды, так как некоторые ответы неизбежно становятся оффтопическими. если ты должен что-то делать, затем идти вперед и делать то, что кажется мудрым. - Jonik


ответы:


Вы можете установить пакет и получить зависимости от репозиториев с помощью

sudo gdebi package.deb

Если вы уже установили пакет с пропущенными зависимостями, вы можете автоматически загрузить и установить зависимости

sudo apt-get -f install

Также доступна графическая версия gdebi-gtk, связанный с .deb nautilus right click action «Открыть с помощью GDebi Package Installer».


107
2017-08-22 12:02



Благодаря, sudo gdebi mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb работал плавно. Похоже, gdebi - это именно тот инструмент, который мне нужен. - Jonik
хороший там, спасибо ;-) - Pavlos G.
Обратите внимание, что двойной щелчок на файле deb также должен работать. Он будет использовать gdebi для более старых версий Ubuntu и Software Center в новее. - Javier Rivera
Чтобы попасть во второй случай выше: dpkg --force-depends -i some_deb_file.deb - Seamus Connor
Ой! Я установил gdebi на чистом сервере это ОГРОМНОЕ. У него действительно много зависимостей ... - Alexis Wilke


dpkg сам не может управлять репозиториями, Инструмент более высокого уровня, такой как apt-get требуется, чтобы извлечь что-либо из репозиториев. dkpg это только основной инструмент который устанавливает / удаляет / настраивает пакеты, заботясь о зависимостях и других факторах. apt-get а также aptitude инструменты, которые управляют репозиториями, загружают данные из них и использование  dkpg для установки / удаления пакетов из них. Это значит, что apt-get а также aptitude могут разрешать зависимости и получать требуемые пакеты из репозитория, но dpkg не может, потому что он знает ничего о репозиториях.


26
2017-08-22 11:54



Хорошая справочная информация, но не полезный ответ. - foraidt
Потрясающие. Так где же решение?
спасибо человеку, он многое объясняет - sqrt163


Начиная с ветки 1.1, apt-get поддерживает установку локальных пакетов вместе с зависимостями:

sudo apt-get install ./your-package.deb

18
2017-10-25 23:53



Это отлично работает. У меня возникла проблема с триггером libc, который требовал, чтобы файл .deb читался пользователем _apt, поэтому имейте это в виду перед запуском. - rjh


Вы можете использовать apt-get -f install установить все пакеты dpkg -i жалуется (но, глядя на ваш вопрос, вы, вероятно, знали это;)).

gdebi может быть лучшей альтернативой.

Description: Simple tool to install deb files
gdebi lets you install local deb packages resolving and installing its 
dependencies. apt does the same, but only for remote (http, ftp) located 
packages. 

На третьей заметке ... gdebi был заменен программным центром Ubuntu. Если вы установите .deb из GDM (nautilus), USC возьмет на себя и попытается установить deb, И это включает зависимости. То есть, если вы не привязаны к командной строке;)


16
2017-11-16 07:45



Никогда не думал о apt-get -f install, благодаря! Ищете командные решения, полностью осознавая gdebi и USC. - Oxwivi
О, gdebi это инструмент командной строки. Прошу прощения, но вы можете удалить свой ответ? Кажется, этот вопрос был дубликатом, и я удаляю любой дублирующий вопрос. :) Комментарий на вопрос, если вы это сделаете. - Oxwivi


Эта конкретная библиотека (libctemplate0) Я загрузил его из

http://packages.ubuntu.com/lucid/amd64/libctemplate0/download

Прямая ссылка http://ubuntu.wikimedia.org/ubuntu//pool/universe/c/ctemplate/libctemplate0_0.96-0ubuntu1_amd64.deb

После этого установка mySQL-workbench прошла гладко.


6
2017-11-24 06:41





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


5
2018-01-02 22:14





НАСКОЛЬКО МНЕ ИЗВЕСТНО, dpkg не предоставляет механизма разрешения зависимостей. Он проверяет / предупреждает о зависимостях, но не делает никаких дальнейших действий. Вам придется решать проблемы самостоятельно.

Поскольку вики-файлы Debian Вот:

dpkg проверяет зависимости и отказывается устанавливать пакет, зависимости которого не выполняются, но это не поможет вам найти и установить эти зависимости. Вам нужен инструмент более высокого уровня (например, dselect или apt-get) для этого,

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

Поскольку этот пакет не находится в репозиториях 11.04, просто запустите:

sudo apt-get install libctemplate0 libzip1 libpython2.6 python-pysqlite2 python-paramiko
sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb

и все должно быть в порядке.


2
2017-08-22 11:40



Запуск 11.04 также, но я получаю «не имеет кандидата на установку» для большинства пакетов в вашем первом apt-get. Я что-то упускаю? - John C