5 2010-10-13
설치 마무리 필자의 컴퓨터에서 minimal CD 부팅 시작부터 여기까지의 설치를 완료하고 새로운 시스템으로 부팅을 완료하는데 까지 걸린 총 소요시간00:42:31 이었습니다. 즉, 1시간 이내에 설치를 완료한것입니다: stage3, Portage snapshot, 그리고 여러 패키지들의 다운로딩 시간과 커널 설정에 소요된 시간까지 포함해서!

root로 로긴 한 후, useradd를 이용하여 평소에 주로 사용할 유저들을 추가 합니다.

(known_hosts에 저장 된 minimal 설치 CD의 sshd가 생성한 키를 지웁니다.)
$ nano -w ~/.ssh/known_hosts
(새로 설치 된 젠투 시스템의 IP를 찾아서 해당 라인을 삭제하고, known_hosts를 저장하여줍니다.)

(젠투가 설치 된 새로운 컴퓨터의 IP로 접속합니다.)
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password: 비밀번호 입력
mybox ~ # useradd -g users -G lp,wheel,audio,cdrom,portage,cron -m john
mybox ~ # passwd john
New UNIX password: John의 비밀번호 입력
Retype new UNIX password: John의 비밀번호 재입력
passwd: password updated successfully
설정 마무리

/etc/make.conf를 열어 SYNCGENTOO_MIRRORS를 직접 수정하거나 mirrorselect를 이용하여, 가장 가까운 미러를 설정하여 줍니다. 또한, 패키지 설치 시 동시에 여러 컴파일링을 하게끔(MAKEOPTS) 설정할 수 있습니다.

mybox ~ # emerge mirrorselect
mybox ~ # mirrorselect -i -o >> /etc/make.conf
mybox ~ # mirrorselect -i -r -o >> /etc/make.conf
(대부분의 경우, (실제 가지고 있는 프로세서 갯수 + 1)을 추천합니다.)
mybox ~ # echo 'MAKEOPTS="-j2"' >> /etc/make.conf

자 이제, USE flag들을 설정합니다. 우선 emerge -vpv world 명령을 이용하여 현재 설치 된 모든 패키지들의 USE flag들을 확인 한 후, /etc/make.conf를 수정하거나 다음의 명령어를 실행하여 USE variable을 설정하시면 됩니다.

mybox ~ # emerge -vpe world
(Portage가 설치 된 패키지와 USE flag들을 보여줍니다.
예를들어, 아래 명령어는 ipv6와 fortran을 비활성화 시키고, unicode를 활성화합니다.)
mybox ~ # echo 'USE="nptl nptlonly -ipv6 -fortran unicode"' >> /etc/make.conf

시스템 locale을 설정합니다. 최근 버젼의 glibc는 /etc/locale.gen를 사용합니다.

mybox ~ # cd /etc
mybox etc # nano -w locale.gen
mybox etc # locale-gen

마지막으로, CFLAGS 변수에 컴파일러 옵션을 넣어 /etc/make.conf에 설정 할수 있습니다. 하지만 주의 할 점으로는, 너무 긴 컴파일러 옵션은 시스템을 불안정하게 만들수도 있고, 그렇게 긴 컴파일러 옵션이 필요한 경우는 거의 존재하지 않는다는 것입니다. 해당 프로세서 타입에 알맞는 march 옵션과 -O2 -pipe는 정도가 추천되는 옵션입니다.

~x86 키워드를 사용하길 원할 수도 있습니다. 하지만 그로인한 결과는 (broken ebuild or package) 본인이 감당해야 한다는 것을 유의하시길 바랍니다. 시스템을 안정적으로 유지하시고 싶으시다면 ACCEPT_KEYWORDS변수를 절대 사용하지 말기를 바랍니다.

mybox etc # nano -w make.conf
(현재 사용하는 CPU 타입에 맞게 -march 옵션을 설정하세요)
CFLAGS="-O2 -march=athlon-xp -pipe"
(아래 문장은 본인이 무엇을 하고 있는지 꼭 알고 있을 때만, 추가하세요.)
ACCEPT_KEYWORDS="~x86"

