APT에 설치된 메타패키지 나열

APT에 설치된 메타패키지 나열

메타패키지는 자체적으로 아무것도 설치하지 않고 다른 패키지에 의존하는 패키지입니다. 시스템에 설치된 메타 패키지를 나열하는 방법은 무엇입니까?

答え1

나는 다음을 사용했다:

apt-cache search . | grep -i "metapackage\|meta-package"

결합하다:

dpkg --get-selections

다음 스크립트에서:

awk 'BEGIN{
    FS=" - ";
    findmeta="apt-cache search . | grep -i \"metapackage\|meta-package\"";
    while ((findmeta | getline) > 0) meta[$1]=$2;
    FS=" ";
    findinstalled="dpkg --get-selections";
    while ((findinstalled | getline) > 0) {
        if ($1 in meta) print $1" - "meta[$1]
    }
}'

한 줄:

awk 'BEGIN{FS=" - ";findmeta="apt-cache search . | grep -i \"metapackage\|meta-package\""; while ((findmeta | getline) > 0) meta[$1]=$2; FS=" "; findinstalled="dpkg --get-selections"; while ((findinstalled | getline) > 0) {if ($1 in meta) print $1" - "meta[$1]}}'

결과의 예:

emacs - GNU Emacs editor (metapackage)
exim4 - metapackage to ease Exim MTA (v4) installation
linux-headers-amd64 - Header files for Linux amd64 configuration (meta-package)
linux-image-amd64 - Linux for 64-bit PCs (meta-package)
xfce4 - Meta-package for the Xfce Lightweight Desktop Environment
xserver-xorg-input-all - X.Org X server -- input driver metapackage

答え2

"metapackage"출력의 일부 필드에 문자열이 포함된 설치된 모든 패키지의 이름을 나열하는 다음 명령을 시도해 보십시오 apt-cache show.

apt-cache show $(dpkg-query -Wf '${Package}\n') | 
  awk '$1 == "Package:" { pkg = $2 }; 
       $1 == "Section:" && $2 ~ /metapackage/ { print pkg }'

関連情報