在Ubuntu 20.04的软件安装中安装.deb文件时出现问题。

我试图在Ubuntu 20.04中从GitHub和其他互联网来源安装一些.deb文件,但当我用软件安装打开它时,会出现this问题(无法安装文件:不支持)。唯一的办法是进入下载的文件夹,然后运行sudo dpkg -i file.deb来安装它们。
有人能帮忙吗?我不知道该怎么办,也不想每次都使用终端。
非常感谢任何帮助。
编辑:这不是Ubuntu中.deb的问题,而是软件安装的问题。我可以通过终端安装任何.deb文件,但不能通过软件安装。Ubuntu建议使用软件安装来安装.deb文件。这不是依赖关系或类似问题,而是与使用软件安装安装.deb文件相关的问题。我想知道如何修复软件安装程序。

我只安装我信任和熟悉的软件。我只是不想通过终端安装,因为从软件安装更简单、更快速。 - 0xFR
如果我需要安装一个.deb格式的第三方软件怎么办?直到3天前一切都好。 - 0xFR
1我建议你使用终端安装并查看问题所在。在终端中,你可以看到输出结果。这样做更快速、更清晰。当你盲目尝试通过图形界面安装deb包时,你无法看到是否有任何问题。 - Pilot6
1是的,我已经做过了,但问题在于从终端安装时没有任何问题或错误。我没有安装.deb文件的问题,我在软件安装时遇到了问题,而我本不应该有这些问题。所以问题出在软件安装上。 - 0xFR
如果你愿意,你可以报告一个错误。但是这个应用程序并不是为了安装每一个deb包而设计的。 - Pilot6
那为什么直到几天前他能够顺利安装它们?它显示文件不受支持,但直到几天前它是受支持的,我认为Ubuntu不建议您在软件安装无法安装它们时安装.deb文件。 - 0xFR
7你应该使用sudo apt install ./my_filename.deb而不是直接使用dpkg。这样可以正确地进行依赖解析等操作,而dpkg无法做到这一点。请注意,对于apt,你需要提供一个绝对路径或显式相对路径(即以./开头),以便它能够区分是文件还是包名。 - Byte Commander
6个回答

如果您正在使用Firefox,并选择使用软件安装下载和打开文件,那么可能发生的情况是该文件已经下载到/tmp/mozilla_userX目录中,而Ubuntu软件安装程序无法安装任何东西。
在使用软件安装之前选择先保存文件应该可以解决这个问题。
对于已经下载的文件,将文件从/tmp/mozilla_userX目录移动到/home/user/的子目录(例如Downloads)中应该可以解决问题。

1我自己也曾遇到类似的问题,.deb软件包,但将文件移动后它就能正常运行。类似于slack或mtpaint这样的应用是安全的吗? - Henry Xing
15有没有想法为什么Ubuntu软件安装程序无法从/tmp/mozilla_userX安装任何东西?尝试过谷歌搜索,但没有效果。 - Tadeusz Kopec for Ukraine
4在Ubuntu 20.04中,即使我已经将文件下载到Downloads文件夹中,也无法安装。 - Kostanos
1@Kostanos 是的,你可以从自己的下载目录安装 .deb 文件。 - Aren Cambre
6错误报告位于https://bugs.launchpad.net/ubuntu/+bug/1908469 - Aren Cambre
1Snap Store作为一个snap包不会有访问/share/tmp的权限,这可能会成为一个问题。是的。 - Bo Chen
+1 解决方案有效,并回答了原帖中关于安装无法正常工作的问题。这应该是被接受的答案。 - caffeineFiend
我曾经遇到过一个在SMB共享上的文件出现了同样的问题。将文件复制到本地解决了这个问题。 - Zeitounator
这是正确的答案,至少对于20.04版本来说。Firefox会将.deb文件下载到/user/tmp目录,尽管我指示它保存到Downloads目录。将其移动到Downloads目录后,deb安装程序就可以安装它了。 - Marcelo Scofano Diniz

如果你正在寻找一种可靠的图形界面方式来安装 .deb 文件,可以使用 gdebi。
要查看你的系统是否已经安装了它...
dpkg -l gdebi | grep ii

