在Linux系统中可以共存某个软件多个版本的,不同版本还能同时使用,互不影响。就是会占点空间。那么在 Ubuntu 24.04里看 “有几个 Firefox”,核心是查:APT 版、Snap 版、Flatpak 版、手动解压版是否同时存在。下面给你一套可直接复制执行的排查步骤。
一、快速查看 PATH 里有几个可执行文件
which -a firefox
- 只返回 1 行:PATH 里只有一个
- 返回 2~3 行:说明系统里有多个版本(常见:
/usr/bin/firefox、/snap/bin/firefox、/var/lib/flatpak/.../firefox)
示例(同时有 APT + Snap):
/usr/bin/firefox
/snap/bin/firefox
/usr/local/bin/firefox
二、分别查各类包是否安装
1. 查 APT 包(.deb)
dpkg -l | grep firefox
apt policy firefox
有输出且状态为 ii,说明装了 APT 版。
2. 查 Snap 版(Ubuntu22.04+ 默认预装)
snap list | grep firefox
有输出说明装了 Snap 版。
3. 查 Flatpak 版
flatpak list | grep firefox
有输出说明装了 Flatpak 版,因为我这里没有使用Flatpak,所以没有。
4. 全盘搜索所有叫 firefox 的程序(含手动安装)
sudo find / -type f -name firefox 2>/dev/null
常见路径:
- APT:
/usr/bin/firefox→ 真实文件多在/usr/lib/firefox/ - Snap:
/snap/bin/firefox→ 实际在/snap/firefox/current/ - Flatpak:
/var/lib/flatpak/app/.../firefox - 手动解压:
/opt/firefox/firefox、~/下载/firefox/firefox等
发现手动安装的包目录在/opt/下,通过软链接可以看到指向哪里。
swper@Mt:~$ ls -l /usr/local/bin/firefox
lrwxrwxrwx 1 root root 20 3月 19 18:21 /usr/local/bin/firefox -> /opt/firefox/firefox
三、查看当前实际运行的是哪一个
ps aux | grep firefox
看第一列路径,就是当前启动的那个 Firefox。
常见情况
- 只有 1 个:一般是 Snap 版(Ubuntu 22.04+ 默认)
- 有 2 个:多半是 APT + Snap 并存
- 有 3 个:APT + Snap + Flatpak 或手动版
总结
因为我刚升级完的系统,从ubuntu 22.04.5升级到24.04.4版本,在升级之前我是手动安装deb包的firefox,安装到/opt目录下的。而默认系统自带一个snap版本的,同时在之前也有一个使用apt安装的deb;所以当前系统中有三个版本。