젠투 리눅스 amd64 핸드북: 젠투 설치

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Parts/Full/Installation and the translation is 93% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎čeština • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Parts 핸드북
설치
설치 정보
매체 선택
네트워크 설정
디스크 준비
스테이지 3 설치
베이스 시스템 설치
커널 설정
시스템 설정
도구 설치
부트로더 설정
마무리
젠투 활용
포티지 소개
USE 플래그
포티지 기능
초기화 스크립트 시스템
환경 변수
포티지 활용
파일 및 디렉터리
변수
소프트웨어 브랜치 함께 사용하기
추가 도구
꾸러미 저장소 개별 설정
고급 기능
네트워크 설정
시작하기
고급 설정
모듈러 네트워크
무선 네트워크
기능 추가
동적 관리


도입부

환영합니다

우선, 젠투의 세계에 잘 오셨습니다! 선택과 성능의 세계로 들어오셨습니다. 젠투는 선택 그 자체입니다. 젠투를 설치할 때, 사용자 자신이 얼마나 스스로 컴파일 하고 싶어하는지, 어떤 시스템 로거를 사용하는지 등에 대해 여러번 명확히 밝혀두었습니다.

젠투는 빠르며, 깔끔하며 유연한 설계를 갖춘 최신 메타 배포판입니다. 젠투는 자유 소프트웨어 환경을 빌드하며 사용자의 눈 밖으로 그 어떠한 요소도 숨겨두지 않았습니다. 젠투에서 사용하는 꾸러미 관리 시스템 포티지를 파이썬으로 작성했다는건, 사용자가 쉽게 코드를 살펴보고 수정할 수 있음을 의미합니다. 젠투 꾸러미 시스템은 (비록 미리 컴파일한 꾸러미도 들어있지만) 소스 코드를 활용하며 일반 텍스트 파일을 통해 젠투를 설정합니다. 다시 말해, 모든 부분이 열려있습니다.

젠투를 동작하게 하는 요소의 선택에 대해 모든 사람이 이해하는 것이 중요합니다. 사용자들이 좋아하지 않는 그 어떤 것도 강요하려 들지 않습니다. 강요한다는 느낌을 받는다면 버그 보고서en로 제출하십시오.

설치 구성 방식

젠투 설치를 다음 장의 모음에 따라 10단계로 나누어 볼 수 있습니다. 각각의 단계가 끝나면 다음과 같은 결과 상태가 됩니다:

단계 결과
1 젠투를 설치할 수 있는 환경을 준비합니다.
2 젠투를 설치할 인터넷 연결 환경을 준비합니다
3 젠투를 설치할 하드디스크를 준비합니다.
4 설치환경을 준비하고, 새 환경으로 루트 기준을 전환할 수 있습니다.
5 모든 젠투 설치 프로그램이 있는 핵심 꾸러미의 설치가 끝납니다.
6 리눅스 커널을 설치합니다.
7 사용자는 대부분의 젠투 시스템 설정 파일을 다룹니다.
8 필요한 시스템 도구를 설치합니다.
9 적당한 부트 로더를 설치하고 설정합니다.
10 새로 설치한 젠투 리눅스 환경을 탐색할 준비가 끝납니다.

각각의 선택이 주어질 때마다, 핸드북에서는 장점과 단점을 최대한 설명하려고 합니다. 비록 내용은 기본 선택으로 진행하겠지만(제목에 "기본:" 으로 표시), 마찬가지로 다른 가능성도 문서에 기록했습니다(제목에 "대안:"으로 표시). 기본 사항이 젠투에서 추천하는 선택이라고 생각하지 마십시오. 하지만 대부분 사용자가 선택할 것이라는 생각은 듭니다.

가끔 선택의 기로에 직면할 수 있습니다. 이런 단계는 "선택:" 으로 표시했으며 젠투를 설치하는데 필요하지는 않습니다. 그러나 몇가지 선택 단계는 이전 결정 요소에 따라 의존성이 있을 수 있습니다. 우리는 이런 일에 대해서 선택 단계를 설명하기 전에 알려 드리겠습니다.

젠투 설치 옵션

젠투는 오만가지 방법으로 설치할 수 있습니다. 젠투 설치 CD나 DVD 같은 공식 젠투 설치 미디어로 다운로드하고 설치할 수 있습니다. 설치 미디어는 USB 메모리에 설치하거나 네트워크 부팅 환경으로 접근할 수 있습니다. 대신 젠투는 이미 설치한 배포판과 같은 비공식 미디어에서도 설치할 수 있으며, 또는 젠투가 들어있지 않은 부팅 디스크(예: Knoppix)에서도 설치할 수 있습니다.

이 문서는 공식 젠투 설치 미디어를 활용한 설치 방법을 다루거나, 경우에 따라 네트워크 부팅을 통한 설치를 다룹니다.

참고
비 젠투 CD 를 이용한 방법을 포함한 다른 방법을 통해 설치를 시도할 경우 대안 설치 안내서를 읽으십시오.

또한 마찬가지로 약간의 도움을 줄 수 있을지도 모르는 젠투 설치 요령 문서를 제공합니다.

문제

설치(또는 설치 문서)에 문제가 있다면, 버그 추적 시스템en을 찾아보시고 알려진 버그인지 확인하십시오. 그렇지 않으면 우리가 이를 처리할 수 있게 버그 보고서를 만들어주십시오. 버그를 할당 받을 개발자를 두려워하지 마십시오 -- (보통) 사람을 잡아먹지는 않으니까요.

참고로, 이 문서가 각각의 아키텍처와 관련된 문서이긴 하지만, 다른 아키텍처에도 참조로 포함합니다. 젠투 핸드북의 많은 부분이 (개발 자원의 고립과 역작의 중복을 막기 위해) 모든 아키텍처를 대상으로 공유하는 일반적인 내용을 활용하기 때문입니다. 우리는 혼란을 막기 위해 내용 중복을 최소한으로 유지하겠습니다.

당면한 문제가 사용자 문제(문서를 주의깊게 읽었음에도 불구하고 여러분이 발생시키는 에러)인지 소프트웨어 문제(설치, 문서를 충분히 시험했음에도 불구하고 우리가 만들어낸 문제)인지 확실치 않다면 irc.freenode.net 의 #gentoo 채널에 자유롭게 참가하시면 됩니다. 물론 다른 이유에서라도 우리는 여러분을 반갑게 맞이하겠습니다.

만약 젠투에 대한 질문이 있다면, 자주 묻는 질문 게시글을 확인하십시오. 젠투 포럼en에서도 자주 묻는 질문en을 볼 수 있습니다.


Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎čeština • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Parts 핸드북
설치
설치 정보
매체 선택
네트워크 설정
디스크 준비
스테이지 3 설치
베이스 시스템 설치
커널 설정
시스템 설정
도구 설치
부트로더 설정
마무리
젠투 활용
포티지 소개
USE 플래그
포티지 기능
초기화 스크립트 시스템
환경 변수
포티지 활용
파일 및 디렉터리
변수
소프트웨어 브랜치 함께 사용하기
추가 도구
꾸러미 저장소 개별 설정
고급 기능
네트워크 설정
시작하기
고급 설정
모듈러 네트워크
무선 네트워크
기능 추가
동적 관리


하드웨어 요구 사항

시작하기 전에, 우선 amd64 장치에 젠투를 성공적으로 설치할 때 필요한 하드웨어 요구 사항을 하나하나 살펴보겠습니다.

젠투 리눅스 설치 미디어

소형 설치 CD

젠투 소형 설치 CD는 자체적으로 젠투 환경을 지니고 있는 부팅 이미지입니다. 이 CD또는 다른 설치 미디어를 통해 사용자가 리눅스를 부팅할 수 있습니다. 부팅 과정에서 하드웨어를 감지하고, 적절한 드라이버를 불러옵니다. 이미지는 젠투 개발자가 관리하며, 인터넷에 연결한 상태라면 누구든 젠투를 설치할 수 있습니다.

소형 설치 CD는 install-amd64-minimal-<release>.iso 파일 이름을 지니고 있습니다.

예비 젠투 LiveDVD

간혹 젠투를 설치할 때 쓸 수 있도록 젠투 10 프로젝트에서 특별한 DVD를 손수 만듭니다. 이 장 다음의 내용은 소형 설치 CD를 대상으로 하기 때문에 약간 다를 수 있습니다. 그러나, LiveDVD(또는 다른 리눅스 부팅 환경)에서는 터미널에서 sudo su -를 실행하거나 sudo -i를 실행하여 루트 프롬프트를 띄우는 기능을 지원합니다.

그러면 스테이지란 무엇인가요?

스테이지 3 타르볼은 최소한의 젠투 환경을 갖추고 있는 저장 파일이며, 이 설명서의 지시에 따라 젠투 설치를 계속하는데 안성맞춤입니다. 이전에 젠투 핸드북은 세가지 스테이지 타르볼en을 사용한 설치 방법을 설명했습니다. 젠투에서 스테이지 1과 스테이지 2 타르볼을 여전히 제공하는 동안 공식 설치 방식은 스테이지 3 타르볼을 사용했습니다. 스테이지 1 또는 스테이지 2 타르볼을 이용한 젠투 설치 진행에 관심이 있다면 젠투에 대한 자주 묻는 질문에서 스테이지 1이나 스테이지 2 타르볼을 어떻게 설치하죠?를 읽어보십시오.

