[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:55976] Re: シェルスクリプトについての質問です



こんにちは。

2012/2/18 Satoru Otsubo <trnsnt@xxxxxxx>:
> 大坪といいます。
> 以下の質問がありますので宜しくお願いします。
>
> 以下のtest.shに示すシェルスクリプトで、暗号化したUSB接続外付けハードディスクを開いたときに
> どの/media/diskが開かれたかを検出しようとしましたが、
> "Error !: Can't decide the /media/disk-number."
> となってしまいました。
> 因みにtest.shに示す#sleep 1sのコメントを外すと、どの/media/diskが開かれたかが検出されます。
> これは、sleepを挟まない状態では、
> /sbin/cryptsetup luksOpen /dev/sdc1 sdc1
> が実行された後、その処理が完全に終わる前 (どの/media/diskを開いたかが確定される前 ?) に
> ----decide /media/disk-number----
> のシーケンスが始まってしまうためだと私は思いました。
>
> そこで質問です。
> (1) どうして前の処理が完全に終わる前に次の処理が始まるのでしょうか ?(基本的な質問で申し訳ありません)
> (2) sleepを挟まないでも、どの/media/diskが開かれたかを検出できる、(一般的な) 手法はあるのでしょうか ?

「cryptsetup luksOpen /dev/sdc1 sdc1」は、LUKS 形式の /dev/sdc1 に対し
て復号・暗号化して読み書きする論理デバイス /dev/mapper/sdc1 を作る処理
です。これ自体には、/dev/mapper/sdc1 を /media/* にマウントする機能は
ありません。

自動マウントされるようでしたら、/dev/mapper/sdc1 が作られた後から、別系
統の何かがそれを検知してマウントしているのではないかと思います。

そのため、cryptsetup luksOpen コマンドの終了タイミングとマウントのタイ
ミングがずれるのではないでしょうか。

(2) も、その自動マウントする仕組みによって変わると思います。

-- 
Masakazu Takahashi (emasaka)