如何使用 apt-get 安装本地 .deb 软件包

如何使用 apt-get 安装本地 .deb 软件包

有没有办法用 apt-get 安装存储在你 HD 上的软件包,比如apt-get install ./package.deb

如果没有,如何以非常非常简单的方式处理依赖关系?

答案1

通常我会这样做dpkg -i <deb file>,它会失败,说它需要依赖项。之后当你执行时,apt-get update它会在最后说“依赖项已准备好安装”,我认为它会建议使用apt-get install -f

一旦完成后,我会dpkg -i再次使用。

过去几年来,我一直运作良好。

编辑:进一步观察,显然一个名为的工具gdebi可以做到这一点gdebi [deb file]

答案2

是的,你提出的命令是正确的。

sudo apt-get install ./package.deb

或者

sudo apt install ./package.deb

将安装您从 APT 以外的其他来源获得的软件包,同时使用 APT 功能自动解决其依赖关系。不幸的是,此apt-get功能未记录在手册页。此功能是在 APT 1.1 中添加的(请参阅发布公告)。

更多详细信息请参阅:

答案3

Sirex 的说法或多或少是正确的,但他的答案并不明确。我刚刚解决了这个问题,所以我做了以下事情:

sudo dpkg -i /path/to/filename.deb

如果此操作失败并显示有关该包依赖于未安装的程序的消息,则您可以通过运行来修复它

sudo apt-get -f install

这将安装依赖项(假设它们在您的系统已知的存储库中可用)和您最初请求安装的软件包(“f”是“修复”选项,“y”是“假设提示为是”或“不要问我是否可以,只是安装它”选项 - 对于脚本静默安装非常有用)。在我使用的系统上,无需再次运行 dpkg(Ubuntu lucid 10.04)。

我发现一个有趣的现象:如果你在运行时省略 -f sudo apt-get install,它会将你的包列为由于未解决的依赖关系而未配置,并且有帮助地建议:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

编辑:

如果您想要安装而不必对所有问题都回答“y”,则可以添加修饰符,y如我最初所包含的:sudo apt-get -fy install。但是,一位评论者指出,apt 有时会建议您卸载整个桌面环境。我在虚拟机中执行这项工作,没有这种担心,但这篇文章已更新,以反映出我更加谨慎。

答案4

您还可以使用 gdebi 安装 .deb 文件。运行以下命令来安装 gdebi,

sudo apt-get install gdebi-core

使用 gdebi 安装 .deb 软件包,

sudo gdebi /path/to/filename.deb

它还修复了依赖关系。

相关内容