web-dev-qa-db-fra.com

Comment monter un fichier image sans racine?

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".

8
UTF-8

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)
2
Alessandro

montage d'image disque GNOME

À côté de udisksctl et guestmount (_libguestfs-tools_), vous pouvez simplement:

_gnome-disk-image-mounter ~/ISOs/file.iso
_

Du manuel :

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).
  • Malgré son nom vous pouvez l'utiliser sur KDE sans aucune dépendance de gnome.
  • Vérifiez également gio mount .
2
Pablo Bianchi

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:

  • implémentation des systèmes de fichiers en mode utilisateur
  • Fusible

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!

1
Mohammad Kholghi