ubuntu - mount iso case sensitive

3

Eu tenho um ISO que contém nomes de arquivos / diretórios que diferenciam maiúsculas e minúsculas.

Ao montá-lo no meu sistema Ubuntu 12.04 usando mount -o loop , todos os nomes de arquivos são minúsculos. Existe uma opção chamada map=off , mas ao usar isso, todos os nomes de arquivos são maiúsculos. O que eu descobri durante a minha pesquisa é que o ISO9660 não suporta nomes de arquivos sensíveis a maiúsculas e minúsculas por padrão. No entanto, existe uma extensão chamada Joliet . Meu iso parece estar usando joliet, pois tem nomes de arquivos com distinção entre maiúsculas e minúsculas quando montado em windows / mac os x. mkisofs também suporta joliet.

No entanto, não consegui encontrar uma maneira de montar o ISO usando o joliet. Como posso fazer isso?

Editar:
O Dmesg registra [ 149.293945] ISO 9660 Extensions: Microsoft Joliet Level 1 . Não sei por que não é usado.

Edit2: Você pode encontrar o ISO aqui: link

    
por Zulakis 07.07.2013 / 01:16

1 resposta

2

Primeiro, certifique-se de que as extensões Joliet foram ativadas para o seu kernel. Eu imagino que eles são desde que você está usando o Ubuntu, mas verifique de qualquer maneira, só para ter certeza:

grep -i joliet /boot/config-'uname -r'

Que deve retornar esta linha:

CONFIG_JOLIET=y

Se o arquivo estiver faltando, tente procurar por joliet em /proc/config.gz . Eu não tenho este arquivo no meu sistema, estou repetindo o que eu li aqui .

Agora, supondo que você tenha o joliet habilitado, acho que você tem um CD que não é da Joliet. Tentei replicar seu problema criando uma iso joliet de dois arquivos de maiúsculas e minúsculas:

$ ls foo/
Aaaaa  Bbbbb

$ genisoimage -J -R -o foo.iso foo/
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 323
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
181 extents written (0 MB)

$ sudo mount ./foo.iso baz/
mount: warning: baz/ seems to be mounted read-only.  <-- ignore this, not a problem
$ ls baz
Aaaaa  Bbbbb

Em outras palavras, desde que uma imagem tenha sido criada usando as extensões Joliet, ela deve ser montada com distinção entre maiúsculas e minúsculas por padrão. Eu sou realmente não um especialista em sistemas de arquivos de imagem, mas talvez o problema não seja Joliet, mas algo completamente diferente. Você pode montar case sensitive se você fizer os mesmos passos que eu fiz acima?

EDITAR:

Eu fiz o download da sua iso e obtenho o mesmo comportamento que você descreve. Não consigo montar maiúsculas e minúsculas. Eu encontrei uma possível razão embora. Eu corri isoinfo no seu arquivo e no meu:

$ isoinfo -d -i Clover-1914-X64.iso | grep Joliet
Joliet with UCS level 1 found
$ isoinfo -d -i foo.iso | grep Joliet
Joliet with UCS level 3 found

Não tenho ideia de qual é a diferença entre os níveis 1 e 3 da Joliet, mas suspeito que seja por isso que a sua iso não está funcionando corretamente. Isso pode pelo menos lhe dar um novo caminho de pesquisa.

    
por 07.07.2013 / 03:39