Compactação de pacotes

FLISOL Ceaŕa | Festival Latinoamericano de Instalação de Software Livre

1.0 Introdução

Compactar um arquivo consiste em reduzir seu tamanho, de forma que não perca nenhum dado durante o processo de compactação.

É muito comum hoje em dia compactar os arquivos quando colocados disponíveis para download, ou para coloca-los em cds, diskets e etc.

Reduzindo o tamanho de um arquivo, a transferencia do dado pela internet é muito mais rápida, isso acontece porque o que leva tempo para fazer o download é exatamente o tamanho do arquivo, quanto menor o arquivo, mais rapido de baixar.

Já quanto à descompactação, é exatamente o processo inverso, é o processo de transformar o dado compactado no dado exatamente igual ao que ele era antes, inclusive o mesmo tamanho que ele tinha.

Existem diversos formatos de compactação de arquivos, é normal que você tenha dúvida sobre qual formato escolher, mas isso depende do caso, por isso aqui vai uma breve explicação de alguns formatos de arquivos que serão abordados nesse artigo.

Arquivos compactados com o tar

O tar é o mais popular compactador do linux.

A grande maioria dos softwares compactados para uso no linux usam o tar, e muitas vezes combinados com outros formatos de compactação que veremos ao decorrer do artigo.

O tar é normalmente encontrado com extensão .tar.

Arquivos compactados com o gzip

Gzip quer dizer Gnu-zip, é usado para criar arquivos com extensão .gz, tem como vantagem velocidade de compactação.

É a melhor saida se você quer compactar algo grande sem ter que esperar muito, tanto para compactar quanto para descompactar.

Arquivos compactados com o bzip2

O bzip2 tem uma qualidade de compactação superior ao gzip, podendo ser uma grande alternativa para determinados casos.

Por outro lado, bzip2 usa mais processamento, tornando-o mais lento tanto na compactação quanto na descompactação.

Dupla compactação

Tanto o gzip quanto o bzip2, podem ser compactados juntamente com o tar, passando por um duplo processo de compactação tornando o arquivo ainda menor.

Sem esquecer é claro das vantagens e desvantagens de cada um, que foram citadas acima.

Dupla compactação entre tar e gzip, gera um arquivo com extensão .tar.gz

Dupla compactação entre tar e bzip2, gera um arquivo com extensão .tar.bz

2.0 Compactando arquivos pelo ambiente gráfico

Usando o konqueror (alt+f2, konqueror):

O konqueror é um browser feito para o KDE, que também pode ser usado para acessar os arquivos do seu HD, inclusive operações extras como é o caso da compactação, porque por padrão vem integrado com o pacote ark.

Não se preocupe, seus arquivos originais não serão perdidos após serem compactados, caso sinta que o arquivo original não é mais util após o processo de compactação você pode manualmente apaga-lo sem problema algum, desde que mantenha o arquivo compactado no seu HD, apagando ambos perderia o arquivo por completo.

Se você não usa KDE, ou desinstalou o pacote ark, ou não tem o konqueror, por favor pule para a etapa 3.0.

Em "localização" digite o endereço correspondente ao diretório onde se encontra os arquivos que serão compactados.

Feito isso, clique com o botão direito do mouse sobre o arquivo que deseja compactar, e siga para "compactar", e depois em "compactar como", selecione a forma que deseja compactar o seu arquivo, e o arquivo compactado será gerado no mesmo diretório, como mostra a figura 1.

Se deseja adicionar mais arquivos para seu arquivo compactado, juntando-os com os demais, selecione todos os arquivos que deseja compactar, para isso mantenha o control (Ctrl) pressionado e em seguida selecione-os com o botão esquerdo do mouse, deixando-os de cor azul, clique com o botão direito sobre qualquer um dos arquivos selecionados e siga para "compactar", e em seguida para "adicionar à", e selecione seu arquivo compactado já existente, tornando o seu arquivo compactado composto pelo que já havia nele e pelo que acaba de ser adicionado, como mostra a figura 2.

