Aqui está um script de shell baseado em esta resposta :
#!/bin/bash
if [ $# -eq 1 ]; then
CMD=s
PPA=$1
else
CMD=$1
PPA=$2
fi
case "$CMD" in
"-f" | "f")
cat $(echo "$PPA"|sed -e 's!/!_!' -e 's!^ppa:!/var/lib/apt/lists/ppa.launchpad.net_!' -e 's!$!_ubuntu_dists_'$(lsb_release -sc)'_main_binary-'$(dpkg --print-architecture)'_Packages!') | less
;;
"-s" | "s")
cat $(echo "$PPA"|sed -e 's!/!_!' -e 's!^ppa:!/var/lib/apt/lists/ppa.launchpad.net_!' -e 's!$!_ubuntu_dists_'$(lsb_release -sc)'_main_binary-'$(dpkg --print-architecture)'_Packages!') | grep 'Package:' | sed 's/Package: //'
;;
*)
echo "Usage: $0 [mode] PPA"
echo ""
echo "mode:"
echo " -f: Displays detailed information about each package in the PPA"
echo " -s: Displays only the names of the packages in the PPA"
;;
esac
Salve isso em um arquivo, como ppa-info
, e verifique se ele está localizado no caminho do sistema e é executável.
Quando você executar isso com apenas o nome de um PPA (ou a opção -s
), ele simplesmente imprimirá uma lista dos nomes de todos os pacotes no PPA. No entanto, se você executá-lo com a opção -f
, ele irá imprimir informações detalhadas sobre todos os pacotes no PPA, assim como na resposta original.