Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Projeto Soft...
Tela cheia Sugerir um artigo

Marvin Lemos: Dica Linux: Dispositivos de Loop

30 de Outubro de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 647 vezes

Dispositivos de Loop (Loop devices, loopback devices) são drivers de dispositivo que permitem que arquivos de imagens (images files) sejam montados como se fossem dispositivos de blocos normais. Em um POST anterior, foi demonstrado como montar um arquivo iso, utilizando o comando mount. Repetindo o comando, nós fizemos:

[root@skyship ~]# mount -o loop -t iso9660
               ubuntu-10.04-desktop-i386.iso /mnt/iso

No exemplo acima, montamos uma imagem do Ubuntu 10.04 (o arquivo chamada-se ubuntu-10.04-desktop-i386.iso), dentro de um diretório chamado /mnt/iso. A partir desse momento, um ls /mnt/iso irá mostrar todos os arquivos que estão dentro do sistema de arquivos contido na imagem.

Já sabemos como montar um arquivo de imagem, mas como cria-los? Precisaremos das ferramentas dd e losetup.

Vamos criar um arquivo com o tamanho desejado. Isto é feito com o comando dd e o dispositivo zero (/dev/zero):

[marvin@skylab ~]$ dd if=/dev/zero of=volume1 bs=1M count=100 

Criamos um arquivo chamado volume1 dentro do diretório home do usuário. Esse arquivo será usado para armazenar o sistema de arquivo com um tamanho máximo de 100M.

Mas antes que um sistema de arquivo possa ser criado no arquivo no nosso arquivo de imagem, devemos fazer com que o arquivo comporte-se como um sistema de bloco. Isto é feito com o comando losetup. Assim:

[marvin@skylab .~]$ sudo losetup /dev/loop0 volume1 

Existem 8 arquivos de loop, por isso você precisa ter certeza que o dispositivo que deseja utilizar não esteja em uso. Para isso podemos utilizar o comando sudo losetup /dev/loopN (onde N é o número do arquivo desejado).

[marvin@skylab ~]$ sudo losetup /dev/loop0

/dev/loop0: [0805]:7749664 (volume1)

Agora que /dev/loop0 é um dispositivo de bloco legítimo, utilizaremos o mkfs.ext3 para criar o sistema de arquivos ext3:

[marvin@skylab ~]$  sudo mkfs.ext3 /dev/loop0

O resultado deve ser algo do tipo:

mke2fs 1.40.2 (12-Jul-2007)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
16 inodes, 100 blocks
5 blocks (5.00%) reserved for the super user
First data block=1
1 block group
8192 blocks per group, 8192 fragments per group
16 inodes per group
Writing inode tables: done
Filesystem too small for a journal
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Com o arquivo de imagem criado, podemos monta-lo com o comando mount:

[marvin@skylab ~]$ sudo mount -o loop -t ext3 /dev/loop0 /mnt/imagem/

Um ls irá confirmar que a imagem está montada:

[marvin@skylab .~]$ ls /mnt/imagem
lost+found

Como podemos perceber, o diretório lost+found do ext3 foi encontrado, demonstrado que nosso dispositivo está montado.

DESMONTANDO O DISPOSITIVO

Para desmontar o dispositivo:

[marvin@skylab ~]$ sudo umount /mnt/imagem/

[marvin@skylab ~]$ sudo losetup -d /dev/loop0

E para montar novamente:

[marvin@skylab ~]$ sudo losetup /dev/loop0  volume1

[marvin@skylab ~]$ sudo mount -o loop -t ext3 /dev/loop0 /mnt/imagem/

ENCRIPTAÇÃO

Um recurso do losetup bastante interessante é a possibilidade de criar um volume criptografado, aumentado bastante a seguranças dos seus dados:

Primeiramente, devemos carregar os módulos necessários:

[marvin@skylab ~]$ sudo modprobe des

[marvin@skylab ~]$ sudo modprobe cryptoloop

Executando o losetup:

[marvin@skylab ~]$ sudo losetup -e aes /dev/loop0  volume2


Senha: 

No comando anterior, usamos o parâmetro -e para indicar qual algoritmo de criptografia será usado. Neste exemplo, estamos usando o AES.

Criando o sistema de arquivos no volume2:

[marvin@skylab ~]$ sudo mkfs.ext3 /dev/loop0

Agora pode-se montar o arquivo normalmente com o mount.


Fonte: http://www.marvinlemos.net/?p=177

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.