From 118e2899e1ab10b5eb288bf031e73fb7e11a8352 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sat, 22 Mar 2008 10:52:48 -0300 Subject: [PATCH] Empacotamento com GNU tar --- archive/empacotamento | 77 +++++++++++++++++++++++++++++++++++++++++++ archive/list | 1 + 2 files changed, 78 insertions(+) create mode 100644 archive/empacotamento diff --git a/archive/empacotamento b/archive/empacotamento new file mode 100644 index 0000000..2374311 --- /dev/null +++ b/archive/empacotamento @@ -0,0 +1,77 @@ +Empacotamento de arquivos com GNU tar + +O GNU tar é uma implementação do tar com extensões próprias. O tar é uma +ferramenta original da sétima edição do Unix da AT&T. Antes de se tornar +um padrão POSIX, vários fabricantes criaram suas próprias extensões, +incluindo o projeto GNU. Hoje em dia, o padrão para empacotamento é o +pax, extensão do tar padronizada pelo POSIX 2001. + +Outras ferramentas livres que suportam o tar são star e bsdtar. Outros +softwares e formatos de empacotamento incluem ar, shar, cpio. Vamos nos +dedicar à ferramenta GNU tar nesta seção. + +O objetivo do empacotador é armazenar vários arquivos em apenas um só. +Dentre as várias operações com um pacote, as principais são criar e +extrair. O GNU tar ainda permite as operações: + +A concatenar pacotes +c criar pacote +d comparar pacote com sistema de arquivos +r anexar arquivos a um pacote +t listar arquivos de um pacote +u apenas anexar arquivos que são mais novos que no pacote +x extrair arquivos de um pacote + +Há ainda a opção --delete que permite remover arquivos de um pacote. No +entanto, essa opção não é apropriada para fitas. O nome tar vem de "Tape +ARchiver". Foi criado para permitir o armazenamento dos pacotes em +fitas, já que escrevia apenas sequencialmente e em blocos. + +Há uma pequena diferença do GNU tar pras demais ferramentas GNU em +relação às opções. Em primeiro lugar, o primeiro conjunto de opções +curtas pode omitir o hífen inicial. Em segundo lugar, uma opção de +operação é obrigatória. Isso implica que sempre deve haver alguma opção +antes do primeiro parâmetro. Como em outras ferramentas GNU, opções que +requerem parâmetros devem ser seguidas por esses imediatamente. + +A saída padrão é usada para gravar o pacote e a entrada padrão para ler +o pacote, a não ser que se use a opção -f, que requer um nome de arquivo +como parâmetro. Algumas outras opções: + +-C diretório onde extrair arquivos +-f nome do pacote a criar, atualizar ou extrair +-j filtrar usando bzip2 (para compressão/descompressão) +-v verbosidade, lista arquivos processados +-x filtrar usando gzip (para compressão/descompressão) + +Exemplos + +Para criar um pacote com os arquivos no diretório /bin: +tar c /bin > bin.tar +tar -c /bin > bin.tar +tar cf bin.tar /bin +tar -f bin.tar -c /bin +tar c /bin -f bin.tar + +Para extrair os arquivos do pacote bin.tar no diretório corrente: +cat bin.tar | tar x +tar x < bin.tar +tar xf bin.tar +tar -x -f bin.tar +tar -xf bin.tar + +Para extrair os arquivos do pacote bin.tar no diretório /bin: +tar -xf bin.tar -C /bin +tar C /bin -x < bin.tar + +Para comprimir/descomprimir o pacote: +cat bin.tar.gz | gzip -cd | tar x +gunzip -c bin.tar.gz | tar x +tar xzf bin.tar.gz +tar cjf bin.tar.bz2 /bin +tar -cj /bin > bin.tar.bz2 +tar c /bin | bzip2 -c > bin.tar.bz2 + +Para listar os arquivos em um pacote: +tar tjf bin.tar.bz2 +cat bin.tar.gz | tar tz diff --git a/archive/list b/archive/list index 5dc12c8..57715ad 100644 --- a/archive/list +++ b/archive/list @@ -1,2 +1,3 @@ introducao compressao +empacotamento -- 2.20.1