방금 설정한 부분들을 적용시키기 위해 시스템 전체를 다시 한번 재컴파일 하기를 원하실 수도 있습니다. 물론, 전체를 다시 재컴파일 하는것은 많은 시간을 요구함으로, 그냥 각각 개별 패키지의 새로운 버젼이 나올 때 마다, (새로운 버젼을 설치하기 위해 자동으로)컴파일을 함으로써, 시간을 두고 단계적으로 시스템을 최적화 시킬수도 있습니다. 그럼에도 불구하고, 시스템 전체를 재컴파일 하는것은 시스템의 일관성을 유지한다는 측면에서( 가령 모든 패키지들이 동일한 컴파일러 옵션/USE flag를 가지고 컴파일/설치 되었다는 ) 큰 도움이 될 수도 있습니다. 이와 관련된 주제에 대해 더 궁금하다면 Gentoo GCC Upgrading Guide를 참고하십시오.

가장 최근의 USE flag 변경에 영향을 받는 패키지 혹은 새로운 버젼이 나온 패키지들만 재컴파일을 할 수도 있습니다. 물론, 소요 시간도 시스템 전체를 재컴파일하는것에 비하면 절약적입니다. emerge -vpuD --newuse world를 실행하였을 때, 어느 패키지가 새로운 버젼의 패키지를 설치하는 것을 막고 있다면, emerge -C를 이용하여 해당 패키지를 제거 할 수도 있습니다.

(만약 키워드를 ~x86으로 설정하면 생각보다 많은 패키지들이 업데이트를 필요로 할수도 있습니다.)
mybox etc # emerge -vpuD --newuse world
(설치 된 패키지 리스트와 USE flag들을 주의깊게 확인하시고, blocking package가 있다면
해당 패키지를 제거하십시오. 그리고나서는, 전체 시스템 재컴파일을 시작합니다.
mybox etc # time emerge -vuD --newuse world
(79개의 패키지들이 설치/재컴파일 되었습니다.)

real  180m13.276s
user  121m22.905s
sys   36m31.472s

(혹시라도 존재 할지 모르는 문제들을 미리 방지하기 위해, libtool 패키지를 재설치 합니다.)
mybox etc # emerge --oneshot libtool

(config 파일들을 업데이트 합니다. 하지만, 직접 변경한 파일들을 덮어 씌워서 해당 부분들을 읽어버리는 경우가
없도로 주의 하십시오.)
mybox etc # dispatch-conf

(만약 perl이 업데이트 되었었다면, perl-cleaner 스크립트를 반드시 실행해야 합니다.)
mybox etc # time perl-cleaner all
real  1m6.495s
user  0m42.699s
sys   0m10.641s

(만약 python의 major 업데이트를 하였다면, python-updater 스크립트 또한 반드시 실행해야 합니다.)
mybox etc # python-updater
다음은...?

설치 하신 젠투 컴퓨터가 어떤 역할을 하기를 바라는지에 달려있습니다. 서버 프로그램들을 설치 할수도 있고, 데스크탑으로 활용 하기 위한 프로그램들을 설치 할수도 있습니다. 예를들어, emerge gnome 이나 emerge kde를 통해 GUI 프로그램들을 설치 하실 수도 있습니다.

Documentation index 문서에는 선택에 따라 어떻게 프로그램들을 설치하고 설정하는지에 대한 문서들이 담겨 있습니다.

아래 부분은 단순히 예제일뿐이며, 어떠한 추천사항도 아닙니다.
mybox etc # emerge -vp gnome
(설치해야하는 패키지 목록과 USE flag를 확인하고, 필요하다면 make.conf를 수정합니다.
mybox etc # nano -w /etc/make.conf
(이 예제에서는 아래의 USE flag들이 사용됩니다.)
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
     -kde -qt4 -arts -eds -esd gnome gstreamer gtk firefox"

mybox etc # time emerge gnome
(326개의 패키지들이 설치 되었습니다.)

real  520m44.532s
user  339m21.144s
sys   146m22.337s
mybox etc # emerge -vp kde-meta
(설치해야하는 패키지 목록과 USE flag를 확인하고, 필요하다면 make.conf를 수정합니다.
mybox etc # nano -w /etc/make.conf
(이 예제에서는 아래의 USE flag들이 사용됩니다.)
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
     kde qt4 -arts -eds -esd -gnome -gstreamer -gtk -firefox"

mybox etc # time emerge kde-meta
(391의 패키지들이 설치 되었습니다.)

real  1171m25.318s
user  851m26.393s
sys   281m45.629s