当我忘记时,如何找出我的源中某个特定存储库所用的包或多个包?

当我忘记时,如何找出我的源中某个特定存储库所用的包或多个包?

是否有命令可以发现特定 repo 更新的内容?我喜欢经常清理未使用的 repo 源,有时会忘记特定 repo 的用途。当这种情况发生时,我只是谷歌搜索,但很好奇是否有终端命令可以告诉我?

答案1

这里有几个控制台选项:

  • 对于已知的包名称,您可以使用apt-cache policy package-name- 请参阅下面我的系统中的示例:

    $ apt-cache policy doublecmd-gtk 
    doublecmd-gtk:
      Installed: 0.9.7-0+svn9235~testing
      Candidate: 0.9.7-0+svn9235~testing
      Version table:
     *** 0.9.7-0+svn9235~testing 500
            500 http://download.opensuse.org/repositories/home:/Alexx2000/xUbuntu_16.04  Packages
            100 /var/lib/dpkg/status
         0.7.1-2 500
            500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
    

    这意味着我已经doublecmd-gtk从 OpenSuSe BuildService 上的第三方存储库安装了软件包。你可以sources.list使用以下命令找到它的文件:

    $ grep -r "http://download.opensuse.org/repositories/home:/Alexx2000/xUbuntu_16.04" /etc/apt/ --include="*.list"
    /etc/apt/sources.list.d/home:Alexx2000.list:deb http://download.opensuse.org/repositories/home:/Alexx2000/xUbuntu_16.04/ /

  • 如果您知道 PPA 名称,那么您可以aptitude使用类似的命令询问软件包来源aptitude search "?origin(LP-PPA-alexlarsson)"- 它将显示与 Synaptic 输出中相同的软件包名称。

您也可以尝试以下 GUI 工具:

  • 安装 Synaptic 包管理器sudo apt-get install synaptic apt-xapian-index并使用此处的 Origin 选项卡 - 请参阅我的系统中的示例:

    Synaptic 软件包管理器,来源选项卡

    从上面的截图中你可以看到我已经添加了 Alex Larsson 的 FlatPak PPA,并且从中安装了一个包。

  • 您可以使用名为 Y PPA Manager 的特殊用户友好应用程序。您可以使用

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
    sudo apt-get update
    sudo apt-get install y-ppa-manager
    

    然后你必须点击管理 PPA按钮,然后选择所需的 PPA 行并列出其软件包列出包按钮,您将获得如以下屏幕截图所示的内容:

    Y PPA 管理器,管理 PPA,列出软件包

您可以结合使用上述方法以获得最佳效果。我根据具体情况使用其中的多种方法。

相关内容