Não é possível usar tar para executar um arquivo compactado por meio da compactação bzip2

4

Estou tendo dificuldade em compactar um arquivo com o bzip usando tar. O arquivo que eu tenho é user-logs.tar.

Estou tentando executar isso:

tar -jf user-logs.tar

Eu recebo este erro:

tar: You must specify one of the '-Acdtrux' or '--test-label'  options
Try 'tar --help' or 'tar --usage' for more information.

Eu também tentei usar -c para criar um novo arquivo com a extensão de nome de arquivo bzip sem sorte.

# tar -cvjf user-logs.tar.gz user-logs.tar
user-logs.tar
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
    
por Oscalation 24.02.2016 / 03:12

3 respostas

5

A mensagem de erro diz o que fazer: você provavelmente precisará adicionar -c (para criar ), por exemplo,

tar -jcf user-logs.tar  myargs

bem como alguns argumentos myargs (coisas para colocar no arquivo user-logs.tar ).

No segundo caso, o problema é que você não tem bzip2 instalado. O programa tar depende deste programa external para fazer compressão.

Se você tem um arquivo tar e quer compactá-lo, faça o seguinte:

bzip2 user-logs.tar

qual (se você tivesse bzip2 instalado) mudaria o arquivo para user-logs.tar.bz2 (e normalmente diminuiria muito).

Para instalar bzip2 , isso depende do sistema que você está usando. Por exemplo, com o Ubuntu que seria

sudo apt-get install bzip2

enquanto o Fedora pode ser (talvez dnf ):

sudo yum install bzip2

O programa GNU tar não sabe como compactar um arquivo existente como user-logs.tar ( bzip2 faz isso). O programa tar pode usar programas de compactação externos gzip , bzip2 , xz abrindo um pipe para esses programas, enviando um arquivo tar via pipe para o utilitário de compactação, que comprime os dados que ele lê em tar e grava o resultado no nome do arquivo que o programa tar especifica.

Como alternativa, o tar e o utilitário de compactação poderiam ser o mesmo programa. O BSD faz sua compressão usando libarchive (eles não são realmente distintos exceto no nome).

Leitura adicional:

por 24.02.2016 / 03:16
3

Não tenho certeza se interpreto sua pergunta e dados corretamente, mas parece que você já tem a tarball e quer que ela seja compactada?

bzip2 user-logs.tar
    
por 24.02.2016 / 03:20
3

A mensagem de erro bzip2: Cannot exec: No such file or directory informa que o tar não pode encontrar o bzip2. O mais provável é que você não o tenha instalado.

Instale-o via yum install bzip2 ou apt-get install bzip2 ou algo parecido, dependendo do seu SO.

    
por 24.02.2016 / 22:01