Bagaimana cara mencari PPA melalui CLI, commandline?

9

Jika apt searchgagal saya, langkah selanjutnya biasanya mencari PPA, tetapi ppasearchsepertinya meninggalkan, jadi apa yang bisa saya gunakan untuk mencari PPA (melalui commandline)?

Jonathan
sumber
2
Gunakan browser baris perintah seperti tautan untuk mencari paket atau ppa yang Anda inginkan
Panther
2
Tampaknya ada alternatif GUI , tapi sejauh ini tidak ada di baris perintah. Pertanyaan yang bagus.
Sergiy Kolodyazhnyy
2
Yang menarik dari Y PPA Manager (aplikasi PPA GUI matang) y-ppa-cmd, tetapi membutuhkan variabel $ DISPLAY.
N0rbert

Jawaban:

2

Tidak benar-benar mengerti mengapa Anda ingin mencari PPA dari baris perintah karena kebanyakan orang sudah memiliki jendela browser yang selalu terbuka. Berikut ini beberapa opsi:

  • Jika Anda menggunakan browser yang mendukung penambahan kata kunci ke bookmark, Anda dapat menandai https://launchpad.net/ubuntu/+ppas?name_filter=%sdengan kata kunci ppa. Kemudian ketik ppa [package-name]ke bilah URL untuk mencari.

  • Jika ppasearchmelakukan apa yang Anda butuhkan, tetap menggunakannya selama itu terus bekerja. Anda dapat mencoba berkontribusi pada pengembangan untuk menambahkan fitur atau memperbaiki bug. Jika pengembang tidak responsif, Anda dapat membuat garpu pribadi.

  • Anda dapat membuat skrip Anda sendiri, mirip dengan yang berikut:

    #!/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

    Skrip ini membuka tautan ke pencarian Launchpad untuk paket yang diberikan di browser default. Dengan bendera yang sesuai -l, itu mengeluarkan daftar nama PPA dengan URL dan deskripsi mereka.

    Anda dapat menambahkan fitur tambahan saat Anda menemukan kebutuhan untuknya.

xiota
sumber
1
Intinya adalah bahwa OP ingin memiliki alat yang mirip apt-cache search package_name. Masalah dengan itu apt-cachebergantung pada pencarian ke paket metadata dari repositori yang telah ditambahkan ke sistem. Karena itu, Anda tidak jauh - tautan itu dapat digunakan untuk mendaftar PPA, jadi mengajukan permintaan dan menguraikan respons harus cukup mudah, tetapi mungkin seluruh PITA di bagian penguraian
Sergiy Kolodyazhnyy
Anda tidak dapat menganggap orang membuka browser. Mereka mungkin berada pada sistem tanpa kepala seperti server, atau pi raspberry. Sistem Linux PALING bisa dibilang tanpa kepala, karena linux terutama digunakan oleh server bukan desktop
Jonathan
Perangkat yang Anda gunakan untuk mengakses server tanpa kepala juga tidak memiliki browser? Apakah ini server tanpa kepala sepanjang jalan?
xiota
1
Anda tidak dapat menganggap bahwa saya memiliki mata, saya bahkan mungkin tanpa kepala
Jonathan