「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
スクリプトに入れてください。