У меня есть файл со сжатием tar.bz2, я хотел бы преобразовать его в .bz2. Есть ли команда, которая делает это за один раз?
Я попробовал сделать следующее, но безрезультатно!
tar -xvjf US.tar.bz2
US
bzip2: Compressed file ends unexpectedly;
perhaps it is corrupted? *Possible* reason follows.
bzip2: Inappropriate ioctl for device
Input file = (stdin), output file = (stdout)
It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
ПС
Я также попробовал следующее:
bunzip2 -c < US.tar.bz2 | gzip -c > us.bz2
который дает:
bunzip2: Compressed file ends unexpectedly;
perhaps it is corrupted? *Possible* reason follows.
bunzip2: Inappropriate ioctl for device
Input file = (stdin), output file = (stdout)
It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
решение1
tar
похож на zip-файл, который хранит кучу других файлов, но не сжимает их. bzip2
сжимает файл, но только по одному за раз. .tar.bz2
Файл, скорее всего, указывает на кучу файлов, которые были помещены в tar
и впоследствии заархивированы. Вы не можете заархивировать их вместе, не заархивировав их сначала.
Ваша ошибка в том, что ваш .tar.bz2
файл поврежден. Смотрите пример правильно работающего файла ниже.
$ ls
test_file.tar.bz2
$ tar xvjf test_file.tar.bz2
test_file
$ ls
test_file test_file.tar.bz2
РЕДАКТИРОВАТЬ
В приведенном выше примере в tar был только один файл. Если вы хотите заархивировать только эту папку:
$ bzip2 test_file
$ ls
test_file.bz2