Estou tentando entender qual a relação de um xxx.iso
arquivo com os outros aspectos de um dispositivo de bloco, por exemplo, partições e um sistema de arquivos.
É comum as pessoas descreverem como acessar ou tornar um .iso
utilizável como "montagem do ISO".
Então, para colocar a questão de outra maneira: se eu, ou algum software, quis "montar" um xxx.iso
arquivo em um dispositivo USB, é necessário ter uma partição pré-existente completa com o sistema de arquivos (por exemplo, FAT x ou ext X ) ou o .iso
arquivo - uma vez no estado "montado" - é uma construção de nível inferior que desempenha a mesma / semelhante função que um sistema de arquivos (ou mesmo uma partição) desempenha?
filesystems
iso
the_velour_fog
fonte
fonte
dd
, por exemplo.mount /dev/my_usb_stick /media/usb_stick && mount -o loop,ro foo.iso /media/usb_stick/some_dir
? (Do Linuxmount
comandos suporta aloop
opção de montagem para configurar um dispositivo de bloco loop, porque querendo montar FS imagens como um .iso é comum.)Respostas:
Um arquivo ISO não é um sistema de arquivos. Ele contém um sistema de arquivos. Do ponto de vista do uso, ele funciona da mesma maneira que um disco rígido, dispositivo USB ou DVD - você precisa ter um ponto de montagem, ou seja, um local no seu sistema de arquivos onde você possa montá-lo para obter o conteúdo.
fonte
Existem três conceitos separados aqui:
.img
é comum.Um
.iso
arquivo geralmente é um arquivo de imagem de um dispositivo de bloco que contém um sistema de arquivos ISO9660 . Ele contém uma representação exata dos dados armazenados em um CD. Analogamente, você pode ter um.img
arquivo (.ext3
se preferir), que é um arquivo de imagem de um dispositivo de bloco que contém um sistema de arquivos ext3 . Essa é uma maneira comum de distribuir imagens USB ou de disquete inicializáveis. O nome é arbitrário,.iso
é exatamente o que chamamos de arquivos de imagem que contêm um sistema de arquivos ISO9660 (ou, às vezes, um sistema de arquivos UDF, que é mais moderno).Você não pode montar arquivos de imagem diretamente, pois eles não são dispositivos de bloco, mas apenas uma cópia dos dados em um dispositivo de bloco. No entanto, o Linux e outros sistemas operacionais possuem um recurso chamado dispositivos de loop, que permite que um arquivo de imagem seja acessado como um dispositivo de bloco. Para montar um arquivo ISO, primeiro crie um dispositivo de loop que represente um dispositivo de bloco virtual com o mesmo conteúdo que o arquivo ISO. Em seguida, você pode montá-lo como faria com um CD físico ou como uma unidade USB contendo um sistema de arquivos ext3 ou qualquer outra coisa. O
mount
comando pode fazer isso por você automaticamente, mas, sob o capô, são etapas separadas.Partições são uma maneira de dividir um dispositivo de bloco em vários dispositivos de bloco lógicos menores. Partições são opcionais. Um CD é análogo a uma unidade USB não particionada ou a um disquete nesse sentido, em que o sistema de arquivos é armazenado em todo o dispositivo sem tabela de partição. Os arquivos ISO, portanto, não contêm uma tabela de partição. Nada impede, por exemplo, a criação de um sistema de arquivos ISO9660 em uma partição de disco rígido. Quando você faz tem partições, um arquivo de imagem pode ser de uma única partição ou de todo o dispositivo físico, incluindo a tabela de partição, mas CDs não são divididos, por isso, a distinção é irrelevante para imagens ISO.
Você não precisa montar um dispositivo - ou um arquivo de imagem - para acessar os arquivos contidos nele. Alguns aplicativos e bibliotecas têm a capacidade de acessar os dados diretamente, sem envolver o sistema operacional. Eles simplesmente entendem o sistema de arquivos diretamente e possuem código que imita o que o sistema operacional faz quando acessa arquivos em um sistema de arquivos. É por isso que existem ferramentas que podem mostrar o conteúdo de um arquivo ISO, sem realmente montá-lo pelo sistema operacional. Montagem é um conceito de sistema operacional, mas não é a única maneira de acessar dados em um dispositivo de bloco. Algumas pessoas podem considerar a mera ação de fazer isso "montar" de uma maneira.
O que você monta um dispositivo (ou um arquivo ISO através de um dispositivo de loopback) é irrelevante. É exatamente aí que, na hierarquia do caminho, você solicita ao sistema operacional que mostre o conteúdo de um dispositivo. No Linux, você normalmente escolhe um diretório em algum sistema de arquivos já montado. Mas nada impede você, digamos, de inicializar a partir de um CD e pede ao kernel para montá-lo como o sistema de arquivos raiz. Obviamente, como um arquivo ISO é, bem, um arquivo, ele provavelmente existe em algum sistema de arquivos, que você precisa montar em algum lugar para acessar o ISO.
fonte
Não, o arquivo de imagem ISO não é um sistema de arquivos por si só. Assim como uma partição pode conter um sistema de arquivos, mas não é um sistema de arquivos, um arquivo de imagem ISO contém um sistema de arquivos, mas não é um sistema de arquivos.
Mas você precisa de um sistema de arquivos para duas coisas:
/mnt/isotmp
Depois disso, se um caminho for resolvido para algo abaixo
/mnt/isotmp
, o código do sistema de arquivos de imagem ISO fará a resolução, abertura, etc.fonte
block device/partition/filesystem/
montado em/some/directory
. então estou certo de assumir que o iso basicamente executa a função de um sistema de arquivos?