google tag

My Soundcloud Channel --- Testing :D

Saturday, July 21, 2012

今日の HDDの SCSI デバイス名はHDD追加で変わる事がある

Linux メモ:SATA HDDの認識はSCSI扱いのsda とか sdb となるのだがHDD追加でこの認識名が変わってしまう事に気づかず大失敗してしまった.. 同じ轍を踏まぬ様に何が起こったのかメモとして書いておく。
---
現在使っているPCはSATA HDDを2台積んでいる。一台をシステムの / に、もう一台をユーザーデータ用の /home  としている。この時、SCSI扱いのデバイス名は /用が sda1, /home 用がsdb1であった。

このPCにはHDDが3台積めるベイがあるので、古いPCで使っていたSATA HDD を追加して、/home以下の適当な所にマウントして、データ整理やプール場所などに活用してみようか、と思い立った。

まずこれが失敗の始まり.. HDD増設なんて簡単なわけなのだが..ヘタを打ってしまったのだ..

---
つまり、HDDを追加して、適当な所にマウントして、雑多なファイルフォルダをそちらに移そうか..

と言うことなのだが、私の頭の中では、増設後に
sda1 : /  (システム )
sdb1 : /home (ユーザー用)
sdc1 : 追加したHDD (適当な所にマウントする)
という認識でいた。これが間違いの元。 sda, sdbのあるマシンに追加したのだから、追加HDDはsdc になるはず.. という思い込み。 
 
HDDを増設して、 sdcをfdiskコマンドでパーティションの確認をしてみたら分割パーティションはなくlinuxフォーマットだったので丸々そのまま使える事がわかった。

で、マウントして中を覗いてみると.. 以前使ってたデータがのこってた.. 以前使ってた /home の様だ.. 消したつもりだったけど残ってたのか..

ダウト、気づかなかったのがうっかりを通り過ぎてアホである。以前はパーティションをいくつも分割して/ だの /home だの /var だの分けて使ってたのだから、一つのパーティションで /home だけ残ってるはずがない.. 一つのパーティションになっていたのなら、それは外した時にフォーマットしなおしてるはずだ。そういう事をした記憶が今にして思えばあるのだが.. 気づかぬアホさ。

 sdc をマウントすると確かにデータがある。ので、あー残ってたか、と早合点してしまった。
んで、とりあえず、残ってると早合点したユーザーディレクトリを rm した.. のである...

データが多いので結構時間がかかる.. のだが、カリカリと削除中、なんかウインドウの動作がおかしくなり、アプリが立ち上がらなくなった.. X Windowか、ハードの不具合なのだろうか.. と思った..

一度Xを落として立ち上げなおしてみると..XDMのログインで  /home が無いよと  言われて先に進めなくなった.. ん.. HDD 増設したらなにかが狂った..

一度落として 増設したHDDを外して立ち上げなおしてみると.. やはり /homeが無いよと蹴られてしまう.. で、コンソールに落ちて中を見てみると本当に /home がなくなってる!

あれーHDD壊しちゃったかな、と、思った.. それとも俺がミスったか..

 とりあえず/home以下を 作って X上げてみる.. と今度はちゃんと上がったが、 まっさらな/home以下なので、当然何もかもデフォルト、未設定状態にリセットされてしまった..

はて、どういうことか..

---
sda は元のままなのでシステムは完全に動作する。が、 sdb がおかしくなった..

たしかに sdb1にあるはずの  /home が消えている.. なぜ消えた.. おれがファイル操作したのは 追加したsdcの方で sdb はいじってない..

再度、HDDを増設して.. その認識を確認して..  やっと理解できた.. 時にはすでに遅し...
システムの不具合でも故障でもなく、私の認識不足が原因だった...

元のシステム sda, sdb の2台のHDDに、今回HDDを追加したら、不幸にも、元の sdb が sdcに、追加したHDDが sdb という認識になった様だ..
sda1 : /
sdb1 : 追加
sdc1: /home
それを確認せず、追加HDDはこれまでの sda, sdb の次だから sdc になるはず、と完全な思い込みをして、入れ替わる可能性を失念、sdc1 を 適当なマウントポイントにマウントさせてしまった。

そのsdc1には当然今使ってる /home そのものがある.. それを、追加したHDDに残ってた古いデータと早合点して削除..  /home 消失.. これが真相。バカすぎる... orz

---
最近のLinuxはfstabのデバイス指定にUUIDという物をつかって sda1 とか sdb1 とかのSCSIのデバイス名は使わない。それは sda だの sdb だのの認識は場合によっては変わってしまう可能性があるから、である。 最近はUUID指定なんだよなぁ、なんて頭の角に知識の残渣がこびりついていた、のだが、sdbの次の追加HDDなので sdc 、と信じて疑わず頭が決め打ちしてしまった.. よく使う USB ストレージは sda, sdbにシステムだと sdcになる。だからこのシステムにHDD増設するとsdcになるはず.. という思い込みだったのだが、考えてみるとUSBはシステム立ち上がり後に認識するので 絶対 sdcになるに決まってる.. しかしSATAのHDDの場合はそうなるとは限らない.. という事を身を持って体験したわけである... とほほ

---
/home 以下はUSB外付けHDDで バックアップがあるのだが、前回バックアップを取ったのが昨年9月終わり頃.. と言うことで、それ以降の10ヶ月分のデータを消失させてしまった。まぁ重要なファイルなんか無いので痛みは無いのだが、こういうバカをやってしまった自分が痛い。
そして、こういうアホなのだから、バックアップはマメにとっとかなきゃいかんなぁ、とプチ反省した次第であった..

今日の Phatch で写真ファイル/EXIFのタイムスタンプを修正

Linux メモ : 写真ファイルバッチ処理ソフトの備忘メモ。
---
ある時、昨年撮った写真ファイルの多くが1年遅れた時間になっているのを発見して、カメラの時計設定を間違えていた事に気がついた。 時刻は合っているのだが、年号が1年遅れていた。EXIFにも当然撮影時マイナス1年の年が記録されてしまった。

と言うことで、デジタルカメラの写真ファイルには、カメラの時計を元にしたタイムスタンプが付加され、またEXIFとして写真撮影時の各種データも同時に書き込まれる。カメラの時計が狂っているとファイルのタイムスタンプも、EXIFの日付データも狂ったものになる。

さて、これをどうやって修正しようか。ファイルのタイムスタンプを変更するには、touch コマンドが使える。多数のファイルを同時に、という事だとバッチ処理するスクリプトを作成すればよい、のだがちと面倒くさい。

EXIFの方はどうすれば良いのだろうか.. MP3のタグ打ちツールみたいなのは存在してると思うが..  と言うことで、WWWを徘徊する前に
apt-cache search exif tag
で調べてみるといろいろ出てくるのだが、その中で、
phatch - simple to use Photo Batch Processor - GUI
というのが目に付いたので なんぞこれ、と apt で入れてみた..

Phatchというバッチ処理専用のアプリケーションの様だ。いろいろできそうなのだが、時間データのシフト、ファイルのタイムスタンプとEXIFのそれを同時修正する、そのものズバリの処理項目があるではないか!



という事で早速試してみた.. 飾りっけもなにもないシンプルなUIだが、

(1年進め他はいじらない→ Years:1, その他は0のまま )

時間シフトなので、シフトしたい値と入力ファイル、出力先を指定してやると、EXIFを含めて無事正しいタイムスタンプに変更することができた。 なかなか便利だ。