Arquivo tar do Linux sem estrutura pai

5

Estou tentando modificar um determinado arquivo tar.gz que tenho. Quando vou criar o tar, ele retém a estrutura de diretórios pai, como um tarball deveria. No entanto, existe uma maneira de simplesmente criar um arquivo tar com apenas os arquivos que especifico, em vez de toda a árvore de diretórios?

    
por Blake 07.05.2012 / 12:26

3 respostas

3

Desativando a recursão no tar .

POSIX pax (1) tem - d opção que habilita a interface do cpio enquanto permite criar arquivos .tar . Exemplo da Wikipedia:

find . -depth -print | pax -wd > archive.tar

O GNU tar (1) tem uma opção análoga, - sem recursão . Exemplo de lá:

find dir tests | tar -cf archive -T - --no-recursion

P.S. Eu costumo retornar a cpio (1) em tais casos.

    
por 07.05.2012 / 13:55
1

Está um pouco sujo, mas sim:

michael@choad:~$ tar cf - -C ~/scratch packing_slip_411.pdf -C ~/bin/df_linux/ README.linux | tar tvf -
-rw-r--r-- michael/users 37686 2012-03-30 15:09 packing_slip_411.pdf
-rwx------ michael/users  1364 2012-03-30 07:27 README.linux
    
por 07.05.2012 / 21:52
-1

A especificação do caminho completo de um arquivo preservará a árvore:

tar cf newarchive.tar /path/to/file1 /path/to/file2

Para omitir a estrutura do arquivo, vá para o diretório e crie o arquivo:

(cd /path/to && tar cf /tmp/newarchive.tar file1 file2)
    
por 07.05.2012 / 21:11

Tags