デバイスを循環させるためにISOをマウントできるbashスクリプトがあります。
mount -o loop my.iso /tmp/foo
同時に、私のオペレーティングシステム(Linux Mint 19)でGUIオプションを使用してISOイメージをマウントしました。
だからエラーが発生しました。
mount: /tmp/foo: /dev/loop0 これを使用できます。
(...loop0 マウントポイントが使用中です...)
質問:
ISOをマウントするためのループを選択できますか?例:
mount - loop3 my.iso /tmp/foo
それでは、古いISOを削除する必要はありませんか?
ベストアンサー1
このエラーは、他のISOデバイスがインストールされているために発生するのではなく、他のISOデバイスがインストールされているためです。常にmount -o loop
使用されていない最初のループデバイスをインポートするか、新しいデバイスを作成します。
これは、同じISOイメージ/ループデバイスがすでに別のディレクトリにマウントされているためではありません。同じデバイスを同時に別のマウントポイントにマウントできます。
おそらくあなたが望むのは、同じISOを同じマウントポイントに2回マウントすることです。ユーティリティmount(8)
は、バックアップファイルがすでにループデバイスに接続されていることを確認し、同じファイルを複数のループデバイスに接続するのではなく、そのデバイスを再利用してこれを防止しようとします。
しかし、もしあなたが本物これを行うには、ループデバイスを手動で接続してスキャンをバイパスできますlosetup
。
# mount -o ro a.iso dir/
# mount -o ro a.iso dir/
mount: /tmp/a.iso is already mounted
# losetup --show -f a.iso
/dev/loop1
# mount -o ro /dev/loop1 dir/
#
2つを組み合わせます。
# dev=$(losetup --show -f a.iso) && { mount -o ro "$dev" dir/ || losetup -d "$dev"; }
-d
次に、オプションを明示的に使用するumount(8)
か、以下を使用してループを手動で分離する必要がありますlosetup -d
。
# umount -d dir/
これはISOなどの読み取り専用ファイルシステムにとって非常に安全です。読み書きモードでマウントされたファイルシステムで使用しないでください。