如果不存在,请按照以下方式进行安装...
sudo apt-get update
sudo apt-get install gdebi

然后获取任何 .deb 文件的“属性”,并将默认的“打开方式”应用程序设置为 gdebi。现在,您只需双击 .deb 文件即可安装它们。

enter image description here

注意:如果.deb文件位于桌面上,gdebi可能无法正常运行。
更新 #1:
在Ubuntu 21.04中,gdebi出现故障。

1@fedeUbuntu 你不能。这可能是你能得到的最好的答案了。 - heynnema
2@fedeUbuntu 我相信在20.04版本中,Ubuntu软件/软件中心已经偏向于Snap应用程序,但我不能确定,因为安装20.04的选项还没有出现在我的系统上 :-( - heynnema
您能解释一下gdebi比我在菜单中看到的"软件安装"选项更好吗?它更好吗? - Gabriel Staples
没关系:问题中的编辑表明软件安装在这里不起作用,所以显然“GDebi软件包安装器”在“软件安装”失败的情况下是有效的。你知道为什么gdebi在软件安装失败的情况下能够正常工作吗? - Gabriel Staples

我遇到了同样的问题,但如果在浏览器中选择“保存文件”而不是“使用软件安装打开”,然后右键单击已保存的文件并使用软件安装打开,它就可以工作(Ubuntu软件在任何情况下都不能直接使用)。我的理解是,软件安装是Ubuntu软件的一部分。

问题

Ubuntu 20.04有两个“软件安装”应用程序,一个是gnome-software,另一个是由Canonical通过snap安装的snap-store。这个snap应用软件中心在安装来自/tmp目录的本地文件时存在问题。可以通过运行以下命令轻松验证:

gnome-software --local-filename '/tmp/mozilla_user0/app_amd64.deb' 

snap-store --local-filename '/tmp/mozilla_user0/app_amd64.deb' 

使用snap-store命令会出现错误:安装文件失败:不支持

解决方法

您可以按照其他答案中建议的方式安装gdebi或类似软件,但也有一种解决方法是修改文件关联以使用与gnome-software相关联的另一个软件安装

Firefox

在选择要打开的应用程序时,将其更改为建议的或默认的软件安装之外的列表中的另一个选项。这第二个选项是gnome-software关联。

enter image description here

你可以在“首选项->应用程序”中验证它是“gnome-software”。

enter image description here

鹦鹉螺

在Nautilus中,可以通过右键单击并打开属性来完成相同操作,针对一个/tmp/.deb文件,将打开方式从当前默认的软件安装切换到其他建议。

[输入图像描述]


刚刚转到Ubuntu,也遇到了这个问题。
解决方案1:
像其他人提到的那样,简单的解决办法是将文件保存在“下载”文件夹中,然后使用软件安装进行安装。效果很好。
解决方案2:
在您的主目录中创建一个文件夹,例如~/tmp。 输入命令TMPDIR="~/tmp" firefox &。
命令解析: TMPDIR="~/tmp" 将TMPDIR环境变量设置为主目录中的一个文件夹。 firefox & 在后台启动Firefox。通过这种方式,通过Ubuntu软件打开deb文件将正常工作。
这只会在Firefox中设置TMPDIR,因此其他程序将继续使用规范位置/tmp。如果需要,您可以在bash中设置这个,但我不确定移动/tmp文件的后果。例如,您需要确保重新启动时删除~/tmp文件。
就个人而言,我更喜欢使用第一种解决方案,只需将我的deb文件下载到“Downloads/deb”目录下。这样我可以轻松地通过Ubuntu软件进行卸载,而不必费心去使用命令行。

这真的是一个文件关联的问题。由于某种原因,.deb 文件没有正确关联。如果你下载了该文件,右键点击,选择属性。然后进入“打开方式”选项卡,选择正确的文件关联(软件安装),并设置为默认。再次尝试。 在我的情况下,看起来一切都正常,但我不得不将其设置为“归档管理器”,并设置为默认,确认,退出,返回,设置为“软件安装”,设为默认,确认并再次尝试才能正常工作。 但之后一切都好了(无论是在法语还是英语安装中)。 解决方案可以在这里找到: https://itsfoss.com/cant-install-deb-file-ubuntu/