Ao montar, quando devo usar um dispositivo de loop?

18

De acordo com a seguinte pergunta:
O que é um "dispositivo de loop" ao montar?
Um dispositivo de loop é um arquivo que atua como um dispositivo baseado em bloco. Embora eu possa entender isso conceitualmente, como isso é diferente da montagem de qualquer outro arquivo? Por exemplo, se eu pegar uma imagem dd de um sistema de arquivos ext2 e montá-la, não preciso usar a opção loop - obtém mount -t ext2 file.dd /mnt/mount-pointêxito.

Quando devo usar a opção de loop e qual a diferença entre montar usando a opção de loop e montar sem ela?

Suchipi
fonte

Respostas:

8

Se você não precisa usar a opção loop para montar um arquivo regular, é porque mountestá detectando e ativando automaticamente para você. Você costumava especificá-lo manualmente.

psusi
fonte
Eu ainda faço. Eu nunca notei que a montagem pode fazer isso implicitamente.
Bananguin
@ user1129682 Gostaria de saber se versões diferentes do kernel ou distribuições diferentes possuem ou não esse recurso?
Suchipi
22

Tecnicamente, um dispositivo de loop é um dispositivo de bloco que grava em um arquivo, e não em uma peça de hardware. Portanto, você sempre usa / precisa usar o dispositivo de retorno ao montar um arquivo.

Tanta coisa para uma resposta direta. Talvez isso sirva de explicação:

O kernel implementa várias camadas de abstração para que ele possa tratar hardware diferente da mesma maneira. Imagine se você tivesse que reconstruir o driver ext2 para todas as marcas de controladores existentes. Ninguém quer isso, mas queremos tratar todos os discos rígidos da mesma maneira. É por isso que criamos camadas de abstração.

O dispositivo de bloco é uma abstração. O dispositivo de bloco possui certos atributos e expõe certas funções que podem ser usadas por outro software. Não importa se você possui um disco rígido ATA ou um disco rígido SCSI ou unidade de fita, você sempre usa exatamente as mesmas estruturas e funções para interagir com ele. É tarefa do kernel e mais explícita dessa camada de abstração, fazer a coisa certa quando o dispositivo de bloco é acessado. A coisa certa no caso da interface do dispositivo de bloco é transmitir as chamadas e os dados de e para o driver de dispositivo certo. Esse driver de dispositivo pode ser, por exemplo, o subsistema SCSI ou o driver do dispositivo de loop.

O driver de dispositivo de loop transforma operações no dispositivo de bloco associado em operações de arquivo (sistema), é assim que os dados / partições terminam em um arquivo.

Provavelmente, estou terrivelmente errado na terminologia usada e no nome e número de camadas de abstração envolvidas. Eu só queria esboçar o conceito básico para ficar claro que o dispositivo de loop não é um arquivo que está fazendo algo, mas é algo que usa arquivos. O arquivo não faz nada diferente do que costumava fazer.

Bananguin
fonte