É um pouco indireto, mas é possível montar uma partição com uma imagem de disco usando o parâmetro "offset" de mount
ou .losetup
Estou procurando poder usar o fusível para fazer a mesma coisa no espaço do usuário
Caso de uso
Meu caso de uso é construir imagens de disco em um servidor de construção automática onde o trabalho de construção não tem permissão para ter permissões de root e o servidor não deve precisar de uma configuração personalizada para trabalhos de construção específicos.
Responder1
É possível fazer isso com fusível, mas provavelmente seria mais limpo com ferramentas personalizadas.
Solução
Com as ferramentas apt-get-able, o seguinte problema é possível:
mkdir mnt
xmount --in dd --out vdi disk.img mnt
mkdir mnt2
vdfuse -f mnt/disk.vdi
mkdir mnt3
fuseext2 -o "rw" mnt2/Partition1 mnt3
Explicação
A ideia básica é que o fusível pode ser usado para separar uma imagem de disco completa em arquivos que apontam para suas partições. O vdfuse faz isso, mas é uma ferramenta do VirtualBox e requer um arquivo VDI ou VMDK para funcionar. xmount usa fuse para fazer uma imagem de disco bruta aparecer como um arquivo VDI.
Finalmente, uma vez que o arquivo de partição esteja disponível via vdfuse, ele pode ser montado através de uma ferramenta ext2/3/4 fuseext2.
É feio, mas funciona completamente no espaço do usuário.
Atualizar
O vdfuse deve ser capaz de montar uma imagem raw sem a ajuda do xmount, mas há um bug que ignora a opção RAW.
Eu localizei e corrigi o bug com um patch aqui:
https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/1019075
Responder2
Hámontagemutilitário que é um wrapper em torno do programa de montagem padrão que permite que usuários normais montem dispositivos removíveis sem uma entrada /etc/fstab correspondente.
A única coisa que você precisa para permitir que o usuário o use é adicionar o usuário ao plugdev
grupo.
Responder3
losetup
a imagemkpartx -av
o dispositivo de loopback resultante- Use as partições resultantes
/dev/mapper/...
como faria com um disco físico
Você pode realizar todas essas tarefas usando um mapa de montagem automática executável.
A chdir
poderia desencadear todas as ações acima. Ou use sudo para um script de configuração/remoção. Ou...
Responder4
libguestfs agora possui um comando guestmount
que ativa uma máquina virtual para permitir montar partições arbitrárias no espaço do usuário.