손상된 bzip2압축파일의 복구유틸리티 bzip2recover 사용법
bzip2recover는 bzip2로
압축된 파일이 손상되었을 경우에 복구를 하기위한 명령어입니다.
물리적인 문제가 있을 경우에는 100%복구는 불가능하지만 손상되지 않는 부분을 복구하여 별도파일로 저장해 줍니다.
bzip2는 압축시에 900KB단위로 압축을 합니다.
이런 900KB 단위의
압축단위는 각각 독립적인 것으로 다루어 집니다.
이런 압축단위로 압축이 되는 까닭으로 손상되지않은 부분을 복구해 낼 수 있는 것입니다.
그리고 복구되는 파일은
"rec0001file.bz2", "rec0002file.bz2" 등과 같은 여러개의 파일에 기록하게 됩니다.
아래의 간단한 예를 보시면 이해하실 수 있을 것입니다.
또한
bzip2recover는 아무런 옵션없이 "bzip2recover 파일명"과 같이 사용합니다.
명령어위치 : /usr/bin/bzip2recover
사용형식 : bzip2recover 파일명
아래의 예는 bzip2로 압축된 textfile3.bz2파일이 손상되었다는 가정하에서 bzip2recover로 복구를 한 것입니다.
[root@host3
dir]# ls -l
합계 456
-rwx-----x 1 bible1 bible2
100541 9월 24 20:12 textfile1.bz2
-rwx-----x 1 bible1
bible2 354659 9월 24 20:12 textfile3.bz2
[root@host3 dir]#
[root@host3 dir]# bzip2recover
textfile3.bz2
bzip2recover 1.0.2: extracts blocks from damaged .bz2 files.
bzip2recover: searching for block boundaries ...
block 1 runs from 80 to 193198
block 2 runs from 193247 to 385917
block 3 runs from 385966 to 577105
block 4 runs from 577154 to 767919
block 5 runs from 767968 to 960114
block 6 runs from 960163 to 1151231
block 7 runs from 1151280 to 1343094
block 8 runs from 1343143 to 1535175
block 9 runs from 1535224 to 1726373
block 10 runs from 1726422 to 1917659
block 11 runs from 1917708 to 2108146
block 12 runs from 2108195 to 2299077
block 13 runs from 2299126 to 2489747
block 14 runs from 2489796 to 2680805
block 15 runs from 2680854 to 2837187
bzip2recover: splitting into blocks
writing block 1 to `rec00001textfile3.bz2' ...
writing block 2 to `rec00002textfile3.bz2' ...
writing block 3 to `rec00003textfile3.bz2' ...
writing block 4 to `rec00004textfile3.bz2' ...
writing block 5 to `rec00005textfile3.bz2' ...
writing block 6 to `rec00006textfile3.bz2' ...
writing block 7 to `rec00007textfile3.bz2' ...
writing block 8 to `rec00008textfile3.bz2' ...
writing block 9 to `rec00009textfile3.bz2' ...
writing block 10 to `rec00010textfile3.bz2' ...
writing block 11 to `rec00011textfile3.bz2' ...
writing block 12 to `rec00012textfile3.bz2' ...
writing block 13 to `rec00013textfile3.bz2' ...
writing block 14 to `rec00014textfile3.bz2' ...
writing block 15 to `rec00015textfile3.bz2' ...
bzip2recover: finished
[root@host3 dir]#
|
이제 복구가
끝났습니다.
의외로 간단한 실행에 비해 아래를 보시면 전체파일을 복구가능한
부분을 모두 복구한 것입니다.
[root@host3
dir]# ls -l
합계 812
-rw-r--r-- 1 root
root 24160 9월 24 23:01
rec00001textfile3.bz2
-rw-r--r-- 1 root
root 24104 9월 24 23:01
rec00002textfile3.bz2
-rw-r--r-- 1 root
root 23913 9월 24 23:01
rec00003textfile3.bz2
-rw-r--r-- 1 root
root 23866 9월 24 23:01
rec00004textfile3.bz2
-rw-r--r-- 1 root
root 24039 9월 24 23:01
rec00005textfile3.bz2
-rw-r--r-- 1 root
root 23904 9월 24 23:01
rec00006textfile3.bz2
-rw-r--r-- 1 root
root 23997 9월 24 23:01
rec00007textfile3.bz2
-rw-r--r-- 1 root
root 24025 9월 24 23:01
rec00008textfile3.bz2
-rw-r--r-- 1 root
root 23914 9월 24 23:01
rec00009textfile3.bz2
-rw-r--r-- 1 root
root 23925 9월 24 23:01
rec00010textfile3.bz2
-rw-r--r-- 1 root
root 23825 9월 24 23:01
rec00011textfile3.bz2
-rw-r--r-- 1 root
root 23881 9월 24 23:01
rec00012textfile3.bz2
-rw-r--r-- 1 root
root 23848 9월 24 23:01
rec00013textfile3.bz2
-rw-r--r-- 1 root
root 23897 9월 24 23:01
rec00014textfile3.bz2
-rw-r--r-- 1 root
root 19562 9월 24 23:01
rec00015textfile3.bz2
-rwx-----x 1 bible1
bible2 100541 9월 24 20:12 textfile1.bz2
-rwx-----x 1 bible1
bible2 354659 9월 24 20:12 textfile3.bz2
[root@host3 dir]#
|
이렇게 복구된 각각의 파일은 개별적으로 활용하거나 사용하실 수 있습니다.