如何列出我从特定存储库安装的所有软件包?

Mar*_*nas 54 package-management apt

如何列出我从特定存储库安装的所有软件包?

如何列出 Ubuntu 主存档中不可用的所有已安装软件包,并查看它们来自哪些存储库?(如果我知道这个问题的答案,我可以用 grep 特定 PPA 名称的列表来找出我的第一个问题的答案。)

Ric*_*rri 27

似乎没有安装包来源的记录。

如果您可以从下载同名软件包的位置获取位置,则可以通过 apt-cache policy. 以下(相当丑陋的)脚本对我有用:

LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W '*' \
  | fgrep ':install ok installed' \
  | cut -d: -f1 \
  | (while read pkg; do 
       inst_version=$(apt-cache policy $pkg \
                                | fgrep Installed: \
                                | awk '{ print $2 }'); 
       origin=$(apt-cache policy "$pkg" \
                          | fgrep " *** ${inst_version}" -C1 \
                          | tail -n 1 \
                          | cut -c12-); 
       echo $pkg $origin; 
     done)
Run Code Online (Sandbox Code Playgroud)

请注意,它非常脆弱,因为它对 的输出做出了假设apt-cache policy,这可能会因版本而异......


lov*_*nux 23

打开 Synaptic Package Manager 并单击左侧边栏底部的“Origin”按钮。它将列出您的来源。选择一个来源以查看可用/已安装的软件包。


and*_*ing 23

在 Ubuntu 软件中心展开“已安装的软件”项。您将看到已启用的所有不同存储库的列表。单击 repo 将向您显示您从每个仓库安装的软件包。

替代文字

  • 在 Ubuntu 16.04 中,此页面不再可用。然而,synaptic也有类似的功能——点击左下角的“Origin”。 (3认同)
  • 在我的版本中,顶部有一个“已安装”下拉菜单。当我选择该选项时,我可以选择各种来源(核心、购买、PPA...) (2认同)