50

シェルスクリプトが、ジョブの終了後にフラッシュディスクを安全に取り外すのに役立つとしたら、それはすばらしいことです。このソリューションは、次のニーズを満たすことが期待されています。

  1. /media/Aフラッシュディスクが他の多くのフラッシュディスクと一緒にマウントされており、コードが/media/A他のディスクに干渉することなく選択的に削除できると仮定します。たとえば/media/A、引数として渡すことができます。
  2. 軽い解決策。タスクを完了するためにサイズ100MBの別のパッケージをインストールすると、1つがおかしくなります。
  3. ドキュメントを除いて、いくつかのコマンドhdparmは読みにくいことを知っています。解決策を教えていただければ、パラメータの説明なども教えていただければ幸いです。
  4. コードがすべての種類のフラッシュディスク(たとえば、2003年に32 MBで購入した古いディスク)(およびオプションでポータブルディスク)を処理できる場合に最適です。
  5. ディスクを右クリック→「ドライブを安全に取り外す」をクリックするだけで、正確な効果が得られるはずです。安全上の懸念が優先されます。そうでない場合は、通常は損傷しないディスクのプラグを抜くだけで済みます。
4

1 に答える 1

50

これは、udiskを使用して行うことができます。デフォルトではインストールされませんが、インストールは簡単です(パッケージは、インストールすると1メガバイトのサイズになります)...

sudo apt-get install udisks

インストールしたら、次のコマンドでUSBドライブを取り外すことができます...

sudo udisks --unmount /dev/sdb1
sudo udisks --detach /dev/sdb

最初の行はそれをアンマウントします。他のパーティションと同じように、この時点でも再マウントできます。2行目はそれを切り離します。この後、電源がオフになり、再マウントするには取り外し/再挿入する必要があります。

明確にするために、sdbはデバイスであり、sdb1sdb2sdb3などはデバイス上のパーティションです。また、デバイスを取り外す前に、すべてのマウントポイントをアンマウントする必要があります。通常、USBスティック/ドライブには1つしかありませんが、それでも知っておくべき警告です。

マウントポイントからデバイス名を取得するには、マウントなどからデバイス名を取得する必要があります。

于 2012-11-05T01:27:50.027 に答える