2009년 10월 8일 목요일

11


젠투리눅스 설치 젠투리눅스 2004/06/19 00:17
http://blog.naver.com/joldan23/140003397313 1.4설치문서번역 UserPreferences
대한민국 젠투리눅스 대문 바뀐글 제목 사용자모임 Gentoo.org ________________________________________젠투 리눅스 1.4 설치 문서 설치에 관해서 소개 CD로 설치 요구사항 설치 방법의 선택 설치 과정부팅 선택적 하드웨어 구성 부가적인 네트워크 설정 이미 잘 작동한다면 PPPoE 설정 자동 네트워크 설정 수동 DHCP 설정 수동 고정IP 설정 프록시 설정 네트워킹이 동작!시스템 날짜, 시각 설정 파일시스템, 파티션, 블록 디바이스 블록 디바이스 소개 파티션, fdisk fdisk를 이용해 파티션 설정하기 파일시스템 생성하기파티션 마운트하기 스테이지 타르볼과 chroot 스테이지 압축 파일 선택 스테이지 타르볼 압축풀기 GRP 패키지/스냅샷 이용자 미러의 선택 (선택 사항) chroot로 들어가기sync로 최근 포테이지 트리 얻기 젠투 최적화 환경 설정하기 (make.conf) 스테이지1 에서 시작하기 스테이지2 에서 시작하기 또는 스테이지1 에서 계속하기 스테이지3 에서 시작하기 시간대 설정하기 /etc/fstab 수정하기 커널과 시스템 로거의 설치 커널의 선택 genkernel을 이용한 커널 컴파일 수동 커널 설정 특정 하드웨어 관련 ebuild 설치하기 시스템 로거 설치하기기타 필요한 패키지 설치 사용자 관리 루트 패스워드 설정하기 일반 작업을 위한 사용자 추가호스트 이름 설정하기 /etc/hosts 파일의 수정 네트워크 최종 설정 커널 모듈의 적재 네크워크 인터페이스 설정 PCMCIA 사용자최종 단계: 기본 환경 설정 (키맵 언어 세팅을 포함) 부트로더의 설정 설정에 앞서 GRUB의 설정 LILO의 설정 프레임버퍼의 사용부트디스크의 생성 GRUB 부트디스크 LILO 부트디스크GRP 사용하기 설치 완료! 특수한 하드웨어 환경에서의 설치 하드웨어 ATA RAID번역에 대한 의견1 젠투 리눅스 1.4 설치 문서1.1 설치에 관해서1.1.1 소개젠투리눅스로 온걸 환영합니다! 젠투리눅스는 매우 다양한 방법으로 설치할 수 있습니다. 빠른 설치를 원하는 사람은 미리 빌드된 패키지를 사용할수 있고, 게다가 궁극적인 개인적 맞춤을(the ultimate in customizability) 원하는 사람들은 원본소스로 부터 완전히 젠투리눅스를 컴파일 할 수 있습니다. 그 방법은 여러분이 고르세요. 공식 1.4 배포판(Official 1.4 release) 에 관한 한가지 중대한 변화는 우리의 미러사이트에서 손에 넣을 수 있고 젠투리눅스가게(The Gentoo Linux Store)에서 주문을 할 수도 있는 우리의 새로운 2-CD 설치세트입니다. 우리는 현재 x86(486과 그 이상), i686(Pentium Pro, Pentium II, Athlon/Duron과 그 이상), Pentium III, Pentium 4 그리고 Athlon XP를 위한 2-CD 설치 세트를 가지고 있습니다. 2-CD 세트를 당신이 적절히 사용하기위해서 가게에서 제공되는 각각의 제품에 대한 상세한 설명서를 읽어보세요. 가게의 설명서들은 광범위한 CPU호환정보를 올바르게 담고 있습니다. 여러분은 대부분의 미러사이트에서 LiveCD들의 ISO이미지들을 찾고 다운 받을 수 있습니다. x86 아키텍쳐를 위한 LiveCD들은 releases/x86/1.4/livecd/의 하위디렉토리에 위치합니다. 1.1.2 CD로 설치2-CD 세트 부터 봅시다. 각 CD에 대한 설명을 드리겠습니다. 첫 번째 CD ("CD 1")는 "Live CD 설치" 라고 불리며, 부팅이 가능한 CD 입니다. 무슨 말이냐 하면, "CD 1"을 CD-ROM 드라이브에 넣으면 CD로 부터 직접 젠투 리눅스를 실행 할수 있습니다. 이 CD 기반의 젠투로 젠투 리눅스 1.4를 하드 디스크에 설치 할수 있습니다. 게다가, 부팅 가능한 젠투 리눅스 환경인 CD 1은 젠투 리눅스를 인터넷에 연결 하지 않더라도 빠르게 설치 할수 있는 모든 것이 들어 있습니다. 그리고, XFree86 X 서버같은 미리 컴파일된 패키지도 CD 1에 포함 되어 있습니다, 만약 CD1의 ISO CD-ROM을 가지고 있다면, '-cd1' 이란 이름을 포함 합니다. 반면에, 두번째 CD ("CD 2")는 부팅이 가능하진 않지만 많은 미리 컴파일된 패키지들을 포함합니다. 이 CD에 포함된 KDE, GNOME, OpenOffice, Mozilla, Evolution 같은 패키지들은 최적화된 버전입니다. CD 2는 선택이며, 젠투 리눅스를 빠르게 설치하고 싶은 사람들을 위해 제공됩니다. CD 2에 포함된 패키지들은 일반적인 단일 프로세서 시스템에서 컴파일 할 때 보통 36 시간 정도 걸립니다. CD 2의 ISO CD-ROM 이미지 파일은 '-cd2' 라는 이름을 포함합니다.
주의: 젠투 리눅스의 완전한 2-CD 세트는 GNOME, KDE, Mozilla와 오픈 오피스를 포함하는 완전히 미리 빌드된 젠투 리눅스 시스템인 Gentoo Reference Platform을 포함 합니다. Gentoo Reference Platform ("GRP")는 젠투 리눅스 패키지를 빠른 시간에 설치하기를 원하는 이들을 위해 만들어 졌습니다. "소스 컴파일" 기능은 젠투 리눅스의 핵심 중에 하나로, 설치 방법으로 완전하게 지원이 됩니다. GRP의 목적은 몇몇 사용자들이 더 편리하게 젠투 리눅스를 이용할 수 있게 함이며, 물론 이로써 젠투의 강력한 "소스 컴파일" 설치를 함으로써 가지는 이득을 일부분 잃어버리게 됩니다.우리는 또한 2-CD 세트 외에 아주 크기가 작으면서도 부팅이 가능한 "기본(basic)" Live CD 역시 제공합니다. 시스템을 부팅시키고 나서는 인터넷 접속 설정이 가능하기 때문에, 네트웍을 통한 젠투 설치가 가능합니다. 이 "기본" CD는 크기가 아주 작기 때문에 빠른 시간에 다운이 가능합니다. 만약 가장 최신 버전의 젠투 리눅스를 설치하고 싶어하고, 빠른 네트워크 환경을 가진 고급 유저라면 적절한 선택이 될 것입니다. "기본" Live CD의 ISO CD-ROM 이미지 파일은 '-basic'이란 문구가 이름에 포함되어 있습니다. 1.1.3 요구사항젠투 리눅스를 CD 기반으로 설치하기 위해서는 486+ 이상의 프로세서와 64MB 이상의 RAM이 권장됩니다. (젠투 리눅스를 64MB RAM + 64MB 스왑 공간의 환경에서 성공적으로 설치가 가능했었습니다만, 빌드 속도는 정말 끔찍하게 느렸습니다.) 1.1.4 설치 방법의 선택Live CD 세트 중 하나를 이용해서 부팅을 했다면, 이제 좀 더 많은 옵션을 사용할 수 있습니다. 젠투 리눅스는 다음의 세가지 "스테이지(Stage)" 타르볼 파일들 중 하나를 이용해서 설치될 수 있습니다. 어떤 스테이지 파일을 선택하느냐는 여러분이 젠투 리눅스 시스템의 얼마만큼을 여러분 스스로 컴파일해서 구축하고자 하느냐에 달려 있습니다. 스테이지1의 타르볼은 젠투 리눅스로 부팅하고 전체 시스템을 빌드하고자 할 때 사용됩니다. 스테이지2의 타르볼은 "semi-compiled" 상태에서 전체 시스템을 빌드하고자 할 때 사용됩니다. 스테이지3의 타르볼은 여러분들을 위해서 이미 빌드된 기본적인 젠투 리눅스 시스템을 포함하고 있습니다. 만약 "GRP" 설치 방법으로 시스템을 구축하고자 한다면 스테이지3 타르볼을 반드시 사용해야 합니다. 만약 GRP 설치 방법을 사용하지 않는다면, 여러분은 스테이지1, 스테이지2, 혹은 스테이지3 타르볼 파일에서부터 시작해야 합니다 여러분의 결정을 도와줄 몇 가지 정보를 아래에서 확인하십시오. 스테이지1에서 시작하게 된다면, 여러분은 최적화와 관련된 설정 및 기본적으로 여러분의 시스템에 활성화되어 있는 선택적인 빌드타임 기능들을 전체적으로 제어할 수 있게 됩니다. 이 선택은 자신이 무슨 작업을 하고 있는지 알고 있는 파워 유저들에게 아주 적합한 설치 방법입니다. 또한 이 설치 방법은 젠투 리눅스의 내부적인 작업에 대해 좀 더 자세히 알고 싶어하는 사용자들에게 더 없이 좋은 설치 방법입니다. 스테이지2를 이용하는 설치는 부트스트랩 프로세스를 건너뛸 수 있고, 개별적인 스테이지2 타르볼에서 이미 선택되어 있는 각각의 최적화 설정들에 만족한다면 이 설치방법이 아주 적절합니다. 그리고 스테이지3를 이용한 설치는 젠투 리눅스를 가장 빠르게 설치할 수 있게 해 주지만, 초보자들을 위해 이미 기본적으로 선택된 최적화 설정들 (이것들은 적절한 설정값들이며 안정성을 유지하면서 성능를 개선할 수 있도록 고려하여 선택되어진 사항들입니다)이 기본 시스템에 적용된다는 것을 의미합니다. 젠투 리눅스의 릴리즈에서는 다양한 프로세서들에 최적화된 스테이지3 타르볼들을 제공하므로, 스테이지3를 이용한 설치 방법은 가장 적절한 설치과정을 제공할 수 있습니다 -- 즉, 빠른 설치와 잘 최적화된 시스템 두 가지 모두를 실현할 수 있습니다. 만약 젠투 리눅스를 처음 설치한다면, 스테이지3 타르볼을 이용한 설치방법을 고려해 보십시오. 혹은 GRP와 함께 스테이지3를 이용하는 것도 좋습니다.
주의: 고급 사용자: 스테이지3를 이용한 설치를 한다면, /etc/make.conf 파일의 CHOST 설정을 변경하면 안됩니다. 만약 이 설정을 변경할 필요가 있다면, 먼저 스테이지1 타르볼을 이용해서 시작해서 원하는 CHOST 설정으로 시스템을 빌드해야 합니다. CHOST 설정은 일반적으로 다음과 같은 형식입니다: i686-pc-linux-gnu.
중요: 만약 설치과정 중에 문제가 발생하여 그것을 버그 리포팅으로 제출하고자 한다면,
http://bugs.gentoo.org 로 보내 주십시오. 만약 여러분이 제출한 버그가 원래의 소프트웨어 개발자들(예를 들어, KDE 개발팀)에게 보내져야 할 필요가 있다면 젠투 리눅스 개발자들이 여러분들의 의견을 충분히 고려하여 제출할 것입니다.
주의: Live CD안에 포함된 설치방법에 관련된 문서들은
http://www.gentoo.org/doc/en/gentoo-x86-install.xml 에 있는 문서보다 오래된 것일 수도 있습니다. 되도록이면 웹에 있는 최근 변경된 설치문서를 참조하도록 하십시오. 1.1.5 설치 과정자, 이제 설치 과정에 대해 간략하게 살펴보겠습니다. 첫 번째로 필요한 CD 이미지들을 다운로드한 후에 CD로 굽고, Live CD를 이용해 부팅합니다. 루트 프롬프트가 나타나면, 파티션을 만들고, 파일시스템을 새로 만들고 스테이지1, 스테이지2 혹은 스테이지3의 타르볼에서 필요한 것들을 풀어냅니다. 만약 스테이지1 이나 스테이지2 타르볼을 사용한다면, 스테이지3에서 필요한 것들을 추출하기 위한 적절한 준비단계를 거치게 됩니다. 시스템 설치단계가 스테이지3에 도달했다면, 이제 시스템 설정을 시작할 수 있고(예를 들어 각 설정파일들을 수정하거나, 부트 로더를 설치하거나 하는 등의 일들), 그것을 이용해 부팅하고 완벽한 기능을 가진 젠투 리눅스 시스템을 갖게 될 것입니다. 기본적인 젠투 리눅스 시스템이 가동된 후에, 이제 2CD로 구성되어 있는 Live CD 세트의 두번째 CD를 사용하여 KDE, GNOME, OpenOffice, Mozilla. 혹은 시스템에 설치하고자 하는 다른 것들을 이미 빌드된 상태로 포함되어 있는 "CD 2"에서 설치할 수 있습니다. 어떤 빌드 프로세스의 스테이지에서 여러분이 설치를 시작했느냐에 따라서 설치과정에 필요한 사항들이 아래에 나열되어 있습니다:
스테이지 타르볼 인터넷 접속 필요 여부 필요한 설치 미디어 CD 단계 1 예 basic 또는 CD 1 파티션/파일시스템 셋업 + emerge sync + bootstrap + emerge system + final config 2 예 basic 또는 CD 1 파티션/파일시스템 셋업 + emerge sync + emerge system + final config 3 아니오(CD 1 사용시), 그 외(예) basic 또는 CD 1 파티션/파일시스템 셋업 + emerge sync(CD 1을 사용한다면 필요없음) + final config 3+GRP 아니오 CD 1, CD 2(선택사항) 파티션/파일시스템 셋업 + final config + install CD 1 pre-built packages (선택사항) + reboot + install extra pre-built packages like KDE and GNOME (if using "CD 2")
주의: 하드웨어 ATA RAID 사용자는 진행하기 전에 이 문서의 아래에 있는 ATA RAID에 대한 섹션을 필히 읽고 넘어가세요. 1.2 부팅
경고: 진행하기 전에 이 섹션의 각별히 유용한 부트옵션들을 모두 읽으세요. 그렇지 않으면 키보드 설정이 잘못되거나 부팅시 PCMCIA서비스가 시작되지 않는 등의 문제를 초래할 수 있습니다... 시스템에 적절하다고 생각되는 Live CD를 이용하여 부팅하게 되면, 젠투 리눅스 로고가 뜨는 예쁜 부트 화면을 볼 수 있습니다. 엔터 키를 눌러 부트 과정을 시작할 수 있고, 커널이름 뒤에 부트옵션을 지정하고 엔터 키를 눌러 Live CD로 부팅할 수도 있습니다. 예를 들어: gentoo nousb nohotplug 등과 같이 옵션을 줄 수 있습니다. 만약 하나 이상의 프로세서(CPU)를 가진 시스템에 젠투 리눅스를 설치하고자 한다면(보통 "SMP(Symmetric Multi Processor)"라고 함), gentoo 대신에 smp 라고 프롬프트에 입력해야 합니다. 이 부트 옵션은 Live CD가 첫번째 프로세서뿐만 아니라 여러분의 시스템에 있는 모든 프로세서를 검색할 수 있게 합니다. 사용가능한 커널과 옵션들의 리스트를 알기 위해 다음의 표를 참조하거나, F2 또는 F3 키를 눌러 도움말 화면을 보십시오.
사용가능한 커널 설명 gentoo 표준 젠투 커널(기본옵션) nofb 프레임버퍼 모드 사용안함 smp 프레임버퍼를 사용하지 않고 SMP 커널을 로드 acpi ACPI를 사용하고 ACPI 관련 모듈을 시스템 초기화 단계에서 적재 memtest 메모리 테스트 프로그램 사용
사용가능한 부트옵션 설명 doataraid Initial RAM Disk로부터 IDE RAID 모듈을 적재 dofirewire Initial RAM Disk로부터 FireWire 모듈들을 사용하도록 함(IEEE1394용 CDROM 등) dokeymap 일반 미국식 키맵이 아닌 다른 키맵을 선택할 수 있도록 함 dopcmcia PCMCIA 서비스 시작 doscsi SCSI 장치들을 검색(일부 이더넷 카드는 제대로 검색하지 못함) noapm APM(고급 전원관리) 모듈을 적재하지 않음 nodetect 자동 하드웨어 검색기능을 실행하지 않음(hwsetup/kudzu 및 hotplug) nodhcp 네트워크 인터페이스 카드가 감지되면 DHCP가 자동 실행되지 않게 함 nohotplug HotPlug 서비스 사용안함 noraid evms 모듈 사용안함 nousb Initial RAM Disk에서 USB 모듈을 사용안함, HotPlug 기능도 사용안함 ide=nodma 제대로 동작하지 않는 IDE 장치들에 대해 DMA를 강제로 사용하지 않게 함 cdcache CD의 전체 실행환경(라이브러리 등)을 RAM으로 복사함. 이 옵션은 약 40MB의 RAM을 사용하지만 /mnt/cdrom 을 마운트 해제하고 다른 CDROM을 마운트 할 수 있게 합니다. 엔터 키를 누르면, 미려한 부트 화면을 볼 수 있고 진행상황이 표시됩니다.
경고: 만약 스크린에 부트 화면이 나타나지 않고 검은색 빈 화면만 보인다면, "nofb" 커널옵션으로 다시 부팅을 시도해 보십시오. 이러한 현상은 현재 커널이 여러분의 시스템에 설치된 그래픽 어댑터에서 프레임버퍼(X 서버를 사용하지 않는 그래픽 모드)를 제대로 지원하지 못하기 때문에 일어나는 것입니다.일단 부트 과정이 완료되면 여러분은 이제 "수퍼 유저" 권한을 가진 "root"로 젠투 리눅스 시스템에 자동적으로 로그인 하게 됩니다. 이 상태에서 여러분은 현재 콘솔 화면에 "#"로 표시되는 루트 프롬프트를 볼 수 있으며, Alt-F2, Alt-F3 혹은 Alt-F4 를 눌러 다른 콘솔로 변경할 수 있습니다. 처음 시작한 콘솔로 되돌아 가려면 Alt-F1을 누르면 됩니다.
주의: 고급 사용자 : Live CD로 부팅을 하게되면 root 패스워드는 보안상의 이유로 랜덤하게 설정됩니다. 만일 Live CD로 부팅을 한 시스템에 sshd를 이용하여 원격에서 로그인을 하려면 passwd 명령어를 이용하여 root 패스워드를 변경하여야 합니다. 그렇지않으면 Live CD로 부팅한 시스템에 네트워크상에서 로그인을 하기위해 필요한 패스워드를 알 수는 없습니다.곧 알아채겠지만, # 프롬프트 상단에는 네트워킹 설정과 CD 내에서의 스테이지 타르보로가 패키지 위치에 관한 도움글이 있을 것입니다. 1.3 선택적 하드웨어 구성Live CD로 부팅하면 여러분의 모든 하드웨어장치들을 검색(detect)하고 하드웨어지원을위한 적절한 커널모듈을 로드합니다. 대부분의 경우에 이는(하드웨어 검색 및 커널모듈로드) 매우 잘 되지만 어떤 경우에는 여러분의 시스템에 필요한 커널모듈을 자동으로 로드하지 못할 수도 있습니다. 여러분 시스템의 PCI 자동 인식(auto-detection)이 실패하면, 이에 해당하는 적당한 모듈을 수동으로 로드해 주어야 합니다. 네트워크 카드 모듈 목록을 보시려면 ls /lib/modules/uname -r/kernel/drivers/net/* 을 입력하시면 됩니다. 여기에서 적당한 모듈을 로드하기 위해서는 다음과 같이 입력하시면 됩니다:
코드 3.1: PCI 모듈 설정 (pcnet32 부분을 자신에게 적합한 NIC 모듈로 바꿔주셔야 합니다)# modprobe pcnet32 마찬가지로 초기 부트 시에 자동으로 검색되지 않은 SCSI 하드웨어를 이용하기 원한다면, modprobe를 이용해 /lib/modules 에서 적합한 모듈을 적재해 주어야 합니다:
코드 3.2: SCSI 모듈 적재하기 (aic7xxx 부분을 자신에게 적합한 SCSI 어뎁터 모듈로 바꿔주셔야 합니다)# modprobe aic7xxx(sd_mod는 SCSI 디스크 지원을 위한 모듈입니다)# modprobe sd_mod
주의 SCSI CD-ROM 이나 디스크들에 대한 지원은 커널안에 빌드되어 있습니다.
주의 고급 사용자: 젠투 Live CD에서는 디스크의 DMA를 활성화 하기 때문에 가능한 한 빠른 성능을 발휘할 수가 있습니다. 만약 어떤 이유로 설정이 되지 않았다면 다음과 같이 hdparm을 이용해 드라이브의 DMA를 설정할 수 있습니다:
코드 3.3: Setting DMA (hdX를 당신의 하드 장치로 변경 하세요)(Enables DMA: )# hdparm -d 1 /dev/hdX (DMA와 다른 안전한 성능을 활성화-향상된 설정:)# hdparm -d1 -A1 -m16 -u1 -a64 /dev/hdX(Force-enables Ultra-DMA -- dangerous -- may cause some drives to mess up:)# hdparm -X66 /dev/hdX 1.4 부가적인 네트워크 설정1.4.1 이미 잘 작동한다면자신의 시스템이 이더넷 네트워크(Ethernet network)에 연결되어 있다면, 이미 네트워크 설정이 자동으로 되어 있을 것입니다. 제대로 설정이 되어있다면 Live CD 내의 network-aware 명령어인 ssh, scp, ping, irssi, wget, link 와 그외 다른 많은 명령어들 또한 이용하실 수 있습니다. 만일 네트워크가 올바르게 설정되어 있다면, /sbin/ifconfig 명령어를 이용하여 lo 외에 eth0 와 같은 인터넷 인터페이스를 볼 수 있습니다.
코드 4.1: 네트워크 카드 작업을 위한 /sbin/ifconfig eth0_______Link encap:Ethernet HWaddr 00: 50: BA: 8F: 61: 7A___________inet addr: 192.168.0.2 Bcast: 192.168.0.255 Mask: 255.255.255.0___________inet6 addr: fe80:: 50: ba8f: 617a/10 Scope: Link___________UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1___________RX packets: 1498792 errors: 0 dropped: 0 overruns: 0 frame: 0___________TX packets: 1284980 errors: 0 dropped: 0 overruns: 0 carrier: 0___________collisions: 1984 txqueuelen: 100___________RX bytes: 485691215 (463.1 Mb) TX bytes: 123951388 (118.2 Mb)___________Interrupt: 11 Base address: 0xe800 또한, 여러분 ISP의 DNS(/etc/resolv.conf 에 설정되어있는) 서버와 웹 사이트에 패킷이 제대로 도달하는지, DNS가 제대로 작동하는지 등을 테스트하기 위해 ping 테스트를 시도할 수도 있습니다.
코드 4.2: 네트워크 테스팅 # ping -c 3
www.yahoo.com 자신의 네트워크가 제대로 동작한다면 이 섹션의 다음 부분은 건너뛰어도 됩니다. 1.4.2 PPPoE 설정인터넷 접속을 위해 PPPoE가 필요한 상황이라면, (아무 버전의) Live CD에 포함된 rp-pppoe를 이용하면 쉽게 설정 가능합니다. 제공되는 adsl-setup 스크립트를 이용하여 접속 설정을 합니다. 당신의 adsl 모뎀에 접속된 ethernet 장치, username, 패스워드, DNS 서버의 IP, 방화벽 이용 여부에 대해서 입력해 주어야 합니다.
코드 4.3: PPPoE 설정 # adsl-setup# adsl-start 만일 무언가 잘못되었다면 /etc/ppp/ppp-secrets 또는 /etc/ppp/chap-secrets 파일에 저장된 username과 패스워드가 정확한지 확인하고, ethernet 디바이스에 이상이 있는지 확인합니다. 1.4.3 자동 네트워크 설정자동적으로 설정이 되지 않았다면, 네트워크 설정을 가장 쉽게 하는 방법은 net-setup 스크립트를 실행하는 것입니다:
코드 4.4: Net-Setup 스크립트 # net-setup eth0 물론 직접 수정해 주는 것도 가능합니다. 바로 다음에 다룹니다. 1.4.4 수동 DHCP 설정DHCP를 이용한 네트워크 설정은 간단합니다; 만약 자신의 ISP가 DHCP를 이용하지 않는다면, 이 섹션을 건너뛰어 아래의 고정IP 설정 내용을 보십시오.
코드 4.5: DHCP를 이용한 네트워크 설정 # dhcpcd eth0
주의: 어떤 ISP들은 제공하는 hostname을 요구합니다. dhcpcd 명령어에 -h myhostname 플레그를 더함으로 해결할 수 있습니다. dhcpConfig 경고가 발생하더라도, 대수롭지 않은 에러이므로 당황하지 않으셔도 됩니다; 이제 네트워크 테스트 섹션으로 건너 가십시오. 1.4.5 수동 고정IP 설정일단 시스템을 빌드하기 위한 소스파일을 다운받기만 하면 되므로, 단순히 네크워킹이 가능할 정도만 설정해 주면 됩니다. 다음을 보십시오.
Information Description Example value IP address 네트웍카드에 할당하려는 IP주소 192.168.1.2 Broadcast address 네트웍안의 모든 호스트에 브로트캐스트할 IP주소(The IP address which will broadcast the packets to all the hosts in the network) 192.168.1.255 Network mask 호스트와 네트웍을 확인하기위한 주소 범위를 보여주는 IP주소와 함께 사용되는 마스크(The mask which is used together with the IP address to see what part of the address is for network-identification and host-identification) 255.255.255.0 Gateway 외부로 나가는 패킷을 전송하기의한 컴퓨터의 IP주소(The IP address of the computer which will forward the packets that are not meant for the local network (most of the time the computer which shares the internet connection)) 192.168.1.1 아래 명령줄에서 $IFACE는 네트워크 장비(보통 eth0) 로, $IPNUM는 IP 주소로, $BCAST는 자신의 broadcast 주소로, $NMASK는 자신의 네트워크 마스크로 치환합니다. route 명령줄에서는 $GTWAY를 자신의 기본 게이트웨이 주소로 치환하면 됩니다.
코드 4.6: 고정 IP 네트워크 설정 # ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK# route add -net default gw $GTWAY netmask 0.0.0.0 metric 1 $IFACE 이제 name resolution (Web/FTP 사이트를 IP 주소 대신 domain name으로 검색하는 것) 가 동작하도록 /etc/resolv.conf 파일을 생성합니다. /etc/resolv.conf를 편집하기 위해 nano -w /etc/resolv.conf 를 입력합니다. nano는 작고 쓰기 편한 편집기 입니다. /etc/resolv.conf 파일의 템플릿을 보겠습니다.
코드 4.7: /etc/resolv.conf 의 예 domain mydomain.comnameserver 10.0.0.1nameserver 10.0.0.2 10.0.0.1 과 10.0.0.2 부분은 자신의 DNS 서버(주 서버와 보조 서버)의 IP를 입력해야 합니다. 1.4.6 프록시 설정만약 프록시 서버를 이용한다면, 앞으로 진행하기 전에 우선 프록시 설정을 해야 합니다. 설정을 위해 다음과 같이 몇 가지 환경변수를 export 합니다.
코드 4.8: 프로시 설정 (If the proxy restricts HTTP traffic:)# export http_proxy="
http://machine.company.com:1234"(If the proxy restricts FTP traffic:)# export ftp_proxy="ftp://machine.company.com"(If the proxy restricts RSYNC traffic:)# export RSYNC_PROXY="rsync://machine.company.com"
주의: 당신이 사용하는 프록시가 인증을 요구한다면,
http://username:password@machine.company.com 같이 구성하여 사용하세요. (추가된 "username:password@"에 주의) 1.4.7 네트워킹이 동작!이제 네트워킹이 제대로 설정되어 사용이 가능합니다. 또한 연결된 LAN 망, 또는 인터넷을 통하여 ssh, links, irssi, wget 커맨드 등을 이용해 다른 머신으로의 접속도 가능해 졌습니다. 1.5 시스템 날짜, 시각 설정이제 시스템의 날짜와 시각을 설정해야 합니다. date 명령어를 이용하면 됩니다.
코드 5.1: 시스템 날짜, 시각 설정 # date Thu Feb 27 09:04:42 CST 2003(현재 시각 설정이 잘못되어있다면, 다음과 같이 date 명령어를 이용해 변경해 줍니다:)# date 022709042003(date MMDDhhmmCCYY) 1.6 파일시스템, 파티션, 블록 디바이스1.6.1 블록 디바이스 소개이 섹션에서는 리눅스 파일시스템, 피티션, 블록 디바이스 등을 포함하여, 젠투리눅스와 리눅스의 디스크 관련의 일반적인 사항들을 살펴볼 것입니다. 디스크의 설치 및 제거와 파일시스템에 익숙하더라도, 일단 앞으로 젠투리눅스 설치를 위해 파티션과 파티션을 설정하는 과정을 안내하겠습니다. 먼저 블록 디바이스를 보겠습니다. 가장 유명한 블록 디바이스라면 아마도 리눅스 시스템 상의 첫 번째 IDE 드라이브일 것입니다:
코드 6.1: /dev/hda, 시스템의 프라이머리 마스터 IDE 드라이브를 나타내는 블록 디바이스 /dev/hda 만약 SCSI 드라이를 사용한다면, 첫 번째 하드 드라이브는 다음과 같겠습니다:
코드 6.2: /dev/sda, 시스템의 첫 번째 논리적 SCSI 드라이브를 나타내는 블록 디바이스 /dev/sda 위에서 예를 든 블록 디바이스들은 디스크의 추상적인 인터페이스를 나타냅니다. 사용자 프로그램들은 드라이브가 IDE 이건 SCSI 이건, 혹은 다른 종류이건 간에 상관없이 이들 블록 디바이스를 이용해 사용가능합니다. 프로그램은 단순히 디스크 저장공간을 여러 다발의 임의 접근(random access)이 가능한 512 바이트 블록들로 주소 접근이 가능합니다. 1.6.2 파티션, fdisk리눅스 상에서 파일시스템을 생성하기 위해서는 mkfs (또는 mke2fs, mkreiserfs 등) 명령어를 사용하며, 명령어 인자로 해당 블록 디바이스를 지정합니다. 블록 디바이스 전체를 하나의 파일 시스템으로 구성하여 /dev/hda 나 /dev/sda 형태로 "하나의 디스크"로 사용하는 것이 가능하긴 하지만, 실제로 이렇게 사용하는 경우는 드뭅니다. 대신 디스크 블록 디비아스를 작은 몇 개의 공간으로 쪼개는데, 보통 이를 "파티션"이라 합니다. 파티션은 fdisk 라는 도구를 이용하여 관리가 가능한데, 각 디스크에 저장돼있는 파티션 테이블을 생성하고 수정하는 등의 작업이 가능합니다. 파티션 테이블에는 전체 디스크 구획 정보가 저장됩니다. fdisk를 실행하여 디스크의 파티션 테이블 상태를 볼 수 있습니다. 전체 디스크를 나타내는 블록 디바이스 이름(역자: /dev/hda 같은)을 인자로 뒤에 지정하면 됩니다:
주의: Alternate interfaces to the disk's partition table include cfdisk, parted and partimage. We recommend fdisk because it's more powerful and well known in the Unix/Linux world.
코드 6.3: fdisk 실행하기 # fdisk /dev/hda 또는
코드 6.4: /dev/sda 상의 파티션 테이블을 보기위해 fdisk 실행하기 # fdisk /dev/sda
중요: Note that you should not save or make any changes to a disk's partition table if any of its partitions contain filesystems that are in use or contain important data. Doing so will generally cause data on the disk to be lost. fdisk를 실행시키면, 다음과 같은 화면이 나타납니다:
코드 6.5: fdisk 프롬프트 Command (m for help): p 를 입력하면 디스크의 현재 파티션 설정이 출력됩니다:
코드 6.6: 파티션 설정의 예 Command (m for help): p
Disk /dev/hda: 240 heads, 63 sectors, 2184 cylindersUnits = cylinders of 15120 * 512 bytes
Device Boot_______Start_______End_____Blocks___Id__System/dev/hda1_____________1________14____105808+__83__Linux/dev/hda2____________15________49____264600___82__Linux swap/dev/hda3____________50________70____158760___83__Linux/dev/hda4____________71______2184__15981840____5__Extended/dev/hda5____________71_______209___1050808+__83__Linux/dev/hda6___________210_______348___1050808+__83__Linux/dev/hda7___________349_______626___2101648+__83__Linux/dev/hda8___________627_______904___2101648+__83__Linux/dev/hda9___________905______2184___9676768+__83__Linux
Command (m for help): 위에서 예로 든 디스크는 스왑 파티션(리스트에 'Linux swap' 으로 표시된 파티션) 과 7개의 리눅스 파일 시스템 (리스트에 'Linux' 라고 표시된 파티션)으로 구성되어 있습니다. 각 파티션 블록 디바이스에 대응하는 이름이 /dev/hda1 에서부터 /dev/hda9 까서 순서대로 결정되어 있는 것을 볼 수 있습니다. PC 초기에는 나눌 수 있는 파티션의 개수가 네 개로 제한되어 있었습니다 (프라이머리 파티션). 이것은 너무 제한적이었기 때문에, 확장 파티션이라는 새로운 개념이 만들어 졌습니다. 확장 파티션은 프라이머리 파티션과 매우 유사하며, 역시 네 개까지 생성할 수 있는 제한이 있습니다. 하지만 확장 파티션은 많은 수의 논리적 파티션을 수용할 수 있기 때문에, 네 개의 제약은 별 문제가 되지 않습니다. /dev/hda5 이상의 파티션들은 모두 논리적 파티션들입니다. 또, 1부터 4까지는 프라이머리 파티션 또는 확장 파티션 입니다. 즉, /dev/hda1 부터 /dev/hda3 까지는 primary 파티션 입니다. /dev/hda4는 확장 파티션으로 logical 파티션들인 /dev/hda5 부터 /dev/hda9 까지를 포함합니다. /dev/hda4 에는 실제로는 어떤 파일시스템을 저장하지는 않습니다 -- 쉽게 말해서 /dev/hda5 부터 /dev/hda9 까지의 파티션을 담는 컨테이너 역할을 하는 것입니다. 또한 각각의 파티션은 '파티션 유형' 또는 'ld' 라고 하는 속성을 가지고 있습니다. 새로운 파티션을 생성할 때마다 파티션 유형이 정확하게 설정되도록 해야합니다. '83' 은 리눅스 파일시스템을 저장할 파티션을 위한 올바른 유형이며, '82' 는 리눅스 스왑파티션을 위한 유형, 'fd'는 소프트웨어 레이드 파티션을 위해 권장되는 파티션 유형입니다. 파티션 유형은 fdisk 에서 't' 옵션을 이용해 지정합니다. 리눅스 커널은 부팅시 디스크 상에서 자동으로 검색하도록 되어있는 파일시스템과 스왑 디바이스를 사용합니다. 리눅스 커널은 부트 시 디스크 상의 파일시스템과 스왑 디바이스를 자동으로 인식합니다. 1.6.3 fdisk를 이용해 파티션 설정하기지금까지 리눅스 상에서의 디스크 파티션 분할 방법에 대해 소개하였습니다. 이제는 젠투 리눅스 설치를 위한 디스크 파티션 셋팅을 해 봅시다. 파티션 생성 작업을 마치고 나면, 파티션 설정은 다음과 같을 것입니다:
코드 6.7: The partition configuration that you will have after following these steps Disk /dev/hda: 30.0 GB, 30005821440 bytes240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytes
Device Boot________Start______End____Blocks___Id__System/dev/hda1___*_________1________14____105808+__83__Linux/dev/hda2____________15________81____506520___82__Linux swap/dev/hda3____________82______3876__28690200___83__Linux
Command (m for help): '초심자'를 위해 추천하는 파티션 설정방법은, 일단 세 개의 파티션으로 나누는 것입니다. 첫 번째 것은 (/dev/hda1) 디스크 처음 부분에 있는 작은 파티션으로, 부트 파티션이라고 부릅니다. 부트 파티션에는 리눅스 커널(들)이나, (GRUB을 사용한다면) GRUB 부트 로더의 정보 등 부팅에 관련된 중요한 데이터들이 저장됩니다. 부트 파티션은 리눅스 부팅에 관련된 모든 정보들을 안전하게 저장하는 공간입니다. 일상적인 사용 시에는, 안전성을 위해 부트 파티션을 마운트 되지 않는 상태로 유지합니다. 만약 SCSI 시스템을 셋팅한다면, 자신의 부트 파티션은 /dev/sda1 이 될 것입니다. (부트 로더를 포함하는) 부트 파티션은 디스크의 처음 부분에 있는 것이 좋습니다. 지금이야 상관이 없지만, 예전에 lilo 부트 로더가 파일시스템에서 디스크의 1024번째 실린더 이후의 커널을 읽어들이지 못한 때에 생긴 유용한 습관입니다. 두 번째 파티션 (/dev/hda2)은 스왑 공간을 위한 것입니다. 커널에서는 RAM에 여유 공간이 충분치 않을 때, 가상 메모리로써 스왑 공간을 이용합니다. 이 파티션은 그다지 크게 잡을 필요는 없으며, 보통 512M 정도를 할당합니다. 이 파티션 또한 SCSI 시스템에서는 /dev/sda2 가 될 것입니다. 세 번째 파티션 (/dev/hda3) 는 꽤 커서, 디스크의 나머지 부분을 모두 할당합니다. 이 파티션을 우리가 'root' 파티션이라 부르며, 젠투 리눅스 본체를 포함하는 메인 파일시스템이 기록됩니다. 역시 SCSI 시스템에서는, 이 파티션이 /dev/sda3 가 됩니다. 파티션 설정을 하기 전에, 젠투 리눅스 설치를 위해 추천하는 파티션 분할과 파일 시스템 설정법에 관한 개략적인 기술 정보를 읽어 보시기 바랍니다:
파티션 사이즈 타입 디바이스 예제 부트 파티션 (커널과 부트관련 정보를 포함합니다) 32 메가바이트 Ext2/3 매우 권장 (easiest); 만약 ReiserFS를 사용한다면 -o notail 옵션과 함께 마운트 해야합니다. ext3나 ReiserFS 사용시 파티션 사이즈 이외에 저널을 기록하기 위한 추가적인 공간이 필요합니다. 이경우 64 메가바이트가 권장됩니다. /dev/hda1 스왑 파티션 (128 메가바이트 제한은 더 이상 없습니다, 2 기가바이트까지 가능합니다) 일반적으로 스왑공간은 물리적 메모리의 1배에서 2배사이로 잡습니다. Linux swap /dev/hda2 루트 파티션 (/usr, /home 등의 주된 파티션들을 포함합니다) >=1.5 기가바이트 ReiserFS, ext3 권장; ext2 가능 /dev/hda3 지금부터 상단의 예와 표를 참고하여 파티션을 생성해보록 합시다. 먼저, IDE 장비를 쓰는가 혹은 SISC 장비를 쓰는가에 따라, fdisk /dev/hda 또는 fdisk /dev/sda 라고 입력하여 fdisk를 실행합니다. 그런 다음 'p' 를 입력하여 현재의 파티션 설정을 확인합니다. 혹시 디스크에 지우지 말아야 할 중요한 데이터들이 있다면 당장 작업을 중지해야 합니다. 아래 내용을 따라 계속 진행한다면 디스크 상의 모든 데이터들이 사라지게 됩니다.
중요: Following these instructions below will cause all prior data on your disk to be erased! If there is anything on your drive, please be sure that it is non-critical information that you don't mind losing. Also make sure that you have selected the correct drive so that you don't mistakenly wipe data from the wrong drive. 기존에 존재하는 파티션이 있다면 이를 지웁니다. 이를 위해선 'd' 를 입력하면 됩니다. 그러면 지울 파티션의 번호를 묻게 되는데, 이미 존재하는 /dev/hda1 파티션을 지우고 싶다면 다음과 같이 합니다:
코드 6.8: 파티션 삭제하기 Command (m for help): dPartition number (1-4): 1 이제 파티션이 삭제 리스트에 포함이 됐습니다. 'p' 를 입력해 보면, 더 이상 파티션 정보가 나타나지 않는 것을 볼 수 있습니다. 하지만 변경 사항을 저장하기 전까지 실제로 지워지지는 않습니다. 만일 실수를 해서 변경 사항을 저장하고 싶지 않다면, 바로 'q' 입력으로 종료하여 파티션에 대한 삭제 명령이 적용되지 않도록 합니다. 시스템의 모든 파티션을 정리하고 싶다면, 'p' 를 입력하여 파티션 정보를 확인한 다음 'd' 입력 후 삭제를 원하는 파티션 번호를 입력하는 일을 반복합니다. 작업을 마친 후에는 파티션 테이블에 아무 것도 남지 않을 것입니다:
코드 6.9: 빈 파티션 테이블 Disk /dev/hda: 30.0 GB, 30005821440 bytes240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytes
Device Boot____Start_______End____Blocks___Id__System
Command (m for help): 메모리 상의 (in-memory, 역자: 실제로 디스크의 파티션 테이블에 저장된 상태가 아님을 의미) 파티션 테이블이 정리 되었으므로, 부트 파티션을 만들어 봅시다. 새 파티션 작성을 위해 'n' 을 입력하고, 'p'를 입력하여 파티션 유형을 프라이머리 파티션으로 지정합니다. 그 다음 '1'을 입력하여 첫 번째 프라이머리 파티션을 생성하도록 합니다. 시작 실린더를 물을 때 엔터를 누르고, 마지막 실린더를 물을 때는 '+32M' 라고 입력하여 32M 크기의 파티션을 생성합니다. 실제로는 다음과 같이 작업을 하게 됩니다:
주의: Journaled filesystems require extra space for their journal. Default settings require about 33 Megabytes of space. Therefore, if you are using a journaled filesystem for /boot, you should type +64M when prompted for the last cylinder.
코드 6.10: Steps to create our boot partition Command (m for help): nCommand action __e___extended __p__primary partition (1-4)pPartition number (1-4): 1First cylinder (1-3876, default 1): (Hit Enter)Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M 'p' 를 누르면 아래와 같은 출력 화면을 볼 수 있습니다:
코드 6.11: Our first partition has been created Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytes
Device Boot____Start_______End____Blocks___Id__System/dev/hda1__________1________14____105808+__83__Linux 다음으로 스왑 파티션을 작성해 봅시다. 역시 새 파티션 작성을 위해 'n' 을 입력하고, 'p'를 입력하여 파티션 유형을 primary 파티션으로 지정합니다. 다음 '2' 를 입력하여 두 번째 프라이머리 파티션을 작성하도록 합니다. 시작 실린더를 물을 때는 엔터를 입력합니다. 마지막 실린더를 물을 때, '+512M' 라고 입력하여 512MB 크기의 파티션을 생성합니다. 위와 같이 작업한 후에는 't' 를 입력해 파티션 유형을 변경 합니다. '2' 를 입력해 방금 작성한 파티션을 선택하고, 파티션 유형 코드번호에는 'Linux Swap'에 해당하는 '82' 를 입력합니다. 전 과정을 완료한 후에, 'p' 를 눌러 파티션 테이블을 확인하면 다음과 유사한 결과가 출력됩니다:
코드 6.12: Our swap partition has been created Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytes
Device Boot____Start________End____Blocks___Id__System/dev/hda1__________1________14____105808+__83__Linux/dev/hda2_________15________81____506520___82__Linux swap 끝으로 루트 파티션을 생성해 봅시다. 새로운 파티션을 생성하려면 메뉴에서 'n' 을 입력하고, 파티션 유형을 묻는 질문에선 프라이머리 파티션을 생성하기 위해 'p' 를 입력합니다. 세 번째 프라이머리 파티션(여기선 /dev/hda3)을 생성해야 하므로 '3' 을 입력합니다. 시작 실린더를 물을 때 엔터를 누르고, 마지막 실린더를 물을 때도 역시 엔터를 입력해 디스크의 남은 전체 공간에 파티션을 생성하게 합니다. 모든 과정을 완료하고 나면, 'p' 를 입력해 파티션 테이블의 상황을 봅니다. 다음과 유사한 내용이 출력될 것입니다:
코드 6.13: Our root partition has been created Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes240 heads, 63 sectors/track, 3876 cylindersUnits = cylinders of 15120 * 512 = 7741440 bytes
Device Boot____Start_______End____Blocks___Id__System/dev/hda1__________1________14____105808+__83__Linux/dev/hda2_________15________81____506520___82__Linux swap/dev/hda3_________82______3876__28690200___83__Linux 마지막으로 우리는 '부팅 가능 (bootable)' 플래그를 부트 파티션에 지정하고 지금까지의 설정을 디스크 기록해야 합니다. /dev/hda1을 '부팅 가능' 파티션으로 지정하려면, 메뉴에서 a 를 입력하고 파티션 번호를 요구하면 1을 입력하면 됩니다. 다시 'p' 를 입력하면 /dev/hda1의 'Boot' 열에 * 표시가 되어있는 것을 볼 수 있을 것입니다. 이제 디스크에 변경 사항을 저장할 차례입니다. 이를 위해선 'w' 를 입력합니다. 우리는 이제 젠투 리눅스 설치를 위해 적합한 파티션 설정을 마쳤습니다.
주의: If fdisk or cfdisk instruct you to do so, please reboot to allow your system to detect the new partition configuration. 1.6.4 파일시스템 생성하기파티션이 생성되었으므로, 부트 파티션과 루트 파티션에 데이터를 저장하고 마운트할 수 있도록 파일시스템을 생성할 차례입니다. 그리고 스왑 공간으로 쓰이는 스왑 파티션 또한 설정해야 합니다. 젠투리눅스는 매우 다양한 종류의 파일 시스템을 지원합니다; 이 파일시스템들은 각각의 장단점과 성능상 특징을 가지고 있습니다. 현재, 젠투리눅스는 ext2, ext3, XFS, JFS, ReiserFS 등의 파일시스템을 지원합니다. ext2 는 신용할만한 리눅스 파일시스템이지만, 메타데이터 저널링을 지원하지 않습니다. 때문에 ext2 는 파일시스템에 검사에 꽤 많은 시간이 소요된다는 단점이 있습니다. 요즘에는 새로운 저널링 파일시스템들이 있어 파일시스템의 검사를 매우 빠른 시간에 수행하기 때문에, 비저널링 파일시스템에 비해 많이 사용되는 추세입니다. 저널링 파일시스템은 파일시스템에 문제가 생셨을 경우, 부트 시 소모되는 시간을 줄여주기도 합니다. ext3 는 ext2 에 저널링 기능이 추가된 버전입니다. 빠른 복구를 위해 메타데이터 저널링을 지원할 뿐만 아니라 풀 데이터 저널링(full data journaling)이나 오더드 데이터 저널링(ordered data journaling) 같은 향상된 저널링 모드들 역시 지원합니다. ext3 는 훌륭하고 안정적인 파일시스템입니다. 거의 모든 상황에서 일정 수준 이상의 성능을 발휘해 줍니다. 내부 디자인에 있어서 '트리'의 사용이 많지 않기 때문에, 큰 규모의 파일시스템에서는 적합하지 않습니다. 이는 매우 큰 파일시스템 상에서나, 아주 덩치가 큰 파일들을 제어하거나 한 디렉토리에 다수의 파일을 담는 등의 상황에서는 이상적인 선택이 아니라는 뜻입니다. 하지만 디자인 상의 한계를 감안하고 사용한다면, ext3 는 괜찮은 파일시스템이라고 할 수 있습니다. ReiserFS 는 B*-트리 기반의 파일시스템으로 전체적으로 우수한 성능을 가지고 있으며, 특히 작은 크기의 파일(4k 이하의)에 대해서는 ext2 와 ext3 에 비해서 훨씬 나은 성능을 보여줍니다(때때로 10-15배의 성능을 보여줍니다). ReiserFS 는 큰 규모의 파일시스템에도 적합하며 메타데이터 저널링 또한 갖추고 있습니다. 2.4.18 버전 이상의 커널에서는 바위같은 안정성을 보여주고 있으며, 일반적인 목적의 파일시스템은 물론, 큰 파일시스템의 생성이나 다수의 작은 파일의 이용, 매우 큰 파일, 수 만개의 파일을 포함하는 디렉토리 등의 극한의 상황에서도 강력히 추천합니다. ReiserFS 는 부트 파티션 이외의 파티션에 기본으로 추천하는 파일시스템입니다. XFS 는 메타데이터 저널링을 지원하는 파일시스템으로 젠투 리눅스의 xfs-sources 커널에 의해 왼벽하게 지원됩니다. 견고한 설계로 인해 스케일러빌러티(scalability)에 최적화 되어있습니다. 우리는 고급 SCSI 장비나 파이버 채널 저장장치를 사용하며, 보조전원 (UPS)이 지원되는 환경에서만 이용을 추천합니다. XFS는 전송중의 데이터를 RAM에 적극적으로 캐쉬하기 때문에, 잘못 설계된 프로그램 (파일의 기록시 적절한 사전조처를 취하지 않는 프로그램으로 꽤 많이 존재합니다)의 이용시 예기치 못한 시스템 다운으로 데이터의 손실이 발생할 수 있습니다. JFS 는 IBM 의 고성능 저널링 파일시스템입니다. 비교적 최근에 출시되었고 자료가 충분히 많지 않기 때문에, 지금으로선 일반적인 안전성에 대해 좋다 나쁘다를 언급하기 힘듭니다. 만약 안정적인 저널링 파일시스템을 원한다면 ext3 를 택하는 것이 좋습니다. 저널링을 지원하는 범용의 고성능 파일시스템을 원한다면 ReiserFS 가 괜찮습니다; ext3 와 ReiserFS 는 모두 완성도 높고, 정밀하기 때문에 일반적 용도로 추천합니다. 위에서 든 예를 기초로, 다음과 같이 파티션을 사용할 수 있도록 초기화 합니다:
코드 6.14: 파티션 초기화 (예제) # mke2fs /dev/hda1# mkswap /dev/hda2# mkreiserfs /dev/hda3 우리는 부트 파티션인 /dev/hda1의 파일시스템을 ext2 로 선택했습니다. 이는 ext2 가 모든 주요 부트 로더가 이를 잘 지원하는 견실한 파일시스템이기 때문입니다. 스왑 파티션인 /dev/hda2에는 위해 mkswap 명령어를 사용했으며, 여기서의 선택은 자명합니다. 우리의 메인 루트 파일시스템인 /dev/hda3 에는 훌륭한 성능을 제공하는 견고한 저널링 파일시스템인 ReiserFS 를 선택했습니다. 자, 지금부터는 파티션을 초기화 해봅시다. 각자의 상황에 맞게, 설치 과정에서 사용되는 파티션 초기화 명령어(mkfs 같은)들을 소개합니다: mkswap 으로 스왑 파티션을 초기화합니다:
코드 6.15: 스왑의 초기화 # mkswap /dev/hda2 mke2fs 커맨드를 이용하면 ext2 파일시스템을 사용할 수 있습니다:
코드 6.16: ext2 파일시스템의 생성 # mke2fs /dev/hda1 ext3 를 사용하기 원한다면, mke2fs -j 명령을 이용해 ext3 파일시스템을 생성할 수 있습니다:
코드 6.17: ext3 파일시스템의 생성 # mke2fs -j /dev/hda3
주의: 리눅스 2.4 에서의 ext3 사용에 관한 더 자세한 정보를 원한다면
http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html 를 방문해 보십시오.ReiserFS 파일시스템을 생성하기 위해서는, mkreiserfs 명령을 사용합니다:
코드 6.18: ReiserFS 파일시스템의 생성 # mkreiserfs /dev/hda3 XFS 파일시스템을 생성하기 위해서는, mkfs.xfs 명령을 사용합니다:
코드 6.19: XFS 파일시스템의 생성 # mkfs.xfs /dev/hda3
주의: You may want to add a couple of additional flags to the mkfs.xfs command: -d agcount=3 -l size=32m. The -d agcount=3 command will lower the number of allocation groups. XFS will insist on using at least 1 allocation group per 4 GB of your partition, so, for example, if you have a 20 GB partition you will need a minimum agcount of 5. The -l size=32m command increases the journal size to 32 Mb, increasing performance. JFS 파일시스템을 생성하기 위해서는 mkfs.jfs 명령을 사용합니다:
코드 6.20: JFS 파일시스템의 생성 # mkfs.jfs /dev/hda3 1.7 파티션 마운트하기새로 생성한 스왑 볼륨을 활성화 합니다. 다음에 추가적으로 가상 메모리를 이용할 수 있도록 하기 위해서 입니다:
코드 7.1: 스왑의 활성화 # swapon /dev/hda2 다음으로 마운트 포인트로서 /mnt/gentoo/boot 디렉토리를 생성하고, 파일시스템을 마운트 합니다. 부트 파티션과 루트 파티션을 마운트 하고 나면, /mnt/gentoo 내에 복사하거나 작성한 파일은 새로운 파일시스템에 위치하게 됩니다. 만약 젠투 리눅스 셋팅시 /usr 디렉토리와 /var 디렉토리의 파일시스템을 따로 독립적으로 생성하였다면, 각각 /mnt/gentoo/usr 과 /mnt/gentoo/var 에 마운트를 해야 합니다.
중요: 만약 자신의 /boot 파티션 (커널이 적재되어 있는 곳)의 파일시스템이 ReiserFS 라면, 마운트 시 -o notail 옵션을 주어 GRUB이 올바르게 설치되도록 해야 합니다. 또한 /etc/fstab의 부트 파티션 난에도 역시 notail 옵션을 적어줘야 합니다. 이에 대해선 조금 후에 다시 언급하겠습니다. 부트로더로 LILO를 사용할 생각이라면 -o notail 옵션이 필요하지 않지만, 어떨지 모를 경우에는 항상 -o notail 옵션을 명시해 주는 것이 안전합니다.
코드 7.2: 마운트 포인트의 생성 # mount /dev/hda3 /mnt/gentoo# mkdir /mnt/gentoo/boot# mount /dev/hda1 /mnt/gentoo/boot
중요: ext2인 부트 파티션을 마운트 하는데 문제가 있다면, mount /dev/hXX /mnt/gentoo/boot -t ext2 명령을 시도해 보시기 바랍니다. 1.8 스테이지 타르볼과 chroot1.8.1 스테이지 압축 파일 선택아직 하지 않았다면, 인스톨의 기반으로 무엇을 사용할지 결정해야 합니다. 각각의 스테이지들은 Live CD의 /mnt/cdrom/stages/ 에 위치하므로, ls /mnt/cdrom/stages/ 명령으로 이용가능한 것들을 볼 수 있습니다. GRP 사용자는 stage3-xx-yy.tar.bz2 형태의 타르볼을 사용해야 합니다. CD에 존재하지 않는 스테이지 타르볼을 사용하여 설치를 하는 것도 가능합니다 (대부분 "기본" Live CD를 사용하는 이에게 해당). 이를 위해선 다음에 나오는 명령어을 이용해 필요한 스테이지를 다운로드할 필요가 있습니다. 이미 필요한 스테이지 타르볼을 가지고 있다면 (대부분의 사용자가 이에 속하겠습니다만) '스테이지 타르볼 압축 풀기' 섹션으로 건너뛰기 바랍니다.
주의: 혹 프록시를 이용하고자 한다면 (프록시 서버 주소가 proxy.server.tld:8080 라고 하면), 아래에 언급된 links 명령줄에 -http-proxy proxy.server.tld:8080 덧붙이면 됩니다.
코드 8.1: 필요한 스테이지 다운받기 # cd /mnt/gentooUse links to get the URL for your tarball:# links
http://gentoo.oregonstate.edu/releases/x86/1.4/Use Up and Down arrows keys (or the TAB key) to go to the right directoryHighlight the appropriate stage you want to downloadPress d which will initiate the downloadSave the file and quit the browser
OR use wget from the command line:# wget (insert URL to the required stage tarball here) 1.8.2 스테이지 타르볼 압축풀기이제 자신이 선택한 스테이지 타르볼의 압축을 /mnt/gentoo 에 풉니다. 주의해야 할 것은, 스테이지 1, 2, 3 중에서 한 가지만 압축을 풀면 된다는 것입니다. 따라서, 스테이지3 을 이용해 젠투를 설치하고자 한다면, 스테이지3 타르볼만 압축을 해제하면 됩니다. 다음과 같이 스테이지 타르볼의 압출을 해제합니다:
중요: tar 명령에 'p' 옵션을 사용해야 한다는 것에 주의해야 합니다. 이 옵션을 빼면 어떤 파일들에서 잘못된 권한 문제가 발생할 수 있습니다.
코드 8.2: 스테이지 타르볼 압축풀기 # cd /mnt/gentooChange "stage3" to "stage2" or "stage1" if you want to start from these stages instead.If you downloaded your stage tarball, change the path below to begin with "/mnt/gentoo/" instead of "/mnt/cdrom/stages/".# tar -xvjpf /mnt/cdrom/stages/stage3-*.tar.bz2 만약 스테이지 타르볼을 /mnt/gentoo 위치에 다운 받았다면, 아래와 같이 입력하여 해당 파일을 지울 수 있습니다: rm /mnt/gentoo/stage*.tar.bz2. 1.8.3 GRP 패키지/스냅샷 이용자
중요: 아래 내용은 GRP 사용자에게만 해당됩니다. GRP 를 사용하지 않는다면, 다음의 '미러의 선택 (선택 사항)' 단계로 건너갑니다. GRP 사용자: Live CD 에는 Portage 의 스냅샷이 포함돼 있습니다. 본 설치문서에 나오는 emerge sync 단계를 건너뛰기 위해서는, 이 스냅샷을 사용할 필요가 있습니다. 그것은 emerge sync 를 위해선 네트워크 연결이 필요하기 때문입니다. 이 스냅샷은 다음과 같이 풉니다:
코드 8.3: Portage 스냅샷 이용하기 Replace yyyymmdd with the datestamp in the filename.# tar -xvjf /mnt/cdrom/snapshots/portage-yyyymmdd.tar.bz2 -C /mnt/gentoo/usr 이것으로 젠투 설치를 위해 Portage 트리의 스냅샷을 풀었습니다. 따라서, 필요치 않다면 네크워크에 접속하여 emerge sync 를 이용해 Portage 트리를 다운로드 받지 않아도 됩니다. 이제 distfiles 과 패키지를 Live CD 에서 복사합니다:
코드 8.4: GRP 파일의 복사 # cp -R /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/distfiles# cp -a /mnt/cdrom/packages /mnt/gentoo/usr/portage/packages GRP 를 이용해 필요한 파일들을 모두 복사하였습니다. 이제 젠투리눅스 설치에 필요한 모든 것들이 갖추어졌으며, 네트워크 연결또한 필수적이지 않습니다. 1.8.4 미러의 선택 (선택 사항)mirrorselect 는 자동으로 현재 위치에서 가장 빠른 미러를 찾아주거나, 목록에서 수동으로 선택해주는 도구입니다. 불행히도 모든 라우터 하에서 잘 작동되지는 않습니다.
코드 8.5: mirrorselect 사용하기 (미러를 자동으로 선택:)# mirrorselect -a -s4 -o >> /mnt/gentoo/etc/make.conf(미러를 직접 선택:)# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf mirrorselect 에 실패하더라도 별다른 문제없이 이 가이드를 따라 진행이 가능합니다. (역주: 이 경우 기본으로 설정된 서버를 이용하며, /etc/make.conf 파일을 직접 수정해 주셔도 됩니다.) mirrorselect 에 실패하는 이유 중 하나는 단순히 mirrorselect 가 포함되지 않았기 때문일 것입니다. mirrorselect 가 모든 설치 미디어에 포함되어 있는 것은 아닙니다. 1.8.5 chroot로 들어가기다음, chroot 를 통해 새로운 젠투리눅스 시스템으로 '진입'합니다.
주의: env-update 시 /etc/make.profile/make.defaults 가 없다는 메시지 (/etc/make.profile/make.defaults isn't available)가 보이더라도 무시하면 됩니다. 나중에 emerge sync 과정을 거치면 해결되는 문제입니다.
코드 8.6: Prepping and entering the chroot environment # mount -t proc proc /mnt/gentoo/proc# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf# chroot /mnt/gentoo /bin/bash# env-updateRegenerating /etc/ld.so.cache...# source /etc/profile(The above points your shell to the new paths and updated binaries) 위의 과정을 통해 재로운 젠투리눅스 환경인 /mnt/gentoo '내부'로 진입했습니다. 이제 남은 설치 과정을 수행해야 합니다. 1.9 sync로 최근 포테이지 트리 얻기
중요: GRP 로 설치했다면 이 섹션은 넘어가도 됩니다. 이제, emerge sync 명령을 실행해야 합니다. 이 명령으로 가장 최신의 젠투리눅스 Portage 트리의 사본을 다운받게 됩니다. 만일 CD 1 에서 Portage 트리 스냅샷을 압축해제 했다면, 이 과정을 건너뛰어도 무방합니다. Portage 트리는 젠투 리눅스에서 패키지를 구축하기 위한 모든 스크립트 (ebuild 라고 불리는)들을 포함하고 있습니다. 현재로는 4000 패키지에 가까운 ebuild 스크립트를 제공하고 있습니다. emerge sync 과정이 완료되면, /usr/portage 에 완전한 Portage 트리가 위치하게 됩니다:
코드 9.1: sync로 업데이트 하기 # emerge sync 만약 새로운 Partage 버전이 출시되어 업데이트를 해야한다는 경고를 받는다면, 그냥 무시해도 됩니다. 설치 과정에서 자동적으로 Partage 가 업데이트 됩니다. 1.10 젠투 최적화 환경 설정하기 (make.conf)Portage 트리를 복사하는 작업이 끝났다면, 이제는 최적화를 위한 커스터마이징과 설치시 부가적 옵션에 대한 셋팅을 할 시간입니다. 이런 설정들은 Portage에서 프로그램을 컴파일하는 과정에서 이용됩니다. 이를 위해선 /etc/make.conf 파일을 수정해야 합니다. 이 파일에서 자신의 USE 플래그들을 설정하게 되는데, 이는 패키지가 설치될 때 부가적인 기능에 대한 옵션 역할을 합니다; 일반적으로 기본 설정 (USE 환경변수가 비어있거나 설정이 되어있지 않은 경우)만으로도 잘 작동합니다. USE 플래그에 대해 더 많은 정보를 원하신다면 USE 플래그에 관한 젠투 가이드를 찾아보시기 바랍니다. 현재 사용가능한 USE 플래그들의 리스트는 젠투 리눅스 USE 환경변수 설명 문서를 통해 얻으실 수 있습니다. 만약 스테이지1 타르볼에서 시작한다면, CHOST, CFLAGS, CXXFLAGS 의 설정 또한 자신의 시스템에 맞게 해주셔야 합니다 (파일 아래 쪽의 주석 부분에 예제가 있습니다).
경고: 만약 스테이지2 혹은 스테이지3 타르볼을 사용한다면 이미 적절하게 설정되어 있을 것입니다. 잘못된 CHOST 설정은 시스템을 망가트릴 수 있으므로 되도록 변경하지 않는것이 좋습니다.
경고: 고급 사용자: 만약 젠투 시스템을 ACCEPT_KEYWORDS="~x86" 으로 설정하고 설치할 생각이라면, ACCEPT_KEYWORDS 환경변수를 부트스트랩 단계(스테이지1)가 완성될 때까지 설정하지 말아야 합니다.
중요: 고급 사용자: CFLAGS 와 CXXFLAGS 는 시스템에서 생성되는 코드의 최적화 방법들을 C 와 C++ 컴파일러에 지정하는데 사용됩니다. 일반적으로 Athlon XP 프로세서를 사용하는 사용자들는 모든 패키지들을 Athlon CPU 의 명령어 셋과 성능상 특성에 최적화하기 위해 CFLAGS 와 CXXFLAGS에 "-march=athlon-xp"를 명시합니다. /etc/make.conf 파일에는 CFLAGS 와 CXXFLAGS의 적절한 설정을 위한 일반적인 지침이 포함되어 있습니다. 방화벽을 사용하고 있어 필요하다면 프록시 설정도 해줍니다. 아래와 같이 nano (단순한 비주얼 편집기)를 사용하여 /etc/make.conf 파일을 편집합니다:
코드 10.1: make.conf 에서 옵션 설정하기 # nano -w /etc/make.conf
주의: 고급 사용자: People who need to substantially customize the build process should take a look at the /etc/make.globals file. This file comprises gentoo defaults and should never be touched. If the defaults do not suffice, then new values should be put in /etc/make.conf, as entries in make.conf override the entries in make.globals. If you're interested in customizing USE settings, look in /etc/make.profile/make.defaults. If you want to turn off any USE settings found here, add an appropriate USE="-foo" in /etc/make.conf to turn off any foo USE setting enabled by default in /etc/make.globals or /etc/make.profile/make.defaults.
경고: 스테이지1 의 작업이 끝나기 전까지는 'static' 플래그를 USE 환경변수에 포함하지 말아야 합니다. 1.11 스테이지1 에서 시작하기
주의: 스테이지1 타르볼로 시작하는 경우가 아니라면, 이 섹션을 건너뛰기 바랍니다. 스테이지1 타르볼은 완전한 커스터마이징과 최적화를 위한 것입니다. 이 타르볼을 선택했다면, 아마 완벽히 최적화되고 최신으로 구성된 시스템을 원하는 사람임이 분명합니다. 즐기십시오! 스테이지1에서 시작하는 것은 시간이 엄청나게 걸리지만, 자신의 시스템과 필요에 맞게, 바닥부터 철저히 최적화된 시스템을 볼 수 있을 겁니다. 이제 '부트스트랩(bootstrap)' 과정을 시작해야 합니다. 1200MHz 의 AMD Athlon 시스템에서 두시간 정도가 걸립니다. 이 과정에서 GNU C 라이브러리, 컴파일러 모음과 다른 핵심 프로그램들이 빌드됩니다.
코드 11.1: 부트스트랩하기 # cd /usr/portage# scripts/bootstrap.sh 이제 '부트스트랩'이 시작됩니다.
주의: bootstrap.sh now supports the --fetchonly option. Dial-up users will find this especially handy. It will download all bootstrap related files in one go for later compilation. See bootstrap.sh -h for more information.
주의: Portage by default uses /var/tmp during package building, often using several hundred megabytes of temporary storage. If you would like to change where Portage stores these temporary files, set a new PORTAGE_TMPDIR before starting the bootstrap process, as follows:
코드 11.2: Changing Portage's Storage Path # export PORTAGE_TMPDIR="/otherdir/tmp" bootstrap.sh 는 binutils, gcc, gettext, glibc 등을 빌드하고, glibc 다음에 gettext를 다시 빌드 합니다. 할 필요가 없는 말이지만, 물론 시간이 꽤 걸리는 작업입니다. 이 과정을 모두 끝마치고 나면 "스테이지2" 시스템과 동일하게 됩니다. 이제 스테이지2 로 넘어갑시다. 1.12 스테이지2 에서 시작하기 또는 스테이지1 에서 계속하기
주의: 이 섹션은 스테이지1 에서부터 계속되는 설치 과정에 있거나, 스테이지2 에서 시작하는 이를 위한 것입니다. 만일 이 경우에 해당되지 않는다면 (예를 들어, 스테이지3 에서 설치를 시작하고자 하는 사람) 이 섹션을 건너뛰기 바랍니다.
경고: 만약 스테이지2 에서 시작한다면, /etc/make.conf 의 CHOST 변수를 변경하지 말아야 합니다. 변경시에는 컴파일 과정에서 상당한 문제가 발생할 것입니다. 이 스테이지2 타르볼은 이미 부트스트랩 과정을 마친 상태입니다. 나머지 시스템만을 설치하면 됩니다:
주의: If you are starting from a pre-built stage2 and want to ensure that your compiler toolchain is fully up-to-date, add the -u option to the commands below. If you don't know what this means, it's safe to skip this suggestion.
코드 12.1: Installing the rest of the system # emerge -p system(lists the packages to be installed)# emerge system 전체 기반 시스템을 구축 하는데는 시간이 다소 걸립니다. 하지만 그 보상으로 시스템에 맞게 완벽히 최적화된 시스템을 얻을 수 있을 것입니다. 다만 단점이라면 무언가 시간을 때울 것을 찾아야 한다는 것입니다. 저자는 PS2의 "스타 워즈 - 수퍼 밤바드 레이싱" 을 추천합니다. 시스템 구축이 완료됐습니다. '시간대 설정하기' 섹션까지 건너뛰시기 바랍니다. 1.13 스테이지3 에서 시작하기
주의: This section is for those starting with stage3 and not for those who have started with stage1 or stage2 who should skip this section. GRP users should skip ahead to the next section.
경고: Remember, if you start from stage3, don't change the CHOST variable in /etc/make.conf. Doing so can result in compilation failures. 스테이지3 타르볼은 완전히 작동되는 기본적인 젠투 시스템을 갖추고 있습니다. 따라서 따로 빌드할 필요가 없습니다.
주의: 고급 사용자: 그러나 stage3 tarball은 미리 빌드된 것이므로 다소 낡은 것일 수도 있습니다. 이것이 여러분에게 문제가 된다면 /etc/make.conf 를 백업해두고 CONFIG_PROTECT="-*" emerge -u system 라고 입력하여 (네트워크 연결이 필요) 나중에 백업본을 교체함으로써 기존의 스테이지3가 가장 최신 버전의 모든 시스템 패키지를 포함하도록 자동으로 업데이트 할 수 있습니다. 만약 여러분의 스테이지3 타르볼이 매우 오래된 것이라면 이 과정은 시간이 많이 걸린다는 점을 명심하세요. 오래 안된 것이면 이 과정은 보통 빨리 끝날 것이고 가장 최근의 젠투 업데이트와 수정으로 부터 이득을 얻도록 해줄 것입니다. 어떤 경우든 여러분이 원하신다면 이 단계를 건너뛰고 다음 섹션으로 가는 것은 자유입니다. 1.14 시간대 설정하기이제 여러분의 시간대를 설정할 필요가 있습니다. /usr/share/zoneinfo 에서 여러분의 시간대를 찾으십시오(그리니치 평균시를 사용한다면 GMT를 사용합니다). 그리고 나서 다음과 같이 입력하여 /etc/localtime 으로 심볼릭 링크를 겁니다:
코드 14.1: 시간대에 심볼릭 링크 걸기 # ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime 1.15 /etc/fstab 수정하기
중요: 이 파일을 편집하기 위해서는 'nano -w 파일명' (즉, nano -w /etc/fstab) 명령을 이용합니다. 여러분의 젠투 리눅스 시스템은 거의 사용할 준비가 되어 있습니다. 이제 몇개의 중요한 시스템 설정 파일을 수정하고 부트로더를 설치하면 됩니다. 첫번째는 /etc/fstab 파일입니다. 만약 부트 파티션(/boot)이 ReserFS 파일시스템이라면, notail 옵션을 추가해야 합니다. 각각의 파티션마다 그에 맞는 파일시스템 형식(ext2, ex3, reserfs등)을 명시해주어야 합니다.
경고: 아래 /etc/fstab에서 "BOOT", "ROOT", "SWAP" 부분에는 실제로 여러분이 마운트할 장치명을(예들 들어 hda1) 써주고 "ext2", "reiserfs" 부분에는 여러분이 선택한 파일시스템명으로 변경해야 합니다:
코드 15.1: fstab 수정하기 # /etc/fstab: static file system information.## noatime turns off atimes for increased performance (atimes normally aren't# needed; notail increases performance of ReiserFS (at the expense of storage# efficiency). It is safe to drop the noatime options if you want and to# switch between notail and tail freely.
# ________________________
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/BOOT___________/boot_______ext2________noauto,noatime__1 2/dev/ROOT___________/___________reiserfs_____noatime_________0 1/dev/SWAP___________none________swap_______sw___________0 0/dev/cdroms/cdrom0__/mnt/cdrom__iso9660____noauto,ro,user _0 0none_________________/proc________proc_______defaults________0 0
경고: /boot에 있는 데이터를 보호하기 위해, 부트파티션은 자동으로 마운트되지 않습니다. 필요하다면 수동으로 직접 마운트해야 합니다! 1.16 커널과 시스템 로거의 설치1.16.1 커널의 선택커널 설치를 위해선 두 가지 방법이 있습니다. 직접 커널을 설정해 이용할 수도 있고, genkernel 유틸리티를 이용해 커널 설정과 컴파일을 자동적으로 수행할 수도 있습니다. 어떤 방법을 이용하던지 간에, 리눅스 커널 소스는 자신의 입맛에 맞게 고를 수 있습니다. 젠투는 몇 가지 종류의 커널 ebuild 를 제공하고 있습니다; 이 목록은 '젠투리눅스 커널 가이드 (Gentoo Linux Kernel Guide)'를 통해 얻을 수 있습니다. 어떤 것을 고를지 잘 모르겠다면, gentoo-sources 의 사용을 권장합니다. 혹 XFS 지원을 원한다면, xfs-sources 나 gs-sources 를 선택하는 것이 좋습니다. 젠투의 Live CD 에는 gs-sources 와 xfs-sources 를 사용합니다. gaming-sources 커널 또한 제공하고 있는데 이는 게임 플레이 시 응답성을 위해 최적화 되었으며, 특히 커널 'Preemptible kernel (선점형 커널)' 옵션이 활성화 돼있다면 환상적인 동작을 보여줍니다. 커널을 선택했으면 다음과 같이 설치합니다:
코드 16.1: 커널 소스 설치하기 # emerge -k gentoo-sources /usr/src/linux 심볼릭 링크는 새로이 설치한 커널 소스 트리를 가리키게 됩니다. Portage 는 /usr/src/linux 심볼릭 링크를 특별한 용도로 사용합니다. 커널 모듈을 포함한 모든 ebuild 는 /usr/src/linux 가 가리키는 커널 소스 트리와 동작하도록 설정됩니다. /usr/src/linux 링크는 처음 커널 소스 패키지를 설치할 때 생성되지만, 이후에는 이 심볼릭 링크를 수정하기 않기 때문에 주의해야 합니다. 1.16.2 genkernel을 이용한 커널 컴파일커널 소스 트리를 설치했으므로, 이제 커널을 컴파일해야 합니다. 두 가지 방법이 있는데, 그 중 하나가 새로운 genkernel 스크립트를 이용해 자동으로 커널을 구축하는 것입니다. genkernel 은 Live CD 커널과 거의 동일한 방법으로 커널 설정을 합니다. 이것은 genkernel 을 이용해 커널을 구축할 경우, Live CD 의 경우처럼 부트 시에 하드웨어를 자동적으로 인식하게 된다는 것을 뜻합니다. genkernel 사용 시에는 수동적인 커널 설정이 필요치 않기 때문에, 커널 컴파일에 어려움을 겪었던 사용자들에게 이상적인 해결책이 될 것입니다. (역주: genkernel 이용시 --menu-config 옵션을 줄 경우 직접 커널 설정을 할 수도 있습니다.) genkernel 의 사용법을 알아보겠습니다. 우선 genkernel ebuild 를 설치합니다:
코드 16.2: genkernel 설치하기 # emerge -k genkernel 다음 genkernel 을 실행해 커널 소스를 컴파일합니다:
주의: 고급 사용자: you can type genkernel --config instead, which will cause genkernel to allow you to tweak the default kernel configuration before building begins.
코드 16.3: genkernel 실행하기 If you're using genkernel 1.2 (included in the 1.4-20030803 x86/i686 GRP set), use the following: # genkernel gentoo-sources If you're using genkernel 1.4 or newer, there's no need to specify a kernel: # genkernel Gentoo Linux genkernel, version 1.4 Copyright 2003 Gentoo Technologies, Inc., Bob Johnson, Daniel Robbins Distributed under the GNU General Public License version 2
Settings: compile optimization: 1 processor(s) source tree: /usr/src/linux-2.4.20-gaming-r3 config: gentoo (customized) config loc: /etc/kernels/config-2.4.20-gaming-r3 initrd config: (default) /etc/kernels/settings
* Running "make oldconfig"... [ ok ] * Logging to /var/log/genkernel.log... [ ok ] * Starting 2.4.20-gaming-r3 build... [ ok ] * Running "make dep"... [ ok ] * Running "make bzImage"... [ ok ] * Running "make modules"... [ ok ] * Running "make modules_install"... [ ok ] * Moving bzImage to /boot/kernel-2.4.20-gaming-r3... [ ok ] * Building busybox... [ ok ] * Creating initrd... [ ok ]
* Build completed successfully!
* Please specify /boot/kernel-2.4.20-gaming-r3 and /boot/initrd-2.4.20-gaming-r3 * when customizing your boot loader configuration files. 위의 과정을 마치고 나면, 커널과 모든 모듈, initial root disk (initrd) 가 생성이 됩니다. 커널과 initrd 의 정보는 부트 로더를 설정하는 과정에서 이용됩니다. 부트 로더 설정 파일을 작성할 때 필요하기 때문에, 커널과 initrd 의 파일명을 적어두시는게 좋습니다. initrd 는 부팅 후 '실제의' 시스템이 기동되기 전에 하드웨어 자동검출을 위해 (Live CD의 경우 처럼) 이용됩니다. 시스템이 Live CD 에 더 근접하도록 진도를 나가봅시다. -- 이제, hotplug 를 emerge 합니다. initrd 가 시스템 부트를 위해 필요한 최소한의 하드웨어를 자동검출하기 위함이라면, hotplug 는 나머지 다른 하드웨어들을 검출해 내는 역할을 합니다. hotplug 를 emerge 하고 활성화시키기 위해선, 다음과 같이 진행합니다:
코드 16.4: hotplug 의 설치 및 활성화 # emerge -k hotplug # rc-update add hotplug default 이제 genkernel 을 사용하여 시스템 설정을 끝마쳤습니다. 아래의 '수동 커널 설정' 섹션은 건너뛰어도 됩니다. 1.16.3 수동 커널 설정만약 커널을 컴파일 하는데 genkernel 을 사용하지 않겠다면, 이 섹션이 직접 커널을 설정하고 컴파일 하는데 도움이 될 것입니다. 커널을 emerge 하는 과정에서, Portage에 의해 /usr/src/linux 가 현재 커널 소스 패키지를 심볼릭 링크 한다는 것을 주지하시기 바랍니다. 만약 여러 개의 커널 소스 패키지를 가지고 있다면, 진행에 앞서 /usr/src/linux 의 심볼릭 링크를 확인하는 것이 필요합니다.
경고: If you are configuring your own kernel, be careful with the grsecurity option. Being too aggressive with your security settings can cause certain programs (such as X) to not run properly. If in doubt, leave it out.
주의: If you want to use the same configuration as the LiveCD kernel or base your configuration on it, you should execute cd /usr/src/linux && cat /proc/config > .config && make oldconfig. If you aren't using xfs-sources, this will ask some questions about differences between your kernelchoice and xfs-sources.
코드 16.5: 리눅스 커널의 설정 # cd /usr/src/linux # make menuconfig
경고: For your kernel to function properly, there are several options that you will need to ensure are in the kernel proper -- that is, they should be enabled and not compiled as modules. Be sure to enable "ReiserFS" if you have any ReiserFS partitions; the same goes for "Ext3". If you're using XFS, enable the "SGI XFS filesystem support" option. It's always a good idea to leave ext2 enabled whether you are using it or not. 아래는 보통 사용되는 옵션들입니다: 코드 16.6: make menuconfig 옵션 Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers" (You need this to enable some of the options below) ...
File systems ---> <*> Reiserfs support (Only needed if you are using reiserfs) ... <*> Ext3 journalling file system support (Only needed if you are using ext3) ... [*] Virtual memory file system support (former shm fs) (Required for Gentoo Linux) ... <*> JFS filesystem support (Only needed if you are using JFS) ... [*] /proc file system support (Required for Gentoo Linux) [*] /dev file system support (EXPERIMENTAL) [*]Automatically mount at boot (Required for Gentoo Linux) [ ] /dev/pts file system for Unix98 PTYs (Uncheck this, it is not needed unless you use a 2.6 kernel) ... <*> Second extended fs support (Only needed if you are using ext2) ... <*> XFS filesystem support (Only needed if you are using XFS) 만약 인터넷 접속을 위해 PPPoE 를 사용한다면, 다음과 같은 옵션들이 필요합니다 (커널에 포함하거나, 가능하다면 모듈로). : PPP (point-to-point protocol) support, PPP sypport for async serial ports, PPP support for sync tty ports. 두 개의 압축 옵션은 포함해도 손해는 아니지만 그다지 불필요 하며, PPP over Ethernet 옵션 또한 rp-pppoe 가 커널 모드 PPPoE 로 설정돼있을 때를 제외하고는 필요하지 않습니다. 또, IDE cd 버너를 가지고 있다면 SCSI 에뮬레이션을 커널에서 활성화 해주어야 합니다. ATA/IDE/MFM/RLL support ---> IDE, ATA and ATAPI Block devides ---> SCSI emulation support 옵션을 선택하고 (필자의 경우는 보통 모듈로 포함), SCSI support 아래에 SCSI support, SCSI CD-ROM support, SCSI generic support 옵션들 또한 선택해 줍니다 (역시 보통 모듈로 포함). 모듈로 포함하는 방법을 택했다면, echo -e "ide-scsi\nsg\nsr_mod" >> /etc/modules.autoload.d/kernel-2.4 와 같이 명령어를 입력하면 자동적으로 추가가 됩니다. 필요하다면 자신의 이더넷 카드에 대한 지원을 포함해야 합니다.
중요: Nforce 칩셋 메인보드를 사용하시는 분 중에서 커널 버전 2.6을 사용하시는 분들은 별도의 드라이버를 설치하지 않아도 됩니다! 커널에서 기본적으로 지원됩니다.
코드 16.6.1: Nforce 메인보드 전용 옵션 PCI Devices ---> Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111(모듈 이름은 snd-intel8x0입니다.)...
Ethernet (10 or 100Mbit) ---> Reverse Engineered nForce Ethernet support (EXPREIMENTAL)(모듈 이름은 forcedeth입니다.)
주의: For those who prefer it, it is possible to install Gentoo Linux with a 2.2 kernel. However, doing this comes at a price: you will lose many of the nifty features that are new to the 2.4 series kernels (such as XFS and tmpfs filesystems, iptables and more), although the 2.2 kernel sources can be patched with ReiserFS and devfs support. Gentoo linux boot scripts require either tmpfs or ramdisk support in the kernel, so 2.2 kernel users need to make sure that ramdisk support is compiled in (ie, not a module). It is vital that a gentoo=notmpfs flag be added to the kernel line in /boot/grub/grub.conf or to the append line in /etc/lilo.conf for the 2.2 kernel so that a ramdisk is mounted for the boot scripts instead of tmpfs. If you choose not to use devfs, then gentoo=notmpfs,nodevfs should be used instead.
코드 16.7: 커널 컴파일과 설치 # make dep && make clean bzImage modules modules_install # cp /usr/src/linux/arch/i386/boot/bzImage /boot kernel 2.6.x 의 경우에는 그냥 간단히 # make && make modules_install 만 하면 됩니다. ; 1.16.4 특정 하드웨어 관련 ebuild 설치하기마지막으로 몇몇 특정 하드웨어를 위한 ebuild 를 emerge 해야 합니다. 아래에 커널 관련 ebuild 들의 목록이 있습니다:
Ebuild 용도 설치 명령 nvidia-kernel Accelerated NVIDIA graphics for XFree86 emerge -k nvidia-kernel nforce-net Nforce 메인보드의 랜카드를 잡아 줍니다. emerge nforce-net nforce-audio Nforce 메인보드의 사운드를 잡아 줍니다. emerge nforce-audio e100 Intel e100 Fast Ethernet Adapters emerge e100 e1000 Intel e1000 Gigabit Ethernet Adapters emerge e1000 emu10k1 Creative Sound Blaster Live!/Audigy support emerge emu10k1 ati-drivers Accelerated ATI Radeon 8500+/FireGL graphics for XFree86 emerge ati-drivers xfree-drm Accelerated graphics for ATI Radeon up to 9200, Rage128, Matrox, Voodoo and other cards for XFree86 VIDEO_CARDS="yourcard" emerge xfree-drm nvidia-kernel, ati-drivers, xfree-drm 패키지들은 활성화를 위해 몇 가지 추가적인 설정이 필요합니다. 이것들 외에 위에 소개된 다른 ebuild 들은 부트 시 hotplug 패키지에 의해 자동 검출됩니다. 만약 hotplug 를 사용하지 않는다면 /etc/modules.autoload.d/kernel-2.4 에 적절한 모듈을 추가해 주어야 합니다. xfree-drm 에 대한 더 상세한 정보는 Direct Rendering Guide 문서를 참고하시기 바랍니다. 1.16.5 시스템 로거 설치하기이제 새로운 커널(과 모듈)이 설치되었습니다. 이제 원하는 시스템 로거를 설택해야 합니다. 우리는 전통적인 시스템 로깅 데몬들의 모음인 sysklogd 를 제공하고 있습니다. 또한 msyslog 와 syslog-ng, metalog 도 지원합니다. 잘 모르겠다면, 매우 유연하고 기능이 다양한 syslog-ng 를 추천합니다. 선택한 로거를 설치하기 위해선 다음과 같이 진행합니다:
코드 16.8: 시스템 로거의 선택 설치 # emerge -k sysklogd # rc-update add sysklogd default or # emerge -k syslog-ng # rc-update add syslog-ng default or # emerge -k metalog # rc-update add metalog default or # emerge -k msyslog # rc-update add msyslog default
중요: 만약 여러분이 metalogd를 선택하셨다면, metalogd의 버퍼링을 다루는 Gentoo Linux FAQ의 6장 3절을 읽어보십시오. 이제 선택 사항으로 원하는 cron 패키지를 선택할 수 있습니다. 현재는 dcron, fcron, vixie-cron 을 제공하고 있습니다. 무얼 선택해야 할 지 모르겠다면, vixie-cron 을 추천합니다.
주의: 만약 미리 빌드된 패키지를 이용해 젠투를 설치중이며, vixie-cron 이 존재하지 않는 경우에는 vixie-cron 대신 vcron 을 이용해야 합니다.
코드 16.9: CRON 데몬의 선택 설치 # emerge -k dcron # rc-update add dcron default # crontab /etc/crontab or # emerge -k fcron # rc-update add fcron default # crontab /etc/crontab or # emerge -k vixie-cron # rc-update add vixie-cron default You do not need to run crontab /etc/crontab if using vixie-cron. 'Gentoo Linux Init System Guide' 를 보면 부트시 수행되는 프로그램과 데몬들에 대한 더 많은 정보를 얻을 수 있습니다. 1.17 기타 필요한 패키지 설치만약 네트워크 접속을 위해 rp-pppoe 가 필요하다면, 아직 설치가 되어있는 않은것을 알 수 있을 겁니다. 지금이 설치하기에 딱 좋습니다:
코드 17.1: rp-pppoe 설치하기 # USE="-X" emerge rp-pppoe (GRP users should type the following:) # emerge -K rp-pppoe
주의: The USE="-X" prevents pppoe from installing its optional X interface, which is a good thing, because X and its dependencies would also be emerged. You can always recompile rp-pppoe with X support later. The GRP version of rp-pppoe has the optional X interface enabled. If you're not using GRP, compile from source as in the first example.
주의: Please note that the rp-pppoe is built but not configured. You will have to do it again using adsl-setup when you boot into your Gentoo system for the first time. 필요하다면 XFS 나 ReiserFS, LVM 등을 위해 Portage 트리에서 추가적으로 패키지를 설치해줘야 할 필요가 있습니다. XFS 를 사용한다면 sxfsprogs 패키지를 emerge 해야 합니다:
코드 17.2: 파일시스템 도구 설치하기 # emerge -k xfsprogs If you would like to use ReiserFS, you should emerge the ReiserFS tools: # emerge -k reiserfsprogs If you would like to use JFS, you should emerge the JFS tools: # emerge -k jfsutils If you're using LVM, you should emerge the lvm-user package: # emerge -k lvm-user 랩탑(노트북) 사용자라면 PCMCIA 슬롯의 사용을 위해 pcmcia-cs 패키지를 설치해 주어야 합니다.
코드 17.3: PCMCIA-cs emerge 하기 # emerge -k pcmcia-cs 1.18 사용자 관리1.18.1 루트 패스워드 설정하기잊기 전에, 아래와 같이 입력하여 root 패스워드를 설정합니다.
코드 18.1: root 패스워드 설정하기 # passwd 1.18.2 일반 작업을 위한 사용자 추가root 계정으로 일상적인 일을 하는 것은 매우 위험하며 가능하다면 피해야 합니다. 그러므로 일반 작업을 위한 사용자를 추가하는 것을 강력히 권장합니다.
코드 18.2: 사용자 추가하기 # useradd your_user -m -G users,wheel,audio -s /bin/bash # passwd your_user 'your_user' 부분을 자신이 쓸 사용자 이름으로 바꿔주어야 합니다. 만약 루트 만이 가능한 몇몇 작업을 할 필요가 있다면, 'su -' 명령을 이용해 자신의 권한을 루트 권한으로 바꾸거나, sudo 패키지에 대해 알아보기를 권장합니다. 1.19 호스트 이름 설정하기/etc/hostname 파일에 호스트명을 한 줄로 입력합니다. 예) mymachine
코드 19.1: 호스트명 설정하기 # echo mymachine > /etc/hostname /etc/dnsdomainname 파일에 자신의 DNS 도메인명을 입력합니다. 예) mydomain.com
코드 19.2: 도메인명 설정하기 # echo mydomain.com > /etc/dnsdomainname NIS 도메인을 가지고 있다면, /etc/nisdomainname 파일에 입력합니다.
코드 19.3: NIS 도메인네임의 설정 # echo nis.mydomain.com > /etc/nisdomainname 이제 기본 런레벨에 domainname 스크립트를 추가합니다:
코드 19.4: domainname 을 기본 런레벨에 추가하기 # rc-update add domainname default 1.20 /etc/hosts 파일의 수정이 파일은 IP 주소와 이의 호스트명의 목록을 포함합니다. 이를 이용해 네임서버에 존재하지 않는 임의 호스트명의 IP 주소를 인식합니다. 다음은 본 파일 설정의 예입니다.
코드 20.1: hosts 파일의 설정의 예 127.0.0.1 localhost # the next line contains your IP for your local LAN and your associated machine name 192.168.1.1 mymachine.mydomain.com mymachine
주의: 만일 DHCP 를 이용한 네트워크를 이용한다면, localhost 다음에 자신의 실제 호스트명을 입력해 놓는 것이 매우 유용합니다. 이는 GNOME 이나 다른 프로그램들이 호스트명을 인식 (name resolution)하는데 도움이 됩니다. 1.21 네트워크 최종 설정1.21.1 커널 모듈의 적재시스템의 운용에 필요한 모듈들을 /etc/modules.autoload.d/kernel-2.4 파일에 추가합니다 (필요하다면 적절한 옵션과 같이). 젠투 리눅스가 부트될 때, 이 모듈들은 자동으로 적재됩니다. 특히 이더넷 카드 모듈 (만약 모듈로 컴파일 했다면)을 추가해주는 것이 중요합니다:
코드 21.1: /etc/modules.autoload.d/kernel-2.4 3com 사의 카드를 가지고 있을 경우를 가정한 것입니다. /lib/modules/<커널 버전>/kernel/drivers/net 에서 자신의 카드를 확인하시기 바랍니다. 3c59x 1.21.2 네크워크 인터페이스 설정첫 번째 부트 시에 네트워크 설정을 얻도록 하기 위해 /etc/conf.d/net 파일을 수정합니다.
코드 21.2: 네크워크 환경 설정 # nano -w /etc/conf.d/net 만일 eth0 에 자동으로 IP를 할당받길 원한다면, iface_eth0 을 dhcp 로 등록합니다. 다른 경우라면 IP, 브로드캐스트 어드레스, 넷마스크 등을 채워줍니다. 복수의 인터페이스를 가지고 있다면, iface_eth1, iface_eth2 식으로 같은 작업을 해줍니다. PCMCIA 네트워크 카드가 아니라면, net.eth0 초기화-스크립트(initscript)를 기본 런레벨에 추가합니다:
코드 21.3: 부팅 중에 네트웍 인터페이스가 자동으로 시작되도록 설정 # rc-update add net.eth0 default 혹 복수의 네트워크 카드나 토큰링 인터페이스를 가지고 있다면, net.etx 나 net.trx (x = 1, 2, ...) 식으로 각각의 스크립트를 작성해 줍니다:
코드 21.4: 복수의 네트웍 인터페이스 # cd /etc/init.d # ln -s net.eth0 net.ethx 각각의 초기화-스크립트가 생성되었으면, 역시 기본 런레벨에 추가시켜 줍니다 (다시 언급하지만, PCMCIA 네크워크 카드가 아닌 경우입니다):
코드 21.5: net.ethx 를 기본 런레벨에 추가하기 # rc-update add net.ethx default 1.21.3 PCMCIA 사용자만약 PCMCIA 카드가 설치되어 있다면, /etc/conf.d/pcmcia 파일을 보면 올바르게 작동하는 것을 볼 수 있을 것입니다. 이제 아래와 같이 명령어를 입력합니다:
코드 21.6: PCMCIA 서비스를 자동으로 시작하도록 설정 # rc-update add pcmcia boot 이렇게 하면 PCMCIA 드라이버가 네트워크 설정이 읽힐 때 자동으로 적재됩니다. 적합한 /etc/init.d/net.eth* 서비스가 pcmcia 서비스에 의해 자동적으로 시작됩니다. 1.22 최종 단계: 기본 환경 설정 (키맵 언어 세팅을 포함)
코드 22.1: 기본 환경 설정하기 # nano -w /etc/rc.conf 기본적인 설정을 위해서는 파일 내의 지시사항을 따르면 됩니다. CLOCK 변수가 자신이 원하는 대로 설정되었는지 확인합니다. 다른 언어의 (영어 외) 키보드 사용자라면 KEYMAP 변수 설정이 되어있는지 확인합니다 (/usr/share/keymaps 에서 각각의 환경 찾을 수 있습니다). 1.23 부트로더의 설정1.23.1 설정에 앞서젠투 정신에 따라서, 사용자들은 둘 이상의 부트로더를 이용할 수도 있습니다. 가장 패키지 시스템을 이용해, 부트로더로 GRUB 과 LILO 중 어느것이나 선택할 수 있습니다. 하지만 두 부트로더를 모두 설치할 필요는 없습니다. 오히려 문제가 생길 수 있으므로, 하나만 선택 설치하는 것이 좋습니다. 또한, genkernel 사용 여부에 따라 부트로더의 설정방법이 달라지므로, 중요한 차이는 기록하는 것이 좋습니다. 1.23.2 GRUB의 설정GRUB을 이해하는데 있어서 가장 핵심적인 부분중 하나가 GRUB 에서 하드 드라이브와 파티션을 나타내는 방식에 익숙해지는 것입니다. 리눅스 파티션 /dev/hda1 은 GRUB 표현 방식으로는 (hd0,0) 이 됩니다. hd,0 를 반드시 괄호로 묶어주어야 한다는 것에 주의해야 합니다. 하드 드라이브는 "a" 가 아닌 "0" 부터 번호가 매겨지며, 파티션 또한 "1" 이 아닌 "0" 부터 번호가 매겨집니다. 주의할 점은 hd 로 시작하는 디바이스는 오직 하드 드라이브만의 순서가 매겨진다는 것입니다. cdrom 플레이어나 버너 같은 atapi-ide 기기는 제외되며, scsi 드라이브에도 역시 같은 방식으로 적용됩니다. (보통 바이오스에서 scsi 장치로 부트되도록 설정된 경우를 제외하고는 scsi 드라이브가 ide 드라이브보다 높은 번호가 매겨집니다.) 만약 /dev/hda 가 하드 드라이브, /dev/hdb 가 cdrom 플레이어, /dev/hdc 가 버너 (역주: CD-R 또는 CD-RW), /dev/hdd 가 하드 드라이며, SCSI 하드 드라이브가 없는 환경일 경우, /dev/hdd7 은 (hd1,6) 으로 표기됩니다. 이는 좀 혼동스러워 보이며, 실제로 그렇습니다. 하지만 GRUB 은 탭 자동완성을 지원하므로, 많은 하드 드라이브와 파티션을 가지고 있는 환경에서 편리하게 사용할 수 있습니다. 어느 정도 감이 잡힌다면 GRUB 을 설치해 보도록 합시다. GRUB을 설치하는 가장 쉬운 방법은 chroot 된 프롬프트 상에서 'grub'을 입력하는 것입니다:
코드 23.1: GRUB 설치하기 # emerge -k grub # grub 이제 'grub>' 형태의 grub 명령행 프롬프트가 보일 것입니다. 하드 드라이브에 GRUB 부트 레코드를 설치하기 위해서는 명령어를 정확하게 입력해 주어야 합니다. 예로든 설정에서는 하드 드라이브의 MBR (master boot record) 에 GRUB 을 설치합니다. 그렇게 한다면 부트 후 처음 보는 화면이 GRUB 프롬프트가 됩니다. 이 경우 다음과 같이 입력합니다:
코드 23.2: MBR 에 GRUB 설치하기 grub> root (hd0,0) (Your boot partition) grub> setup (hd0) (Where the boot record is installed; here, it is the MBR)
코드 23.3: MBR 외의 곳에 GRUB 설치하기 Alternatively, if you wanted to install the bootloader somewhere other than the MBR: grub> root (hd0,0) (Your boot partition) grub> setup (hd0,4) (Where the boot record is installed; here it is /dev/hda5) grub> quit 두 명령어가 어떤 작동을 하는지 설명하겠습니다. 처음의 root () 명령어는 부트 파티션 (위의 예에서는 /dev/hda1, GRUB 의 기술방식으로는 (hd0,0))을 지정해 주는 명령어입니다. 그리고 두 번째 명령어 setup () 으로는 앞서 root () 명령어로 지정한 위치에 있는 파일들을 찾을 수 있도록 설정된 부트 레코드를 설치할 장소를 지정해 주는 명령어입니다. 필자의 경우에는 하드 드라이브의 MBR 에 부트 레코드를 두고 싶었기 때문에, 간단히 /dev/hda 로 (이것 또한 (hd0) 으로 기술) 지정해 주었습니다. 만약 다른 부트 로더를 사용중이어서, GRUB 을 보조 부트 로더로 사용하고 싶었다면, GRUB 을 특정 파티션의 부트 레코드에 설치 했을 것입니다. 이 경우에는 전체 디스크를 지정하는 것이 아니라 특성 파티션을 지정해 주어야 합니다. GRUB 부트 레코드 설치에 성공했다면, quit 명령어를 입력하여 GRUB 을 종료합니다.
주의: The tab completion mechanism of GRUB can be used from within GRUB, assuming you wrote root ( and that you hit the TAB key, you would be prompted with a list of the available devices (not only hard drives), hitting the TAB key having written root (hd, GRUB would print the available hard drives and hitting the TAB key after writing root (hd0, would make GRUB print the list of partitions on the first hard drive. Checking the syntax of the GRUB location with completion should really help to make the right choice. 젠투 리눅스가 설치 되었습니다만, /boot/grub/grub.conf 파일을 생성해야 할 필요가 있습니다. 그러고나면 재부팅 후에 멋진 GRUB 부트 메뉴를 볼 수 있을 것입니다. 다음과 같이 작업합니다.
중요: To ensure backwards compatibility with GRUB, make sure to make a link from grub.conf to menu.lst. You can do this by typing ln -s /boot/grub/grub.conf /boot/grub/menu.lst. 이제, grub.conf 파일을 생성해야 합니다 (nano -w /boot/grub/grub.conf). 아래와 같이 수정하면 됩니다:
코드 23.4: grub.conf (GRUB 환경 설정 파일) default 0 timeout 30 splashimage=(hd0,0)/boot/grub/splash.xpm.gz
# If you compiled your own kernel, use something like this: title=My example Gentoo Linux root (hd0,0) kernel (hd0,0)/boot/bzImage root=/dev/hda3
# If you're using genkernel, use something like this instead: title=My example Gentoo Linux (genkernel) root (hd0,0) kernel (hd0,0)/boot/kernel-KV root=/dev/hda3 initrd (hd0,0)/boot/initrd-KV
# Below needed only for people who dual-boot title=Windows XP root (hd0,5) chainloader (hd0,5)+1
경고: Substitute KV with the kernel version you have installed.
주의: (hd0,0) should be written without any spaces inside the parentheses.
중요: If you set up SCSI emulation for an IDE cd burner earlier, then to get it to actually work you need to add an hdx=ide-scsi fragment to the kernel line in grub.conf (where "hdx" should be the device for your cd burner). 수정 사항을 저장하고 나면 젠투 리눅스의 설치가 완료된 것입니다. 첫 번째 부분의 옵션만 적어준다면 GRUB 에서 선택과정 없이 젠투 리눅스로 부팅됩니다. 두 번째 부분은 선택사항으로, GRUB 으로 부팅가능한 윈도우즈 파티션을 사용하는 방법을 알 수 있습니다.
주의: 위에서 (gd0,0)은 반드시 부트 파티션(예를 들어 /dev/hda1)을 가르치고 있어야합니다. 그리고 /dev/hda3는 반드시 당신의 루트 파일스스템을 가츠치고 있어야 합니다.
주의: 커널 이미지의 경로는 boot partition에 있어야 합니다. 만일 당신이 boot 파티션과 root 파티션을 독립적으로 사용한다면 위의 grub.conf안에 있는 모든 경로들은 /bzImage가 되어야합니다. 커널에 추가적인 옵션을 줄 필요가 있다면, 커널 명령어 뒤에 추가하면 됩니다. 우리는 이미 하나의 옵션 (root=/dev/hda3) 을 주었고, 다른 옵션들도 줄 수 있습니다. 특히, gentoo=nodevfs 옵션을 커널 명령어에 추가하는 것으로 기본적으로 devfs를 끌 수 있습니다 (무엇을 하는건지 알지 못하다면 권장하지 않습니다).
주의: 젠투 리눅스의 종전버젼과 달리 당신은 더이상 devfs=mount라는 명령어를 커널의 마지막줄에 포함시킬 필요가 없어졌습니다. devfs는 이제 기본적으로 활성화된답니다~! 1.23.3 LILO의 설정GRUB 이 대부분의 사람에게 새로운 대안이 될 테지만, 항상 최선의 선택인 것인 아닙니다. LILO (LInuxLOader)는 리눅스 부트로더로써 오랜 기간 안정적이고 훌륭한 동작을 보장해주었습니다. GRUB 대신에 LILO를 사용하고 사용하고 싶으신 분을 위해, 여기에 LILO 설치법을 제공합니다. 첫 번째 해야 할 일은 LILO를 emerge 하는 것입니다:
코드 23.5: LILO emerge 하기 # emerge -k lilo LILO 를 설정할 차례입니다. 아래에 /etc/lilo.conf 파일의 설정에 대한 예가 있습니다:
코드 23.6: lilo.conf 설정의 예 boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 lba32 default=linux
# Use something like the following 4 lines if you compiled your kernel yourself image=/boot/bzImage label=linux read-only root=/dev/hda3
# If you used genkernel, use something like this: image=/boot/kernel-KV label=gk_linux root=/dev/ram0 initrd=/boot/initrd-KV append="real_root=/dev/hda3 init=/linuxrc"
# For dual booting windows/other OS other=/dev/hda1 label=dos
경고: 당신이 방금 설치한 커널버젼에 KV를 붙이고 default=가 당신의 label을 가리키고 있는지 꼭 확인하세요(만일 당신이 genkernel을 쓴다면, gk_linux) boot=/dev/hda 행은 첫 번째 IDE 컨트롤러의 첫 번째 하드 디스크에 LILO를 인스톨 하도록 지정합니다. map=/boot/map 행은 맵 파일을 지정합니다. 일반적으로 수정할 필요 없습니다. install=/boot/boot.b 행은 지정한 파일을 새로운 부트 섹트로 설치합니다. 일반적으로 변경할 필요 없습니다. 이 옵션이 명시돼있지 않은 경우 /boot/boot.b 파일을 기본으로 사용하게 됩니다. prompt 행이 명시되어 있다면, 부트시 LILO 출력화면에 이전에 쓰이던 lilo: 프롬프트가 나타타게 됩니다. 이 행을 지우는 것을 추천하지는 않습니다만, 지웠을 경우에도, 부트 시 [Shift] 키를 누르고 있으면 프롬프트가 나타납니다. timeout=50 행은 부팅시 기본으로 지정된 엔트리로 부팅하기 전 사용자의 입력을 기다리는 시간을 설정합니다. 단위는 0.1초 이며, 50이 기본값입니다. lba32 행은 하드 디스크의 지오메트리(geometry)를 명시합니다. 많이 쓰는 다른 옵션으로는 linear 가 있습니다. 잘 모를 경우에는 변경하지 않는 것이 좋습니다. 주의하지 않으면 시스템을 부트할 수 없는 상황이 발생할 수 있습니다. default=linux 행은 기본으로 부트할 운영체제를 지정합니다. linux 부분은 각각의 부트 옵션에서 지정된 lable 라인 (아래 내용 참고)의 내용이 됩니다. image=/boot/bzImage 행은 해당 부트 옵션에서 부트할 리눅스 커널을 지정합니다. label=linux 행은 LILO 화면에서 출력될 운영체제의 이름명을 지정합니다. 위의 예에서는 기본행으로 지정되어 있습니다. read-only 행은 루트 파티션 (아래 내용 참고)을 읽기 전용으로 명시하여 부트 과정동안 수정될 수 없도록 합니다. root=/dev/hda3 행은 루트 파티션을 지정합니다. lilo.conf 파일을 수정했다면, 정보를 MBR로 적재하기 위해 LILO를 실행시켜야 합니다:
코드 23.7: LILO 실행하기 # /sbin/lilo LILO 설정이 완료되었습니다. 이제 컴퓨터를 젠투 리눅스로 부팅할 준비가 되었습니다! 1.23.4 프레임버퍼의 사용커널에 프레임버퍼의 사용을 포함한 사용자라면, 부트로더 설정 파일에 vga=xxx 옵션을 추가해 주어야 합니다. xxx 는 다음 표에 나오는 값들 중 하나가 됩니다:
640x480 800x600 1024x768 1280x1024 8 bpp 769 771 773 775 16 bpp 785 788 791 794 32 bpp 786 789 792 795 LILO 사용자는 설정파일의 상단에 vga=xxx 행을 추가해야 합니다. GRUB 사용자는 kernel (hd0,0)... 행에 vga=xxx 를 추가해야 합니다. 1.24 부트디스크의 생성1.24.1 GRUB 부트디스크
중요: 진행하기 전에 플로피 드라이브에 플로피 디스크를 삽입하는 것을 잊지 말기 바랍니다. 어떤 리눅스 배포판이든지 처음 설치 시엔 항상 부트 디스크를 만들어 두는 것이 좋은 습관입니다. 돌다리도 두드려 보는 것이고, 해서 나쁠 것이 없습니다. 하드웨어적으로 chroot 된 상태의 환경에서 부트로더를 설치할 수 없는 상황이라면, GRUB 부트 디스크를 만들어야 합니다. 이런 상황에서는 GRUB 부트 디스크를 만들고 나서 처음 리부트 한 후에 MBR 에 GRUB 을 설치하게 됩니다. 부트 디스크는 다음과 같이 작성합니다:
코드 24.1: GRUB 부트디스크 만들기 # cd /usr/share/grub/i386-pc/ # cat stage1 stage2 > /dev/fd0 이제 리부트하여 플로피를 불러들입니다. 플로피의 grub> 프롬프트에서, 필요한 root 와 setup 명령어를 실행할 수 있습니다. 1.24.2 LILO 부트디스크
중요: 진행하기 전에 플로피 드라이브에 플로피 디스크를 삽입하는 것을 잊지 말기 바랍니다. LILO를 사용한다면, 부트디스크를 만들어 두는 것도 좋습니다:
코드 24.2: 부트디스크 만들기 (커널이 1.4MB보다 작을때만 가능합니다) # dd if=/boot/your_kernel of=/dev/fd0 1.25 GRP 사용하기여기서 GRP 사용자들은 바이너리 패키지를 설치할 수 있습니다:
코드 25.1: GRP 를 이용한 패키지 설치 # emerge -k xfree CD1은 XFree86과 함께 동작하는 시스템을 설치할 충분한 응용 프로그램을 포함하고 있습니다. 게다가, 2-CD GRP의 CD2는 KDE, GNOME, Mozilla등을 포함한 다른 응용프로그램을 포함하고 있습니다. 이런 패키지를 설치하기 위해서는, 먼저 젠투 시스템을 리부팅하십시요("이 문서 끝에 "Installation complete!"에 나옴.) 기본적인 젠투 시스켐을 동작시킨 후에, 두번째 CD를 마운트하고 파일들을 복사하세요:
코드 25.2: CD2에서 바이너리 패키지 적재 # mount /dev/cdrom /mnt/cdrom # cp -a /mnt/cdrom/packages/* /usr/portage/packages/ 다른 응용프로그램들도 같은 방법으로 설치 할 수 있습니다. 예를 들면 다음과 같습니다:
코드 25.3: GRP로부터 KDE 설치 # emerge -k kde 1.26 설치 완료!이제, 젠투 리눅스가 설치되었습니다. 남은 것들은 중요한 설정 파일들을 업데이트하고, chroot된 쉘을 종료하고, 파티션들을 안전하게 언마운트 시킨 후 시스템을 리부트하는 것입니다.
경고: etc-update라는 명령어를 치시면 새 버젼에 대한 설정파일들이 업데이트 됩니다. 그리고 /etc/fstab, /etc/make.conf, /etc/rc.conf 같은 시스템에 중요한 영향을 미치는 설정파일들을 바꾸지 않는지 꼭 확인하세요. 시스템에 큰영향을 미치지않는 파일들을 합치시고 다른것들은 지워버리거나 diff같은 명령어로 서로 다른점을 찾고 수동으로 업데이트를 하세요.
코드 26.1: 시스템 리부트하기 # etc-update # exit (This exits the chrooted shell; you can also type ^D) # cd / # umount /mnt/gentoo/boot # umount /mnt/gentoo/proc # umount /mnt/gentoo # reboot (Don't forget to remove the bootable CD)
주의: 리부팅이 끝난후, module-update라는 명령어를 써서 /etc/modules.conf를 만드는게 좋습니다. 직접적으로 그 파일에 접근하여 수정하는것보다 일반적인 방법으로 /etc/modules.d에 있는 파일을 바꿔야합니다. 만약 더 궁금한 점이 있거나 젠투 리눅스 개발에 참여하고 싶다면, gentoo-user 나 gentoo-dev 메일링 리스트에 가입하는 것을 고려해 보시기 바랍니다 (더 자세한 정보는 메일링 리스트 페이지를 참고하십시오). 또한 본 사이트에서는 간략한 '데스크탑 설정 가이드 (Desktop Configuration Guide)'도 제공하므로 앞으로의 젠투 리눅스 시스템의 구축에 도움이 될 것이며, 같이 제공되는 'Portage 사용자 가이드 (Portage User Guide)'를 통하여 Portage 의 기본적인 사용법에 대해서도 알아보볼 수 있습니다. 이 밖에 다른 모든 젠투 문서들도 '젠투 리눅스 사용자 문서 자료실 (Gentoo Linux User Documentation Resources)' 페이지에서 찾아볼 수 있습니다. 설치나 그 밖의 문제에 대한 사항은 '젠투 리눅스 FAQ'를 확인해 보시기 바랍니다. 젠투 리눅스 세계에 온 것을 환영합니다! 1.27 특수한 하드웨어 환경에서의 설치1.27.1 하드웨어 ATA RAID젠투 리눅스를 ATA RAID 하드웨어에 설치하려는 사용자는 젠투 리눅스의 성공적인 설치를 위해 다음 사항들을 주의해야 합니다: Live CD 로 기동시 커널 옵션으로 doataraid 를 선택해야 합니다 만약 부팅시 doataraid 옵션을 주는 것을 잊었거나, 모듈이 알 수 없는 이유로 로드 되지 않았다면, 필요에 따라 로드합니다: 부팅할때 doataraid 커널옵션 선택하는 것을 잊거나 모듈이 이상하게 로드되지 않으면, 다음과 같이 로드합니다:
코드 27.1: RAID 모듈 적재하기 # modprobe ataraid (For Promise Raid Controllers:) # modprobe pdcraid (For Highpoint Raid Controllers:) # modprobe hptraid
몇몇 ATA RAID 컨트롤러는 파티션 분할 후 리부팅을 필요로 합니다; 그렇지 않으면 포맷에 실패할 것입니다 chroot 하기 전에, 새로운 환경으로 장치 트리(devicetree)를 마운트 해야 합니다:
코드 27.2: /mnt/gentoo/dev 를 /dev 에 마운트 # mount -o bind /dev /mnt/gentoo/dev
커널 설정 과정에서 필요한 RAID 옵션을 선택해야 합니다:
코드 27.3: 리눅스 커널 설정에서 RAID 부분 For Highpoint RAID controllers: ATA/IDE/MFM/RLL support ---> [*] HPT36X/37X chipset support [*] Support for IDE Raid controllers [*] Highpoint 370 software RAID For Promise RAID controllers: ATA/IDE/MFM/RLL support ---> [*] PROMISE PDC202{46626567} support and/or [*] PROMISE PDC202{68697071757677} support [*] Support for IDE Raid controllers [*] Support Promise software RAID (Fasttrak(tm))
GRUB 을 사용한다면, setup 명령시에 --stage2=/boot/grub/stage2 옵션을 추가해줘야 합니다:
코드 27.4: 하드웨어 RAID 시스템 사용을 위한 GRUB 설치 grub> root (hd0,0) grub> setup --stage2=/boot/grub/stage2 (hd0) grub> quit
또한, root 옵션에 적절한 RAID 디바이스가 지정되어있는지 확인해야 합니다:
코드 27.5: RAID 를 위한 grub.conf 설정 title=My Gentoo Linux on RAID root (hd0,0) kernel (hd0,0)/boot/bzImage root=/dev/ataraid/dXpY
LILO 사용자 역시 적절한 RAID 디바이스를 root 옵션으로 지정해 주어야 합니다:
코드 27.6: RAID 를 위한 lilo.conf 설정 image=/boot/bzImage label=linux read-only root=/dev/ataraid/dXpY
아직 RAID 하드웨어에 설치된 젠투 리눅스에 문제가 있다면,
http://bugs.gentoo.org 로 버그 리포팅을 해주시기 바랍니다. 젠투 리눅스를 사용해주시는 것에 감사드립니다. 즐거운 컴퓨팅이 되기를! The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license. 이 문서의 내용은 'Creative Commons - Attribution / Share Alike 라이센스' 의 라이센스가 적용됩니다. 2 번역에 대한 의견 일본어 번역 문서 링크(by Naver) note는 '주의' important는 '중요' warning은 '경고'로 통일하는 것이 좋겠습니다. /lefthander 한글로 된 설치문서를 찾아서 여기 왔는데..왜 번역이 이것밖에 되어 있지 않은 건지( 저도 설치방법 좀 배울겸 해서 쬐금 번역해 놓고 갑니다.) -- Nuk 2003-12-26 01:55:03( Nuk) 이 페이지는 시작한지 얼마 안됩니다. 1.2버전한글설치문서가 있으니 1.4버전영문설치문서를 보실때 참조하시면 도움이 많이 될것입니다. minzkn님의 젠투리눅스 설치기록도 상당히 도움이 되실겁니다. 그리고 번역에 도움 주셔서 감사합니다. 저는 원문이나 열심히 붙여야겠군요. 번역은 언제나... ;; -- 쓰렉 뭐...대략 젠투 리눅스 설치는 어제 맛보기로 Stage3에서 대충 설치했구요..영문이든 한글이든 설치문서하고 실제 상황하고는 조금 다른 애매한 부분이 있더군요..아..그리고 저기 minzkn님의 위키에서 좋은 경험기록 읽고 사이트 CSS만 베껴왔습니다..넘 예뻐서.. 그리고 원문은 다른 곳에서도 참조할 수 있지만 여기도 붙여놓는 것이 보기에 좋을 듯 합니다. ;; -- 넋 오랫만에 와 보니까.. 1.4 원본 문서가 다 올라와 있군요..Good!!!..번역도 많이 진척된 것 같구..감사합니다..저 같은 초보자들을 위한 배려.. 시간이 되면 저도 가끔 와서 도둑번역 해 놓고 갈께요! 아참..그리고 여기 위키도 MoinMoin이나 Ko-MoinMoin을 사용하는 것 같은데..대량 문서를 작성하다보면 페이지 로딩이 상당히 느려지는 단점이 있잖아요.. MoniWiki를 쓰면 어떨까요? PHP로 된 위키엔진..상당히 빠르던데요.;; -- 넋 저도 도둑 번역 시작했음다. ㅋㅋ 잼나네요. -- kors21 ________________________________________

댓글 없음:

댓글 쓰기

팔로어