有没有办法查看是否有任何应用程序是通过 Snap、PPA、下载的 deb 或标准存储库安装的?
目前,我的 Focal 20.04 笔记本电脑上安装了 Zoom。我试图弄清楚我最初是如何安装它的,但我经常遇到这个问题。要么它是一个专有应用程序(例如 Slack 或 Dropbox),我想更新它,要么应用程序提醒我有更新的版本可用(Keepass),我想仔细检查我是否从存储库安装并且可以等待要更新的回购。
如果我不得不猜测,我会说我很可能是从下载的 安装 Zoom 的.deb
,但我不确定如何检查。我不认为我是从.deb
.
我尝试遵循如何找出包来自哪个存储库中的一些建议?但结果是模棱两可的。例如apt policy
,Slack 没有结果:
amanda@rajje:~$ apt policy slack
slack:
Installed: (none)
Candidate: 1:0.15.2-9
Version table:
1:0.15.2-9 500
500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu focal/universe i386 Packages
大概是因为我是从 Ubuntu Software 安装的,所以它是一个 Snap:
如果我尝试apt policy
一个我知道我没有做过任何猴子的应用程序,我会看到一个存储库列表。我可以假设这意味着我确实是从存储库安装的吗?
amanda@rajje:~$ apt policy emacs
emacs:
Installed: 1:26.3+1-1ubuntu2
Candidate: 1:26.3+1-1ubuntu2
Version table:
*** 1:26.3+1-1ubuntu2 500
500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu focal/universe i386 Packages
100 /var/lib/dpkg/status
如果没有显示存储库,这是否意味着我是从包下载中安装的?
amanda@rajje:~$ apt policy zoom
zoom:
Installed: 5.0.403652.0509
Candidate: 5.0.403652.0509
Version table:
*** 5.0.403652.0509 100
100 /var/lib/dpkg/status
which zoom
以或开头which zoom-client
。这会将文件路径返回到可执行文件。(提示:tab完成是你的朋友)以 Snap(或 Ubuntu 软件中心)开头的任何内容都已
/snap
安装,因此您可以通过打开软件中心或运行snap list | grep -i zoom
以获取完整/正确的 Snap 名称来了解更多信息。如果它以它开头,
/usr/bin
则它可能与apt
Synaptic 一起安装。在那种情况下,dpkg -l | grep -i zoom
或者apt policy zoom*
会告诉你更多。查看 Synaptic 中的“已安装(本地或过时)”过滤器,以查看安装的apt
内容是本地的还是通过存储库安装的。您可能还需要检查:
flatpak list | grep -i zoom
umake --list-installed
(例如,IDE)安装 Synaptic 包管理器(您可以从 Ubuntu 软件安装它,或使用命令行安装
sudo apt install synaptic
)。它是管理.deb
软件包的好工具。在主屏幕上,它显示您分组的包,如下面的屏幕截图所示。查看名为“已安装(本地或过时)”的组 - 这些是从手动下载的文件而不是从存储库安装的软件包(其中libc
还包括一些非常重要的系统软件包,例如 )。在我的屏幕截图中,您可以zoom
在这些包中看到。顺便提一句。在您的 Slack 示例中,程序安装为 snap,而不是
.deb
包,可以通过屏幕截图数据开头的“Channel”来识别。Snap 包总是有一个频道(通常是latest/stable
),而.deb
包没有。因此apt
,Synaptic 和 Synaptic 都不知道该软件包的任何信息(实际上,在您的示例apt policy
中,向您显示了有关可从存储库安装的未安装slack
软件包.deb
的信息)。