如何在从 .deb 安装软件时自动获取缺失的依赖项?

如何在从 .deb 安装软件时自动获取缺失的依赖项?

我正在尝试安装MySQL 工作台在我的 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 吗?)

答案1

你可以使用以下命令安装软件包并从存储库获取依赖项

sudo gdebi package.deb

如果你已经安装了缺少依赖项的软件包,则可以使用以下命令自动下载并安装依赖项

sudo apt-get -f install

另外还有一个图形版本gdebi-gtk,链接到.debnautilus 右键单击​​操作“使用 GDebi 包安装程序打开”。

答案2

从 1.1 分支开始,apt-get支持通过以下方式安装本地包及其依赖项:

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

注意./包文件名前面的,这是强制性的,否则该名称将被用作包名,而不是文件名。

答案3

dpkg本身无法管理存储库。需要更高级的工具apt-get才能从存储库中获取任何内容。dkpg只是核心工具安装/删除/配置软件包,处理依赖项和其他因素。apt-get以及aptitude管理存储库、从存储库下载数据的工具,以及使用 dkpg安装/删除其中的包。这意味着apt-getaptitude可以解决依赖关系并从存储库中获取所需的包,但dpkg不能,因为它知道没有什么关于存储库。

答案4

我从那个特定的库(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 的安装一切顺利。

相关内容