Как автоматически получить недостающие зависимости при установке программного обеспечения из .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?)

110
задан 24 July 2016 в 04:53

7 ответов

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

sudo gdebi package.deb

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

sudo apt-get -f install

Также доступна графическая версия gdebi-gtk, связанная с . deb nautilus щелкните правой кнопкой мыши на действие "Открыть с помощью инсталлятора пакетов GDebi".

119
ответ дан 22 November 2019 в 23:01

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

29
ответ дан 22 November 2019 в 23:01

AFAIK, dpkg не предоставляет никакого механизма для разрешения зависимостей. Он проверяет/предупреждает о наличии зависимостей, но не предпринимает никаких дальнейших действий. Вам придется решать проблемы самостоятельно.

Как утверждает wiki 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

и все будет хорошо.

3
ответ дан 22 November 2019 в 23:01

Вы можете использовать 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 . И это включает зависимости. То есть если вы не привязаны к командной строке;)

17
ответ дан 22 November 2019 в 23:01

Эта конкретная библиотека ( 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
ответ дан 22 November 2019 в 23:01

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

6
ответ дан 22 November 2019 в 23:01

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

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

Обратите внимание на ./ перед именем файла пакета, что является обязательным, в противном случае имя будет использоваться как имя пакета, а не имя файла.

31
ответ дан 22 November 2019 в 23:01

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

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