tar.bz2를 .bz2로 변환하는 방법은 무엇입니까?

tar.bz2를 .bz2로 변환하는 방법은 무엇입니까?

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

관련 정보