새로운 파티션 생성

대부분의 다른 운영 체제와 마찬가지로 LFS는 일반적으로 전용 파티션에 설치됩니다. LFS 시스템을 구축할 때 권장되는 방법은 사용 가능한 빈 파티션을 사용하거나, 파티션되지 않은 공간이 충분하다면 파티션을 새로 만드는 것입니다.

최소한의 시스템에는 약 10 기가바이트(GB)의 파티션이 필요합니다. 이 정도면 모든 소스 압축 파일을 저장하고 패키지를 컴파일하기에 충분합니다. 그러나 LFS 시스템을 일반적인 리눅스 시스템으로 사용하려는 경우 추가 소프트웨어가 설치되어 공간이 더 필요할 수 있습니다. 이러한 경우 30GB 파티션은 합리적인 크기입니다. LFS 시스템 자체는 이 정도의 공간을 차지하지 않습니다. 이 요구 사항의 대부분은 충분한 임시 저장 공간을 제공하고 LFS가 완료된 후 추가 기능을 추가하기 위한 것입니다. 또한 패키지를 컴파일 도중에 많은 디스크 공간이 필요하며 이때 사용한 용량은 패키지가 설치된 후에 회수가 가능합니다.

컴파일 프로세스에 사용할 수 있는 RAM(랜덤 액세스 메모리)이 항상 충분한 것은 아니므로 작은 디스크 파티션을 스왑 공간으로 사용하는 것이 좋습니다. 이는 커널에서 거의 사용하지 않는 데이터를 저장하고 활성 프로세스에 더 많은 메모리를 남겨두기 위해 사용됩니다. LFS 시스템의 스왑 파티션은 호스트 시스템에서 사용하는 파티션과 공유 할 수 있으며, 이 경우 다른 파티션을 만들 필요가 없습니다.

새 파티션을 만들 하드 디스크의 이름을 지정하는 명령줄 옵션(예: 기본 디스크 드라이브의 경우 /dev/sda)을 사용하여 cfdisk 또는 fdisk와 같은 디스크 파티셔닝 프로그램을 시작합니다. 필요한 경우 리눅스 기본 파티션과 스왑 파티션을 만듭니다. 프로그램 사용법을 아직 모르는 경우 cfdisk(8) 또는 fdisk(8)을 참조하세요.

참고 숙련된 사용자의 경우 다른 파티셔닝 방식도 가능합니다. 새 LFS 시스템은 소프트웨어 RAID 어레이 또는 LVM 논리 볼륨에 있을 수 있습니다. 그러나 이러한 옵션 중 일부는 고급 주제인 initramfs가 필요합니다. 이러한 파티셔닝 방법은 LFS를 처음 사용하는 사용자에게는 권장되지 않습니다.

새 파티션의 명칭(예: sda5)을 기억하세요. 이 책에서는 이를 LFS 파티션이라고 합니다. 스왑 파티션의 지정도 기억하세요. 이 이름은 나중에 /etc/fstab 파일에 필요합니다.

2.4.1. 기타 파티션 문제

시스템 파티셔닝에 대한 조언 요청은 종종 LFS 메일링 리스트에 게시됩니다. 이것은 매우 주관적인 주제입니다. 대부분의 배포판의 기본값은 작은 스왑 파티션 하나를 제외하고 전체 드라이브를 사용하는 것입니다. 이는 여러 가지 이유로 LFS에 최적이 아닙니다. 유연성이 떨어지고, 여러 배포 또는 LFS 빌드 간에 데이터 공유가 더 어려워지며, 백업에 더 많은 시간이 소요되고, 파일 시스템 구조의 비효율적인 할당으로 디스크 공간이 낭비될 수 있습니다.

2.4.1.1. 루트 파티션

20GB의 루트 LFS 파티션(/root 디렉터리와 혼동하지 마세요)은 대부분의 시스템에서 좋은 출발점입니다. LFS 및 대부분의 BLFS를 구축하기에 충분한 공간을 제공하지만 실험을 위해 여러 파티션을 쉽게 만들 수 있을 만큼 충분히 작습니다.

2.4.1.2. 스왑 파티션

대부분의 배포판은 스왑 파티션을 자동으로 생성합니다. 일반적으로 스왑 파티션의 권장 크기는 실제 RAM 용량의 약 2배이지만, 이 크기가 필요한 경우는 드뭅니다. 디스크 공간이 제한되어 있는 경우 스왑 파티션을 2기가바이트로 유지하고 디스크 스왑 양을 모니터링하세요.

리눅스의 최대 절전 모드 기능을 사용하려는 경우 컴퓨터를 끄기 전에 RAM의 내용을 스왑 파티션에 씁니다. 이 경우 스왑 파티션의 크기는 최소한 시스템에 설치된 RAM만큼 커야 합니다.

