Que formato de arquivo não lê / extrai todo o arquivo ao extrair um único arquivo?

2

Como o título indica, eu tenho alguns arquivos grandes (atualmente em formato .7z e .tar.gz) armazenados em um local remoto que eu acesso via sshfs. Eu frequentemente me vejo precisando extrair um ou dois arquivos desses arquivos e o gerenciador de arquivos padrão no Ubuntu parece extrair / ler o arquivo inteiro em segundo plano antes de eu pegar o arquivo que eu quero.

Eu gostaria de uma lista dos possíveis formatos que não fazem isso. Em outras palavras, eu gostaria de poder extrair um arquivo de um grande arquivo sem nenhum atraso.

    
por Rey Leonard Amorato 12.06.2013 / 23:52

3 respostas

1

zip, 7zip e dar (no modo não sólido) possuem essa propriedade. Eles fazem isso armazenando um índice e compactando em blocos menores, de modo que apenas os blocos que contêm os arquivos que você deseja extrair precisam ser descompactados. Isso resulta em um pouco menos de compactação.

    
por psusi 13.06.2013 / 04:06
1

Eu não sei de nada que atenda a todos os seus requisitos. No entanto, eu posso ter algo que ainda funcione

Se as suas necessidades forem lidas em sua maioria, em vez de criar um arquivo compactado (por exemplo, tar.gz), considere a criação de uma imagem do SquashFS. O SquashFS é um sistema de arquivos compactado somente para leitura. Você poderia então acessar esse arquivo de imagem via sshfs e montar esse como um dispositivo de loopback.

Como este é um sistema de arquivos completo, a passagem de diretórios, o acesso a dados, etc. serão limitados apenas aos blocos específicos necessários.

    
por Garrett Kajmowicz 13.06.2013 / 01:31
0

Tornou-se regulamentação em todas as plataformas UNIX e Unix. Porque a filosofia do UNIX que o aplicativo deve tentar completar a tarefa única perfeitamente. Portanto, não há aplicativos que tragam compactação e compactação juntos.

A vantagem é que você pode combinar um aplicativo de arquivamento com qualquer aplicativo de compactação. Exemplo combinando tar com gzip (tar.gz) e tar com lzma (tar.lz).

Talvez aplicativos propiciados forneçam o que você deseja, como o WinZIP, mas ele só está disponível para outro UNIX (OS X) pago

    
por obysr 13.06.2013 / 00:12