CentOSの仮想サーバーを構築してからしばらくして、メールの設定が上手くいってなかったことに気付いて修正した直後に、サーバーから大量のメールが届きました。
件名に「…cron.hourly」とあったので、cronで1時間毎に何か処理する設定をしてたかな?と思って調べたら、実はyumのアップデートが上手くいってないらしい。
届いたメールの内容
まず、cronから届いたメールの件名にはこのように書かれていました。
1 |
Cron <root@localhost> run-parts /etc/cron.hourly</root@localhost> |
ふむふむ、毎時間実行するcronが走ったと。
本文は以下の通りです。
1 2 3 |
/etc/cron.hourly/0yum-hourly.cron:Not using downloaded remi-safe/repomd.xml because it is older than what we have: Current : Mon Jul 9 19:18:07 2018 Downloaded: Thu Jul 5 21:04:40 2018 |
Google翻訳で直訳すると、「ダウンロードしたremi-safe/repomd.xml
は、私たちが持っているものより古いため、使用していません。」
つまり、remi-safeリポジトリの情報が古いから、yum update
が正常に完了してないよっと。
1. yumのキャッシュをクリアする
まずは、よくネットで紹介されている対処法をご紹介します。
yumコマンドを使用してyumのキャッシュをクリアする方法です。
1 |
yum clean all |
実行すると以下のように表示されます。
1 2 3 4 5 |
読み込んだプラグイン:fastestmirror リポジトリーを清掃しています: base epel extras remi-safe rpmforge updates Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors |
これでキャッシュがクリアされたはずですが…。
2. yumのキャッシュディレクトリを削除する
しばらくすると、またcronからメールが飛んで来ました!
キャッシュはクリアされたはずですが、念の為、クリアした後のメッセージをよく読んでみました。
4行目をまたGoogle翻訳で直訳。
1 2 3 |
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos ↓↓↓ 翻訳 ↓↓↓ rm -rf /var/cache/yumを使用して、無効または削除されたリポジトリからの孤立したデータが占める領域を解放することもできます |
なるほど、yumのキャッシュフォルダごと削除してもいいと。
ということで、以下のコマンドでyumのキャッシュフォルダを消去
1 |
rm -rf /var/cache/yum |
これで解決か?
3. remi-safeリポジトリを無効化
当サイトでは試してないが、yum-config-managerを利用した方法でリポジトリを無効化できるらしい。
まずは、yum-config-manager
を利用するために、yum-utils
をインストールします。
1 |
yum -y install yum-utils |
そして、yum-config-manager
にdisableオプションを付けてremi-safeを無効化します。
1 |
yum-config-manager --disable remi-safe |
これで大丈夫だと思います。
メールそのものを送信しなくする
著者の場合はこれでも解決できませんでした。
本件は特に無視しても良い内容だと思いますので、そもそもCronのメールすら通知しないと良いのでは?ということです。
多少気持ち悪いですが、以前紹介した方法を試しても良いかもしれませんね。
他の方法も模索しています。
良い情報がありましたらコメントお願いします!
コメント