스테이지 3 타르볼은 공식 젠투 미러en중 어디서든 releases/amd64/autobuilds/ 위치에서 다운로드 할 수 있습니다. 스테이지 파일은 자주 업데이트하며, 설치 CD에는 없습니다.

다운로드

미디어 가져오기

젠투 리눅스에서 사용하는 기본 설치 매체는 부팅이 가능하고, 매우 간단한 젠투 리눅스 환경을 갖추고 있는 소형 설치 CD 입니다. 이 환경에는 젠투 설치에 적절한 모든 도구가 들어있습니다. CD 이미지 자체는 다운로드 페이지(추천)를 방문하거나 여러 가용 미러en중 한 곳에서 ISO 파일을 직접 찾아 다운로드할 수 있습니다.

미러에서 다운로드할 경우, 소형 설치 CD는 다음과 같은 절차를 통해 찾을 수 있습니다:

  1. releases/ 디렉터리로 이동하십시오.
  2. (amd64/와 같은) 대상 아키텍처 관련 디렉터리를 선택하십시오
  3. autobuilds/를 선택하십시오.
  4. amd64x86 아키텍처용 파일은 각각의 경우에 대해 current-install-amd64-minimal/ 또는 current-install-x86-minimal/ 디렉터리를 찾아보십시오. 다른 모든 아키텍처용 파일을 찾아보려면 current-iso/ 디렉터리를 탐색하십시오.
참고
arm, mips, s390 같은 일부 대상 아키텍처는 소형 설치 CD가 없습니다. 이 경우, 젠투 출시 엔지니어링 프로젝트는 이 아키텍처를 대상으로 .iso 파일을 지원하지 않습니다.

이 위치 안에 있는 설치 미디어 파일은 .iso 접미사로 끝나는 파일입니다. 예를 들어 다음 목록을 보시면:

코드 releases/amd64/autobuilds/current-iso/ 의 다운로드 파일 목록 예제
[DIR] hardened/                                          05-Dec-2014 01:42    -   
[   ] install-amd64-minimal-20141204.iso                 04-Dec-2014 21:04  208M  
[   ] install-amd64-minimal-20141204.iso.CONTENTS        04-Dec-2014 21:04  3.0K  
[   ] install-amd64-minimal-20141204.iso.DIGESTS         04-Dec-2014 21:04  740   
[TXT] install-amd64-minimal-20141204.iso.DIGESTS.asc     05-Dec-2014 01:42  1.6K  
[   ] stage3-amd64-20141204.tar.bz2                      04-Dec-2014 21:04  198M  
[   ] stage3-amd64-20141204.tar.bz2.CONTENTS             04-Dec-2014 21:04  4.6M  
[   ] stage3-amd64-20141204.tar.bz2.DIGESTS              04-Dec-2014 21:04  720   
[TXT] stage3-amd64-20141204.tar.bz2.DIGESTS.asc          05-Dec-2014 01:42  1.5K

위 예제에서 install-amd64-minimal-20141204.iso 파일이 소형 설치 CD 그 자체입니다. 그러나 보시다시피, 다른 관련 파일도 있습니다:

  • A .CONTENTS 파일은 설치 미디어의 모든 파일 목록이 들어있는 텍스트 파일입니다. 이 파일은 펌웨어 또는 드라이버를 다운로드하기 전에 설치 미디어에 있는지 검사할 때 활용합니다.
  • A .DIGESTS 파일은 ISO 파일의 해시값이 들어있으며 다양한 해시 형식과 알고리즘을 동원합니다. 이 파일은 다운로드한 ISO 파일이 깨졌는지 검사할 때 사용할 수 있습니다.
  • A .DIGESTS.asc 파일은 ISO 파일의 해시 값만 들어있는 것이 아니라(.DIGESTS 파일과 유사), 파일의 암호화 서명도 들어있습니다. 이 파일은 다운로드한 ISO 파일이 깨졌는지 검사할때 사용할 수 있을 뿐만 아니라, 젠투 릴리즈 엔지니어링 팀이 확실히 제공했고, 변조되지 않았는지 검사할 때도 사용할 수 있습니다.

지금은 현재 위치에 존재하는 다른 파일을 무시하십시오. 이들 파일은 나중에 진행할 설치 과정에서 다시 다룹니다. .iso 파일을 다운로드하고, 다운로드 파일을 검증하려면, 해당 .iso파일에 대한 .DIGESTS.asc 파일 역시 마찬가지로 다운로드하십시오. .CONTENTS 파일은 설치 과정에서 더이상 참조하지 않으므로 다운로드할 필요가 없으며, .DIGESTS 파일은 .DIGESTS.asc과 비교하였을 때, 상단의 암호화 서명을 제외한 나머지 부분은 동일한 내용이 들어갑니다.

다운로드한 파일 검증

참고
이 과정은 선택적 과정이며 젠투 리눅스를 설치하는데 굳이 필요하지 않습니다만, 다운로드한 파일이 깨졌는지 확인하고 젠투 기반 팀이 분명히 지원 했는지 확인해보시는 것이 좋습니다.

.DIGESTS.DIGESTS.asc 파일로, 온전한 도구를 사용한 ISO 파일 유효성 검증을 수행할 수 있습니다. 이 검증 절차는 다음 두 단계로 이루어집니다:

  1. 먼저, 젠투 출시 엔지니어링 팀이 제공한 설치 파일인지 암호화 서명으로 확인합니다.
  2. 암호화 서명 검증이 끝나면, 다운로드 파일이 깨졌는지 확인합니다.

마이크로소프트 윈도우 기반 검증

마이크로소프트 윈도우 시스템에서는 체크섬과 암호화 서명이 제대로 되어 있는지 확인하는 제대로 된 도구 모음을 선택할 여지가 별로 없습니다.

우선 암호화 서명을 검증하려면 GPG4Winen과 같은 도구를 사용할 수 있습니다. 설치 후 젠투 출시 엔지니어링 팀의 공개 키를 가져와야합니다. 키 목록은 서명 페이지en에 있습니다. 키를 가져온 후, 사용자는 .DIGESTS.asc 파일의 서명을 검증할 수 있습니다.

중요
이 프로그램에서는 .DIGESTS 파일이 올바른지 검증하지 못합니다. .DIGESTS.asc 파일만 가능합니다. 위에서 설명한 절차에서 .DIGESTS.asc 파일을 다운로드할 때 참고해야 할 유일한 이유이며, .DIGESTS.asc 파일에서 값을 검증해야 할 체크섬이 함축되어있습니다.

체크섬 자체는 다른 프로그램도 있지만, Hashcalc 프로그램en으로 검증할 수 있습니다. 대부분, 이 도구는 계산한 체크섬을 사용자에게 보여주며, 사용자에게 .DIGESTS.asc 파일에 들어있는 값을 계산한 체크섬으로 검증하라고 요청합니다.

리눅스 기반 검증

리눅스 시스템에서 대부분의 일반적인 암호화 서명을 검증하는 방식은 app-crypt/gnupg 프로그램을 사용하는 것입니다. 이 꾸러미를 설치하면, 다음 명령을 사용하여 .DIGESTS.asc 파일의 암호화 서명을 검증할 수 있습니다.

먼저 서명 페이지en에 있는 올바른 키 모음을 다운로드하십시오:

user $gpg --keyserver hkp://keys.gnupg.net --recv-keys 0xBB572E0E2D182910
gpg: requesting key 0xBB572E0E2D182910 from hkp server pool.sks-keyservers.net
gpg: key 0xBB572E0E2D182910: "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" 1 new signature
gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model
gpg: depth: 0  valid:   3  signed:  20  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: depth: 1  valid:  20  signed:  12  trust: 9-, 0q, 0n, 9m, 2f, 0u
gpg: next trustdb check due at 2018-09-15
gpg: Total number processed: 1
gpg:         new signatures: 1

Alternatively you can use instead the WKD to download the key:

--2019-04-19 20:46:32--  https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng
Resolving gentoo.org (gentoo.org)... 89.16.167.134
Connecting to gentoo.org (gentoo.org)|89.16.167.134|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35444 (35K) [application/octet-stream]
Saving to: 'STDOUT'
 
     0K .......... .......... .......... ....                 100% 11.9M=0.003s
 
2019-04-19 20:46:32 (11.9 MB/s) - written to stdout [35444/35444]
 
gpg: key 9E6438C817072058: 84 signatures not checked due to missing keys
gpg: /tmp/test2/trustdb.gpg: trustdb created
gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported
gpg: key BB572E0E2D182910: 12 signatures not checked due to missing keys
gpg: key BB572E0E2D182910: 1 bad signature
gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported
gpg: Total number processed: 2
gpg:               imported: 2
gpg: no ultimately trusted keys found

다음, .DIGESTS.asc 파일의 암호화 서명을 검증하십시오:

user $gpg --verify install-amd64-minimal-20141204.iso.DIGESTS.asc
gpg: Signature made Fri 05 Dec 2014 02:42:44 AM CET
gpg:                using RSA key 0xBB572E0E2D182910
gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD  B1BA BB57 2E0E 2D18 2910

다운로드한 모든 파일이 완전히 올바른지 확인하려면, 젠투 서명 페이지en에 있는 지문키를 받아 검증하십시오.

암호화 서명을 검증하고 나면, 그 다음은 다운로드한 ISO 파일이 깨졌는지 확인할 체크섬을 검증할 차례입니다. .DIGESTS.asc 파일에는 다중 해싱 알고리즘이 들어있어, 이 알고리즘 중 .DIGESTS.asc 파일에 등록한 올바른 체크섬을 먼저 찾아 해당 체크섬에 맞는 알고리즘으로 검증합니다.

