CentOS7ではyum update –-securityもvmfarmsのgenerate_updateinfoも駄目である話

RHEL系でセキュリティパッチのみ当てたい場合、
yum update --securityで脆弱性あるパッケージのみ実行してくれます。

実際の手順では、yum-plugin-securityをインストールして
実行していきます。

しかし!!
この記事を読んでいる人は理解していると思いますが、
そもそもCentOS7はsecurity updateに対応していません。
なので、上の公式記事を実行しても全く無駄です。

セキュリティアップデートに対応するかについては、
過去に結構議論していました。

いやいや。
さすがに昔のことで、今では対応してるでしょ!?
と思って、フォーラムを確認したところ

CentOS does not provide the necessary metadata in the repos for yum-plugin-security to function. It does not work on CentOS.

はい、
非対応でした。

CentOS公式としては、定期的にyum updateすればいい、と認識しているようです。


そのため、もしセキュリティパッチのみ当てたいという要求があった場合、
自力でローカルにリポジトリを作成するなどして、updateinfoを用意する必要があります。
「CentOS用のセキュリティ情報を提供しているCEFSの情報を利用しよう!」と
多くの記事では、このgithubリポジトリを参照しています。

これを参考にして、「できたできた!」って言ってますが、
残念ながら現在では、正しく機能しません。。
少なくとも、アップデートされないパッケージがあります。

いくつかのセキュリティ正誤表が無視されるとイシューに挙げられています。
原因として、epoch番号に相違があるからです。

The generate_updateinfo script always sets Epoch to "0" which is why the errata are not matched up for packages where Epoch is not in fact 0, but higher.

そのため、パッケージによっては、
アップデート対象であるにもかかわらず更新されないという現象がおきます。
せっかくリポジトリ立てても、機能しない!セキュリティパッチ効いてない!
なんてことが起きてしまいます。

vmfarms generate_updateinfoのpythonスクリプトでは対応しきれないため、
フォーク先を探したり、別のプロジェクトを探しましょう。
もしくは、yum updateで対応しましょう。

軽く探したところ、昔のフォーラムで提案された個人のgithubリポジトリが
現在も開発中のようでした。

時間ができたときに、これを試してみますが
これもどうなんだろうなぁ。。

基本的にcentos7はyum updateするしかないのかなぁ。。。


じゃあね〜〜。