%20dispon%C3%ADveis%20em%20ppa%20espec%C3%ADfico%20por%20linha%20de%20comando.png)
Quero listar todos os pacotes Head disponíveis em ppa específico.
Exemplo:webupd8 ppa:nilarimogard/webupd8
tem os seguintes pacotes principais para confiança:
Posso listá-los por linha de comando?
Responder1
Eu escrevi uma função que captura a lista de pacotes do repositório que seria usado na versão/arquitetura atual. É bastante simples e poderia ser escrito como uma única linha... Seria apenas uma linha muito difícil de manejar.
function lsppa {
# expects one argument in the form of ppa:nilarimogard/webupd8
USAGE="lsppa <ppa:user/ppaname>"
if [[ "$#" != "1" || ! "$1" == *"ppa"* ]]; then
echo "$USAGE"
return
fi
REPO="${1/ppa:/}"
CODE="$(lsb_release -cs)"
ARCH="$(dpkg --print-architecture)"
URL="http://ppa.launchpad.net/$REPO/ubuntu/dists/$CODE/main/binary-$ARCH/Packages"
awk '/^Package:/ {print $2}' <(wget -qO- "$URL")
}
Então, depois de colar isso em um terminal, você pode chamá-lo de like lsppa ppa:nilarimogard/webupd8
e ele retornará uma lista ordenada pela lista de pacotes.
Neste caso, pode ser não alfabético e pode até conter duplicatas (versões diferentes), então você pode (você pode passá-lo sort -u
se quiser chamar:
lsppa ppa:nilarimogard/webupd8 | sort -u | less