ホーム » T-Saitoh (ページ 26)
「T-Saitoh」カテゴリーアーカイブ
Date::Manip::MD5 is deprecated…
メールの流量モニタに一定のメールがずっと流れている記録が残ってる。
状況
確認すると、munin-cron で実行される munin-graph で以下のエラーメッセージが出ている。
Date::Manip::DM5 is deprecated and will be removed from the Date::Manip package starting in version 7.00 at (eval 5) line 1.
Date::Manip::MD5 パッケージは、ver 7.0 から Date::Manip から非推奨になったみたい。グラフは正常に生成されているものの、警告メッセージが5分おきに送られるのはうざい。
munin-graph と munin-cgi-graph の “Date::Manip::DM5” に関係する部分は、こんな感じ。
((( /usr/share/munin/munin-graph ))) : BEGIN { # This is needed because Date::Manip has deprecated the functional # interface in >= 6.x. So, we force the use of the 5.x API. $Date::Manip::Backend = 'DM5'; # Double line here to avoid spurious warnings about D::M::Backend being # used only once. $Date::Manip::Backend = 'DM5'; } use Date::Manip; : ((( /usr/lib/munin/cgi/munin-cgi-graph ))) : use IO::Handle; BEGIN { no warnings; $Date::Manip::Backend = 'DM5'; } use Date::Manip; :
対応
こちらの記事を見ると、Bug Report の中で、BEGIN {} ブロックの中を消すパッチを提案しているので、ひとまず、この2か所のBEGIN {} の範囲をコメントアウトで消すと、問題なく動いている。バグレポートも出ているので、近いうちに修正されるだろう。
usrmerge(usr-is-merged)でトラブル
いつものように “aptitude upgrade ; aptitude safe-upgrade”を実行したら、”usr-is-merged” パッケージをインストールしようとして、インストールの前処理でエラーが発生して upgrade が途中で止まってしまう。
状況と対応
関係のなさそうな他の無難なパッケージを更新し、usr-is-merged を入れようとする根源を探したら、”init-system-helper” みたい。でもこのままでは更新を継続できないので、“aptitude full-upgrade“を実行する。すると、“usr-is-merged” ではなく “usrmerge” パッケージをインストールすることになって、普通に更新が終わる。
# “aptitude install usrmerge” でも解消できるはず。
usrmerge とは
unix では、もともと /bin (システム必須の binary) , /usr/bin (システム運用上便利なユーザ向け binary) , /usr/local/bin (ユーザが個人的にインストールしたbinary) という使い分けをしてきたけど、最近ではパッケージインストーラが管理してくれるなか、/bin と /usr/bin の区別がほとんどなくなってきている。逆に /usr/bin 配下に binary がインストールされれば、/usr を read-only mount にできたりと利点も多いので、他の /sbin , /lib* も同様に…。ということで、usrmerge パッケージをインストールすることで /bin -> /usr/bin といったシンボリックリンクに切り替えてくれる。
# でも、そうなってくると /usr って、”ユーザ向け” という意味じゃなくなってくるよな。
usrmerge の結果として root ディレクトリを確認すると、/bin -> /usr/bin, /lib -> /usr/lib, …といったリンクが生成されていた。
$ ls -al / lrwxrwxrwx 1 root root 7 9月 23 12:09 bin -> usr/bin : lrwxrwxrwx 1 root root 7 9月 23 12:09 lib -> usr/lib lrwxrwxrwx 1 root root 9 9月 23 12:09 lib32 -> usr/lib32 lrwxrwxrwx 1 root root 9 9月 23 12:09 lib64 -> usr/lib64 lrwxrwxrwx 1 root root 10 9月 23 12:09 libx32 -> usr/libx32 : lrwxrwxrwx 1 root root 8 9月 23 12:09 sbin -> usr/sbin