bup-fsck - bup 리포지토리 확인 또는 복구
bup fsck [-r] [-g] [-v] [--quick] [-j jobs] [--par2-ok] [--disable-par2] [filenames...]
bup fsck는 git fsck가 git 리포지토리의 유효성을 검사하는 것과 같은 방식으로 bup 리포지토리의 유효성을 검사하는 도구입니다.
또한 par2(1) 도구(설치된 경우)를 사용하여 "복구 블록"을 생성 및/또는 사용할 수 있습니다. 이를 통해 .pack 파일의 최대 5%에 해당하는 손상된 블록을 복구할 수 있습니다.
일반 백업 시스템에서는 손상된 블록이 덜 중요합니다. 손상된 블록 하나는 중요하지 않은 백업 세트 간에 충분한 데이터가 중복되는 경향이 있기 때문입니다. 그러나 bup과 같은 중복 제거 백업 시스템에서는 모든 단일 백업에 사용되더라도 블록이 한 번 이상 저장되지 않습니다. 해당 블록을 복구할 수 없는 경우 모든 백업 세트가 한 번에 손상됩니다. 따라서 백업의 무결성을 확인하고 디스크 오류가 발생할 경우 복구할 수 있는 것이 중요합니다.
경고: bup 서버에 무료 par2(1) 패키지가 설치되어 있지 않으면 bup fsck의 복구 기능을 사용할 수 없습니다.
경고: bup fsck는 분명히 전체 디스크 오류에서 복구할 수 없습니다. 백업이 중요한 경우 중복성을 신중하게 고려해야 합니다(예: 다중 디스크 중복성을 위해 RAID를 사용하거나 사이트 중복성을 위해 오프사이트 백업 만들기).
기존 복구 블록을 사용하여 손상된 팩을 복구하십시오. (par2(1)이 필요합니다.)
아직 가지고 있지 않은 모든 팩에 대해 복구 블록을 생성합니다. (par2(1)이 필요합니다.)
자세한 정보를 증가시킵니다(한 번 이상 사용할 수 있음).
각 팩 파일에서 전체 git verify-pack을 실행하지 마십시오. 대신 최종 체크섬을 확인하십시오. 이로 인해 안정성이 크게 저하되지 않으면서 속도가 크게 향상될 수 있습니다. 그러나 편집증 환자라면 이 옵션을 피하는 것이 좋습니다. 이미 복구 정보가 있는 팩에는 영향을 미치지 않습니다.
한 번에 실행할 최대 팩 검증 수입니다. 이 옵션의 최적 값은 CPU가 팩을 확인할 수 있는 속도와 디스크 처리량에 따라 다릅니다. 한 번에 너무 많은 작업을 실행하면 numjobs이 시스템의 CPU 코어 수보다 적은 경우에도 파일 사이를 오가며 디스크가 포화 상태가 되고 성능이 실제로 저하됩니다. 이 옵션을 실험하여 최적의 값을 찾을 수 있습니다.
par2(1)이 설치되어 작동 중이면 즉시 0을 반환하고 그렇지 않으면 1을 반환합니다. 실제로 아무것도 확인하지 마십시오.
par2(1)이 설치되지 않은 척하고 모든 복구 블록을 무시합니다.
# generate recovery blocks for all packs that don't
# have them
bup fsck -g
# generate recovery blocks for a particular pack
bup fsck -g ~/.bup/objects/pack/153a1420cb1c8*.pack
# check all packs for correctness (can be very slow!)
bup fsck
# check all packs for correctness and recover any
# damaged ones
bup fsck -r
# check a particular pack for correctness and recover
# it if damaged
bup fsck -r ~/.bup/objects/pack/153a1420cb1c8*.pack
# check if recovery blocks are available on this system
if bup fsck --par2-ok; then
echo "par2 is ok"
fibup-damage(1), fsck(1), git-fsck(1)
bup(1) 제품군의 일부입니다.
에이버리 페나룬 apenwarr@gmail.com.