しばらく前にfuseiso
について知りましたが、UDFイメージをマウントする必要があり、UDFイメージをマウントしようとして失敗したため、fuseiso
はサポートしていないようです。任意のイメージの通常のユーザーとしてこれを実行できる必要があります。また、できれば特定のユーザーディレクトリ内のマウントポイントを使用してマウントを解除できる必要があります(問題ではない場合、たとえば/home/user/mounted/*
)。したがって、mount
を直接使用することはできません。これを達成する方法はありますか?
私はUbuntuを使用していて、これを調査しているときにpmount
について知りましたが、1).iso
ブロックデバイスではなく/dev
ファイルをマウントしようとしているため、ニーズに合わないようです2)ユーザーの場所にマウントすることはできません(したがって、Fuse fsの場合はfusermount -u
を使用するなどして、ユーザーとしてマウントを解除できます)。
POLICY
The mount will succeed if all of the following conditions are met:
· device is a block device in /dev/
· device is not in /etc/fstab (if it is, pmount executes mount device as the calling user to handle this
transparently). See below for more details.
· device is not already mounted according to /etc/mtab and /proc/mounts
· if the mount point already exists, there is no device already mounted at it and the directory is empty
· device is removable (USB, FireWire, or MMC device, or /sys/block/drive/removable is 1) or whitelisted in
/etc/pmount.allow.
· device is not locked
anyオプションとは何ですか?最後の手段として私が想像する最悪で最も落胆したケースでは、これを達成するためのカスタムsetuidスクリプトを書くことができるでしょうか?私はそれを危険にさらす必要がないことを望んでいます。
Udisks2パッケージのudisksctl loop-setup -f /full/path/to/iso
を使用します。
udisksctl loop-setup -f /media/myname/dvd/avatar/buch-1/AVATAR_BK1_VOL1_EUR.iso
Mapped file /media/myname/dvd/avatar/buch-1/AVATAR_BK1_VOL1_EUR.iso as /dev/loop1.
/ media/$ USER /にisoをマウントします。
そうでない場合は、udisksctl mount -b /dev/loop1
も入力する必要があります
$ mount | grep udf
/media/myname/dvd/avatar/buch-1/AVATAR_BK1_VOL1_EUR.iso on /media/myname/AVATAR_BK1_VOL1_EUR type udf (ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,uhelper=udisks2)
ISOが/ dev/loop1にマップされている場合は、udisksctl unmount -b /dev/loop1
でアンマウントします。
GUIなしでも動作するはずです。