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.