
ドライブとイメージをマウントできますが、マウント解除することはできません。 「シェルレベルが高すぎます」というメッセージが表示されます。私は通常、スクリプトが自分自身を呼び出すときにこれが起こると予想しています。
umountで実行されるスクリプトはありますか?なぜこれが起こるのかわかりません。
# alias umount
-bash: alias: umount: not found
# mount -o ro sda1.img /tmp/mm
# umount /tmp/mm
/bin/bash: warning: shell level (1000) too high, resetting to 1
/bin/bash: warning: shell level (1000) too high, resetting to 1
/bin/bash: warning: shell level (1000) too high, resetting to 1
/bin/bash: warning: shell level (1000) too high, resetting to 1
(repeat forever)
編集:誤ったコピー/貼り付けを修正しました。umount
エイリアスなし
結論として:
type umount
マウントが実際の実行可能ファイルの代わりにラッパースクリプトを実行しているかどうかわからないため、実行する必要があります。
答え1
私は通常、スクリプトが自分自身を呼び出すときにこれが起こると予想しています。
はい、今そんなことが起こっています。 bashスクリプトは引き続き自分自身を再帰的に呼び出します(おそらく他のプログラムと一緒に、つまり次のようなループになるかもしれません)。スクリプト→その他のオプション1→その他のプログラム2→スクリプト...).
プログラムumount
自体はシェルスクリプトを呼び出しません。おそらくumount
欠陥のあるラッパースクリプトに置き換えられましたか?確認する
type umount
file /path/displayed/by/the/previous/command
この問題はすべてのファイルシステムタイプで発生しますか、または1つのファイルシステムタイプでのみ発生しますか?削除したいイメージはどのファイルシステムを使用しますか?もしあればヒューズアンマウントを含むすべての操作にユーザー空間コードを含むファイルシステム。必要に応じて、このコードはbashスクリプトを実行できます。たぶんこのコード部分に問題があるかもしれません。