Pacotes List (Head) disponíveis a partir de um ppa específico por linha de comando

2

Eu quero listar todos os pacotes Head disponíveis a partir de um ppa específico.

Exemplo: webupd8 ppa:nilarimogard/webupd8 tem os seguintes pacotes principais para trusty:

Posso listá-los por linha de comando ?

    
por Pandya 09.06.2014 / 07:38

1 resposta

2

Eu escrevi uma função que pega a lista de Pacotes para o repositório que seria usado no release / arquitetura atual. É bastante simples e poderia ser escrito como uma única linha ... Seria apenas uma linha muito pesada.

function lsppa {
    # expects one argument in the form of ppa:nilarimogard/webupd8

    USAGE="lsppa <ppa:user/ppaname>"

    if [[ "$#" != "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 }' <(wget -qO- "$URL")
}

Então, depois de colá-lo em um terminal, você pode chamá-lo como lsppa ppa:nilarimogard/webupd8 e ele retorna uma lista conforme ordenada pela lista de pacotes.

Nesse caso, ele pode ser não alfabético e pode conter até mesmo duplicatas (versões diferentes), portanto, você pode (você poderia passá-lo por sort -u se quiser chamar:

lsppa ppa:nilarimogard/webupd8 | sort -u | less
    
por Oli 09.06.2014 / 10:41