无法找到包 - 当 /file/ 位于目录中时(它是一个 .deb)

无法找到包 - 当 /file/ 位于目录中时(它是一个 .deb)

伙计们:这个问题让我很头疼。我有 2 个 .deb 文件准备安装,当我执行 sudo apt-get install *.deb 时,我得到了:

E: Unable to locate package discord-0.0.14.deb
E: Couldn't find any package by glob 'discord-0.0.14.deb'
E: Couldn't find any package by regex 'discord-0.0.14.deb'
E: Unable to locate package XnViewMP-linux-x64.deb
E: Couldn't find any package by glob 'XnViewMP-linux-x64.deb'
E: Couldn't find any package by regex 'XnViewMP-linux-x64.deb'

我的 ls -lah 显示:

drwxr-xr-x  2 root    root    4.0K Mar 24 08:56 .
drwxr-xr-x 10 root    root    4.0K Mar  2 20:57 ..
-rwxrwxr-x  1 kcredden kcredden  69M Mar 24 08:54 discord-0.0.14.deb
-rwxrwxr-x  1 kcredden kcredden  52M Mar 24 08:52 XnViewMP-linux-x64.deb

有一个修复程序说某个应用程序未安装,我安装了它,然后就修复了。但现在我遇到了同样的问题,有什么帮助吗?

    NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

答案1

特伦斯和大卫:

谢谢你的帮助。我最终设法使用以下方法安装了它们:

sudo dpkg --force-depends -i /path/to/package.deb

有些命令结构对我来说有点陌生,这也是我犯错的原因之一。但是,David,在我找到那个有效的命令之前,我尝试了你在回答的问题中指出的所有命令。

看来 U-20 仍然存在一些需要解决的问题。

答案2

问题在于所使用的语法。如果未指定路径,apt则假定您指的是软件包名称,而不是文件。Apt 需要完整路径才能从 deb 文件安装软件包,即使软件包位于当前目录中。当前目录的路径是./

因此,不要这样:

sudo apt install *.deb

您应该使用完整路径:

sudo apt install ./*.deb

但是,为了避免依赖关系冲突,您应该在开始之前像这样更新您的软件包列表:

sudo apt update
sudo apt install ./*.deb

此外,如果使用dpkg -i package.deb或安装dpkg --force-depends -i package.deb,安装后需要运行以下命令来安装必要的依赖项。

sudo apt -f install

只需按原样运行命令,不要指定文件或包名称。

您会看到,该--force-depends标志只是将依赖错误作为警告返回,并不会下载或安装必要的依赖项。sudo apt -f install使用“修复”标志来实际修复这些依赖项。

相关内容