Eu tenho uma pasta com ~ 22k subpastas nela, e cada subpasta pode ter mais subpastas, até uma profundidade de ~ 7.
Então eu queria torná-lo um único arquivo, mas não um arquivo rar ou similar, porque descompactá-lo pode levar muito tempo. Eu queria um .iso porque eu poderia montá-lo e acessar apenas o que eu preciso, sem precisar extrair tudo.
eu usei esse comandogenisoimage --iso-level 4 -o folder.iso "folder"
O tamanho da pasta era de 21,7 GB, mas depois de transformá-la em iso fica com 43,2 GB? Isso é esperado?
Primeiro, como
genisoimage
está cheio de bugs e cria sistemas de arquivos com defeitos estruturais, não é recomendado usargenisoimage
.Se você gosta de criar um
ISO-9660
sistema de arquivos, você deve usar o arquivomkisofs
. Certifique-se de usar realmente o original e não apenas um link paragenisoimage
. É fácil verificar se você está usando o software original, liguemkisofs -version
e verifique se está usando uma versão recente. O buggygenisoimage
não dá data e o original usa uma versão > 3.0 e a versão atual imprime uma data de versão de maio de 2018 e é de setembro de 2018 ao usar a versão mais recente de minha autoriaschilytools
. Você pode baixar as versões recentes aqui: http://sourceforge.net/projects/schilytools/files/ isso é atualizado com uma programação de 1-3 semanas.Mas como o tamanho do setor usado por
ISO-9660
é 2048 bytes, arquivar muitos arquivos pequenos pode facilmente resultar na duplicação do tamanho do arquivo em comparação com a soma do tamanho dos arquivos.Recomenda-se usar pelo menos
Rock Ridge
atributos na imagem ISO, pois isso inclui mais atributos, mas não aumenta o tamanho.BTW: se você tiver muitos arquivos pequenos e criar um
tar
arquivo com asPOSIX.1-2001
extensões geralmente chamadas depax
, você obterá umtar
arquivo com um tamanho semelhante ao da imagem ISO.O arquivo histórico
tar
tem um overhead de 512 bytes por arquivo, oPOSIX.1-2001
formato tem um overhead de 1536 bytes por arquivo.Isso parece um trabalho para SquashFS : SquashFS permite compactar um diretório em um único arquivo. Ao contrário dos arquivos compactados padrão (tar.gz etc.), você acessa o conteúdo montando o arquivo em vez de extraí-lo para o disco.
Eu tive um problema semelhante, mas foi um caso em que eu estava regenerando uma imagem iso da mídia de instalação do RHEL 7, incluindo uma configuração de kickstart e outros arquivos de suporte. Menciono isso porque estava começando a exceder o tamanho permitido que caberia em um DVD de camada única. Eu nunca notei isso antes, mas suponho que o diretório de pacotes do RHEL tenha crescido nos lançamentos subsequentes. A ferramenta mkisofs, que eu descobri, estava tornando a imagem maior do que o esperado. Depois de alguma pesquisa, descobri que eu poderia editar a iso no lugar com xorriso e isso de alguma forma me permitiu mantê-la em um tamanho que caberia em um DVD de camada única.
Aqui está o comando que eu usei.
Neste caso específico, você pode tentar criar uma imagem iso com um sistema de arquivos iso9660 vazio usando xorrisofs e, em seguida, usar xorriso para adicionar os arquivos necessários à imagem.
Exemplo para uma imagem de cd/dvd de dados que não precisa ser inicializável.