RHEL 기반 컴퓨터에서 gpg 검사가 올바른지 어떻게 확인합니까?

RHEL 기반 컴퓨터에서 gpg 검사가 올바른지 어떻게 확인합니까?

"enabled=1" 저장소의 "/etc/yum.repos.d/" 디렉토리에 "gpgcheck=1"이 있는지(및 "gpgkey=" 파일이 존재하는지) 확인하는 방법은 무엇입니까?

묻다:이 작업을 수행하기 위한 솔루션을 찾고 있습니다(oneliner?). 즉, 모든 "enabled=1" 저장소와 "gpgcheck" 상태를 나열하고 "gpgkey=XXX" 파일이 존재합니까?- 문제는 하나의 .repo 파일에 여러 개의 저장소가 포함될 수 있다는 것입니다!

ps: 제가 아는 한, "gpgkey=XXX" -> XXX는 로컬 파일만 가능하며 http를 통한 URL은 불가능합니다... 하지만 제가 틀렸다면 고쳐주세요..

답변1

이 작업을 수행하는 쉬운 방법은 생각할 수 없습니다. 특별히 우아하지는 않지만 다음 내용이 정리되어 있습니다.

sed '/^\[.*\]/s,\[,\n<<[,' /etc/yum.repos.d/*.repo |
  awk '
    BEGIN { 
      RS = "\n<<"
    }
    /\nenabled=1/ && !/\ngpgcheck=1/ {
      print $1"~gpgcheck disabled for enabled repo"
    }
    /\nenabled=1/ &&  /\ngpgcheck=1/ && !/\ngpgkey=/ {
      print $1"~gpgcheck enabled for enabled repo, but missing gpgkey setting"
    }
    /\nenabled=1/ &&  /\ngpgcheck=1/ && /\ngpgkey=/ {
      print $1"~gpgcheck enabled for enabled repo, see output below for gpgkey file status"
    }
  ' | column -ts~

printf "\nChecking gpg keys for enabled repos\n"

sed '/^\[.*\]/s,\[,\n<<[,' /etc/yum.repos.d/*.repo |
  awk '
    BEGIN { 
      RS = "\n<<"
    }
    /\nenabled=1/ && /\ngpgcheck=1/ && /\ngpgkey=/
  ' |
    awk -F: /^gpgkey=/{print\$2} |
      xargs ls -l                                                                                         

스크립트에 넣어주시면 됩니다.

관련 정보