명령줄을 통해 특정 ppa에서 사용 가능한 패키지 목록(헤드)

명령줄을 통해 특정 ppa에서 사용 가능한 패키지 목록(헤드)

특정 ppa에서 사용 가능한 모든 Head 패키지를 나열하고 싶습니다.

예:webupd8 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

관련 정보