是否可以使用apt-get在HD上安装软件包存储,例如apt-get install ./package.deb

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

评论

现在可以使用。如果仍然使用SuperUser,可以更新接受的答案吗?参见下文。

这对我有用:sudo apt install ./* && sudo apt --fix-broken install ./*。

unix.stackexchange.com/a/159114/86583

#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