RHELベースのコンピュータでgpgチェックが正しいことを確認するにはどうすればよいですか?

RHELベースのコンピュータでgpgチェックが正しいことを確認するにはどうすればよいですか?

「enabled=1」リポジトリの「/etc/yum.repos.d/」ディレクトリに「gpgcheck=1」があること(および「gpgkey=」ファイルが存在するか)を確認するには?

尋ねる:これを行うためのソリューションを探しています(oneliner?)。つまり、すべての「enabled = 1」リポジトリと「gpgcheck」のステータスを一覧表示し、「gpgkey = XXX」ファイルが存在しますか?- 問題は、1つの.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                                                                                         

スクリプトに入れてください。

おすすめ記事