문서 보기이전 판역링크책에 추가PDF로 내보내기Fold/unfold allODT 내보내기맨 위로 이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요. ~~NOTOC~~ <WRAP centeralign> === Linux From Scratch - Version 12.4 === <WRAP group> <WRAP third column centeralign>[[.:|처음으로]] \\ [[.|상위]]</WRAP> </WRAP> ==== 백업과 복구 ==== <WRAP group justify> LFS/BLFS 종료후 최종적으로 보관과 복구에 관한 내용 </WRAP> </WRAP> - 준비 사항: /etc/fstab 확인, LFS 파티션 마운트, tar, pv, xz 설치 확인 \\ <codeprism lang=bash> export LFS=/mnt/lfs # LFS "/" 파티션 export LFS_DEPOT=/mnt/nfs/warehouse/lfs # 백업 파일이 저장될 위치 mountpoint -q $LFS || sudo mount $LFS # 마운트 상태 확인 필요시 마운트 mountpoint -q $LFS_DEPOT # 확인후 마운트 for prog in tar xz pv; do # tar, xz, pv 설치 확인 if command -v "$prog" >/dev/null 2>&1; then $prog --version | head -n 1 else echo "$prog is missing" fi done </codeprism> - Backup \\ <codeprism lang=bash> cd $LFS sudo -s tar -cp --numeric-owner \ --exclude='proc' --exclude='sys' --exclude='dev' --exclude='run' . | \ xz -9 --threads=$(nproc) --memory=80% -vv > "${LFS_DEPOT}/lfs+blfs-12.4.tar.xz" </codeprism> - Restore \\ <codeprism lang=bash> export LFS=/mnt/lfs # LFS "/" 파티션 export WAREHOUSE=/mnt/nfs/warehouse/lfs # 백업 파일 위치 cd $LFS sudo tar -xpvJf ${WAREHOUSE}/lfs+blfs-12.4.tar.xz --numeric-owner . sudo mkdir -pv {dev,proc,sys,run} </codeprism> - /etc/fstab 확인 === 정리 필요 === 복구이후 tar의 검증 기능을 이용한 확인방법 <codeprism lang=bash> # 1. 전체 파일 개수 파악 (문자열 -> 숫자 처리) TOTAL_FILES=$(tar -tvf "$TAR_FILE" | wc -l | awk '{print $1}') # 2. 1% 진행률을 위한 인터벌 역산 (정수 나눗셈) # 파일이 100개 미만일 경우를 대비해 최소값 1 설정 INTERVAL=$(( TOTAL_FILES / 100 )) if [ "$INTERVAL" -le 0 ]; then INTERVAL=1; fi # 3. 사용자에게 정보 출력 echo "검증 대상: $TOTAL_FILES 파일 (1% 진행당 $INTERVAL 파일 처리)" # 4. 검증 실행 (pv -s 100으로 백분율 동기화) # tar가 INTERVAL만큼 처리할 때마다 점(.)을 찍고, pv가 이를 100개까지 카운트 tar -df "$TAR_FILE" --checkpoint=$INTERVAL --checkpoint-action=dot | \ pv -p -l -s 100 > /dev/null echo "무결성 검증이 완료되었습니다." </codeprism> tar 검증 과장에 예상 시간 추가 (위의 내용에 통합 필요) <codeprism lang=bash> # 1. 실제 대상 디렉터리($LFS)에 테스트 공간 확보 TEST_DIR="${LFS}/.bench_tmp" mkdir -p "$TEST_DIR" # 2. 실제 디스크에 쓰기 (I/O 쓰기 속도 포함) dd if=/dev/zero of="${TEST_DIR}/bench_file" bs=1M count=100 conv=fdatasync 2>/dev/null # 3. 압축/풀기 테스트 (실제 디스크에서 읽기 + CPU 압축 + 디스크 쓰기) START_TIME=$(date +%s.%N) xz -9 --threads=$(nproc) "${TEST_DIR}/bench_file" END_TIME=$(date +%s.%N) # 4. 결과 계산 및 정리 (테스트 파일 삭제 필수) SEC_PER_100MB=$(echo "$END_TIME - $START_TIME" | bc) rm -rf "$TEST_DIR" </codeprism> 설정, 로직 , 함수 분리후 prefix_ 로 구분 <WRAP group> ----- </WRAP> linuxfromscratch/12.4/linux_from_scratch/backup_and_restore.txt 마지막으로 수정됨: 2026/03/02 03:05저자 baecy