Recentemente, eu fiz backup de muitos dos meus dados e notei que posso salvar arquivos como .gz
ou .tar.gz
, ou .7z
e .tar.7z
etc. Quais são as diferenças entre a normal e a .tar.*
variante? Qual deles é aconselhável ao fazer backups?
fonte
Recentemente, eu fiz backup de muitos dos meus dados e notei que posso salvar arquivos como .gz
ou .tar.gz
, ou .7z
e .tar.7z
etc. Quais são as diferenças entre a normal e a .tar.*
variante? Qual deles é aconselhável ao fazer backups?
Se você possui um plano de fundo do Windows, pode estar familiarizado com os formatos zip e rar. Estes são arquivos de vários arquivos compactados juntos.
Nos sistemas Unix e Unix-like (como o Ubuntu), o arquivamento e a compactação são separados.
tar
coloca vários arquivos em um único arquivo (tar).
gzip
comprime um arquivo (apenas).
Portanto, para obter um arquivo compactado, você combina os dois, primeiro usa tar
ou coloca pax
todos os arquivos em um único arquivo (archive.tar) e depois gzip
(archive.tar.gz). Se você possui apenas um arquivo que precisa compactar (notes.txt), não há necessidade de tar, portanto, basta fazer o gzip notes.txt
que resultará em notes.txt.gz
. Existem outros tipos de compactação, como compress
, bzip2
e xz
que funcionam da mesma maneira que o gzip (além de usar diferentes tipos de compactação, é claro)
.7z
arquivo de vários arquivos, enquanto também posso fazer um.tar.7z
arquivo de vários arquivos?Depende do que você está procurando ... Compactação ou arquivamento?
Quando falo em arquivamento, quero dizer preservar permissões, estrutura de diretórios, etc.
A compactação pode ignorar a maior parte disso e apenas colocar seus arquivos em pacotes menores.
Para preservar as permissões de arquivo, use tar:
O sinalizador p salvará as permissões do arquivo. Use o sinalizador z para compactação gzip ou o sinalizador j para compactação bzip.
Se você deseja ter um arquivo tar, você pode "atualizar" empacotar o tar usando o sinalizador P:
Em seguida, para atualizar, substitua 'c' por 'u' e, ao descompactar, você pode usar 'k' para preservar os arquivos que já existem.
O sinalizador P salva arquivos com caminhos completos, então - / home / nome de usuário vs home / nome de usuário (observe a barra invertida principal).
A compactação 7z oferece maior compactação, mas não preserva a propriedade, as permissões do arquivo, etc. O Rzip é outro utilitário de compactação que oferece compactação comparável ao 7z também.
Eu acho que um arquivo backup.tar.7z é apenas um arquivo tar (com permissões) compactado por um arquivo 7z, embora eu não ficasse surpreso se ocorresse pouca compactação porque o 7z talvez não consiga despejar os metadados do arquivo. É a capacidade do 7z de excluir os metadados do arquivo que ele pode oferecer excelente compactação (entre outras coisas, é claro).
A compactação também depende inteiramente do tipo de dados. Alguns arquivos não são compactados bem porque já podem ser compactados com outros meios (por exemplo, .mp3, .jpg, .tiff / com lzma, .rpm, etc.).
fonte
O gzip ou o bzip2 não conhecem
file system
- nome do arquivo, diretório ou estrutura da árvore. Apenas comprime o fluxo de entrada e depois o resultado da saída. Mesmo o gzip ou o bzip2 não podem arquivar diretórios por conta própria, é por isso que geralmente é combinado com o tar.tar (arquivador) - apenas estrutura do arquivo morto. gzip, bzip2 (compressor) - apenas comprime a entrada.
Eu acho que essa estratégia veio da filosofia Unix 'faça uma coisa bem' . Tar funciona bem? Deixe como está. Precisa de mais taxa de compactação do que gzip? Aqui está bzip2 ou 7zip.
fonte
seus diferentes estilos de compactação, o tar por si só é simplesmente arquivado (pouca ou nenhuma compactação). tar.gz é um arquivo tar, mas o conteúdo é compactado pelo gzip (compactação moderada), portanto o .gz e o tar.7z são compactados usando o 7zip (geralmente compactação super alta)
ao fazer o backup, eu recomendaria o tar.7z, pois possui a maior taxa de compactação, economizando espaço, mas usa um programa extra (7zip). .tar.gz será um arquivo maior e fará o mesmo trabalho, você também pode usar o bzip (.tar.bz / bz2), embora não tenha certeza se isso serviria melhor a você, como uso o gzip ou o 7zip
fonte
normalmente, arquivos * .tar são apenas arquivos tar criados pelo programa tar, * .gz são criados pelo gzip, * .tar.gz (às vezes também * .tgz) são arquivos tar com gzip e * .7z são criados pelo 7zip.
No entanto, no Linux / Unix, é possível nomear um arquivo da maneira que ele quiser, por isso é completamente a critério do criador dos arquivos.
fonte
O Tar (Tape Archiver) tem sido tradicionalmente usado como um contêiner no Unix / Linux para empacotar arquivos para movimentação. Empacota a estrutura do arquivo e mantém os atributos do arquivo, mas não compacta os arquivos.
Os programas de compactação compactam o arquivo para torná-lo menor, mas podem não manipular vários arquivos e / ou podem não manipular os atributos de arquivo necessários para o Linux. Como o tar já existe e é bem suportado, não há razão para o arquivamento de programas duplicar essa funcionalidade, que é específica da plataforma (diferente do Windows e Linux). Além disso, diferentes programas de compactação podem ter desempenho diferente em diferentes tipos de arquivos, portanto, é recomendável ter uma escolha de mais de um.
fonte