说,我有foo-1.2.3.deb
依赖于perl
和python
运行命令:
dpkg -i ./foo-1.2.3.deb
不会安装这些依赖项。所以我必须apt-get install perl python
用手。
如何dpkg -i
自动为我安装这些依赖项?
说,我有foo-1.2.3.deb
依赖于perl
和python
运行命令:
dpkg -i ./foo-1.2.3.deb
不会安装这些依赖项。所以我必须apt-get install perl python
用手。
如何dpkg -i
自动为我安装这些依赖项?
Answers:
使用完后dpkg
,运行以下命令可以帮助我安装所需的依赖项:
sudo apt-get -f install
总之,您的终端应如下所示:
$ sudo dpkg -i package_with_unsatisfied_dependencies.deb
dpkg: dependency problems prevent ...
[additional messages]
$ sudo apt-get -f install
[apt messages]
Setting up [dependency]...
Setting up package_with_unsatisfied_dependencies...
注意有关的行Setting up package_with_unsatisfied_dependencies
。这样可以修复(并完成)的安装package_with_unsatisfied_dependencies.deb
。
sudo dpkg -i mypackage.deb
一次吗?
sudo apt-get -f install
我的包后,它的依赖项全部安装完毕。sudo dpkg -i my_package.deb
不需要运行,只需重新安装软件包即可。
sudo dpkg -i package.deb; sudo apt-get -f install; sudo dpkg -i package.deb
。第一次dpkg -i
运行标记依赖关系,apt-get -f install
安装所需的依赖关系,第二次dpkg -i
成功安装软件包。请注意,这apt-get install -f
是完全不同的命令。
dpkg -i --force
;这将强制安装损坏的包装!运行dpkg
/ without / --force
将在软件包数据库中进行必要的输入,以便apt-get -f install
执行正确的操作。
从apt 1.1开始(在Xenial(16.04)中可用,stretch)apt install
也允许本地文件:
sudo apt install ./foo-1.2.3.deb
如此简单和清洁。
查看发布公告
apt ./install foo-1.2.3.deb
有效。
./
或路径
gdebi
安装一个deb软件包及其依赖项。要使用它,请运行:
sudo gdebi package.deb
在较新版本的Ubuntu中,默认情况下未安装它,因此您需要从存储库中安装它。
请参阅man gdebi
以获取完整的选项列表。
gdebi
是与默认情况下包含在Ubuntu中的同名图形工具等效的命令行。图形工具的命令是gdebi-gtk
并且具有类似功能:
dpkg-repack
根据这样的deps列表在其上使用:)
跑步
sudo apt-get install -f
用dpkg安装软件包后,可能会解决损坏的问题(至少可以使用apt-get这么说...)。病情更新时我将对其进行检查。
sudo dpkg -i mypackage.deb
一次吗?
apt-get -f install
可以,但是apt-get install -f
不一样。
dpkg没有依赖项支持。有一种解决方法,但是这需要您创建一个本地数据库(因此您已经知道依赖项),并且它被认为已过时(...)。
一定是命令行吗?(服务器安装吗?)如果这样的话,也请apt-get -f
注意一下,但要小心:安装后解决依赖关系可能会使您的系统损坏。
gdebi(gui前端)曾经能够做到这一点,但被USC取代。
您如何下载.deb的。11.04的一些新功能是处理从网站下载的.deb:它在USC中打开,因此安装程序将解决依赖项。
根据安德鲁的评论编辑:
sudo gdebi foo-1.2.3.deb
会成功的!!
您可以创建dpkg-dep-inst
具有以下内容的文件。
#!/bin/bash
DEBIAN_FILE1=$1
dpkg -i $DEBIAN_FILE1 || apt-get --fix-broken install
我假设您在主文件夹中创建了该文件。使其可执行文件chmod +x dpkg-dep-inst
并将其移动到/usr/local/bin
带sudo cp dpkg-dep-inst /usr/local/bin
。
现在,您可以使用以下方式自动安装具有依赖项的debian软件包:
sudo dpkg-dep-inst foo-1.2.3.deb
apt-get --yes --fix-broken install
并使固定自动进行。