我最近升级了 20.04 Ubuntu 22.04。我选择退出默认的“Snap” Firefox,并且遵循这些说明用 Mozilla Team PPA 存储库中维护的 Firefox 替换它。
但是,我刚刚对系统进行了更新和升级(我使用apt
它而不是软件更新程序),Firefox 似乎已经恢复到默认的“Snap”版本。从窗口中Help, About Firefox
我看到了以下声明“适用于 Ubuntu 的 Mozilla Firefox 规范 - 1.0”如截图所示:
问:我如何知道我拥有的是 Snap 版本还是 PPA 版本?
请注意我不问如何安装它,因为有很多教程,还有一个SE 中的问答解决这个问题。我只是想知道如何验证我是否拥有 PPA 版本(或 SNAP 版本)。
答案1
答案2
实际上,符号链接位于/snap/bin
可执行 snap 中,位于/snap
同名文件夹下。 的输出ls -l $(which firefox)
将显示找到的文件启动路径第一的根据您的$PATH
环境变量的定义:
这个是apt
可以通过以下命令查看的版本apt list firefox --installed
(如果已安装,则会显示[installed]
):
$ apt list firefox --installed
Listing... Done
firefox/focal-updates,focal-security,now 104.0+build3-0ubuntu0.20.04.1 amd64 [installed]
$
$ ls -l $(which firefox)
lrwxrwxrwx 1 root root 25 Aug 18 22:25 /usr/bin/firefox -> ../lib/firefox/firefox.sh
shell$PATH
将确定首先启动哪个版本。如果您同时安装了两个版本,它将根据从左到右定义的文件路径查找第一个版本,这些文件路径可能会有所不同。$PATH
可以更改定义(此处要小心!)以重新定义启动哪个版本。这通常不是这样做的方式。定义一个别名来执行此操作并保留变量通常更容易:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ PATH=/snap/bin:$PATH
$ echo $PATH
/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ ls -l $(which firefox)
lrwxrwxrwx 1 root root 13 Sep 13 14:12 /snap/bin/firefox -> /usr/bin/snap
您可以进一步启动 Firefox 并查看正在运行的版本:
$ firefox &
$ for i in $(pgrep firefox); do cat /proc/$i/cmdline ; echo ; done
/usr/lib/firefox/firefox-new-window
/snap/firefox/1810/usr/lib/firefox/firefox
第一个版本是apt
版本,第二个版本是snap
版本,是的,两个版本可以同时运行。