2011年11月 8日

[gentoojp-users:02199] Re: [gentoojp-users:02198] Re: mount の動作

おはようございます.

> 「rm -rf /tmp/fooしようとしてrm -rf /をやってしまった」と言うこと
> は話題に上ることがあるようです。
> 少なくとも、誤操作による被害を「やむを得ない」と捉えているのではな
> いでしょうか。

この時点で,既に私には疑問があります.

誤操作と判断する基準はなんでしょうか?
「rm -rf /tmp/fooしようとしてrm -rf /をやってしまった」と言うのは典型的かつ極端な例ですが,
「rm -rf /がrm -rf /tmp/fooの誤操作で{ある,あった}」と判断{する,した}のは,あるいはすべきな
のはどこの誰なのでしょうか?
私は,ユーザーだと思います.

> このような感覚は linux の習俗で(linux では)一般化していると思います。
> コマンドによって危険度が異なるのは衆知のとおりです、利用者は自己の
> 能力の範囲内でコマンドを使用することが求められています。
> mount も決して安全なコマンドとは言えません。

ここで言う危険度とは何でしょうか?
cpとmvはどちらが危険なのでしょうか?
mountも含め,例え結果的に誤操作だったとしても,ユーザーに入力にされた
通り動作する事に安全も危険も表現として適当ではないと思います.
仮に,信頼性・安全性工学的な面での指摘であれば,それは別レイヤで十分
検討した上で対応すべき課題であると思います.

> しかし、コマンドの実行と結果には必然性が無ければなりません。
>
> # mount /dev
>
> と言うコマンドと実行結果はコマンド mount として予想される
> 状態でしょうか。

青田さんの説明に従えば,「コマンドの実行と結果には必然性」があります.
コンピュータは思った通りには動きません.命令された通りに動きます.
上記のコマンドが完全に有り得ない命令であり,誤操作でしかなく,事前に禁止したいのならば,

function trapped_mount() {
[[ $# -eq 1 && $1 = "/dev" ]] && echo "Oops!" || mount $* ;
}
alias mount='trapped_mount'

と.bashrcに書くなどの方法はあります.

「だから,どうして最初からmountはそうなっていないのか?」と思うかもしれません.
私は今まで,mount /devを間違っても入力した事はありませんし,青田さんが説明
する様な挙動をするとも知りませんでしたが,例えば,「/devを一時的に弄りたいが,
今の/devはとっておいて後で戻したい」と言うニッチな要求もあるかもしれません.
上記のtrapped_mountがmountにbuilt-inの場合,その様な要求は満たせません.
余計な安全装置が付いていないが故に,使い勝手が良いと言う面もあります.
それは安全装置を後付出来ると言う点も含めてです.

勿論,限度と言うモノはあるでしょうが,以下の言葉に少し耳を傾けては如何でしょうか?

There are two ways of constructing a software design: One way is to
make it so simple that there are obviously no deficiencies and the
other way is to make it so complicated that there are no obvious
deficiencies.

? C.A.R. Hoare, The 1980 ACM Turing Award Lecture

Unix is simple. It just takes a genius to understand its simplicity.

? Dennis Ritchie

The best things are simple, but finding these simple things is not simple.

? bill http://stackoverflow.com/questions/58640/great-programming-quotes/1003525#1003525]

Ingenious ideas are simple. Ingenious software is simple. Simplicity
is the heart of the Unix philosophy.

? Anselm R Garbe http://suckless.org/manifest/]

投稿者 xml-rpc : 2011年11月 8日 10:54
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/107164
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。