Вопрос Список (Head) пакетов, доступных из определенного ppa по командной строке


Я хочу перечислить все пакеты Head, доступные из определенных ppa.

Пример: webupd8  ppa:nilarimogard/webupd8 имеет следующие головные пакеты для доверия:

screen

Могу ли я перечислить их по командной строке?


2
2018-06-09 05:38


происхождения




ответы:


Я написал функцию, которая захватывает список пакетов для репо, который будет использоваться в текущей версии / архитектуре. Это довольно просто и может быть написано как одна строка ... Это просто очень громоздкая линия.

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

2
2018-06-09 08:41



Я добавил простую проверку использования функции. Надеюсь, ты не против. - Glutanimate