user $grep -A 1 -i sha512 install-amd64-minimal-20141204.iso.DIGESTS.asc
# SHA512 HASH
364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024  install-amd64-minimal-20141204.iso
--
# SHA512 HASH
0719a8954dc7432750de2e3076c8b843a2c79f5e60defe43fcca8c32ab26681dfb9898b102e211174a895ff4c8c41ddd9e9a00ad6434d36c68d74bd02f19b57f  install-amd64-minimal-20141204.iso.CONTENTS

위 출력 내용에서, 두가지 SHA512 체크섬이 나타났습니다. 하나는 install-amd64-minimal-20141204.iso 파일의 체크섬이며, 다른 하나는 .CONTENTS 파일의 체크섬입니다. 첫번째 체크섬이 다음처럼 계산처리하여 생성할 수 있는 SHA512 체크섬과 비교할 관심있는 체크섬입니다:

user $sha512sum install-amd64-minimal-20141204.iso
364d32c4f8420605f8a9fa3a0fc55864d5b0d1af11aa62b7a4d4699a427e5144b2d918225dfb7c5dec8d3f0fe2cddb7cc306da6f0cef4f01abec33eec74f3024  install-amd64-minimal-20141204.iso

두가지 경우 체크섬이 일치한다면, 파일은 깨진 상태가 아니며 설치를 계속할 수 있습니다.

디스크 굽기

물론 ISO 파일을 다운로드한 것만으로는 젠투 리눅스 설치를 시작할 수 없습니다. ISO 파일을 부팅할 CD에 구워야 하며, 이와 같은방법으로 파일 자체를 CD에 굽는 것이 아니라 파일 안의 내용을 굽습니다. 아래 몇가지 일반적인 방식을 설명했습니다. 보다 자세한 과정은 자주 묻는 ISO 파일 굽기 질문에서 찾아볼 수 있습니다.

마이크로소프트 윈도우에서 굽기

리눅스에서 굽기

리눅스에서는 app-cdr/cdrtools 꾸러미의 일부인 cdrecord 명령을 사용하여 CD를 구울 수 있습니다.

예를 들자면, ISO 파일을 /dev/sr0 장치의 CD에 구우려고 할 때(이 장치는 시스템의 첫번째 CD 장치입니다 - 필요한 경우 올바른 장치 파일로 바꾸십시오):

user $cdrecord dev=/dev/sr0 install-amd64-minimal-20141204.iso

이에 상응하는 그래픽 사용자 인터페이스로 kde-apps/k3b의 일부인 K3B를 사용할 수 있습니다. K3B에서, Tools로 이동후, Burn CD Image를 사용하십시오. 그 다음 K3B에서 안내하는 절차를 따르십시오.

부팅

추가 하드웨어 설정

설치 미디어로 부팅하면 모든 하드웨어 장치를 감지하려 하고, 하드웨어를 지원하는 적절한 커널 모듈을 불러옵니다. 대부분의 주된 경우에는, 매우 잘 동작합니다. 그러나 어떤 경우에는 시스템에서 필요로 하는 커널 모듈을 자동으로 불러오지 않는 경우가 있습니다. 어떤 시스템의 하드웨어에서 PCI 자동 감지가 빠졌다면, 적당한 커널 모듈을 직접 불러와야합니다.

다음 예제에서는 8139too 모듈(네트워크 인터페이스 종류를 지원)을 불러옵니다:

root #modprobe 8139too

선택: 사용자 계정

다른 사람이 설치 환경에 접근하려 하거나 비 루트 사용자가 설치 미디어에서 명령을 실행하려 한다면(예를 들어 보안상의 이유로 루트 권한 없이 irssi를 사용하여 대화를 하려한다면), 추가 사용자 계정을 만들어야 하며, 루트 암호를 강한 암호로 설정해야 합니다.

루트 암호를 바꾸려면, passwd 유틸리티를 사용하십시오:

root #passwd
New password: (Enter your new password)
Re-enter password: (Re-enter your password)

사용자 계정을 만들려면, 신원 정보를 입력해야 하며, 계정 암호도 입력해야 합니다. 이 과정에서는 useraddpasswd 명령을 사용합니다.

다음 예제에서, "john" 사용자를 만듭니다:

