Comment rechercher un PPA via CLI, ligne de commande?


9

Si cela apt searchéchoue, l'étape suivante consiste généralement à rechercher un PPA, mais ppasearchsemble être un abandonware, alors que puis-je utiliser pour rechercher des PPA (via la ligne de commande)?


2
Utilisez un navigateur de ligne de commande tel que des liens pour rechercher le package ou le ppa que vous souhaitez
Panther

2
Il y a apparemment une alternative interface graphique , mais rien sur le front de ligne de commande jusqu'à présent. Bonne question, cependant.
Sergiy Kolodyazhnyy

2
Ce qui est intéressant, c'est Y PPA Manager (application GUI PPA mature) y-ppa-cmd, mais il nécessite la variable $ DISPLAY.
N0rbert

Réponses:


2

Je ne comprends pas vraiment pourquoi vous souhaitez rechercher des PPA à partir de la ligne de commande, car la plupart des gens ont déjà une fenêtre de navigateur ouverte en permanence. Voici quelques options:

  • Si vous utilisez un navigateur qui prend en charge l'ajout de mots clés aux signets, vous pouvez créer https://launchpad.net/ubuntu/+ppas?name_filter=%sun signet avec un mot clé ppa. Tapez ensuite ppa [package-name]dans la barre d'URL pour rechercher.

  • Si ppasearchfait ce dont vous avez besoin, continuez à l'utiliser aussi longtemps qu'il continue de fonctionner. Vous pouvez essayer de contribuer au développement pour ajouter des fonctionnalités ou corriger des bugs. Si les développeurs ne répondent pas, vous pouvez créer un fork personnel.

  • Vous pouvez créer votre propre script, semblable au suivant:

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

    Ce script ouvre un lien vers une recherche Launchpad pour le package donné dans le navigateur par défaut. Avec l'indicateur approprié -l, il affiche une liste de noms PPA avec leurs URL et descriptions.

    Vous pouvez ajouter des fonctionnalités supplémentaires lorsque vous en avez besoin.


1
Le fait est que OP veut avoir un outil similaire à apt-cache search package_name. Le problème réside apt-cachedans la recherche de packages de métadonnées des référentiels qui ont déjà été ajoutés au système. Cela dit, vous n'êtes pas loin - ce lien peut être utilisé pour répertorier les AAE, donc faire une demande et analyser la réponse devrait être assez simple, mais probablement beaucoup de PITA dans la partie d'analyse
Sergiy Kolodyazhnyy

Vous ne pouvez pas supposer que les gens ont un navigateur ouvert. Ils peuvent être sur un système sans tête tel qu'un serveur ou un Raspberry Pi. On peut dire que la plupart des systèmes Linux sont sans tête, car Linux est principalement utilisé par des serveurs et non par des ordinateurs de bureau
Jonathan

Les appareils que vous utilisez pour accéder aux serveurs sans tête n'ont pas de navigateur non plus? S'agit-il de serveurs sans tête jusqu'au bout?
xiota

1
Vous ne pouvez pas supposer que j'ai des yeux, je peux même être sans tête aussi
Jonathan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.