Se quiser conferir basta clicar no arquivo tar e perceber que os arquivos foram adicionados.

Note que, se você selecionar dois arquivos e compacta-los ao mesmo tempo, sem usar o "adicionar à" seria o mesmo que criar dois arquivos compactados separados, e não junta-los em um só.

Zip e Rar

Você pode usar o konqueror clicando com o botão direito e em extrair.

Explicações/Erros

Como explicado no começo do artigo, é o pacote ark que faz a compactação e descompactação, porque está integrado ao konqueror, você pode inclusive usar o próprio ark se preferir.

Se você tiver qualquer erro, provavelmente significa que o ark não está instalado, e é recomendavel que você faça o recomedado no começo do artigo e pule para a etapa 3.0.

2.1 Descompactando arquivos pelo ambiente gráfico

Clique com o botão direito sobre o arquivo compactado e siga para "Extrair", onde serão encontradas três opções:

Extrair aqui(Extract here) - Descompactará seus arquivos no diretório atual.

Extrair para nome-do-arquivo/ (Extact to nome-do-arquivo/ ) - Será criado um diretório com o nome do arquivo compactado, e os arquivos serão descompactados lá.

Extrair para (Extract to) - Irá abrir uma caixa de dialogo onde você poderá escolher onde deseja colocar seus arquivos descompactados.

Considerações

Até este ponto, você já é capaz de compactar e descompactar arquivos dos formatos mais conhecidos, os passos listados a seguir servirá para aqueles que querem se aprofundar um pouco mais.

3.0 Ambiente modo texto

O que é um terminal?

Terminal é um ambiente modo texto usado para efetuar operações por comandos, que será usado na maioria dos passos abaixo, portanto, para abrir um terminal segure o alt, aperte F2 e digite alguma das opções a seguir: (konsole ou xterm), em seguida aperte enter. (ou use o terminal de sua preferência)

Para mais detalhes sobre como operar em um terminal de comandos, visite o artigo Comandos para Iniciantes.

Compactando arquivos como tar

Para compactar um arquivo como tar, abra o terminal de sua preferência, em seguida digite:

tar -cvf nome-desejado.tar arquivo-desejado

Ou seja, o comando tar seguido pela sequência que informa o que será feito com o arquivo, o nome do arquivo como tar, e o arquivo que deseja compactar.

Explicando a sequência:

c = create (criar)

v = verbose (para listar tudo que está sendo feito, é opcional)

f = file (indicando que é um arquivo)

Para mais informações digite man tar.

Exemplo real:

ngd@10:~$ tar -cvf exemplo.tar ngdwl

ngdwl

ngd@10:~$ ls exemplo.tar

exemplo.tar

ngd@10:~$

Como deve ter notado, o nome do arquivo compactado não é obrigado a ser igual ao nome do arquivo a ser compactado, porém eu recomendo fazer diferente do que eu fiz por questão de organização.

Para compactar mais arquivos, você pode coloca-lo dentro de um diretório (tar -cvf exemplo.tar /home/usuario/diretorio) ou simplesmente fazer assim:

tar -cvf exemplo.tar ngdwl ngdxys

Sendo ngdwl e ngdxys compactados com o nome exemplo.tar, você pode compactar quantos arquivos você quiser, dentro de um só tar, é exatamente o que nós fizemos usando o konqueror.

Descompactando um arquivo tar

Para descompactar é muito simples, basta digitar:

tar -xvf arquivo.tar

x = extract (extrair, descompactar)

v = verbose

f = file

3.1 Zip e rar

Descompactando arquivos .rar

Para isso, você terá que usar a ferramenta chamada unrar, procure o melhor modo de baixa-lo para a sua distribuição, o modo de usar é:

unrar arquivo.rar

Descompactando arquivos .zip

Será necessário a ferramenta unzip, assim como o unrar, aconselho que procure o melhor meio de obter o software, o modo de usar é:

unzip arquivo.zip

4.0 Dupla compactação

4.1 Tar e gzip

Compactando um arquivo .tar.gz