스왑은 결코 좋지 않습니다. 기계식 하드 드라이브의 경우 일반적으로 디스크 기동 소리를 듣고 시스템이 명령에 어떻게 반응하는지 관찰하는 것만으로도 시스템이 스왑되고 있는지 알 수 있습니다. SSD의 경우 스왑 소리를 들을 수는 없지만 top, free 프로그램을 실행하면 스왑 공간이 얼마나 사용되고 있는지 알 수 있습니다. 스왑 파티션에 SSD를 사용하는 것은 가능하면 피해야 합니다. 스왑에 대한 첫 번째 반응은 5기가바이트 파일을 편집하려고 하는 등의 무리한 명령이 있는지 확인하는 것입니다. 스왑이 정상적으로 발생하는 경우 가장 좋은 해결책은 시스템용 RAM을 추가로 구입하는 것입니다.

2.4.1.3. Grub 바이오스 파티션 부팅 디스크가 GPT(GUID 파티션 테이블)로 파티션된 경우 작은 파티션(일반적으로 1MB)이 아직 없는 경우 이 파티션을 만들어야 합니다. 이 파티션은 포맷되지 않지만 부트 로더를 설치하는 동안 GRUB에서 사용할 수 있어야 합니다. 이 파티션은 일반적으로 fdisk를 사용하는 경우 'BIOS Boot'라는 레이블이 붙거나 gdisk 명령을 사용하는 경우 코드가 EF02로 표시됩니다.

참고 Grub Bios 파티션은 BIOS가 시스템을 부팅하는 데 사용하는 드라이브에 있어야 합니다. 이 드라이브가 반드시 LFS 루트 파티션이 있는 드라이브일 필요는 없습니다. 시스템의 디스크는 다른 파티션 테이블 유형을 사용할 수 있습니다. Grub Bios 파티션의 필요성은 부팅 디스크의 파티션 테이블 유형에만 의존합니다.

2.4.1.4. 편의 파티션

필수 파티션은 아니지만 디스크 레이아웃을 디자인할 때 고려해야 하는 몇 가지 다른 파티션이 있습니다. 다음 목록은 포괄적이지는 않지만 참고용으로 제공됩니다.

/boot - 적극 권장합니다. 커널 및 기타 부팅 정보를 저장하려면 이 파티션을 사용합니다. 대용량 디스크의 잠재적인 부팅 문제를 최소화하려면 이 파티션을 첫 번째 디스크 드라이브의 첫 번째 물리적 파티션으로 만드세요. 파티션 크기는 200메가바이트가 적당합니다.

/boot/efi - UEFI로 시스템을 부팅하는 데 필요한 EFI 시스템 파티션입니다. 자세한 내용은 BLFS 페이지를 참조하세요.

/home - 적극 권장합니다. 여러 배포판 또는 LFS 빌드에서 홈 디렉토리 및 사용자 사용자 지정을 공유합니다. 크기는 일반적으로 상당히 크며 사용 가능한 디스크 공간에 따라 다릅니다.

/usr - LFS에서 /bin, /lib 및 /sbin은 /usr에 있는 해당 디렉터리에 대한 심볼릭 링크입니다. 따라서 /usr에는 시스템 실행에 필요한 모든 바이너리가 들어 있습니다. LFS의 경우 /usr에 대한 별도의 파티션은 일반적으로 필요하지 않습니다. 어쨌든 파티션을 만든다면 시스템의 모든 프로그램과 라이브러리가 들어갈 수 있을 만큼 충분히 큰 파티션을 만들어야 합니다. 이 구성에서 루트 파티션은 매우 작을 수 있으므로(1기가바이트 정도) 씬 클라이언트나 디스크가 없는 워크스테이션(원격 서버에서 /usr을 마운트하는 경우)에 적합합니다. 그러나 별도의 /usr 파티션이 있는 시스템을 부팅하려면 (LFS에서 다루지 않는) initramfs가 필요하다는 점에 유의해야 합니다.

/opt - 이 디렉터리는 /usr 계층 구조에 파일을 포함하지 않고 KDE 또는 Texlive와 같은 여러 개의 대용량 패키지를 설치할 수 있는 BLFS에 가장 유용합니다. 사용하는 경우 일반적으로 5~10기가바이트가 적당합니다.

/tmp - 기본적으로 systemd는 여기에 tmpfs를 마운트합니다. 이 동작을 재정의하려면 LFS 시스템을 구성할 때 섹션 9.10.3, "/tmp에 대해 tmpfs 비활성화하기"를 따르세요.

/usr/src - 이 파티션은 BLFS 소스 파일을 저장하고 LFS 빌드 간에 공유할 수 있는 위치를 제공하는 데 매우 유용합니다. 또한 BLFS 패키지를 빌드하기 위한 위치로도 사용할 수 있습니다. 30~50기가바이트의 비교적 큰 파티션은 충분한 공간을 제공합니다.

시스템 시작 시 자동으로 마운트할 별도의 파티션은 /etc/fstab 파일에 지정해야 합니다. 파티션을 지정하는 방법에 대한 자세한 내용은 섹션 10.2, "/etc/fstab 파일 만들기"에서 설명합니다.