スクリプトが自分を含むボリュームをマウント解除できますか?

スクリプトが自分を含むボリュームをマウント解除できますか?

読み取り専用ハードドライブを搭載したコンピュータがあります。フラッシュドライブからスクリプトを実行しています。スクリプトがフラッシュドライブをマウント解除できるようにしたいのですが、スクリプトがまだ読み取り用に開いているため、これを行うことはできません。

書き込み可能な別のドライブがある場合は、そこにスクリプトをコピーして実行しますが、置く場所はありません。スクリプトをメモリにロードしてメモリから実行し、元のスクリプトファイルを閉じる方法はありますか?

答え1

ディストリビューションによっては、実際にリポジトリに複数のファイルシステムがある場合があります。これについてのmount | grep tmpfsアイデアを得ることができます。

特に、少なくとも私のCentOSシステムは、/run/user/(your UID)ログインしているすべてのユーザーが利用できる場所です。 (ここでは、あなたのスクリプトがメインメモリに比べてかなり小さいと仮定しています。)あなたの状況は、ある種の構造ミッションのように聞こえます。したがって、おそらくルートなので、常に可能です/run/user/0

1 すべての実用的な状況で

答え2

最後に、アンマウントするコマンドをバックグラウンドで送信できます。

bash -c " ( sleep 10 ; echo umount /..../my-usb ) </dev/null >> /tmp/umount.log 2>&1 & "

関連情報