如何通过 CLI、命令行搜索 PPA?

如何通过 CLI、命令行搜索 PPA?

如果apt search失败了,下一步通常是寻找 PPA,但ppasearch似乎是废弃软件,那么我可以使用什么来搜索 PPA(通过命令行)?

答案1

我真的不明白为什么你要从命令行搜索 PPA,因为大多数人已经有一个永久打开的浏览器窗口。以下是一些选项:

  • 如果你使用的浏览器支持添加关键词到书签,你可以https://launchpad.net/ubuntu/+ppas?name_filter=%s用 关键词添加书签ppa,然后ppa [package-name]在网址栏中输入关键词进行搜索。

  • 如果ppasearch满足您的需求,请继续使用它,只要它继续工作即可。您可以尝试为开发做出贡献以添加功能或修复错误。如果开发人员没有响应,您可以创建个人分支。

  • 您可以创建自己的脚本,类似于以下内容:

    #!/usr/bin/env bash
    
    function _show_help_ {
       echo "Usage:" `basename ${0}` "[options] [package-name]"
       echo "Open web browser to search Launchpad for [package-name]."
       echo
       echo "  -l, --list      List PPAs with link and description"
       echo "  -h, --help      Display this help and exit."
    }
    
    function msed {
       perl -0777 -pe "$@"
    }
    
    if [ $# -lt 1 ]; then
       _show_help_
       exit 1
    fi
    
    case "$1" in
       '-h'|'--help')
          _show_help_
          ;;
       '-l'|'--list')
          shift
          curl -s "https://launchpad.net/ubuntu/+ppas?name_filter=$@" \
              | pandoc -f html -t markdown \
              | msed 's@[\s\S]*<div id="ppa_list">@@' \
              | msed 's@\]\(@\]\(https://launchpad.net/@'
              | grep -E '^\s+\[' \
              | msed 's@^\s+@@' \
              | msed 's@\s+[0-9]+\s+[0-9]+\s+@\n@g'
          ;;
       *)
          xdg-open "https://launchpad.net/ubuntu/+ppas?name_filter=$@"
          ;;
    esac
    

    此脚本会在默认浏览器中打开一个链接,指向 Launchpad 搜索给定的软件包。使用适当的标志-l,它会输出 PPA 名称及其 URL 和说明的列表。

    当您需要其他功能时,您可以添加它们。

相关内容