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

Jon*_*nik 110 dpkg dependencies deb software-installation

我正在尝试在我的 Ubuntu 机器 (11.04) 上安装MySQL Workbench。该网站有一个 Ubuntu .deb 可供下载(适用于 10.10 和 10.04,所以我选择了 10.10)。

然而,

sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb
Run Code Online (Sandbox Code Playgroud)

产量:

(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
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有办法告诉 dpkg 自动获取丢失的依赖项,或者我是否需要手动apt-get install丢失像 libctemplate0 和 libpython2.6 这样的包?

(或者,是否有其他方法可以轻松启动和运行 MySQL Workbench?)

enz*_*tib 122

您可以安装包并从存储库中获取依赖项

sudo gdebi package.deb
Run Code Online (Sandbox Code Playgroud)

如果您已经安装了缺少依赖项的包,您可以使用以下命令自动下载和安装依赖项

sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)

还提供图形版本gdebi-gtk,链接到.debnautilus 右键单击​​操作“使用 GDebi 软件包安装程序打开”。

  • 请注意,双击 deb 文件也应该起作用。它将在较旧的 Ubuntu 版本和较新的软件中心上使用 gdebi。 (2认同)
  • 哎哟! 我在干净的服务器上安装了 `gdebi`,它非常强大。它真的有很多依赖项...... (2认同)

Bra*_*iam 33

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

sudo apt-get install ./your-package.deb
Run Code Online (Sandbox Code Playgroud)

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


Raf*_*lak 30

dpkg本身不能管理存储库apt-get从存储库中获取任何东西都需要一个更高级别的工具。dkpg只是安装/删除/配置包的核心工具,照顾依赖和其他因素。apt-get并且aptitude是管理存储库、从中下载数据以及用于 从其中dkpg安装/删除包的工具。这意味着apt-getandaptitude可以解决依赖关系并从存储库中获取所需的包,但dpkg不能,因为它对存储库一无所知

  • 良好的背景信息,但不是一个有用的答案。 (16认同)
  • 惊人的。那么解决办法在哪里呢? (2认同)

Rin*_*ind 17

您可以使用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. 
Run Code Online (Sandbox Code Playgroud)

第三个注意事项...gdebi被 Ubuntu 软件中心取代。如果您从 GDM (nautilus) 中安装 .deb,USC 将接管并尝试安装 .deb deb。这包括依赖项。也就是说,如果您没有绑定到命令行;)


mv2*_*288 6

那个特定的库(libctemplate0)我从

http://packages.ubuntu.com/lucid/amd64/libctemplate0/download
Run Code Online (Sandbox Code Playgroud)

直接链接 http://ubuntu.wikimedia.org/ubuntu//pool/universe/c/ctemplate/libctemplate0_0.96-0ubuntu1_amd64.deb

之后 mySQL-workbench 安装顺利进行。


小智 6

右键单击软件包文件并选择“使用 Ubuntu 软件中心打开”,它将为您安装所有内容。