Ao montar, quando devo usar um dispositivo de loop?

18

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

Quando devo usar a opção de loop e que diferença há entre a montagem usando a opção de loop e a montagem sem ela?

    
por Suchipi 25.02.2013 / 19:08

2 respostas

8

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

    
por 25.02.2013 / 19:20
22

Tecnicamente, um dispositivo de loop é um dispositivo de bloco que grava em um arquivo, em vez de um hardware. Então você sempre usa / precisa usar o dispositivo de loopback ao montar um arquivo.

Tanto para uma resposta direta. Talvez isso sirva como explicação:

O kernel implementa várias camadas de abstração para que ele possa tratar diferentes hardwares da mesma maneira. Imagine se você tivesse que reconstruir o driver ext2 para cada marca de controlador existente. Ninguém quer isso, mas queremos tratar todos os discos da mesma maneira. É por isso que criamos camadas de abstração.

O dispositivo de bloco é uma abstração. O dispositivo de bloco possui determinados atributos e expõe certas funções que podem ser usadas por outro software. Não importa se você tem um HDD ATA ou HDD SCSI ou unidade de fita, você sempre usa exatamente as mesmas estruturas e funções para interagir com ele. É então a tarefa do kernel e mais explícito 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 dados para e do driver de dispositivo correto. Esse driver de dispositivo pode ser, por exemplo, o subsistema SCSI ou o driver para o 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, então fica claro que o dispositivo de loop não é um arquivo fazendo algo, mas é algo que usa arquivos. O arquivo não faz nada diferente do que é usado para fazer.

    
por 25.02.2013 / 20:01