Como montar um arquivo de imagem sem raiz?


8

Eu tenho um arquivo com um sistema de arquivos ext4 e quero montá-lo sem usar o sudo sempre (o script deve ser executado com direitos de usuário). O arquivo que quero montar e a pasta na qual também quero montá-lo estão no meu diretório pessoal, que é criptografado, portanto não consigo colocar o local do arquivo /etc/fstab.

Eu tentei, fusermountmas sempre recebo mensagens de erro como "fusermount: argumentos extras após o ponto de montagem".



@ muru Obrigado, infelizmente, trata-se de ext2. Mesmo se o acesso de gravação for possível, não terei registro no diário porque o ext2 não teve registro no diário. Eu preciso de diário.
UTF-8

1
Então você terá que viver com a necessidade de se enraizar de alguma forma.
muru 5/09/15

unix.stackexchange.com/a/32157/10805 Qual foi o fusermountcomando que você tentou?
earthmeLon

Respostas:


2

Você pode tê-lo em / etc / fstab. Meu diretório pessoal ainda está criptografado:

$ 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)

Se ele diz isso porque está criptografado, ele não pode colocá-lo no / etc / fstab, ele está certo. Isso não o monta completamente.
David

Bem, nada está me impedindo de escrever /etc/fstab, então tentei antes de publicar esta missão. Eu sabia que provavelmente não iria montá-lo, mas presumi que talvez falhasse sem consequências e que o fato de ele estar /etc/fstabme permitiu montá-lo sem raiz. Infelizmente, isso fez com que o meu sistema não inicializasse e tive que remover a linha para poder usar minha máquina novamente.
UTF-8

David, tudo o que escrevi foi em um PC com / home montado em uma partição criptografada. E funcionou. E não vejo por que não conseguiu.
Alessandro

UTF-8, para que ele funcione / em casa deve ser montado antes do seu arquivo. Ou você define seu arquivo para não ser montado automaticamente, como eu o defini nas direções que eu lhe dei, eles são um cenário real.
Alessandro

Quem colocou o ext4_filearquivo fstab?? Você não pular nada?
Mohammad Kholghi 9/07/19

2

Você pode usar udiskctl:

$ udisksctl loop-setup --file your_file.iso
Mapped file your_file.iso as /dev/loop6.

Agora, seu arquivo está mapeado para a block devicee você pode montá-lo como:

$ udisksctl mount -b /dev/loop6
Mounted /dev/loop6 at /media/user/your_file.

quando terminar, desmontar está usando:

$ udisksctl unmount -b /dev/loop6
Unmounted /dev/loop6.

finalmente, exclua-o por:

$ udisksctl loop-delete -b /dev/loop6

Diverta-se!


Tentei montar uma imagem do Linux que tinha por aí ( kali-linux-2019.1a-amd64.iso), mas sempre obtenho: Object /org/freedesktop/UDisks2/block_devices/loop5 is not a mountable filesystem.(Com o número do dispositivo variando, é claro.) Isso acontece mesmo quando tento montá-la somente leitura. Montá-lo somente leitura via sudo mountfunciona muito bem.
UTF-8

use udisksctl loop-setup --file your_file.isonovamente, para obter um novo dispositivo de loop e monte esse (por exemplo /dev/loop8). No meu sistema operacional, ele não funciona loop6e não sei por quê. @ UTF-8
Mohammad Kholghi 09/07/19

2

Montador de Imagem de Disco do GNOME

Ao lado udisksctle guestmount( libguestfs-tools) você pode apenas:

gnome-disk-image-mounter ~/ISOs/file.iso

Do manual :

Aceite arquivos regulares e URIs de GVfs (como smb: //filer/media/file.iso) ")

Por padrão, as imagens de disco são anexadas somente leitura, use a opção --writable para alterar isso.


1

guestmount truques libguestfs

sudo apt-get install libguestfs-tools

# Workarounds for Ubuntu 18.04 bugs.
# /server/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

Depende de:

  • implementação dos sistemas de arquivos na área do usuário
  • FUSÍVEL

Documentos: http://libguestfs.org/guestmount.1.html

Testado no Ubuntu 18.04, libguestfs-tools 1: 1.36.13-1ubuntu3.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.