$ ls
wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb
$ sudo apt install wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb
E: Couldn't find any package by glob 'wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb'
E: Couldn't find any package by regex 'wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb'
我想知道为什么deb
找不到该文件?
是因为sudo
还是apt install
?
谢谢。
注意
$ sudo apt install ./wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb
有效,但我问的是之前失败的原因。
答案1
从1.1~exp1版本开始,apt
支持apt-get
从可访问的包文件安装通过文件系统,而不仅仅是存储库。但是,为了保持向后兼容性,该功能仅适用于包说明符毫无疑问地文件,IE其中包含/
.其他任何内容都作为包进行处理姓名而不是一个包文件,使用预先存在的机制。
因此
sudo apt install wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb
被处理为安装名为“wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb”的包的请求,并apt
在其存储库中查找该包并失败。
但
sudo apt install ./wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb
被处理为安装名为“./wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb”的文件中包含的包的请求(如果需要,还可以包含其依赖项)。这也适用于绝对路径。
apt
除了在文档中简短提及之外,我在文档中找不到任何痕迹变更日志:
- 添加对“apt-get install foo_1.0_all.deb”的支持
答案2
该命令apt install
不安装.deb
文件。要安装 deb 文件wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb
,请使用dpkg -i wkhtmltox_0.12.5-0.20180604.140.rc~6f77c46~bionic_amd64.deb
.dpkg -i
用于安装.deb
文件。