透過命令列列出特定 ppa 可用的(頭)包

透過命令列列出特定 ppa 可用的(頭)包

我想列出特定 ppa 提供的所有 Head 包。

例子:網路更新8 ppa:nilarimogard/webupd8有以下值得信賴的頭包:

螢幕

我可以透過命令列列出它們嗎

答案1

我編寫了一個函數,用於獲取將在當前版本/架構上使用的儲存庫的軟體包清單。它相當簡單,可以寫成一行......這只是一個非常笨拙的行。

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

因此,將其貼上到終端後,您可以像這樣調用它lsppa ppa:nilarimogard/webupd8,它會返回按包列表排序的列表。

在這種情況下,它可能不是按字母順序排列的,甚至可能包含重複項(不同版本),因此您可能(sort -u如果您想調用,則可以傳遞它:

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

相關內容