root #useradd -m -G users john
root #passwd john
New password: (Enter john's password)
Re-enter password: (Re-enter john's password)

(현재) root 사용자에서 새로 만든 사용자 계정으로 전환하려면 su 명령을 사용하십시오:

root #su - john

선택: 설치 과정에 문서 보기

TTY

설치 과정에 젠투 핸드북을 보려면, 우선 위에서 설명한 대로 사용자 계정을 만드십시오 그 다음 Alt + F2를 눌러 새 터미널로 이동하십시오.

설치 과정에서는, 젠투 핸드북을 살펴볼 때 links 명령을사용할 수 있습니다. 물론 인터넷 연결이 동작중일때만 가능합니다.

user $links https://wiki.gentoo.org/wiki/Handbook:Parts

초기 터미널로 돌아가려면 Alt+F1을 누르십시오.

GNU Screen

GNU Screen 유틸리티는 공식 젠투 설치 미디어에 기본으로 들어있습니다. 위에서 언급한 다중 TTY 접속 방식 보다는 다른 창에서 설치 과정을 보려고 screen을 사용하는 노련한 리눅스 덕후에게 효율적일 수 있습니다.

선택: SSH 데몬 시작

설치 과정에 다른 사용자에게 시스템 접근을 허락하려면(아마도 설치 과정에 지원을 한다거나 원격으로 무언가를 진행하려 할 경우?), 사용자 계정을 만들어야 하며(이전에 문서에 기록한 대로) SSH 데몬을 시작해야 합니다.

SSH 데몬을 실행하려면, 다음 명령을 실행하십시오:

root #service sshd start
참고
사용자가 시스템에 로그온하면 (지문키라고 하는)이 시스템의 호스트 키를 확인해야 한다는 메시지를 봅니다. 이 동작은 보통 SSH 서버에 처음 접속했을 때 나타납니다. 그러나 시스템을 설정하고 누군가가 새로 만든 시스템에 로그온하면, SSH 클라이언트에서 호스트 키가 바뀌었다는 경고를 봅니다. 이는 달라진 SSH 서버에 사용자가 로그온했기 때문입니다(현재 사용중인 라이브 환경이 아니라 명백하게 완전히 새로 설치한 젠투 시스템이기 때문). 화면에 나타난 다음 과정을 따라 클라이언트 시스템의 호스트 키를 바꾸십시오.

sshd를 사용할 수 있게 하려면, 네트워크가 올바르게 동작해야 합니다. 네트워크 설정 장으로 계속 진행하십시오.


Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎čeština • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Parts 핸드북
설치
설치 정보
매체 선택
네트워크 설정
디스크 준비
스테이지 3 설치
베이스 시스템 설치
커널 설정
시스템 설정
도구 설치
부트로더 설정
마무리
젠투 활용
포티지 소개
USE 플래그
포티지 기능
초기화 스크립트 시스템
환경 변수
포티지 활용
파일 및 디렉터리
변수
소프트웨어 브랜치 함께 사용하기
추가 도구
꾸러미 저장소 개별 설정
고급 기능
네트워크 설정
시작하기
고급 설정
모듈러 네트워크
무선 네트워크
기능 추가
동적 관리


자동 네트워크 감지

아마도 바로 동작하겠죠?

시스템을 DHCP 서버가 붙은 이더넷에 연결했다면, 네트워크 설정은 거의 자동으로 이루어집니다. ssh, scp, ping, irssi, wget, links 등, 설치 CD에 들어있는 대부분의 네트워크 관련 명령 역시 바로 동작합니다.

인터페이스 이름 결정

ifconfig 명령

네트워크 설정이 이미 끝났다면 ifconfig 명령은 (lo 이전에) 하나 이상의 네트워크 인터페이스가 나타나야합니다. 다음 예제에서는 eth0 이 나타납니다:

root #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 

유추 가능 인터페이스 이름으로 추세가 이동함에 따라, 시스템에 있는 인터페이스 이름은 이전에 사용하던 eth0 이름 부여 방식과 약간 다를 수 있습니다. 최근 설치 미디어에서는 eno0, ens1, enp5s0와 같은 규칙적인 네트워크 인터페이스 이름을 표시합니다. ifconfig 출력에서 로컬 네트워크와 관련된 IP 주소와 함께 네트워크 인터페이스를 찾아 나타냄을 살펴보십시오.

요령
ifconfig 명령을 사용했을 때 인터페이스가 나타나지 않으면, 동일한 명령에 -a 옵션을 사용해보십시오. 이 옵션은 유틸리티에 시스템에서 발견한 모든 인터페이스의 가동 여부를 표시하도록 강제합니다. ifconfig -a 출력에 내용이 나타나지 않으면 하드웨어에 문제가 있거나 인터페이스 드라이버를 커널에 불러오지 않았음음을 의미합니다. 두 경우는 이 핸드북의 주제 범위를 벗어납니다. gentoo # gentoo 에 지원을 문의하십시오.

ip 명령

ifconfig의 대안 수단으로 ip 명령을 인터페이스 이름으로 결정하요 사용할 수 있습니다. 다음 예제에서는 ip addr 출력 내용(은 다른 시스템의 내용이며 이전 내용과 조금 다름)을 보여줍니다:

root #ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff
    inet 10.0.20.77/22 brd 10.0.23.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::ea40:f2ff:feac:257a/64 scope link 
       valid_lft forever preferred_lft forever

위 출력은 대안으로 알아보기에는 조금 더 복잡할 수 있습니다. 위 예제에서 eno1 인터페이스 이름은 숫자가 바로 따라붙습니다.

이 문서 나머지 과정에서, 핸드북은 동작하는 네트워크 인터페이스를 eth0라 하겠습니다.

선택: 프록시 설정

인터넷을 프록시로 연결했다면 설치 과정에 프록시를 설정해야 합니다. 프록시 설정은 정말 쉽습니다. 프록시 서버 정보를 넣을 변수를 설정하기만 하면 됩니다.

대부분의 경우, 서버의 호스트 이름을 사용하여 변수를 정의하는 것으로 충분합니다. 예제에서는 proxy.gentoo.org라는 프록시 서버와 8080포트를 사용한다고 가정하겠습니다.

HTTP 프록시(HTTP와 HTTPS 트래픽용)를 설정하려면:

root #export http_proxy="http://proxy.gentoo.org:8080"

FTP 프록시를 설정하려면:

root #export ftp_proxy="ftp://proxy.gentoo.org:8080"

RSYNC 프록시를 설정하려면:

root #export RSYNC_PROXY="proxy.gentoo.org:8080"

프록시에 사용자 이름과 암호가 필요하다면, 변수에 다음 문법을 사용하십시오:

코드 프록시 변수에 사용자 이름/암호 추가
http://username:password@proxy.gentoo.org:8080

네트워크 시험

ISP의 DNS 서버와 웹사이트에 ping을 시도(/etc/resolv.conf에서 찾을 수 있음)해보십시오. 네트워크가 제대로 동작하는지, 네트워크 패킷이 네트워크에 도달하는지, 이름 해석이 제대로 동작하는지 등을 확인합니다.

root #ping -c 3 www.gentoo.org

모든 기능이 제대로, 이 장의 나머지를 건너뛰고 바로 다음 단계 설치 과정 (디스크 준비)으로 진행할 수 있습니다.

자동 네트워크 설정

네트워크가 바로 동작하지 않는다면, 일부 설치 매체에서 허용하는 net-setup(일반/무선 네트워크용), pppoe-setup(ADSL 사용자용), pptp(PPTP 사용자용)를 사용하십시오.

설치 미디어에 이 도구가 없다면 직접 네트워크 설정으로 계속 진행하십시오.

기본: net-setup 사용

네트워크를 자동으로 설정하지 못했을 경우 가장 간단한 네트워크 설정 방법은 net-setup 스크립트를 실행하는 방법입니다:

root #net-setup eth0

net-setup에서는 네트워크 환경에 대한 일부 사항을 질문합니다. 모든 과정이 끝나면 네트워크 연결은 동작해야 합니다. 네트워크 연결 시험 방법은 앞서 언급했습니다. 시험 결과가 긍정적이라면 축하드립니다! 이 절의 나머지 부분을 건너뛰고 디스크 준비로 계속 진행하십시오.

그래도 네트워크가 동작하지 않는다면 직접 네트워크 설정으로 계속 진행하십시오.

대안: PPP 사용

PPPoE가 인터넷 연결에 필요한 상황에서 (임의 버전의)설치 CD는 PPP 연결 기능을 넣었기 때문에 과정을 쉽게 처리할 수 있습니다. 연결 설정시 CD에서 제공하는 pppoe-setup 스크립트를 사용하십시오. 설정 과정에서 ADSL 모뎀에 연결한 이더넷 장치, 사용자 이름, 암호, DNS 서버 IP, 기본 방화벽이 필요한지 여부를 확인합니다.

root #pppoe-setup
root #pppoe-start

무엇인가가 잘못됐다면, etc/ppp/pap-secrets 또는 /etc/ppp/chap-secrets 를 확인하여 사용자 이름과 암호를 확인하시고, 올바른 이더넷 장치를 사용하고 있는지 확인하십시오. 이더넷 장치가 없다면, 적당한 네트워크 모듈을 불러와야 합니다. 이 경우 적절한 네트워크 모듈을 불러오는 방법을 설명할 직접 네트워크 설정으로 계속 진행하십시오.

모든 요소가 동작한다면 디스크 준비로 계속 진행하십시오.

대안: PPTP 사용

PPTP 지원이 필요하다면, 설치 CD에서 제공하는 pptpclient를 사용하십시오. 그러나 우선은 설정이 올바른지부터 확인하십시오. /etc/ppp/pap-secrets 또는 /etc/ppp/chap-secrets 파일을 편집하여 올바른 사용자 이름과 암호 조합이 들어가도록 하십시오:

root #nano -w /etc/ppp/chap-secrets

다음, 필요한 경우 /etc/ppp/options.pptp를 편집하십시오:

root #nano -w /etc/ppp/options.pptp

모든 조치가 완료되었다면, (options.pptp에 설정할 수 없던 옵션으로) pptp를 실행하여 서버에 연걸하십시오:

root #pptp <server ip>

이제 디스크 준비로 계속 진행하십시오.

직접 네트워크 설정

적절한 네트워크 모듈 불러오기

설치 CD로 부팅했다면, 모든 하드웨어 장치를 찾고 하드웨어를 지원하는 적절한 커널 모듈(드라이버) 불러오기를 시도합니다. 대부분의 경우, 잘 동작하지만, 일부 경우에는 커널 모듈을 자동으로 불러오지 않습니다.

net-setup 또는 pppoe-setup 설정이 실패했다면, 네트워크 카드를 바로 찾지 못했을 수도 있습니다. 사용자가 적절한 커널 모듈을 직접 불러와야 함을 의미합니다.

네트워크에 활용할 제공 커널 모듈을 찾으려면 ls를 사용하십시오:

root #ls /lib/modules/`uname -r`/kernel/drivers/net

네트워크 장치에 대한 드라이버를 찾았다면, modprobe명령으로 커널 모듈을 불러오십시오. 예를 들어, pcnet32 모듈을 불러오려면:

root #modprobe pcnet32

네트워크 카드를 발견했는지 확인하려면 ifconfig를 사용하십시오. 발견한 네트워크 카드는 다음과 같은 결과를 보여줍니다(다시 말하지만, 예제에서는 eth0가 있습니다):

root #ifconfig eth0
eth0      Link encap:Ethernet  HWaddr FE:FD:00:00:00:00  
          BROADCAST NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

그러나 다음 오류가 나타나면, 네트워크 카드를 발견하지 못한 상황입니다.

root #ifconfig eth0
eth0: error fetching interface information: Device not found

시스템에 존재하는 네트워크 인터페이스 이름은 /sys 파일시스템에서 찾아볼 수 있습니다:

root #ls /sys/class/net
dummy0  eth0  lo  sit0  tap0  wlan0

위 예제에서, 인터페이스 6개를 찾았습니다. eth0는 아마도 (유선)이더넷 어댑터일 것이고, wlan0는 무선 이더넷 어댑터일 것입니다.

네트워크 카드를 이제 찾았다면, 다시 한번 net-setup 또는 pppoe-setup를 시도해보십시오(이제 동작해야 합니다). 다만, 일부러 복잡하고 어려운 걸 찾는 분들을 위해 마찬가지로, 네트워크를 직접 설정하는 방법을 설명하도록 하겠습니다.

네트워크 설정 항목에 따라 다음 중 하나의 절을 선택하십시오:

DHCP 사용

DHCP(동적 호스트 설정 프로토콜)은 네트워크 정보(IP주소, 네트워크 마스크, 브로드캐스트 주소, 게이트웨이, 네임서버 등)를 자동으로 받을 수 있게 합니다. DHCP 서버가 네트워크에 있을 때(또는 ISP 서비스 업체에서 DHCP 서비스를 제공할 때)만 동작합니다. 네트워크 인터페이스가 이 정보를 자동으로 받게 하려면, dhcpcd를 사용하십시오:

root #dhcpcd eth0

일부 네트워크 관리자는 시스템에서 사용할 호스트 이름과 도메인 이름을 요구합니다. 이 경우 다음 명령을 사용하십시오:

root #dhcpcd -HD eth0

이 과정을 통해 네트워크가 동작(Google과 같은 인터넷 서버에 ping을 시도해보십시오)한다면, 모든 설정이 끝났으며 계속할 준비가 된 상태입니다. 나머지 절을 건너뛰고 디스크 준비로 계속 진행하십시오.

무선 네트워크 접근 준비

참고
iw 명령 지원은 아키텍처별로 다릅니다. 명령을 사용할 수 없다면, 현재 아키텍처에서 net-wireless/iw 꾸러미를 사용할 수 있는지 참고하십시오. iw 명령은 net-wireless/iw 꾸러미를 설치하지 않으면 활용할 수 없습니다.

무선 네트워크(802.11)카드를 사용한다면, 무엇보다도 먼저 무선 설정을 해야 합니다. 현제 무선 네트워크 카드의 무선 설정을 보려면 iw 명령을 사용하시면 됩니다. iw를 실행하면 결과는 다음과 비슷합니다:

root #iw dev wlp9s0 info
Interface wlp9s0
	ifindex 3
	wdev 0x1
	addr 00:00:00:00:00:00
	type managed
	wiphy 0
	channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz
	txpower 30.00 dBm

현재 연결 상태를 확인하려면:

root #iw dev wlp9s0 link
Not connected.

또는

root #iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0)
	SSID: GentooNode
	freq: 2462
	RX: 3279 bytes (25 packets)
	TX: 1049 bytes (7 packets)
	signal: -23 dBm
	tx bitrate: 1.0 MBit/s
참고
일부 무선 네트워크 카드는 wlp9s0 대신 wlan0또는 ra0 장치 이름을 갖습니다. 정확한 장치 이름을 알아보려면 iplink를 실행하십시오.

대부분 사용자에게 바꾸어야 할 중요한 두가지 항목이 있는데, ESSID(무선 네트워크 이름으로 알려짐)와 경우에 따라 바꿀 WEP 키입니다.

  • 우선 인터페이스 활성화 여부를 확인합니다:
root #ip link set dev wlp9s0 up
  • GentooNode 공개 네트워크로 연결하려면:
root #iw dev wlp9s0 connect -w GentooNode
  • 16진수 WEP 키를 사용하여 연결하려면, 키 값 앞에 d:를 앞에 붙이십시오:
root #iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
  • ASCII WEP 키로 연결하려면:
root #iw dev wlp9s0 connect -w GentooNode key 0:some-password
참고
무선 네트워크를 WPA또는 WPA2로 설정한다면 wpa_supplicant를 사용해야합니다. 젠투 리눅스에서 무선 네트워크를 설정하는 내용을 더 많이 알아보려면 젠투 핸드북의 무선 네트워크 절을 읽어보십시오.

iw dev wlp9s0 명령으로 무선 네트워크 설정을 확인하십시오. 무선 네트워크가 동작한다면, 다음 절(네트워크 용어 이해) 에서 설명하는 IP 수준 네트워크 옵션을 설정하거나 이전에 설명한 net-setup 도구를 사용하십시오.

네트워크 용어 이해

참고
IP 주소, 브로드캐스트 주소, 네트워크 마스크, 네임서버를 알고 있다면, 이 하위 절을 건너뛰고 ifconfigroute 사용으로 계속 진행하십시오.

위에서 시도한 모든 수단이 실패했다면, 네트워크를 직접 설정해야합니다. 모든게 다 어렵진 않습니다만, 약간의 네트워크 용어 지식과 기본 개념이 필요합니다. 이 절을 다 읽고 나면 사용자 여러분은 게이트웨이가 무엇인지, 네트워크 마스크 제공 목적이 무엇인지, 브로드캐스트 주소는 어떻게 구성하며, 시스템에서 네임서버가 왜 필요한지 깨닫게 됩니다.

네트워크에서는, 호스트를 IP 주소(인터넷 프로토콜 주소)로 식별합니다. 각 주소는 0부터 255 사이의 4개의 숫자의 조합으로 이루어집니다. 글쎄요. 최소한 IPv4(IP 버전 4)를 사용할 때의 이야깁니다. 실제로는 IPv4 주소는 32비트(1과 0)로 이루어져있습니다. 예제를 보도록 하겠습니다:

코드 IPv4 주소 예제
IP Address (numbers):   192.168.0.2
IP Address (bits):      11000000 10101000 00000000 00000010
                        -------- -------- -------- --------
                           192      168       0        2
참고
IPv4 다음, IPv6에서는 128 비트(1과 0)를 사용합니다. 이 절에서는 IPv4 주소를 중점적으로 다룹니다.

IP주소는 모든 네트워크에 접근할 수 있는 개별 호스트에 대해 유일합니다(예를 들자면 네트워크에 도달하려는 모든 호스트는 반드시 유일한 IP 주소를 지니고 있어야합니다). 네트워크 내외부간 호스트를 식별하기 위한 IP 주소는 두 부분으로 나눕니다. 네트워크 파트와 호스트 파트입니다.

구분은 여러 개의 1과 그 다음 따라오는 여러 개의 0으로 이루어진 네트워크 마스크로 적습니다. 1 부분에 대응하는 IP 부분은 네트워크 파트, 0 부분에 대응하는 IP 부분은 호스트 파트입니다. 보통 네트워크 마스크는 IP 주소처럼 적습니다.

코드 네트워크/호스트 구분 예제
IP address:    192      168      0         2
            11000000 10101000 00000000 00000010
Netmask:    11111111 11111111 11111111 00000000
               255      255     255        0
           +--------------------------+--------+
                    Network              Host

다시 말해, 192.168.0.14는 예제 네트워크의 일부이지만, 192.168.1.2는 아닙니다.

브로드캐스트 주소는 네트워크에서 동일한 네트워크에 속하지만, 호스트 부분에 있어서는 유일합니다. 모든 호스트는 이 IP 주소로 네트워크 상에서 대기합니다. 사실, 브로드캐스트 패킷을 기다리려는 의미입니다.

코드 브로드캐스트 주소
IP address:    192      168      0         2
            11000000 10101000 00000000 00000010
Broadcast:  11000000 10101000 00000000 11111111
               192      168      0        255
           +--------------------------+--------+
                     Network             Host

인터넷 돌아보기가 가능하려면, 네트워크에 연결한 각각의 컴퓨터에는 어떤 호스트가 인터넷 연결을 공유하는지 알아야 합니다. 이 호스트를 게이트웨이라고 합니다. 이 호스트가 일반 호스트이기 때문에 일반 IP 주소(예: 192.168.0.1)를 갖습니다.

앞에서 모든 호스트에는 자체적으로 IP 주소를 가지고 있다고 언급했습니다. 호스트에 (IP 대신) 이름으로 접근하려면, 이름(dev.gentoo.org)을 IP(64.5.62.82)로 변환하는 서비스가 필요합니다. 이를 name 서비스라고 합니다. 이 서비스를 활용하려면 /etc/resolv.conf에 네임서버를 정의해야합니다.

어떤 경우, 게이트웨이에서 네임서버 기능을 제공하기도 합니다. 그렇지 않은 경우에는 ISP 업체에서 이 파일에 입력할 네임서버를 제공합니다.

요약하자면 과정을 계속 진행하기 위해 다음 정보가 필요합니다:

네트워크 항목 예제
시스템 IP 주소 192.168.0.2
네트워크 마스크 255.255.255.0
브로드캐스트 192.168.0.255
게이트웨이 192.168.0.1
네임서버 195.130.130.5, 195.130.130.133

ifconfig와 route 사용

네트워크 설정은 다음 3단계로 이루어집니다

  1. ifconfig로 IP 주소를 할당합니다
  2. route로 게이트웨이로의 라우팅을 설정합니다
  3. /etc/resolv.conf에 네임서버 IP를 저장하여 마무리합니다

IP 주소를 할당하려면, 브로드캐스트 주소와 네트워크 마스크가 필요합니다. 그러면 ${IP_ADDR}를 올바른 IP 주소로, ${BROADCAST}를 올바른 브로드캐스트 주소로, ${NETMASK}를 올바른 네트워크마스크로 바꾸어 다음 명령을 실행하십시오:

root #ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up

route를 사용하여 라우팅을 설정하십시오. ${GATEWAY}를 올바른 게이트웨이 IP 주소로 바꾸십시오:

root #route add default gw ${GATEWAY}

이제 /etc/resolv.conf를 여십시오:

root #nano -w /etc/resolv.conf

다음 양식에 맞춰 네임서버 주소를 채우십시오. ${NAMESERVER1}${NAMESERVER2}를 적절한 네임서버 주소로 바꾸십시오:

코드 /etc/resolv.conf에서 사용하는 기본 양식
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}

다 됐습니다. 이제 몇 군데 인터넷 서버(Google 같은 곳)로 ping을 시도하여 테스트해보십시오. 동작한다면, 축하드립니다. 디스크 준비로 계속 진행하십시오.


Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎čeština • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Parts 핸드북
설치
설치 정보
매체 선택
네트워크 설정
디스크 준비
스테이지 3 설치
베이스 시스템 설치
커널 설정
시스템 설정
도구 설치
부트로더 설정
마무리
젠투 활용
포티지 소개
USE 플래그
포티지 기능
초기화 스크립트 시스템
환경 변수
포티지 활용
파일 및 디렉터리
변수
소프트웨어 브랜치 함께 사용하기
추가 도구
꾸러미 저장소 개별 설정
고급 기능
네트워크 설정
시작하기
고급 설정
모듈러 네트워크
무선 네트워크
기능 추가
동적 관리


블록 장치 소개

블록 장치

리눅스 파일 시스템, 분할 영역, 블록 장치 등 젠투 리눅스 및 일반적인 리눅스 운영체제의 바람직한 디스크 측면의 양상을 살펴보도록 하겠습니다. 디스크와 파일 시스템의 입출력을 이해하고 나서, 젠투 리눅스 설치에 필요한 분할 영역과 파일 시스템을 설정하겠습니다.

시작에 앞서 블록 장치를 살펴보도록 하죠. 아마~도 리눅스 시스템에서 첫번째 드라이브로 표시하는 대부분 잘 알려진 블록 장치는 /dev/sda겠죠. SCSI와 직렬 ATA 드라이브 둘 다 /dev/sd*와 같은 식으로 표시합니다. 게다가 커널의 libata 프레임워크에서는 IDE 드라이브도 마찬가지로 /dev/sd*로 표시합니다. 이전 장치 프레임워크에서 첫번째 IDE 드라이브는 /dev/hda입니다.

The following table will help readers determine where to find a certain type of block device on the system:

Type of device Default device handle Editorial notes and considerations
SATA, SAS, SCSI, or USB flash /dev/sda Found on hardware from roughly 2007 until the present, this device handle is perhaps the most commonly used in Linux. These types of devices can be connected via the SATA bus, SCSI, USB bus as block storage. As example, the first partition on the first SATA device is called /dev/sda1.
NVM Express (NVMe) /dev/nvme0n1 The latest in solid state technology, NVMe drives are connected to the PCI Express bus and have the fastest transfer block speeds on the market. Systems from around 2014 and newer may have support for NVMe hardware. The first partition on the first NVMe device is called /dev/nvme0n1p1.
MMC, eMMC, and SD /dev/mmcblk0 embedded MMC devices, SD cards, and other types of memory cards can be useful for data storage. That said, many systems may not permit booting from these types of devices. It is suggested to not use these devices for active Linux installations; rather consider using them to transfer files, which is their design goal. Alternatively they could be useful for short-term backups.

위에 나타낸 블록 장치는 디스크의 추상 인터페이스를 표현합니다. 사용자 프로그램은 블록 장치가 IDE가 됐든 SCSI가 됐든 뭐가 됐든지간에 신경쓰지 않고 디스크와 소통을 수행할 때 이 블록 장치를 사용할 수 있습니다. 프로그램에서는 디스크의 저장 공간에 대해, 연속적이며, 임의로 접근하는 512 바이트 블록의 모음으로 다룰 수 있습니다.

파일 시스템 만들기

도입부

이제 분할 영역을 만들었고, 파일 시스템을 제 위치에 얹어놓을 차례입니다. 다음 절에서는 리눅스에서 지원하는 다양한 파일 시스템을 설명합니다. 어떤 파일 시스템을 사용할 지 이미 알고 있는 독자라면 파티션에 파일 시스템 반영하기로 계속 진행할 수 있습니다. 그렇지 않으면 계속 읽어 내려가면서 쓸 수 있는 파일시스템이 어떤 종류가 있는지 알아보십시오.

파일 시스템

다양한 파일 시스템이 있습니다. 일부는 amd64 아키텍처에서 안정적입니다 - 중요한 분할 영역을 위해서라면 좀 더 시험적인 분할 영역을 선택하기 전에 파일 시스템과 지원 상태에 대한 내용을 좀 더 읽어보시는 것이 좋겠습니다.

btrfs
스냅샷, 검사합을 통한 자체복구, 투명 압축, 하위 볼륨, 통합 RAID 같은 고급 기능을 제공하는 차세대 파일 시스템입니다. 일부 배포판은 이미 특별한 옵션으로 탑재했지만 실무에서 쓰기엔 준비가 미흡합니다. 파일 시스템이 깨지는 경우가 다반사입니다. 개발자들은 이전 버전에 문제가 있기 때문에 안전을 위해 최신 커널 버전을 사용하라고 합니다. 몇년 동안 이래왔고 무엇인가 바뀐다고 하면 너무 일찍 언급합니다. 깨지는 문제를 고친다고 하면 가끔 이전 커널에 있던 대로 돌아갑니다. 파일 시스템을 쓰려 한다면 위험을 감수하십시오!
ext2
검증된 리눅스 파일시스템이지만 메타데이터 저널링기능이 없습니다. 이는 시작시간의 파일시스템 검사루틴에서 조금 더 많은 시간소모를 할 수 있다는 의미입니다. 이제 일관성 검사를 더욱 빠르게 할 수 있고 비 저널링의 대체 수단으로써 일반적으로 더욱 선호하는 차세대 저널링 파일시스템의 상당한 선택요소가 있습니다. 저널링 파일시스템은 시스템을 시동하고 파일시스템에 비일관 상태가 발생했을 때 긴 지연시간을 줄입니다.
ext3
빠른 복구 기능을 제공하는 메타데이터 저널링을 제공하며, 게다가 전체 데이터와 정렬된 데이터 저널링과 같은 강화 저널링 모드도 지원하는 ext2 파일시스템의 저널링 버전입니다. 대부분의 모든 상황에서 고성능 동작이 가능한 HTree 색인을 사용합니다. 간단히 말해 ext3는 아주 좋은 믿을 수 있는 파일시스템입니다. ext3을 모든 목적의 모든 플랫폼 파일시스템으로 추천합니다.
ext4
ext3으로부터 갈라져 나와 성능을 향상시키고 디스크상 형식에 대해 적절한 수정을 가하여 용량 제한을 없애는 새로운 기능을 포함하여 만든 파일시스템입니다. 볼륨 하나의 크기를 1EB까지 늘릴 수 있고, 파일 최대 크기는 16TB가 될 수 있습니다. 기존의 ext2/3 비트맵 블록 할당 대신에 ext4는 대용량 파일 성능을 끌어올리고 단편화를 줄인 extents를 사용합니다. ext4는 디스크의 데이터 배치에 대해 최적화 할 더 많은 방법을 파일시스템 드라이버에 제공하는 좀 더 세련된 블록 할당 알고리즘(지연할당 및 다중블록 할당)을 제공합니다. ext4는 모든 목적의 모든 플랫폼의 파일 시스템에 추천합니다.
f2fs
플래시 지향 파일 시스템은 처음에 낸드 플래시 메모리에서 활용할 목적으로 삼성에서 만들었습니다. 2016년 2/4분기 시점에, 이 파일 시스템은 여전히 미완의 상태지만 젠투를 마이크로SD 카드, USB 드라이브, 기타 플래시 기반 저장 장치에 설치할 경우 괜찮은 선택입니다.
JFS
IBM의 고성능 저널링 파일시스템입니다. JFS는 다양한 상황속에서도 좋은 성능을 내는, 가볍고 빠르며 믿을 수 있는 B+트리 기반 파일시스템입니다.
ReiserFS
전반적으로 좋은 성능을 내며 특히 용량이 작은 수많은 파일들을 다룰 때 더 많은 CPU 사이클을 소비하는 경우 좋은 성능이 나는 B+트리 기반 저널링 파일시스템입니다. ReiserFS는 다른 파일시스템보다 덜 관리중인 것으로 보입니다.
XFS
견고한 기능 모음을 지니고 있으며 확장성에 있어 최적화 된 메타데이터 저널링 파일시스템입니다. XFS는 다양한 하드웨어 문제에 대해 그다지 관대하진 않은 것 같습니다.
vfat
FAT32로 알려진 vfat은 리눅스에서 지원하지만 권한 설정은 지원하지 않습니다. 여러 운영 체제간 상호 운용성을 목적으로(주로 마이크로소프트 윈도우) 활용하지만 일부 시스템 펌웨어(UEFI)용으로도 필요합니다.
NTFS
"New Technology" 파일 시스템은 마이크로 소프트의 대표 파일 시스템입니다. 위의 vfat과 비슷하게 BSD 또는 리눅스에서 필요한 권한 설정 또는 확장 속성을 저장하지 않기에 루트 파일 시스템으로 활용할 수 없습니다. 오직 마이크로소프트 윈도우와 상호 연동할 때만 활용해야합니다(오직 이 경우에만 역점을 둠을 참고하십시오).

분할 영역에 파일 시스템 반영하기

분할 영역 또는 볼륨에 파일 시스템을 만들 때, 각 파일 시스템에서 사용할 수 있는 도구가 있습니다. 각 파일 시스템의 추가 정보를 살펴보려면 하단 표의 파일 시스템 이름을 누르십시오:

파일시스템 구성 명령 최소 CD 포함? 꾸러미
btrfs mkfs.btrfs Yes sys-fs/btrfs-progs
ext2 mkfs.ext2 Yes sys-fs/e2fsprogs
ext3 mkfs.ext3 Yes sys-fs/e2fsprogs
ext4 mkfs.ext4 Yes sys-fs/e2fsprogs
f2fs mkfs.f2fs Yes sys-fs/f2fs-tools
jfs mkfs.jfs Yes sys-fs/jfsutils
reiserfs mkfs.reiserfs Yes sys-fs/reiserfsprogs
xfs mkfs.xfs Yes sys-fs/xfsprogs
vfat mkfs.vfat Yes sys-fs/dosfstools
NTFS mkfs.ntfs Yes sys-fs/ntfs3g

예를 들어, 예제 분할 영역 구조와 같이 ext2 형식의 ext4 형식의 루트 분할 영역 ()을 취하려면, 다음 명령을 사용할 수 있습니다:

root #mkfs.ext4

(8GB 이하의) 작은 분할 영역에서 ext2, ext3, ext4 를 사용한다면, 충분한 inode 갯수를 예약할 적당한 옵션으로 파일 시스템을 만들어야합니다. mke2fs(mkfs.ext2)에서는 "아이노드 당 바이트" 설정을 사용하여 파일 시스템에서 보유할 아이노드 갯수를 계산합니다. 작은 분할 영역일수록 아이노드 갯수를 늘리는 것이 좋습니다.

root #mkfs.ext2 -T small /dev/<device>

각 16kB 영역을 하나의 4kB 영역으로 줄이는 "아이노드 당 바이트"로 주어진 파일 시스템의 아이노드 갯수를 네 배로 뻥튀기(?)합니다. 비율값을 부여하여 속성을 조절할 수 있습니다:

이제 새로 만든 분할 영역(또는 논리 분할 영역)에 파일 시스템을 만들겠습니다.

스왑 분할 영역 활성화

mkswap은 스왑 분할 영역을 초기화하는 명령입니다:

root #mkswap

스왑 분할 영역을 활성화하려면, swapon 명령을 사용하십시오:

root #swapon

위에 언급한 명령으로 스왑을 만들고 활성화하십시오.

루트 분할 영역 마운트

이제 분할 영역을 초기화했고 파일 시스템을 넣었으므로 분할 영역을 마운트할 차례입니다. mount 명령을 사용하지만 만들어놓은 모든 분할 영역에 대해 마운트 디렉터리를 만들 필요는 없다는 사실을 잊지 마십시오. 예제를 통해 우리는 루트 분할 영역을 마운트하겠습니다:

root #mount /mnt/gentoo
참고
/tmp/를 따로 나눈 분할 영역에 두어야 한다면, 마운트하기 전에 퍼미션을 바꾸었는지 확인하십시오:
root #chmod 1777 /mnt/gentoo/tmp
이 설정은 /var/tmp에도 적용 유지합니다.

지침을 따르고 나면 proc 파일 시스템(커널 가상 인터페이스)와 다른 커널 의사 파일 시스템을 마운트합니다. 그러나 우선 젠투 설치 파일을 설치하겠습니다.


Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎čeština • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Parts 핸드북
설치
설치 정보
매체 선택
네트워크 설정
디스크 준비
스테이지 3 설치
베이스 시스템 설치
커널 설정
시스템 설정
도구 설치
부트로더 설정
마무리
젠투 활용
포티지 소개
USE 플래그
포티지 기능
초기화 스크립트 시스템
환경 변수
포티지 활용
파일 및 디렉터리
변수
소프트웨어 브랜치 함께 사용하기
추가 도구
꾸러미 저장소 개별 설정
고급 기능
네트워크 설정
시작하기
고급 설정
모듈러 네트워크
무선 네트워크
기능 추가
동적 관리


스테이지 타르볼 설치하기

날짜 및 시간 설정

젠투를 설치하기 전 날짜와 시간을 올바르게 설정하는 것이 좋습니다. 시계를 잘못 설정하면 이상한 결과가 나타납니다. 베이스 시스템 파일은 정확한 타임스탬프를 찍어 압축 해제해야합니다. 사실, 일부 웹 사이트 및 서비스에서 보안 통신(SSL/TLS)을 수행하기 때문에 시스템 시계가 상당히 꼬여있으면 설치 파일을 모두 다운로드할 수 없습니다!

date 명령으로 현재 날짜와 시각을 확인하십시오:

root #date
Mon Oct  3 13:16:22 PDT 2016

날짜 시각이 잘못 나타났다면 아래 방식으로 고치십시오.

참고
실시간 클록(RTC)칩이 붙어있지 않은 마더보드의 경우 시간 서버로 시스템 시계를 자동으로 동기화하게 해야합니다. RTC 칩을 넣었지만 배터리에 문제가 있는 시스템에도 해당합니다.

자동

공식 젠투 설치 미디어에는 ntpd 명령(net-misc/ntp 꾸러미에 있음)이 들어있습니다. 공식 미디어에는 ntp.org 시간 서버를 가리키는 설정 파일이 들어있습니다. 시간 서버로 UTC 시간을 자동으로 동기화할 수 있습니다. 이 방식으로 시간을 동기화하려면 네트워크 설정이 필요하며, 모든 아키텍처에서 다 되는건 아닐 수도 있습니다.

경고
자동 시간 동기화에는 그만한 댓가가 따릅니다. 시스템 IP 주소와 관련 네트워크 정보를 시간 서버(이 경우 ntp.org)로 보냅니다. 개인 정보 유출을 걱정하는 사용자라면 아래 방식으로 시스템 시계를 설정하기 , 이 사항을 숙지해야합니다.
root #ntpd -q -g

수동

date 명령으로 시스템 시계를 직접 설정할 수도 있습니다. MMDDhhmmYYYY 형식으로 설정합니다(월,일,시,분,연도).

모든 리눅스 시스템에 UTC 시계 설정을 추천합니다. 시간대는 설치 과정 후반에 설정합니다. 시간대를 설정하면 시계를 지역 시간으로 나타냅니다.

예를 들어 2016년 10월 03일 13시 16분을 설정하려면:

root #date 100313162016

스테이지 타르볼 선택

Multilib (32비트 및 64비트)

시스텝 기본 타르볼을 선택하면, 특히 시스템 프로파일 선택을 진행할 때, 설치 과정의 나머지 시간을 절약할 수 있습니다. 스테이지 타르볼 선택은 앞으로의 시스템 설정에 직접적인 영향을 주며 이후에 발생할 두통을 예방할 수 있습니다. multilib 타르볼은 가능하면 64비트 라이브러리를 사용하며 호환성이 필요하면 32비트 버전을 대신 사용합니다. 주요 설치 과정에 있어 최상의 옵션이며, 앞으로 다양한 개별 설정을 유연하게 처리할 수 있기 때문입니다. 프로파일을 쉽게 바꿀 수 있는 시스템을 원한다면 프로세서 아키텍처에 해당하는 multilib 타르볼 옵션을 다운로드해야합니다.

대부분 사용자는 '고급' 타르볼 선택 항목을 활용하면 안됩니다. 이 항목은 특정 프로그램 또는 하드웨어 설정용으로 만들었습니다.

no-multilib(순수 64비트)

no-multilib 타르볼 시스템 베이스로 선택하면 완벽한 64비트 처리 시스템 환경을 갖춥니다. 이 환경은 multilib 프로파일로 전환하는 희한하지만 가능한 기능을 갖추고 있습니다. 정말 필요한 경우가 아닌 이상 처음 젠투를 사용하는 사람이라면 no-multilib 타르볼을 젠투에서 사용하지 않는게 좋습니다.

경고
no-multilib 시스템에서 multilib 시스템으로 이전할 경우 젠투 동작과 하부 단계 툴체인에 대한 해박한 지식이 필요합니다(게다가 이 문제는 툴체인 개발자들 마저도 이를 갈게 만듭니다). 비굴해서 그런게 아니며 이 안내서에서 다룰 내용의 범위를 벗어납니다.

OpenRC

OpenRC is a dependency-based init system (responsible for starting up system services once the kernel has booted) that maintains compatibility with the system provided init program, normally located in /sbin/init. It is Gentoo's native and original init system, but is also deployed by a few other Linux distributions and BSD systems.

OpenRC does not function as a replacement for the /sbin/init file by default and is 100% compatible with Gentoo init scripts. This means a solution can be found to run the dozens of daemons in the Gentoo ebuild repository.

For historical reasons only, this manual focusses on installation and configuration using OpenRC. Rewriting and enhancing it to also explain a Systemd installation (see below) is planned.

systemd

systemd is a modern SysV-style init and rc replacement for Linux systems. By now it is in use in a majority of Linux distributions. systemd is supported in Gentoo and works just fine; it is widely configurable. Unfortunately, the corresponding installation handbook sections to a large extent still need to be written or are work in progress.

참고
It is possible to switch a running Gentoo installation from OpenRC to systemd and back. However, this requires some effort and is outside the scope of the installation manual. Depending on what you want to use in your installation, please make sure you select the right stage tarball.

스테이지 타르볼 다운로드

루트 파일 시스템을 마운트한 젠투 마운트 지점으로 이동하십시오(대부분 /mnt/gentoo):

root #cd /mnt/gentoo

설치 미디어에 따라, 스테이지 타르볼을 다운로드할때 필요한 도구는 웹 브라우저 뿐입니다.

그래픽 브라우저

완벽한 그래픽 여건을 갖춘 웹 브라우저에서 주 웹사이트 다운로드 페이지에서 스테이지 파일 URL을 그대로 복사해서 쓰는데 아무런 문제가 없습니다. 간단히 적절한 탭을 선택한 다음, 스테이지 파일 링크 위에 마우스 커서를 가져간 후, 마우스 오른쪽 단추를 누르고 링크 주소 복사 (Firefox) 또는 링크 위치 복사 (Chromium)를 선택하여 클립보드에 링크를 복사합니다. 그 후 명령행에서 wget 유틸리티 매개변수 자리에 붙여넣어 스테이지 타르볼을 내려받으십시오:

root #wget <PASTED_STAGE_URL>

명령행 브라우저

좀 더 예전부터 사용해온 독자 또는 젠투 사용자라면, 그래픽 방식이 아닌 메뉴기반 브라우저 links를 대신 선호할 지도 모르겠습니다. 스테이지 파일을 다운로드하려면 다음 명령으로 젠투 미러를 찾아보십시오:

root #links https://www.gentoo.org/downloads/mirrors/

links에서 HTTP 프록시를 사용하려면, -http-proxy 옵션으로 URL을 전달하십시오:

root #links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/

links 다음에는 lynx 브라우저도 있습니다. links와 유사하게 비-그래픽 브라우저지만, 메뉴 기반 브라우저도 아닙니다.

root #lynx https://www.gentoo.org/downloads/mirrors/

프록시를 지정해야 한다면, http_proxy 또는 ftp_proxy 변수 값을 export로 처리하십시오:

root #export http_proxy="http://proxy.server.com:port"
root #export ftp_proxy="http://proxy.server.com:port"

미러 목록에서 가까운 미러를 선택하십시오. HTTP 미러를 사용하는 걸로 충분합니다만, 다른 프로토콜로도 쓸 수 있습니다. releases/amd64/autobuilds/ 디렉터리로 이동하십시오. 존재하는 모든 스테이지 파일이 나타납니다(아마도 각각의 하위 아키텍처에 있는 하위 디렉터리에 있을지도 모릅니다). 그 중 하나를 선택하고 d를 눌러 다운로드하십시오.

스테이지 파일 다운로드가 끝나면 스테이지 타르볼 내용의 무결성을 검증하고 유효화할 수 있습니다. 이 부분은 다음 장에서 진행합니다.

스테이지 파일 검증 및 유효화에 관심 없는 분들은 q키를 눌러 명령행 브라우저를 닫고 바로 스테이지 타르볼 압축 해제 부분으로 넘어갈 수 있습니다.

검증 및 유효화

참고
어떤 타르볼의 경우는 xz 압축 상태로 제공합니다. .tar.xz 확장자로 끝나는 타르볼을 다운로드 받으실 때, 다음 명령을 실행할 경우 .tar.bz2 확장자에서 타르볼 파일 이름을 바꿔 확인하십시오.

최소 설치 CD 처럼, 추가로 검증하고 유효화할 다운로드 파일이 있습니다. 이 단계는 건너뛸 수 있지만 그냥 다운로드한 파일의 무결성에 신경 쓰는 사용자를 위해 제공합니다.

  • 스테이지 타르볼 파일 목록이 있는 .CONTENTS 파일.
  • 각각의 알고리즘으로 만든 스테이지 파일의 체크섬이 있는 .DIGESTS 파일.
  • .DIGESTS 파일과 마찬가지로 각각의 알고리즘으로 만든 스테이지 파일의 체크섬이 있지만, 젠투 프로젝트에서 제공했음을 확인할때 쓰는 암호화 서명도 들어있는 .DIGESTS.asc.

openssl을 사용하여 .DIGESTS 또는 .DIGESTS.asc 파일에서 제공하는 체크섬 출력을 비교하십시오.

SHA512 체크섬을 검증한다면:

root #openssl dgst -r -sha512 stage3-amd64-<release>.tar.bz2

sha512sum 명령을 사용하는 다른 방법도 있습니다:

root #sha512sum stage3-amd64-<release>.tar.bz2

월풀 체크섬을 검증하려면:

root #openssl dgst -r -whirlpool stage3-amd64-<release>.tar.bz2

.DIGESTS(.asc) 파일에 등록한 값을 이 명령의 출력과 비교하십시오. 값이 일치해야 하며, 그렇지 않으면 다운로드한 파일(또는 digests 파일)이 깨진 상태입니다.

ISO 파일과 마찬가지로, gpg를 활용하여 .DIGESTS.asc 파일의 암호화 서명을 검증하여 누군가가 체크섬에 손을 댔는지 여부를 확인할 수 있습니다:

root #gpg --verify stage3-amd64-<release>.tar.bz2,.DIGESTS.asc

The fingerprints of the OpenPGP keys used for signing release media can be found on the release media signatures page of the Gentoo webserver.

스테이지 타르볼 압축 해제

이제 다운로드한 스테이지를 시스템에 압축해제하십시오. tar를 사용하여 진행하겠습니다:

root #tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner

동일한 옵션(xpf--xattrs-include='*.*')을 사용했는지 확인하십시오. x는 추출, p는 권한 플래그 유지, f는 표준 출력이 아닌 파일로 추출함을 나타냅니다. --xattrs-include='*.*'는 압축 파일에 저장한 이름 영역 전체의 확장 속성을 포함합니다. 마지막으로 --numeric-owner 옵션은 얼리어답터가 공식 젠투 설치 미디어를 활용하지 않는다 할 지라도, 젠투 릴리즈 엔지니어링 팀이 의도한 대로 타르볼에서 풀려나온 파일의 사용자 ID와 그룹 ID가 동일하게 나왔는지 확인합니다.

이제 스테이지 파일의 압축을 해제했으니, 컴파일 옵션 설정으로 진행하십시오.

컴파일 옵션 설정

도입부

젠투를 최적화 하려는 목적으로 젠투에서 공식적으로 지원하는 꾸러미 관리자 포티지 동작에 영향을 줄 여러가지 변수를 설정할 수 있습니다. 이들 변수는 (export로) 환경 변수처럼 설정할 수 있습니다만 언제든 값이 유지되는 것은 아닙니다. 설정값을 유지하려, 포티지의 설정 파일 /etc/portage/make.conf 파일을 포티지에서 읽습니다.

참고
쓸 수 있도록 주석 처리하여 준비한 모든 변수 목록은 /mnt/gentoo/usr/share/portage/config/make.conf.example에 있습니다. 젠투 설치를 제대로 하기위해 설정이 필요한 변수만을 아래에 언급했습니다.

편집기를 실행(이 안내서에서는 nano를 사용합니다)하여 이 다음에 언급할 최적화 변수값을 바꾸어보겠습니다.

root #nano -w /mnt/gentoo/etc/portage/make.conf

make.conf.example 파일에서 파일을 어떤 식으로 구성해야 하는지 분명히 나타납니다: "#"(으)로 시작하는 줄은 주석이며, 다른 줄은 VARIABLE="content" 문법으로 작성한 변수 설정 부분입니다. 다양한 이들 변수에 대해서는 다음에 이야기하겠습니다.

CFLAGS와 CXXFLAGS

CFLAGSCXXFLAGS 변수는 gcc C/C++ 컴파일러의 최적화 플래그를 각각 지정합니다. 보통 여기에 지정하지만, 최적의 성능을 위해서는 각각의 프로그램에 플래그를 최적화해야합니다. 각각의 프로그램이 다르기 때문입니다. 그러나 그리 관리하기 쉬운게 아니므로 이 플래그 정의를 make.conf 파일에 다룹니다.

make.conf 에서는 보통 시스템에 가장 많이 영향을 줄 최적화 플래그를 지정해야합니다. 이 변수에 시험적인 설정은 넣지 마십시오. 최적화를 과도하게 하면 프로그램 동작이 잘못되는 수가 있습니다(깨지거나, 잘못되거나, 기능이 망가지거나).

가능한 모든 최적화 옵션을 설명하지는 않겠습니다. 이들을 전부 이해하려면 GNU 온라인 문서en 또는 gcc 정보 페이지(info gcc - 리눅스 시스템에서만 동작)를 참고하십시오. make.conf.example 파일 자체에 상당한 양의 예제와 정보를 담고 있습니다. 이것 또한 잊지 말고 살펴보십시오.

첫번째 설정은 대상 아키텍처 이름을 지정하는 -march= 또는 -mtune= 플래그입니다. 사용할 수 있는 옵션은 make.conf.example 파일에 (주석으로) 들어있습니다. 보통 사용하는 값은 컴파일러가 대상 아키텍처를 (사용자가 젠투를 설치하려는) 현재 시스템으로 설정하도록 하는 native 값입니다.

두번째는 gcc 최적화 수준 플래그를 지정하는 -O 플래그(숫자 영이 아닌 대문자 O임) 입니다. 가능한 클래스는 s(크기 최적화), 0(영. 최적화 안함), 1, 2, 또는 속도 최적화 를 위한 3 플래그(모든 클래스는 이전 클래스와 비슷하지만, 몇가지 특징을 추가함)입니다. 기본적으로 -O2를 추천합니다. 시스템 전반적인 영역에 있어 -O3이 문제를 일으키는것으로 알려져 있어 -O2에 집착하기를 추천합니다.

다른 최적화 플래그는 -pipe(다중 스테이지 컴파일간 통신에 임시 파일을 쓰는 대신 파이프를 활용)입니다. 생성 코드에 영향을 주지는 않지만 더 많은 메모리를 사용합니다. 메모리가 부족해지면, gcc를 강제로 끝냅니다. 이 경우 이 플래그를 사용하지 마십시오.

-fomit-frame-pointer(필요하지 않은 함수에 대한 프레임 포인터를 레지스터에서 계속 가지고 있지 않도록 하는 옵션)를 사용하면 프로그램을 디버깅하는동안 심각한 문제가 생길지도 모릅니다.

CFLAGSCXXFLAGS 변수를 지정하면, 각각의 최적화 플래그를 하나의 문자열로 합칩니다. 스테이지 3 아카이브에 들어있는 기본값은 풀려나온 값 자체로도 충분합니다. 다음 플래그는 예제일뿐입니다:

코드 CFLAGSCXXFLAGS 변수 예제
CFLAGS="-march=native -O2 -pipe"
# Use the same settings for both variables
CXXFLAGS="${CFLAGS}"
요령
GCC 최적화 안내서에 다양한 컴파일 옵션이 시스템에 어떻게 영향을 주는지 많은 설명을 넣었지만, 시스템 최적화를 시작하려는 초보자에게는 Safe CFLAGS(en)가 더 도움이 될 수도 있습니다.

MAKEOPTS

MAKEOPTS 변수는 꾸러미를 설치하는 동안 컴파일을 동시에 몇개를 진행하는지 지정합니다. 최적의 값은 시스템에 붙은 CPU(또는 CPU 코어)의 갯수에 1을 더한 값이지만 이 안내서가 언제나 완벽하진 않습니다.

경고
Using a large number of jobs can significantly impact memory consumption. A good recommendation is to have at least 2 GiB of RAM for every job specified (so, e.g. -j6 requires at least 12 GiB). To avoid running out of memory, lower the number of jobs to fit the available memory.
요령
When using parallel emerges (--jobs), the effective number of jobs run can grow exponentially (up to make jobs multiplied by emerge jobs). This can be worked around by running a localhost-only distcc configuration that will limit the number of compiler instances per host.
코드 make.conf의 MAKEOPTS 선언 예제
MAKEOPTS="-j2"

준비, 시, 작!

개인 취향에 맞춰 /mnt/gentoo/etc/portage/make.conf를 업데이트한 후 저장하십시오(나노 사용자는 Ctrl+X를 치십시오).

그 다음 젠투 베이스 시스템 설치로 계속 진행하십시오.


Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