我可以在哪里查看程序的安装方式?

我可以在哪里查看程序的安装方式?

有没有办法查看某个应用程序是通过 Snap、PPA、下载的 deb 还是标准存储库安装的?

目前,我在 Focal 20.04 笔记本电脑上安装了 Zoom。我想弄清楚我最初是如何安装它的,但我经常遇到这个问题。要么它是一个专有应用程序(例如 Slack 或 Dropbox),我想更新它,要么应用程序提醒我有更新版本可用(Keepass),我想仔细检查我是否从存储库安装,然后等待存储库更新即可。

如果一定要我猜的话,我可能会说我是从下载的 安装了 Zoom .deb,但我不确定如何检查。我不认为我是从 安装了 Slack .deb

我尝试遵循我如何找出包来自哪个存储库?但结果不明确。例如,没有apt policySlack 的结果:

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 软件安装的,所以它是一个 Snap: Slack 条目的屏幕截图

如果我尝试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

答案1

which zoom以或开头which zoom-client。这将返回可执行文件的文件路径。(提示:tab完成是你的朋友)

以 开头的任何东西都是由 Snap(或 Ubuntu 软件中心)安装的,因此您可以通过打开软件中心或运行来获取完整/正确的 Snap 名称,以/snap了解更多信息。snap list | grep -i zoom

如果以 开头,/usr/bin则可能是使用apt或 Synaptic 安装的。在这种情况下dpkg -l | grep -i zoom, 或apt policy zoom*会告诉您更多信息。查看 Synaptic 中的“已安装(本地或过时)”过滤器,查看 是apt本地安装还是通过存储库安装。

您可能还想检查:

  • Flatpak - 检查flatpak list | grep -i zoom
  • Ubuntu 制作- 检查umake --list-installed(例如,IDE)

答案2

安装 Synaptic 软件包管理器(您可以从 Ubuntu 软件中安装它,也可以使用 命令行安装它sudo apt install synaptic)。它是管理软件包的绝佳工具.deb。在主屏幕上,它会向您显示按组划分的软件包,如下面的屏幕截图所示。查看名为“已安装(本地或过时)”的组 - 这些是从手动下载的文件而不是从存储库安装的软件包(一些非常重要的系统软件包,如libc,也包含在那里)。在我的屏幕截图中,您可以看到zoom这些软件包。

在此处输入图片描述

顺便说一句。在您的 Slack 示例中,该程序安装为 snap,而不是.deb包,这可以通过屏幕截图上数据开头的“Channel”来识别。Snap 包始终有一个通道(通常是latest/stable),而.deb包则没有。因此,无论是 Synapticapt还是 Synaptic 都不知道有关该包的任何信息(事实上,在您的示例中,它向apt policy您显示了有关未安装 slack可以.deb从存储库中安装包)。

答案3

这早已过了提出此问题的时间,但我很快创建了一个脚本(今天早上),以便同时在 repos 和 snap 中搜索应用程序,并使用其源代码查询已安装的应用程序。

如果有人发现它有用,这里是 git repo:

https://github.com/rabinnh/uni-pkg-util/tree/main

相关内容