綾小路龍之介の素人思考

[メモ] ddしたあとは必ずdmesgをチェック。

linuxにおいて、RAWデバイスアクセスはカーネルにエラーが吐かれる。つまりddなどのrawデバイスアクセスを行うアプリケーション側にはこのエラーが届かない。そのため、エラートラップを仕込むことが出来ず、自分の手でエラーチェックする必要がある。

ubuntu道場で見つけた記述を引用しておく。結局ddの後にはdmesgを確認せよということ。

hito:ってあー、これも言わないとか。ddを使う場合、必ず「終わったあと」に「dmesg」を実行して、ディスク回りのエラーがないことを確認してください。

瀬尾浩史:見ないとどうなるペン?

hito:ddで使われるようなLinuxのRAWデバイスアクセスはですね、暗黙でキャッシュされていて、成功・失敗がアプリケーションからは見えないんです。

村田:ぬ? それは「成功してても失敗してても、ddコマンドは無事に終了したように見えるけど、実際どーなってるかは分からない」と同義ですか?

hito:同義です。読み込み時はコケたらエラー返るんで問題ないんですが……

ミズノ:書き込みエラーはカーネルさんからdmesgとか/var/log/messagesに「だけ」返ってきます。

編集S:ということは、dmesgを見ないで「バックアップ終了~」とか思ってると、実はバックアップ取れてない、みたいなことが起こるってことですね?

やまね:起こります。注意しましょう。

リファレンス

  1. ASCII.jp:~師範! 今日公開のUbuntu9.10を解説してください!~|行っとけ! Ubuntu道場!

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-08-25T01:38:47+09:00
  2. Modified: 2009-08-25T01:38:47+09:00
  3. Generated: 2017-08-23T23:10:56+09:00