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

97
    

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

    

Я пытаюсь установить 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 легко работать и работать?)

    
задан Jonik 22.08.2011 в 13:34
источник

7 ответов

104

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

sudo gdebi package.deb

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

sudo apt-get -f install

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

    
ответ дан enzotib 22.08.2011 в 14:02
источник
25

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

    
ответ дан Rafał Cieślak 22.08.2011 в 13:54
источник
16

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

    
ответ дан Rinzwind 16.11.2011 в 08:45
источник
16

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

sudo apt-get install ./your-package.deb
    
ответ дан Braiam 26.10.2014 в 01:53
источник
6

Эта конкретная библиотека ( 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 прошла гладко.

    
ответ дан mv288 24.11.2012 в 07:41
источник
5

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

    
ответ дан user118263 02.01.2013 в 23:14
источник
2

AFAIK, 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

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

    
ответ дан Pavlos G. 22.08.2011 в 13:40
источник

Ознакомьтесь с другими вопросами по меткам