CLI, komut satırı üzerinden bir PPA'yı nasıl arayabilirim?


9

Eğer apt searchbeni başarısız, bir sonraki adım genellikle PPA aramak, ama ppasearchne ben (komut aracılığıyla) PPA'lar aramak için kullanabilir, abandonware gibi görünüyor?


2
İstediğiniz paketi veya ppa'yı aramak için bağlantılar gibi bir komut satırı tarayıcısı kullanın
Panther

2
Görünüşe göre bir GUI alternatifi var , ancak şu ana kadar komut satırı cephesinde hiçbir şey yok. Yine de iyi bir soru.
Sergiy Kolodyazhnyy

2
İlginç olan Y PPA Manager (olgun GUI PPA uygulaması) vardır y-ppa-cmd, ancak $ DISPLAY değişkeni gerektirir.
N0rbert

Yanıtlar:


2

Komut satırından neden PPA'ları aramak istediğinizi gerçekten anlamayın çünkü çoğu insanın zaten sürekli olarak bir tarayıcı penceresi vardır. İşte birkaç seçenek:

  • Yer imlerine anahtar kelime eklemeyi destekleyen bir tarayıcı kullanıyorsanız https://launchpad.net/ubuntu/+ppas?name_filter=%s, anahtar kelimeyle yer imi koyabilirsiniz ppa. Ardından ppa [package-name]aramak için URL çubuğuna yazın.

  • Eğer ppasearchihtiyacınız olanı yapar, uzun o işe devam ettikçe gibi kullanmaya devam. Özellik eklemek veya hataları düzeltmek için geliştirmeye katkıda bulunmayı deneyebilirsiniz. Geliştiriciler yanıt vermiyorsa, kişisel bir çatal oluşturabilirsiniz.

  • Aşağıdakine benzer kendi komut dosyanızı oluşturabilirsiniz:

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

    Bu komut dosyası, varsayılan tarayıcıda belirli bir paket için bir Launchpad araması bağlantısı açar. Uygun bayrakla -l, URL'leri ve açıklamalarıyla birlikte bir PPA adları listesi çıkarır.

    İhtiyaç duyduğunuzda ek özellikler ekleyebilirsiniz.


1
Bütün mesele OP'nin benzer bir araç olmasını istemesidir apt-cache search package_name. Buradaki sorun apt-cache, sisteme zaten eklenmiş depoların meta verilerinin paketlenmesine dayanmaktadır. Bununla birlikte, uzakta değilsiniz - bu bağlantı PPA'ları listelemek için kullanılabilir, bu nedenle bir istekte bulunmak ve yanıtı ayrıştırmak oldukça basit olmalıdır, ancak ayrıştırma bölümünde muhtemelen çok sayıda PITA
Sergiy Kolodyazhnyy

İnsanların açık bir tarayıcısı olduğunu varsayamazsınız. Bir sunucu veya ahududu pi gibi başsız bir sistemde olabilirler. Muhtemelen EN linux sistemleri başsızdır, çünkü linux esas olarak masaüstü olmayan sunucular tarafından kullanılır
Jonathan

Başsız sunuculara erişmek için kullandığınız cihazların tarayıcıları da yok mu? Başsız sunucular tamamen kapalı mı?
xiota

1
Gözlerim olduğunu farz edemezsin, ben de başsız bile olabilirim
Jonathan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.