Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 7. Entering Chroot and Building Additional Temporary Tools | ||
이전 | 위로 / 처음으로 | 다음 |
Util-linux-2.39.3 | LFS 시스템 구성 |
7.13. 임시 시스템 정리 및 저장
7.13.1. 정리
먼저, 현재 설치된 문서 파일을 제거하여 최종 시스템에 포함되지 않도록 하고 약 35MB를 절약합니다.
rm -rf /usr/share/{info,man,doc}/*
둘째, 최신 Linux 시스템에서 libtool .la 파일은 libltdl에만 유용합니다. LFS의 어떤 라이브러리도 libltdl에 의해 로드되지 않으며, 일부 .la 파일은 BLFS 패키지 오류를 일으킬 수 있는 것으로 알려져 있습니다. 해당 파일들을 제거합니다.
find /usr/{lib,libexec} -name \*.la -delete
현재 시스템 크기는 이제 약 3GB이지만 /tools 디렉터리는 더 이상 필요하지 않습니다. 이 디렉토리는 약 1GB의 디스크 공간을 사용합니다. 아래와 같이 삭제합니다.
rm -rf /tools
7.13.2. 백업
이 시점에서 필수 프로그램과 라이브러리가 생성되었으며 현재 LFS 시스템은 양호한 상태입니다. 이제 나중에 다시 사용할 수 있도록 시스템을 백업할 수 있습니다. 이후 챕터에서 치명적인 오류가 발생하는 경우 모든 것을 제거하고 다시 시작하는 것이 복구에 가장 좋은 방법이라는 것을 알게되는 경우가 많습니다. 안타깝게도 지금까지 만든 모든 임시 도구들도 제거됩니다. 성공적으로 완료된 작업을 다시 실행하는 데 추가 시간을 소비하지 않으려면 현재 LFS 시스템의 백업을 만드는 것이 유용할 수 있습니다.
참고
이 섹션의 나머지 단계는 모두 선택 사항입니다. 하지만 8장에서 패키지 설치를 시작하자마자 임시 도구를 덮어쓰게 됩니다. 따라서 아래에 설명된 대로 현재 시스템의 백업을 수행하는 것이 좋습니다.
다음 단계는 chroot 환경 외부에서 수행됩니다. 즉, 계속하기 전에 먼저 chroot 환경에서 나가야 합니다. 그 이유는 chroot 환경 외부의 파일 시스템 위치에 액세스하여 백업 아카이브를 저장/읽기 위한 것으로, $LFS
파일 시스템 계층 구조 내에 배치해서는 안 됩니다.
백업을 하기로 결정했다면 chroot 환경에서 나가세요.
exit
중요
다음 명령은 모두 호스트 시스템에서 root로 실행됩니다. 여기서 실수하면 호스트 시스템이 수정될 수 있으므로 명령에 실행할 때 각별히 주의하세요. 환경 변수 LFS
는 기본적으로 사용자 lfs로 설정되어 있지만 root에는 설정되어 있지 않을 수 있다는 점에 유의하세요.
루트로 명령을 실행할 때는 항상 LFS를 설정했는지 확인하세요.
이에 대해서는 2.6, "$LFS 변수 설정"에서 설명했습니다.
백업을 하기 전에 가상 파일 시스템을 마운트 해제합니다.
mountpoint -q $LFS/dev/shm && umount $LFS/dev/shm
umount $LFS/dev/pts
umount $LFS/{sys,proc,run,dev}
백업 아카이브를 만드는 디렉터리가 포함된 파일 시스템에 1GB 이상의 디스크 여유 공간이 있는지 확인하세요. 소스 타르볼은 백업 아카이브에 포함될 것입니다.
아래 지침은 호스트 시스템의 root 사용자의 홈 디렉터리를 지정하며, 일반적으로 루트 파일 시스템에서 찾을 수 있습니다. root의 홈 디렉터리에 백업을 저장하지 않으려면 $HOME
을 원하는 디렉터리로 바꾸세요.
다음 명령을 실행하여 백업 아카이브를 만듭니다.
참고
백업 아카이브는 압축되므로 비교적 빠른 시스템에서도 비교적 오랜 시간(10분 이상)이 걸립니다.
cd $LFS
tar -cJpf $HOME/lfs-temp-tools-12.1-systemd.tar.xz .
참고
8장을 계속 진행하려면 아래의 “중요” 상자에 설명된 대로 루트 환경으로 다시 들어가는 것을 잊지 마세요.
7.13.3. 복원
실수를 해서 다시 시작해야 하는 경우 이 백업을 사용하여 시스템을 복원하고 복구 시간을 절약할 수 있습니다. 소스는 $LFS
아래에 있었기에 백업 아카이브에도 포함되어 있으므로 다시 다운로드할 필요가 없습니다. $LFS
가 제대로 설정되었는지 확인한 후 다음 명령을 실행하여 백업을 복원할 수 있습니다:
경고
다음 명령은 매우 위험합니다. root 사용자로 rm -rf ./*를 실행하면서 $LFS 디렉터리로 변경하지 않거나 root 사용자에 대해 LFS
환경 변수가 설정되지 않은 경우 전체 호스트 시스템이 파괴됩니다. 분명하게 경고 했습니다.
cd $LFS
rm -rf ./*
tar -xpf $HOME/lfs-temp-tools-12.1-systemd.tar.xz
다시 한 번 환경이 제대로 설정되었는지 확인하고 나머지 시스템을 계속 빌드하세요.
중요
백업을 만들거나 복원을 사용하여 빌드를 다시 시작하기 위해 루트 환경을 떠난 경우 가상 파일 시스템이 여전히 마운트되어 있는지 확인해야 합니다(findmnt | grep $LFS). 마운트되지 않은 경우 7.3. "가상 커널 파일 시스템 준비하기"에 설명된 대로 지금 다시 마운트하고 계속하기 전에 루트 환경으로 다시 들어갑니다(7.4. "Chroot 환경으로 들어가기" 참조).