web-dev-qa-db-ja.com

CLI、コマンドライン経由でPPAを検索するにはどうすればよいですか?

apt searchが失敗した場合、次のステップは通常PPAを探すことですが、ppasearchは放棄されたウェアのように見えるので、PPAの検索に(コマンドラインを使用して)何を使用できますか?

9
Jonathan

ほとんどの人はすでにブラウザウィンドウを開いたままにしているため、コマンドラインからPPAを検索する理由を本当に理解しないでください。以下にいくつかのオプションを示します。

  • ブックマークへのキーワードの追加をサポートするブラウザーを使用している場合は、https://launchpad.net/ubuntu/+ppas?name_filter=%sをキーワードppaでブックマークできます。次に、検索するURLバーに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および説明が出力されます。

    必要に応じて、追加の機能を追加できます。

2
xiota