J'ai un fichier contenant un système de fichiers ext4 et je veux le monter sans utiliser Sudo à chaque fois (le script doit s'exécuter avec les droits de l'utilisateur). Le fichier que je veux monter et le dossier sur lequel je veux monter sont tous deux situés dans mon répertoire personnel crypté. Par conséquent, je ne peux pas placer l'emplacement du fichier dans /etc/fstab
.
J'ai essayé fusermount
mais je reçois toujours des messages d'erreur du type "fusermount: arguments supplémentaires après le point de montage".
Vous pouvez l'avoir dans/etc/fstab. Mon répertoire personnel est crypté et pourtant:
$ dd if=/dev/zero of=ext4_file bs=1024 count=1024
1024+0 records in
1024+0 records out
1048576 bytes (1,0 MB) copied, 0,0341311 s, 30,7 MB/s
$ /sbin/mkfs.ext4 -F ext4_file
mke2fs 1.42.12 (29-Aug-2014)
Filesystem too small for a journal
Discarding device blocks: done
Creating filesystem with 1024 1k blocks and 128 inodes
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
$ grep ext4_directory /etc/fstab
/home/alessandro/ext4_file /home/alessandro/ext4_directory ext4 noauto,user 0 0
$ mount ext4_directory
$ mount | grep ext4_directory
/home/alessandro/ext4_file on /home/alessandro/ext4_directory type ext4 (rw,nosuid,nodev,noexec,relatime,user=alessandro)
À côté de udisksctl
et guestmount
(_libguestfs-tools
_), vous pouvez simplement:
_gnome-disk-image-mounter ~/ISOs/file.iso
_
Accepter les fichiers normaux et les URI GVfs (tels que smb: //filer/media/file.iso) ")
Par défaut, les images de disque sont jointes en lecture seule, utilisez l'option --writable pour le changer.
gnome-disk-image-mounter
_ fait partie du package _gnome-disk-utility
_, qui contient également _gnome-disks
_ (exécutez-le avec _-h
_ pour plus d'informations).gio mount
.guestmount
ruse de libguestfs
Sudo apt-get install libguestfs-tools
# Workarounds for Ubuntu 18.04 bugs.
# https://serverfault.com/questions/246835/convert-directory-to-qemu-kvm-virtual-disk-image/916697#916697
Sudo rm -rf /var/cache/.guestfs-*
echo dash | Sudo tee /usr/lib/x86_64-linux-gnu/guestfs/supermin.d/zz-dash-packages
Sudo chmod +r /boot/vmlinuz-*
# Create a test image.
mkdir sysroot
dd if=/dev/urandom of=sysroot/myfile bs=1024 count=1024
virt-make-fs --format=raw --type=ext2 sysroot sysroot.ext2
# Mount it, have fun, unmount!
mkdir -p mnt
# /dev/sda becuase we have a raw filesystem.
guestmount -a sysroot.ext2.qcow2 -m /dev/sda mnt
cmp sysroot/myfile mnt/myfile
guestunmount mnt
Repose sur:
Docs: http://libguestfs.org/guestmount.1.html
Testé sur Ubuntu 18.04, libguestfs-tools 1: 1.36.13-1ubuntu3.
Vous pouvez utiliser udiskctl
:
$ udisksctl loop-setup --file your_file.iso
Mapped file your_file.iso as /dev/loop6.
Maintenant, votre fichier est mappé sur un block device
et vous pouvez le monter comme suit:
$ udisksctl mount -b /dev/loop6
Mounted /dev/loop6 at /media/user/your_file.
quand vous avez terminé, démontez utilise:
$ udisksctl unmount -b /dev/loop6
Unmounted /dev/loop6.
enfin, supprimez-le par:
$ udisksctl loop-delete -b /dev/loop6
S'amuser!