我有个问题,apt 和 snap 有什么区别。我都在用它们,但它们之间有一个小问题。我已经安装了 chromium-browser 软件。我想删除它,但当我使用“sudo apt remove chromium-browser”时,它显示已删除,但我仍然可以在显示应用程序选项卡中看到 chromium 软件,并且运行正常。我已经使用清除提示仍然相同。但当我使用“sudo snap remove chromium”时,它显示已删除并完全删除。为什么会这样?
PS:我使用的是Ubuntu 22.04.2
答案1
snap
和apt
(或deb's
)是不同的打包系统。一些软件现在只能以snap
-package 形式提供,但在早期是作为 -package 分发的deb
。为了使 snap 可以通过 进行安装,使用了apt
所谓的过渡-package。deb
chromium-browser
是一个过渡deb
包,当你安装它时,它会拉入该snap
包chromium
。
当您删除deb
-package时chromium-browser
,它只会删除过渡deb
-package 而不会删除snap
-package chromium
,因此应用程序不会被卸载并且仍然正常运行,如果您想删除,snap
您必须运行snap remove chromium
,而不是snap remove chromium-broser
像您在问题中所写的那样,一个snap
命名的chromium-broser
甚至chromium-browser
根本不存在。
~$ snap find chromium
Name Version Publisher Notes Summary
chromium 115.0.5790.102 canonical✓ - Chromium web browser, open-source version of Chrome
chromium-ffmpeg 0.1 canonical✓ - FFmpeg codecs (free and proprietary) for use by third-party browser snaps
...
...
...
~$ snap find chromium-broser
No matching snaps for "chromium-broser"
~$ snap find chromium-browser
No matching snaps for "chromium-browser"
~$ apt show chromium-browser | grep Description
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Description: Transitional package - chromium-browser -> chromium snap
答案2
apt 是一个传统的数据包管理器。它适用于所有 Linux 软件包。但 Snap 最初适用于 Ubuntu,后来适用于其他 Linux 发行版。然而,Snap 和 apt 的不同之处在于它们打包软件的方式。Snap 将运行应用程序所需的一切(包括其依赖项)都包含在一个包中,但 apt 要求用户将依赖项作为单独的包与应用程序包一起部署。