No terminal existem duas maneiras de fazer isso, uma delas consiste em compactar o arquivo como tar, e em seguida compacta-lo com o gzip, exemplos:

[Usando o gzip]

ngd@10:~$ tar -cvf exemplo.tar exemplo/ (compactando a pasta exemplo como tar)

exemplo/

(listando o conteúdo da pasta, devido ao argumento verbose)

exemplo/texto1.tar

exemplo/texto1

exemplo/texto2

exemplo/texto3

ngd@10:~$ gzip exemplo.tar (compactando o arquivo tar com o gzip)

ngd@10:~$ ls exemplo.tar.gz (listando o arquivo gerado)

exemplo.tar.gz (resultado do arquivo gerado)

ngd@10:~$

[Usando o argumento]

O outro método é usar o próprio tar para fazer isso, com o argumento z, que deriva de gzip, ficando assim:

tar -cvzf arquivo.tar.gz arquivo

Escolha a maneira que preferir.

Descompactando um arquivo .tar.gz

Assim como a compactação, a descompactação também contém dois meios, exemplos:

[Usando o gunzip]

gunzip arquivo.tar.gz (gerando um arquivo.tar, que deve ser descompactado em seguida com:
tar -xvf arquivo.tar

[Usando o argumento z]

Ficando:

tar -xvzf arquivo.tar.gz (gerando diretamente o arquivo descompactado)

4.2 Tar e bzip2

Compactando arquivos .tar.bz

Você também tem duas maneiras para fazer.

Exemplos:

[Usando o bzip2]

tar -cvf exemplo.tar exemplo (compactando como tar)

bzip2 exemplo.tar (compactando como .tar.bz)

Isso pode levar um tempo, principalmente em arquivos grandes.

[Usando o argumento]

A outra maneira é usar o tar com o argumento j, assim:

tar -cvjf arquivo.tar.bz arquivo

Descompactando arquivos .tar.bz

[Usando o bunzip2]

Ficando assim:

bunzip2 arquivo.tar.bz (deixando-o ainda compactado como tar) tar -xvf arquivo.tar (descompactando-o completamente)

[Usando o argumento j]

tar -xvjf arquivo.tar.bz

5.0 Se aprofundando um pouco mais

Que tal quando você tem aquele arquivo muito grande e mesmo ao compactar você não consegue por exemplo coloca-lo em seu cd virgem?ou mesmo um disket?

Existe uma maneira de dividir o arquivo tanto compactado quanto descompactado, usando a ferramenta split.

Exemplo de uso:

split -b 500k ironmaiden.tar div

Aqui estou pegando o arquivo ironmaiden.tar e transformando-o em vários pedaços de 500k, sendo eles nomeados com div+sequencia, fica assim:

ls

divaa* divab* divac* divad* divae* divaf* divag* ironmaiden.tar*

divaa é o primeiro, divab o segundo e assim por diante, a ordem não importa muito, exceto pelo fato que o ultimo geralmente tem um número menor, claro, porque por exemplo tu tem um arquivo de 3.2MB, tu divide ele em 1mb, iria gerar 3 arquivos de 1 mb e outro de 200k, para completar.

Agora para voltar ao arquivo normal, você precisa de todos os arquivos no mesmo diretorio, e então digitar:

cat div* > ironmaiden.tar

É importante colocar um nome bem caracteristico, não como "div" isso foi só um exemplo, para que ao colocar div* não tenha problema ao ter um arquivo por exemplo chamado 'divina' no mesmo diretorio, ou você coloca em um diretorio separado ou coloca um nome bem caracteristico, ou ainda, colocar um por um em sequencia:

cat divaa divab divac divad > ironmaiden.tar

Você pode fazer isso com qualquer tipo de arquivo, seja compactado ou descompactado.

--

./ngd --authorname

Hugo Pessoa/NgD Vulto.


Copyright (c) 2006-2007 - Comunidade de Software Livre Tux-CE.
Conteúdo licenciado sob a licença GNU Free Documentation License,
assim como as páginas derivadas Fórum e Blog