apt-get install ./package.deb
?如果没有,如何以非常简单的方式处理依赖项?
#1 楼
通常我会做dpkg -i <deb file>
,说它需要依赖关系会失败。之后,当您执行apt-get update
时,最后会说类似“依赖项已准备好安装”,然后建议您使用apt-get install -f
。一旦完成,我将再次使用dpkg -i
。 br /> 最近几年对我来说工作还不错。
评论
谢谢,我做了同样的“错误” dpkg,然后apt-get install -f,它的工作。
–路易
2010-10-7 8:22
gdebi为我工作,到目前为止是最简单的。
–ctrl-alt-delor
16年8月18日在15:00
#2 楼
Sirex或多或少都正确,但是他的答案尚不清楚。我刚刚解决了这个问题,所以这就是我做的事情:sudo dpkg -i /path/to/filename.deb
如果失败,并根据未安装的内容提示有关软件包的信息,则可以修复如果您运行
sudo apt-get -f install
,它将安装依赖项(假设它们在系统知道的存储库中可用)和您最初请求安装的软件包( 'f'是'fix'选项,'y'是'假设是提示'或'不要问我是否可以,只需安装它'选项-对于脚本化无提示安装非常有用。在我所在的系统上,无需再次运行dpkg(Ubuntu lucid 10.04)。
我发现有趣的是,如果在运行
sudo apt-get install
时不使用-f,它将列出软件包由于未解决的依赖性而未配置,并提出了有益的建议:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
编辑:
如果要安装而不必对所有问题,您可以添加
y
修饰符,如我最初包含的那样:sudo apt-get -fy install
。但是,有评论者指出,apt有时会建议您卸载整个桌面环境。我当时是在VM中进行这项工作的,没有任何顾虑,但是此帖子已更新,以反映出需要多加注意。评论
如果我已经将所有软件包文件放在目录中,是否有办法告诉apt这是一个新的存储库,所以我将不必强迫它安装任何没有依赖性的文件?
–贝里·察卡拉(Berry Tsakala)
13年4月4日在13:33
对不起,我不知道。我建议将其作为另一个顶级问题。
– Akrikos
13年3月12日在18:56
疯狂的奇怪,这是必需的。在raspian上,这将需要sudo(对于dpkg和apt-get):sudo dpkg -i mypackages.deb等。
–布伦特·浮士德
13年8月16日0:53
@Rubistro根访问权限在所有系统上都是必需的。我猜答案是假设命令是由root执行的(例如从交互式root shell或以root执行的脚本)。
–阿莫斯·夏皮拉(Amos Shapira)
2014年1月5日19:34
为了您自己的利益,请勿添加-y选项。例如,如果在错误的时间使用了错误的软件包(至少在Debian上)尝试这样做,则通常会建议您卸载整个桌面环境。
–oseiskar
2014年9月5日14:39
#3 楼
是的,您提出的命令是正确的。sudo apt-get install ./package.deb
或
sudo apt install ./package.deb
将安装您得到的软件包来自APT以外的其他来源,同时使用APT功能自动解决其依赖关系。不幸的是,手册页中没有记录此
apt-get
功能。有关以下信息,请参见https://askubuntu.com/a/769542/250300和https://askubuntu.com/a/795048/250300详细信息。
评论
这应该是公认的答案。
–彼得
18年5月16日在6:57
哪个版本的apt-get添加了此功能?
–库尔特·菲茨纳
18/12/24在4:28
@KurtFitzner在每个发行公告的APT 1.1中已添加(可通过askubuntu.com/a/795048/250300找到)。
–梅勒比乌斯
19年7月9日在19:54
#4 楼
您也可以使用gdebi安装.deb文件。运行以下命令以安装gdebi,sudo apt-get install gdebi-core
使用gdebi安装.deb软件包,
sudo gdebi /path/to/filename.deb
它还修复了依赖项。
评论
请注意,gdebi仅接受一个参数,而将其余参数默默地放在地板上。这意味着,如果您同时安装多个Deb(也许是因为它们相互依赖),则需要精心制作gdebi命令以使其安装。 imo这一半无法达到gdebi的目的,但是您可能仍然发现它对于单个文件很有用
– Anthony Sottile
15年7月15日在2:58
@Anthony然后找到-name * .deb -exec gdebi {} \;
– jjmontes
15年7月25日在16:40
@jjmontes仅在相互依存关系按字母顺序排列(我敢打赌)时才有效
– Anthony Sottile
15年7月26日在15:34
我遵循了这个freesoftwaremagazine.com/articles/…(错误,本地存储库必须位于/ var / www / html / debs),并且突触不断尝试从甚至没有Internet的远程下载,因此gdebi在本地存储库中工作得很好!另外,.deb文件必须是chmod + r * .deb
–水瓶座力量
18年7月13日在23:36
评论
现在可以使用。如果仍然使用SuperUser,可以更新接受的答案吗?参见下文。这对我有用:sudo apt install ./* && sudo apt --fix-broken install ./*。
unix.stackexchange.com/a/159114/86583