Liste (Head) der Pakete, die von einem bestimmten PPA über die Befehlszeile verfügbar sind

Liste (Head) der Pakete, die von einem bestimmten PPA über die Befehlszeile verfügbar sind

Ich möchte alle Head-Pakete auflisten, die von einem bestimmten PPA verfügbar sind.

Beispiel:webupd8 ppa:nilarimogard/webupd8hat folgende Head-Pakete für Trusty:

Bildschirm

Kann ich sie per Befehlszeile auflisten??

Antwort1

Ich habe eine Funktion geschrieben, die die Paketliste für das Repo abruft, das für die aktuelle Version/Architektur verwendet werden würde. Sie ist ziemlich einfach und könnte in einer einzigen Zeile geschrieben werden ... Es wäre nur eine sehr unhandliche Zeile.

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")
}

Nachdem Sie das in ein Terminal eingefügt haben, können Sie es wie folgt aufrufen lsppa ppa:nilarimogard/webupd8und es gibt eine Liste zurück, sortiert nach der Paketliste.

In diesem Fall ist es möglicherweise nicht alphabetisch geordnet und könnte sogar Duplikate (unterschiedliche Versionen) enthalten. Sie könnten es also durchreichen, sort -uwenn Sie Folgendes aufrufen möchten:

lsppa ppa:nilarimogard/webupd8 | sort -u | less

verwandte Informationen