Come posso cercare un PPA tramite CLI, riga di comando?


9

Se apt searchfallisco, il passo successivo è di solito cercare un PPA, ma ppasearchsembra abbandonareware, quindi cosa posso usare per cercare PPA (tramite la riga di comando)?


2
Utilizzare un browser della riga di comando come i collegamenti per cercare il pacchetto o il ppa desiderato
— Pantera

2
Apparentemente esiste un'alternativa alla GUI , ma finora nulla sulla riga di comando. Buona domanda, comunque.
— Sergiy Kolodyazhnyy,

2
Ciò che è interessante Y PPA Manager (applicazione PPA GUI matura) ha y-ppa-cmd, ma richiede una variabile $ DISPLAY.
— N.

Risposte:


2

Non capisco davvero perché vorresti cercare PPA dalla riga di comando perché la maggior parte delle persone ha già una finestra del browser sempre aperta. Ecco alcune opzioni:

  • Se si utilizza un browser che supporta l'aggiunta di parole chiave ai segnalibri, è possibile contrassegnare https://launchpad.net/ubuntu/+ppas?name_filter=%scon la parola chiave ppa. Quindi digitare ppa [package-name]nella barra degli URL per la ricerca.

  • Se ppasearchfa quello che ti serve, continua a usarlo finché continua a funzionare. Puoi provare a contribuire allo sviluppo per aggiungere funzionalità o correggere bug. Se gli sviluppatori non rispondono, puoi creare un fork personale.

  • Puoi creare il tuo script, simile al seguente:

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

    Questo script apre un collegamento a una ricerca di Launchpad per il pacchetto specificato nel browser predefinito. Con il flag appropriato -l, genera un elenco di nomi PPA con i loro URL e descrizioni.

    Puoi aggiungere funzionalità aggiuntive quando ne hai bisogno.


1
Il punto è che OP vuole avere uno strumento simile a apt-cache search package_name. Il problema apt-cachedipende dalla ricerca di metadati del pacchetto dei repository che sono già stati aggiunti al sistema. Detto questo, non sei lontano - quel link può essere usato per elencare i PPA, quindi fare una richiesta e analizzare la risposta dovrebbe essere abbastanza semplice, ma probabilmente tutta la PITA nella parte di analisi
— Sergiy Kolodyazhnyy

Non puoi presumere che le persone abbiano un browser aperto. Possono trovarsi su un sistema senza testa come un server o un lampone pi. Probabilmente LA MAGGIOR PARTE dei sistemi Linux sono senza testa, dal momento che Linux è principalmente usato da server non da desktop
— Jonathan

I dispositivi che usi per accedere ai server senza testa non hanno neanche i browser? Sono server senza testa fino in fondo?
— xiota,

1
Non puoi presumere che io abbia gli occhi, potrei anche essere senza testa
— Jonathan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.