#keywords gentoo,linux,젠투,리눅스,배포판,설치,install,emerge,handbook #title 젠투리눅스 설치 [wiki:Home 대문] / [wiki:CategoryInstall 설치 및 구축] / [wiki:GentooLinuxInstall 젠투리눅스 설치] ---- == [wiki:GentooLinuxInstall 젠투리눅스 설치] == * 작성자 조재혁 ([mailto:minzkn@minzkn.com]) * 고친과정 2003년 11월 24일 : 첫 문서 릴리즈 (1.4 기준)[[BR]] 2004년 6월 2일 : 2004.1을 기준으로 수정완료. (생각보다 오타가 무지 많았다는것을 느끼면서...)[[BR]] 2008년 4월 16일 : 2007.0을 기준으로 가볍게 훝어보면서 수정. (완전한 수정은 아닐것 같으며)[[BR]] 10.0 기준으로 현재 수정중... [[TableOfContents]] === 개요 === 필자가 큰마음을 먹고 Gentoo를 설치하기로 마음먹고 설치를 하면서 그 과정을 기록해두며 많은 분들에게 약간의 도움이 되었으면 하는 바램에서 적어봅니다. Gentoo linux를 설치하기 위해서는 기본적으로 Linux를 사용해본 경험이 있어야 설치하는데 어려움이 없을것 같습니다. 전혀 경험이 없는 사용자는 Gentoo를 사용하는것에 대해서 신중한 선택이 필요하다고 당부하고 싶습니다. 그리 쉽지만은 않은 이유로 초심자에게는 권하고 싶지 않으며 어느정도 Linux사용을 해본분들에게 추천합니다. 물론 초심자라고 하여도 '''IRC'''정도만 할수 있다면 '''IRC'''의 '''#gentoo''' 채널에서 많은 도움을 얻을수 있습니다. 만약 여분의 PC가 한대 더 있다면 '''#gentoo''' 채널에서 도움을 얻어가면서 설치해도 좋을듯합니다. 초심자라고 하여도 한번 젠투 설치를 해보면 많은것을 얻을수 있다고 확신합니다. 젠투는 설치시간이 상당히 오래걸립니다. 굉장히 빠르면 하루면 설치가 되지만 보통은 2~3일정도 걸립니다. 또한 처음 젠투를 접한다면 약 1주일정도 소요될지도 모릅니다. 그리고 설치시간은 머신의 속도에 굉장히 커다란 영향을 받습니다. 때문에 설치하시면서 지루하게 모니터를 계속 보고 있지는 마세요. 느긋하게 설치하십시요. 설치는 오래걸리는 편이지만 한번 설치하면 이처럼 오랫동안 설치를 잊어버리는 배포판이 흔하지 않습니다. 이 문서는 완전한 설치를 담고 있지 않습니다. 때문에 보다 완벽한 설치를 위해서는 [^http://www.gentoo.org/doc/en/handbook/index.xml Gentoo handbook] 을 인쇄해두시고 보시기 바랍니다. === 설치하기전에 === ==== 관련 링크 ==== ||Gentoo linux home page (영문) ||[^http://www.gentoo.org view] || ||Gentoo linux user group (한국어) ||[^http://www.gentoo.or.kr view] || ||Gentoo linux handbook (영문) ||[^http://www.gentoo.org/doc/en/handbook/index.xml] || ||Gentoo Download Full Mirrors ||[^http://www.gentoo.org/main/en/mirrors2.xml] || ||Gentoo linux LiveCD 최근버젼 iso파일 (x86) ISO download ||[^http://distfiles.gentoo.org/releases/x86/autobuilds/current-iso/ iso download] || ||Gentoo linux LiveCD 최근버젼 iso파일 (amd64/x86_64) ISO download ||[^http://distfiles.gentoo.org/releases/amd64/autobuilds/current-iso/ iso download] || ||Gentoo Linux Wiki (강력추천) ||[^http://gentoo-wiki.com/] || ||Linux Repository, including kernel source (v2.6) ||[^http://www.kernel.org/pub/linux/kernel/v2.6/ download] || ||젠투(x86) 설치문서(한국어) ||[^http://wiki.kldp.org/wiki.php/GentooX86Handbook_Ko view] || ||젠투리눅스 FAQ (영문) ||[^http://www.gentoo.org/doc/en/?catid=faq view] || ||Linux from scratch (LFS) ||[http://www.linuxfromscratch.org view] || ==== 알아둘 필요가 있는 명령 ==== 독자분들 스스로 젠투홈페이지에서 아래의 단어를 검색해보시고 '''충분한 정보를 얻은후에 설치'''하신다면 보다 쉽게 설치될수 있습니다. || '''이름''' || '''설명''' || || emerge ||portage 를 관리하는 툴 (젠투는 곧 emerge라고 할정도로 중요한 툴) || || ebuild ||emerge 의 뼈대에 해당하는 툴 || || rc-update ||레뎃사용자라면 ntsysv명령과 흡사하다고 이해하시면 되며 부팅후 수행할 절차를 조정하는 툴입니다. || || env-update ||각종 환경변수를 /etc/env.d 하위에 지정하고 이 명령을 통해서 최정적으로 환경변수를 등록하는 /etc/profile.env 로 만들어 줍니다. || || net-setup ||Network 설정 툴 || || adsl-setup, adsl-start, adsl-stop, adsl-connect ||ADSL사용자에게는 너무나도 편리한 툴 || || genkernel ||gentoo kernel 빌드 툴입니다. (필자는 사용안해봤습니다.) || || revdep-rebuild ||의존관계에서 부적절한 부분을 해결해주는 툴 || || w3m ||X가 설치되기 전까지는 웹서핑은 이것으로 ... (참고로 lynx도 있습니다. 하나쯤 사용법을 익히시면 편합니다.) || || [wiki:CDRecord cdrecord] ||CD burning 툴 || || qpkg ||패키지를 쉽게 관리할수 있는 방법을 제공하는 툴입니다. (굉장히 편리한 기능이 돋보입니다.) || || chroot ||지정한 디렉토리를 최상위디렉토리로 임명하는 전통적인 명령어입니다. || || fdisk ||파티션 편집툴 || ==== 설치과정에 필요한 파일들 ==== 실제로 CD로 굽는것은 '''livecd 한장'''만 있으면 됩니다. 나머지는 설치하면서 받을수 있습니다. 1. [http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/installcd/install-x86-minimal-2007.0-r1.iso] : livecd x86 (부팅가능한 CD) 1. [http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/stages/stage1-x86-2007.0.tar.bz2] : Stage 1 1. [http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/stages/stage2-x86-2007.0.tar.bz2] : Stage 2 1. [http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/stages/stage3-x86-2007.0.tar.bz2] : Stage 3 여기서 stage 3에는 stage 2가 포함되어 있으며 stage 2에는 stage 1을 포함하고 있습니다. 즉, stage 1부터 설치한다면 최소사항부터 설치한다는 의미이고 stage 3부터 한다면 stage 1과 stage 2를 생략할수 있는 설치가 되겠습니다. stage 3부터 설치하는것도 나쁘진 않지만 젠투의 묘미는 자신의 머신에 최적화하여 설치하는것이라는 생각이 듭니다. 그래서 자신의 머신에 최적화를 극대화 하고 싶다면 stage 1부터 설치하실것을 권하며 그것보다 젠투의 패키지 방식이 좋아서 젠투를 선택하셨다면 stage 3부터 하셔도 좋은 방법입니다. 뒤에 잠깐 업급되는 '''make.conf''' 의 옵션이 일반적인 변경없이 사용할것이라면 stage 3를 선택하는게 현명한 방법입니다. (필자는 성격상 stage 1만을 고집중입니다.) === 설치과정 === ==== Live CD굽기 ==== 우선 [http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/installcd/install-x86-minimal-2007.0-r1.iso 여기]를 눌러 LiveCD의 ISO image를 받습니다. 약 82MByte이고 워낙 mirror가 빨라서 약 10분미만에 받을수 있었습니다. 1. [http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/stages/stage1-x86-2007.0.tar.bz2 Stage 1] /[http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/stages/stage2-x86-2007.0.tar.bz2 Stage 2] /[http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/stages/stage3-x86-2007.0.tar.bz2 Stage 3] 공 CD 1장을 준비하고 다음과 같이 ISO를 CD로 구우면 LiveCD가 완성됩니다. (아래의 명령은 기존에 이미 다른 배포판을 사용하는 경우 사용하는 것이며 Windows나 그 밖에 다른 운영체제에서라면 각자 나름대로의 CD굽는 방법이 있으니 어쨌건 굽습니다. (참고: [wiki:CDRecord CD-RW 사용하기 위한 준비과정]) {{{ cdrecord -v -eject speed=4 dev=/dev/cdrom install-x86-minimal-2007.0-r1.iso }}} CD가 구워졌으면 CD 를 이용하여 부팅합니다. ==== Network 구성 ==== Gentoo linux는 모든 구성요소가 최소한의 부분을 제외한 나머지는 모두 Gentoo mirror에서 받으면서 '''컴파일과 설치를 하는 동작'''에 의한 것이므로 Network 설정이 가장 선행되어야 할 내용입니다. adsl사용자를 제외한 나머지 사용자는 '''net-setup'''명령을 수행하여 적절한 network구성을 마칠수 있으며 adsl사용자는 '''adsl-setup'''을 사용하여 adsl설정을 마칩니다. '''고정 IP''' 또는 '''유동 IP'''(dhcp)를 사용하시는 경우 다음과 같이 입력하여 설정합니다. {{{ livecd gentoo # net-setup eth0 }}} '''adsl사용자'''는 다음과 같이 입력하여 '''adsl ID''', '''Password''', '''DNS'''등을 구성하여 줍니다. {{{ livecd gentoo # adsl-setup ... /* 자신의 ADSL ID, Password, DNS 입력 (STANDALONE 선택) */ livecd gentoo # adsl-start ..Connected! livecd gentoo # }}} "'''/etc/resolv.conf'''" 파일을 적절히 '''nameserver'''를 편집하여 자신의 네트웍구성을 마칩니다. ==== Root 암호 임시 변경 (원격설치를 위한 준비) ==== Gentoo 는 sshd 를 사용하여 '''원격에서 설치'''할수 있는 방법을 제공합니다. 때문에 로그인작업을 위해서 '''임시로 암호를 지정'''해야 하는데 다음과 같이 하여 암호를 설정합니다. (만약 원격에서 설치하지 않는다면 이 작업은 필요없습니다.) {{{ livecd gentoo # passwd root New UNIX password: xxxxxxxx Retype new UNIX password : xxxxxxxx }}} 이제 원격지에서 접속하여 젠투를 계속 설치할수 있게 할수 있습니다. 다음과 같이 sshd 를 띄웁니다. {{{ livecd gentoo # /etc/init.d/sshd start ... 인증키 생성한다는 메시지와 함께 ... * Generating RSA-Hostkey... [ ok ] ... 인증키 생성한다는 메시지와 함께 ... * Starting sshd... [ ok ] }}} 외부에서 자신의 설치환경에 접속을 하기 위해서는 "ssh root@<접속주소>"와 같이 입력하여 접속을 할수 있습니다. 이제부터 원격으로 접속하여 설치가 가능합니다. 만약 외부에서 '''ssh 명령으로 접속이 안되는 경우''' 해당 접속 클라이언트의 "~/.ssh" 디렉토리 밑에 "known_hosts" 파일을 삭제한후에 다시 접속을 시도하면 될수도 있습니다. ==== [wiki:파티션] 설정 ==== 설치될 파티션을 구성합니다. 필자의 경우는 다음과 같이 구성하였습니다. (참조: [wiki:파티션]) {{{ cdimage root # /sbin/fdisk -l Disk /dev/hda: 30.0 GB, 30005821440 bytes 255 heads, 63 sectors/track, 3648 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 13 104391 83 Linux 100MByte /dev/hda2 14 1058 8393962+ 83 Linux 8GByte /dev/hda3 1059 3614 20531070 83 Linux 약 20GByte /dev/hda4 3615 3648 273105 82 Linux swap 256MByte }}} 필자는 /dev/hda1="/boot", /dev/hda2="/backup" , /dev/hda3="/", /dev/hda4="swap" 으로 계획하고 설치하기로 하여 위와 같은 구성이 되었습니다. 이제 각 파티션을 포맷하기 위해서 다음과 같이 포맷하였습니다. {{{ cdimage root # mke2fs -j /dev/hda1 ; mke2fs -j /dev/hda2 ; mke2fs -j /dev/hda3 cdimage root # mkswap /dev/hda4 ; swapon /dev/hda4 ... }}} 위에서 저의 경우는 ext3를 사용하기 위해서 mke2fs 명령에 "'''-j'''"옵션을 사용하였지만 ext2를 사용하신다면 "-j"옵션은 빼시면 됩니다. 마찬가지로 그밖의 파일시스템의 경우 적절한 포맷명령으로 포맷합니다. 이제 포맷된 파티션을 "'''/mnt/gentoo'''" 위에 mount하여 실제 구성을 준비합니다. {{{ cdimage root # mount /dev/hda3 /mnt/gentoo cdimage root # mkdir /mnt/gentoo/boot cdimage root # mount /dev/hda1 /mnt/gentoo/boot cdimage root # cd /mnt/gentoo }}} 이제 각 마운트를 완료하였고 stage1의 기본 package를 "'''/mnt/gentoo'''"에 압축을 풀어둡니다. {{{ livecd gentoo # cd /mnt/gentoo livecd gentoo # wget http://ftp.kaist.ac.kr/pub/gentoo/releases/x86/2007.0/stages/stage1-x86-2007.0.tar.bz2 ... livecd gentoo # tar -xvjf stage1-x86-2007.0.tar.bz2 ... }}} Stage1의 기본 package를 풀어두고 이제 proc을 사용할수 있도록 proc을 mount합니다. {{{ livecd gentoo # mount -t proc proc /mnt/gentoo/proc }}} swap 파티션은 자신의 메모리크기의 2배에 해당하는 크기를 잡는데 이 크기가 256MByte를 넘을경우 256MByte를 넘지 않도록 잡는것이 적당하다는 필자의 소견입니다. 적당히 잡으세요. === Mirror 설정 === * 앞에서도 언급하였듯이 Gentoo linux는 기본구성을 제외한 나머지 모든 package는 mirror를 통해서 받아오기 때문에 mirror의 적절한 설정이 필요합니다. 현재 국내에 빵빵한 mirror가 있어서 그곳을 지정하도록 다음과 같이 지정합니다. {{{ cdimage root # mirrorselect -i -o >> /mnt/gentoo/etc/make.conf }}} * 위와 같이 입력하면 mirror를 선택할수 있는 창이 보여질겁니다. (만약 보이지 않는다면 Network설정이 잘못된 것이니 다시 확인해주세요.) * mirror중에서 '''{{{http://ftp.kaist.ac.kr/pub/gentoo/}}}''' 하나만 선택하시면 무난하게 사용할수 있습니다. 다른 것을 선택하실 필요는 없어보입니다. ==== chroot진입 ==== * 이제 '''chroot'''를 사용하여 자신의 설치될 파티션을 "'''/'''"로 바꾸어 본격적인 설치를 시작할 때가 되었습니다. {{{ cdimage root # cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf cdimage root # chroot /mnt/gentoo /bin/bash cdimage / # env-update cdimage / # source /etc/profile }}} * 위의 절차를 수행하면 "/mnt/gentoo"부분이 "/"로 바뀌게 되며 이제부터는 자신의 설치될 곳의 환경으로 움직입니다. ==== Portage 받아오기 ==== * Gentoo는 모든 패키지들을 '''portage'''라는 방식을 도입하여 사용하므로 이 '''portage''' 환경을 받아와야 합니다. 다음과 같이 간단히 받을수 있습니다. {{{ cdimage / # emerge sync }}} * 이 작업은 네트웍 속도 및 시스템에 따라서 수십분정도 걸리므로 그냥 잠시 주무셔도 좋을듯 합니다. (필자는 약 30분에서 1시간정도 소요되었습니다.) ==== 최적화 설치를 위한 작업 ==== * Gentoo의 최대 장점중의 하나인 사용자의 취향에 맞는 최적화기능을 위해서 "'''/etc/make.conf'''"를 '''편집'''하여야 합니다. 필자의 기준으로 다음과 같이 설정하였으며 사용자분들의 적절한 환경에 맞도록 수정하시면 됩니다. 참고로 이 과정에서는 vi를 사용할수 없고 "'''nano'''"를 사용하여 편집을 하셔야 합니다. 물론 vi를 절대로 사용할수 없다는 것이 아니고 chroot환경에서 vi가 설정되어 있지 않기 때문입니다. 굳이 vi를 사용하고자 하신다면 "'''ALT + F2'''"를 눌러서 console을 전환후에 "'''/mnt/gentoo/etc/make.conf'''"를 편집하시면 됩니다. {{{ CHOST="i686-pc-linux-gnu" CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer -pipe" CXXFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer -pipe" LINGUAS="ko" VIDEO_CARDS="radeon vesa fbdev nvidia" PORTDIR_OVERLAY="/usr/local/portage" GENTOO-MIRRORS="http://ftp.gentoo.or.kr/" }}} * 여기서 필자는 '''{{{-fomit-frame-pointer}}}'''옵션을 주었으나 설치할 package에 inline assembly가 포함된다면 경우에 따라서 문제를 발생시킬수 있습니다. 대부분의 package에서는 별 문제가 없지만 흔하지 않는 일부 package에서는 호환성부분에서 문제가 발생할수 있습니다. (일단 자신이 Hacking tool관련 관심이 커서 관련 tool을 설치한다면 이 옵션은 빼십시요!) ==== Boot strap 작업 ==== * 이제 binutils, gcc, gettext, glibc를 자신의 시스템에 맞도록 덮어씌우는 작업이 필요한데 고맙게도 이 작업은 script로 작성되어 있어서 방금전에 "'''emerge sync'''"작업에 의해서 script가 받아져 있습니다. 간단히 다음과 같이 입력하여 끈기를 가지고 기다리면 됩니다. 약 수십분에서 수시간이 걸립니다. 필자는 4시간정도 걸린듯 합니다. 만약 stage 3부터 설치를 선택하셨다면 이 과정과 뒤에 오는 "'''emerge system'''" 과정을 생략합니다. {{{ cdimage / # cd /usr/portage cdimage / # scripts/bootstrap.sh cdimage / # source /etc/profile /* bootstrap 과정이후 이 과정을 다시 하라는 메세지가 보이더군요. (안해도 크게 문제는 없는듯.) */ }}} * '''팁''': 잠깐! '''bootstrap'''과정과 바로 뒤에 오는 "'''emerge system'''" 과정이 굉장히 긴 시간을 필요로 하므로 다음과 같이 연속으로 수행하도록 한다면 보다 편리하겠습니다. 아래와 같이 해두면 기다림없이 system 까지 쭉 이어서 할것이고 조금이나마 설치시간을 줄일수 있겠죠? 마찬가지로 세미콜론으로 다음 작업까지 쭉 적어둔다면 조금이나마 시간을 아끼는 방법일겁니다. {{{ cdimage / # cd /usr/portage cdimage / # scripts/bootstrap.sh ; source /etc/profile ; emerge system }}} ==== System 설치 ==== * 이제 본격적으로 Gentoo의 기본설치에 필요한 각종 build툴과 환경툴을 설치하는데 자신의 환경에 맞도록 알아서 설치를 해줍니다. {{{ cdimage / # emerge system }}} * 이 작업은 정말로 '''많은 시간이 소요'''되므로 주무시기 전에 실행하시고 주무시면 적당할듯 생각됩니다. (필자의 경우 12시간정도 소요되었습니다.) === 지역별 시간대 설정 === * 기본시간대는 GMT기준으로 되어 있으므로 우리나라에 맞도록 다음과 같이 지정합니다. {{{ cdimage / # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime }}} * 만약 MS Windows제품과 멀티부팅을 통하여 사용하고자 하신다면 이와 더불어 "/etc/conf.d/clock" 설정파일에서 CLOCK="local" 로 변경하시는게 좋습니다. Linux 만 사용하신다면 CLOCK=UTC 를 추천하지만 꼭 이래야 하는것은 아닙니다. ==== fstab 설정 ==== * 이제 mount관련 fstab을 수정하여 자신의 시스템에 필요한 mount를 지정합니다. 필자의 환경에서는 다음과 같이 편집하였습니다. {{{ # /dev/hda1 /boot ext3 noatime 1 1 /dev/hda2 /storage ext3 noatime 0 0 /dev/hda3 / ext3 noatime 0 0 /dev/hda4 none swap sw 0 0 /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0 # 여기는 수정하면 시스템 돌아가는데 문제가 많습니다. none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 }}} * 위의 fstab 예제는 필자의 환경에 맞도록 구성한것일뿐이며 실제구성은 각자 자신의 시스템에 맞도록 구성하여야 합니다. 옆사람 붙잡고 상의해봅시다. ^^ ==== Kernel 설치 ==== * Kernel설치는 2가지 방법을 사용할수 있는데 '''Gentoo용 커널을 사용하는 방법'''과 '''자신이 원하는 커널을 받아서 사용하는 방법'''이 그것입니다. * 필자는 http://www.kernel.org 에서 입맛에 맞도록 2.6.6을 사용하였습니다. ===== Gentoo용 커널 설치 ===== * 커널 설치에는 '''genkernel''' 이라는 명령어를 사용하여 설치하는방법과 직접 자신이 설치하는 사용자 설치법이 있습니다. * '''반드시 커널옵션 설정시'''에 아래의 설정항목을 선택하시기 바랍니다. 아마도 이것을 선택하지 않으면 부팅시에 뭐라고 메세지가(아마도 제 기억이 맞다면 "'''DEVFS'''" 어쩌구...) 나올겁니다. {{{ File systems --> Pseudo filesystems --> [*] /dev file system support File systems --> Pseudo filesystems --> [*] Automatically mount at boot }}} ===== genkernel에 의한 커널설치 ===== * 자신이 원하는 커널소스를 선택하여야 하는데 "'''/usr/portage/sys-kernel'''" 에서 한번 살펴보시고 적절한 커널을 선택합니다. 보통은 '''gentoo-sources''' 을 받아서 설치하면 무난해 보입니다. {{{ cdimage / # emerge -k sys-kernel/gentoo-sources /* 또는 emerge -k sys-kernel/gs-source 등과 같이 직접 선택한 커널소스 선택 */ cdimage / # emerge -k genkernel }}} * 커널 소스를 받게 되면 "'''/usr/src/linux'''" 디렉토리에서 "'''make menuconfig'''" 명령을 입력후에 커널의 옵션을 조정하여야 합니다. 차근차근히 설정을 하시고 저장후 다음과 같이 입력합니다. (만약 커널의 옵션에 대해서 잘 모르는 경우는 그냥 조정하지 않고 곧바로 "genkernel all" 명령을 수행하세요. 특별한 경우가 아니면 우선 부팅에 성공할수 있는 커널일겁니다.) {{{ cdimage / # genkernel all }}} * 위와 같이 '''genkernel'''을 실행한후에 "'''/boot'''" 디렉토리에 kernel-2.X.X-gentoo-rX 로 파일이 생성될겁니다. (아직 이 과정이 끝났다고 부팅할수 있는것은 아닙니다. 뒤에 나오는 Bootloader과정을 거쳐야 합니다.) ===== 사용자 커널 설치 ===== * 필자는 [http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.4.tar.gz 여기]에서 커널 2.6을 받아서 "'''/usr/src'''" 밑에 압축을 해제하고 설치하도록 하겠습니다. {{{ cdimage / # emerge module-init-tools (커널 2.6를 사용하는 경우 필요한 설치이며 그 이전의 버젼을 사용한다면 필요없습니다. 2.4 버전의 커널이라면 emerge modutils하시면 됩니다. 이도 저도 귀찮으면 emerge genkernel을 한 번 하십시오. 자동으로 받아줍니다.) cdimage / # cd /usr/src cdimage / # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.4.tar.gz cdimage / # tar -xvzf linux-2.6.24.4.tar.gz ... cdimage / # rm -f /usr/src/linux ; ln -sf linux-2.6.24.4 linux cdimage / # cd linux cdimage / # make mrproper cdimage / # make menuconfig (커널 설정) cdimage / # make clean modules modules_install bzImage cdimage / # cp arch/i386/boot/bzImage /boot/bzImage-2.6.24.4 }}} * 본래 커널 컴파일후에 bzImage를 복사하는 방법도 많이 사용하기는 하지만 "'''make install'''" 을 통해서 링크된 "'''/boot/vmlinuz'''"를 사용하는것이 필자의 경우 보다 편리하게 느껴집니다. (이유는 부트로더의 설정파일은 건드릴 필요가 없기 때문입니다.) 하지만 뭐가 좋다고 하기는 어렵고 그냥 적당히 판단하시면 될것 같습니다. * 커널의 초기 컴파일시에는 모듈을 모두 내장시키고 정상적으로 부팅되는것을 확인후에 하나씩 외장모듈로 빼줍니다. 이것이 보다 빠른 적응법입니다. 처음부터 모듈로 빼면 부팅이 안되서 곤욕입니다. 물론 커널 설정을 잘하시는 분이라면 이것은 불필요한 예기입니다. ==== System 로그 데몬 설치 ==== *유연하고 기능이 다양한 '''syslog-ng''' 를 추천합니다 {{{ cdimage / # emerge syslog-ng cdimage / # rc-update add syslog-ng default }}} * syslog-ng 외에도 선택의 폭이 많습니다. 한번 /usr/portage 하위에서 찾아보세요. (참고로 필자의 노트북은 sysklogd를 사용합니다.) ==== CRON 데몬 설치 ==== {{{ cdimage / # emerge vixie-cron cdimage / # rc-update add vixie-cron default }}} ==== 그 밖에 필요한 package설치 ==== ===== rp-pppoe ===== * '''adsl사용자'''는 반드시 '''rp-pppoe'''를 설치하셔야 합니다. 그런데 이것이 '''X'''도 종속성이 있나봅니다. 때문에 '''USE="-X"'''를 하여 이를 설치않도록 실행합니다. {{{ cdimage / # USE="-X" emerge rp-pppoe }}} ===== pcmcia-cs ===== * 필자는 노트북 환경이므로 '''pcmcia'''를 사용하도록 구성해주어야 하므로 다음과 같이 하였습니다. {{{ cdimage / # emerge sys-apps/pcmcia-cs cdimage / # rc-update add pcmcia default }}} ===== vim ===== {{{ cdimage / # emerge vim }}} ===== cvs ===== {{{ cdimage / # emerge cvs }}} ==== 시스템 관리자 암호 설정 및 일반계정 추가 ==== * root의 암호를 설정해주어야 하므로 다음과 같이 입력후 암호를 물어오면 '''root의 암호를 2회에 걸쳐 입력'''합니다. * '''주의''': 이 작업은 처음 livecd 부팅했을때 입력했던 암호설정과는 다른것입니다. 이 과정을 생략하지 마십시오! {{{ cdimage / # passwd }}} * 계정 추가 {{{ cdimage / # adduser {MyUser} -m -d /home/{MyUser} -G users,wheel,audio -s /bin/bash cdimage / # passwd {MyUser} }}} ==== 컴퓨터 이름 짓기 ==== * 자신의 컴퓨터 이름설정 {{{ cdimage / # echo {My PC name} > /etc/hostname cdimage / # echo {My domainname.com} > /etc/dnsdomainname /* 없으면 생략 또는 hostname 과 동일 */ cdimage / # echo {My nis.domainname.com} > /etc/nisdomainname /* 없으면 생략 또는 hostname 과 동일 */ }}} ==== Network 설정 ==== * 실제 부팅후에 설정될 network IP를 설정합니다. "'''/etc/conf.d/net'''"을 적절히 수정하시면 됩니다. (adsl사용자는 부팅후에 '''adsl-setup'''을 실행하여 환경을 맞추시면 됩니다. 설정후에는 '''adsl-start'''를 하시고요.) * 이제 network script가 자동으로 부팅시에 실행되도록 다음과 같이 입력합니다. {{{ cdimage / # rc-update add net.eth0 default /* 만약 eth0 가 아니라면 적절히 수정해야 하는데 이부분은 생략하겠습니다. */ }}} ==== autoload 모듈 올리기 ==== * 기본적으로 부팅시에 올려져야 할 module을 설정하여 부팅할때마다 자동으로 올라가도록 지정합니다. * 자신의 커널 버젼과 같은 "'''/etc/modules.autoload.d/kernel-2.x'''"를 편집하여 그곳에 module 이름을 지정하면 다음 부팅시마다 모듈이 올라갑니다. 중요한것은 적어도 자신의 Ethernet driver module은 지정해두어야 할것입니다. 저는 e100.o(커널 2.6에서는 e100.ko) 를 올려야 하는데 이것을 다음과 같이 '''.o(또는 .ko)를 생략'''하고 입력하면 됩니다. {{{ # This is assuming that you are using a 3com card. # Check /lib/modules//kernel/drivers/net for your card. # 3c59x e100 }}} ==== Bootloader 설치 ==== * 필자의 경우는 lilo를 애용하므로 lilo를 설치하였지만 grub도 준비되어 있으니 사용자분의 편리한 loader를 선택하세요. {{{ cdimage / # emerge -p grub /* Grub이 있는지 확인 */ cdimage / # emerge -p lilo /* Lilo가 있는지 확인 */ cdimage / # emerge lilo /* 필자는 lilo가 좋아서 lilo를 설치 */ }}} * 일단 lilo를 받았으므로 필자는 "'''/etc/lilo.conf'''"를 편집하여 다음과 같이 설정합니다. 하지만 grub사용자의 경우는 "'''/boot/grub/grub.conf'''"를 편집하시면 됩니다. {{{ # Start LILO global section boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 lba32 default=linux #Linux section image=/boot/bzImage-2.6.24.4 label=linux read-only root=/dev/hda3 #/dev/hda1에 Windows를 설치한 경우 #Windows section other=/dev/hda1 label=dos # End of lilo.conf }}} * 설정파일을 정확히 기술하였다면 '''lilo'''명령(grub 사용자는 grub을 실행해야 겠죠?)을 실행합니다. ==== 설치완료 ==== * 이제 어려운 설치과정은 지나갔으며 지루한 설치시간만이 우리를 기다릴겁니다. (물론 부팅이 제대로 된다면) * 재부팅을 위해서 다음과 같이 입력합니다. {{{ cdimage / # etc-update cdimage / # exit cdimage / # cd / cdimage / # umount /mnt/gentoo/boot cdimage / # umount /mnt/gentoo/proc cdimage / # umount /mnt/gentoo cdimage / # reboot }}} * 재부팅할때 LiveCD 빼는거 잊지 마세요. ==== 추가적인 portage 설치 ==== * 이 절에서는 일단 부팅에 설공하면 수행하는 것들을 다룹니다. 사실 이전에 해도 상관은 없지만 X같은경우 워낙 시간이 많이 소모 되는 작업이므로 일단 부팅이 되는것을 확인하고 설치하는 것이 좋다고 생각합니다. 만약 부팅에 실패하였다면 다시 LiveCD로 부팅후 '''chroot과정'''부터 다시 시작하면 됩니다. ===== Gnome의 설치 ===== * 중요한것은 GUI가 이쁜게 설치되어야 뭔가 뽀대가 난다고 하는것처럼 Gnome없는 Linux는 재미 없겠죠? * 우선 필자의 경우 그냥 설치했다가 후회한 부분이 있습니다. 바로 {{{USE}}}옵션을 좀 수정하고 했었어야 했다는 생각이 듭니다. {{{/etc/make.conf}}}에서 다음과 같이 주인장은 추가했습니다. 반드시 "'''gtk'''" 옵션은 주는것을 권장합니다. {{{ USE="X gtk gnome -qt -kde" }}} * 만약 '''KDE''' 및 '''QT'''를 사용하지 않는다면 USE 옵션에 "'''-qt -kde'''"을 추가적으로 주는것이 불필요한 설치를 막을수 있습니다. 반대로 '''gnome'''과 '''gtk(gtk2)''' 를 사용하지 않고 KDE를 사용한다면 반대로 옵션을 지정하게 되는것은 당연한 이치일겁니다. 선택은 유저의 자유겠죠? 또한 필자같은 사람이 있다면 '''gpm 의 경우도 설치를 원하지 않는''' 분들이 있을겁니다. 당연히 "'''-gpm'''"을 필자는 주었으며 대충 이런 방법으로 자신이 설치를 원하지 않는 패키지를 차분히 '''USE'''에 입력해두면 사용하지도 않는 패키지로 용량을 소비하지 않게 됩니다. 중요한것은 그냥 설치를 원하지 않는다고 무작정 추가하는것은 좋지 않습니다. '''확실한 경우'''만 "'''USE'''"를 사용하세요. * 이제 "'''emerge gnome'''" (KDE의 경우는 "'''emerge kde'''")을 입력하면 굉장히 긴 세월을 컴파일하게 되는것을 보실수 있습니다. 필자의 경우 이 작업에서 꼬박 하루가 걸렸으니 되도록이면 나중에 하시는것이 좋을듯 합니다. 참고로 gnome을 설치하면 mozilla도 같이 설치가 됩니다. 이것을 원하지 않는 경우는 USE옵션에 {{{-mozilla}}}를 추가하셔도 좋을듯 합니다. * libgnomeprintui 가 에러를 내면서 제대로 컴파일되지 않는 경우가 있습니다. 이럴 때는 mkdir /var/tmp/portage/fontconfig-2.2.1/image 한 후 ln -s /usr /var/tmp/portage/fontconfig-2.2.1/image/usr 명령을 내려 준 후에 다시 emerge gnome 하시고 나중에 그 임시 디렉토리를 지워 버리면 됩니다. 참고하세요. * 기본적으로 gentoo를 처음 설치하면 X가 실행되지 않습니다. 기본적으로 X를 기동하기 위해서는 "'''/etc/X11/gdm/gdm.conf'''" 를 적절히 수정해주셔야 하고 필자의 경우는 따로 gdm을 사용하기 때문에 "'''emerge gdm'''"을 수행하였고 "'''/etc/rc.conf'''" 에 보시면 gdm을 지정하는 부분이 있습니다. 만약 gdm을 설치하기 싫으시다면 "'''XSESSION=Gnome'''"이라고 된 부분의 주석을 풀어주시면 되겠습니다. 그리고 이러한 설정이 된후에 다음과 같이 입력하여 xdm을 부팅시에 기동할수 있도록 해줍니다. {{{ cdimage / # rc-update add xdm default }}} * 그리고 X를 띄우기 전에 "'''/etc/X11/xorg.conf'''" 를 자신의 환경에 맞도록 설정해줘야 하는데 이것이 보통 번거로운게 아니며 쉽지도 않습니다. 그래서 Xorg 에서 이를 어느정도선까지 해주는 방법을 제공합니다. {{{ cdimage / # Xorg -configure }}} * xf86cfg -textmode 로 설정하시는게 더 빠르고 쉬울듯 합니다. ===== 한글입력기 설치 ===== * 필자는 krisna님의 한글입력기 "'''나비'''"를 편리하게 생각하므로 나비(nabi)를 설치하였습니다. {{{ cdimage / # emerge nabi }}} * 하지만 nabi를 설치하였다고 동작하지는 않습니다. 우선 '''{{{/etc/env.d/00basic}}}''' 파일을 편집하셔서 다음과 같은 사항을 추가해주세요. * 사실 추후 지속적인 update 과정에서 "'''/etc/env.d/00base'''" 은 내용이 '''변질될경우'''가 있습니다. 때문에 "'''/etc/env.d/02useretc'''" (이것은 예일뿐.) 라고 파일을 만들고 아래의 내용을 편집해두시면 오히려 차후에 update하면서 일어나는 사소한 문제를 피할수 있습니다. {{{ # 한국어지원을 위한 기본 사항 LANG="ko_KR.euckr" # ko_KR.eucKR:ko_KR:ko:en_US:en SUPPORTED="ko_KR.eucKR:ko_KR:ko" SYSFONT="lat0-sun16" SYSFONTACM="iso01" # 입력기로서 nabi를 알려주는 사항 - 필수! 이 사항이 누락되면 나비는 번데기로 있을겁니다. XMODIFIERS="@im=nabi" XIM_PROGRAM=/usr/bin/nabi }}} * 위와 같이 /etc/env.d/00basic 을 수정하셨다면 다음과 같이 하여 /etc/profile.env 를 생성하여야 합니다. (반드시 00basic을 수정한다고 이해하시기 보다는 이렇게 환경변수를 설정해야 한다는 정도로 응용을 하시기 바랍니다.) {{{ cdimage / # env-update }}} * 이제 일단은 준비는 되었고 gnome의 설정 메뉴중에서 "'''세션설정'''"이 있습니다. "'''세션설정'''"에 보시면 시작프로그램 등록하는 항목이 있는데 거기에 "'''/usr/bin/nabi'''"를 '''추가'''해줍니다. 이것을 추가하고 gnome을 재기동하면 이제부터 한글입력이 가능한 상태로 됩니다. ===== 입맛에 맞는 폰트로 꾸미기 ===== * X에서 가장 아쉬운 부분이 폰트라고 하는 분들이 많을 정도로 사용자를 만족시키기 위해서는 폰트의 미려함이 약간 부족함이 있습니다. 그리고 안티얼라이싱(곡선의 굴곡을 번지듯이 약간의 테두리를 희미하게 그려주는 기술)을 사용하면 글자보는데 눈의 피로라고 할까? 아무튼 약간의 어색함이 쉽게 잊혀지지 않을겁니다. 필자는 그래서 Windows의 폰트를 "'''/usr/share/fonts/ttf/korean/ms'''" 디렉토리를 만들어서 복사해두고 이를 사용하도록 환경설정파일을 수정하여 주었습니다. 윈도우의 폰트를 사용해보신분들은 아시겠지만 확실히 미려함과 안티얼라이싱에 대한 부적절한 모습이 사라질겁니다. * 우선 "'''/usr/share/fonts/'''" 하위에서 적당한 성격에 맞는 곳에 폰트를 복사합니다. 그리고 '''fc-cache''' 라는 명령을 실행합니다. * AA처리된 한글 폰트가 크게 거슬리시지 않고 Xft(Fontconfig) 기반의 폰트를 이용하는 데스크탑 환경(Gnome2.x, KDE3.x, Xfce4... 등등)을 주로 사용하신다면 "'''~/.fonts'''" 디렉토리를 만드시고 원하시는 트루타입 글꼴을 복사하시기만 하면 됩니다. 환경설정은 ~/.fonts.conf - mattengi * [http://www.xfree86.org/current/fonts.html Fonts in XFree86] * [http://freedesktop.org/software/fontconfig Fontconfig] * [http://faq.ktug.or.kr/mywiki/_c0_ba_b1_db_b2_c3 은글꼴(GPL 한글 글꼴)] * X font server 도 service 에 등록해주는것이 좋습니다. "'''rc-update add xfs default'''" 를 입력하면 처음 실행시에는 "'''fc-cache'''" 도 함께 해주면서 실행될겁니다. ===== 멀티미디어의 감상을 한껏 느끼기 위한 mplayer ===== * mp3 재생기는 "리듬박스"나 "'''XMMS'''"를 설치하면 되고 그리 어렵지 않으니 설명하지 않겠습니다. * 참고로 필자가 만든 '''pmp3''' 를 사용하시면 좋을거 같네요. [http://www.joinc.co.kr/modules/moniwiki/wiki.php/pmp3 pmp3]를 참조하세요~ =3=33 * "'''~/.mplayer/config'''"를 수정하는 경우 해당유저만 사용되는 설정이지만 그렇게 하지 않고 모든 유저가 공통적인 설정을 (초기설정치) 갖도록 하려면 "'''/etc/mplayer.conf'''"를 수정하시면 됩니다. * xine도 좋은 동영상 재생기이지만 필자는 자막을 보도록 하는 방법을 시도하다가 잘 안되서 포기했습니다. "emerge xine-lib;emerge xine-ui"라고 입력하시면 설치할수는 있습니다. ===== CD-RW 사용자를 위한 cdrecord 설치 ===== * CD-RW를 사용하시는 분들은 레코딩 툴을 설치하셔야 하는데 순수 "'''cdrecord'''"만을 설치하시기를 원하신다면 "'''emerge cdrtools'''" 를 하시면됩니다. ===== 이쁜 아이콘 ===== * [http://www.maczoo.com/viewtopic.php?t=13286 여기] 를 방문하여 필자는 아이콘을 사용하였습니다. 이쁜 아이콘이 많으니 꼭 둘러보세요. ===== FTP server 설치 ===== * 다음과 같이 하면 됩니다. {{{ cdimage / # emerge proftpd cdimage / # cp /etc/proftpd/proftpd.conf.sample /etc/proftpd/proftpd.conf /* "/etc/proftpd/proftpd.conf" 를 적절히 수정 */ cdimage / # rc-update add proftpd default cdimage / # /etc/init.d/proftpd start }}} ===== 개발자분들에게 필요한 추가 설치요소 ===== * 저는 다음과 같이 설치하였습니다. {{{ bash # emerge nmap /* 포트스캔 */ bash # emerge valgrind /* Memory leak을 검사해주는 유용한 툴 */ bash # emerge rpm /* RedHat의 RPM중에서 Source rpm을 설치할수 있게 하려고 사용했습니다. */ bash # emerge unzip /* ZIP 푸는거 */ bash # emerge unrar /* RAR 푸는거 */ bash # emerge unlzh /* LZH 푸는거 */ bash # emerge telnet-bsd /* Telnet client */ bash # emerge ltrace /* Library 추적 툴 */ bash # emerge strace /* 시스템콜/시그널 추적 툴 */ bash # emerge upx /* 실행압축기 */ bash # emerge gentoolkit /* 이건 무조건 해두고 봅시다. */ }}} === Gentoo linux Stage3으로 설치하기 === * 위의 내용은 Stage 1부터 설치했을경우를 설명했습니다. 하지만 시간이 아까운 분들은 Stage 3부터 설치하셔도 큰 문제는 없습니다. 또한 Stage 3에서 다시 bootstrap 과정부터 실행하게 되면 Stage 1과정과 같아질수 있기도 합니다. 우선 Stage 3부터 하기로 결정하셨다면 위에 Stage 1의 tar.bz2를 /mnt/gentoo에 압축을 해제할때 Stage 3로 압축을 해제하신후 커널 컴파일 과정으로 건너뛰시면 됩니다. 즉, bootstrap 과정부터 kernel 설치 이전까지를 건너뛰시면 됩니다. 물론 중간중간에 /etc/의 설정파일등은 입맛에 맞도록 수정해주셔야 합니다. "emerge sync"는 하셔야 합니다. === FAQ === * '''Q''': X를 부팅할때 기본적으로 띄우려면 어떻게 해야 하나요? * '''A''': 우선 /etc/rc.conf에서 적절히 자신이 원하는 설정으로 하시고 "'''{{{rc-update add xdm default}}}'''" 라고 입력하시어 xdm이 자동으로 실행되도록 합니다. * '''Q''': 이미 실수로 설치한게 있는데 이것을 다시 지우려면 어떻게 해야 하나요? * '''A''': "'''{{{emerge -C }}}'''" 이렇게 입력하시면 해당 파일들이 설치제거가 됩니다. 단, 이에 따른 부작용도 있을수 있으니 신중하셔야 합니다. * '''Q''': 현재 실행중인 service 목록을 보고 싶습니다. 또한 어떤것이 service에 현재 등록할수 있는지 알고 싶습니다. * '''A''': 현재 service의 실행중인 상태를 알고자 할때는 "'''{{{rc-status}}}'''" 명령으로 확인하실수 있으며 service에 등록할수 있는 것이 어떤것이 있는지 알고 싶을때는 "'''{{{rc-update show}}}'''" 명령을 사용하면 보실수 있습니다. * '''Q''': man page 가 항상 영문만 나오거나 꺽쇠기호로 문자가 대체됩니다. 한글로 맨페이지를 볼수 있나요? * '''A1''': 기본적으로 UTF-8 환경으로 맞추셨다면 대부분 문제없지만 그 외의 경우에는 환경변수에 "LC_CTYPE=utf-8" 로 지정을 해주면 한글로 된 맨페이지를 보실수 있습니다. 즉, "/etc/env.d/00basic" 에 '''LC_CTYPE="utf-8"''' 라고 추가하시고 "env-update"명령을 수행후 재부팅 또는 "source /etc/profile" 을 실행해주시면 됩니다. 그 이후부터는 한글 맨 페이지를 보실수 있을겁니다. * '''A2''': 만약 자신의 LANG환경변수가 ko_KR.euckr 이라면 LESSCHARSET="iso8859" 를 "/etc/env.d/00basic" 에 넣어주시는 것만으로 보다 깨끗히 해결될수 있습니다. * '''A3''': 현재 man page 는 한글화 자체는 매우 좋으나 UTF-8 관련 변환절차가 매끄럽지 못한것으로 생각됩니다. 때문에 생각보다 한글로 나오도록 하는것이 쉽지는 않을겁니다. * '''Q''': 저는 노트북 사용자입니다. 터치패드("'''synaptics'''")를 사용중인데 XFree가 실행되고서 한참동안 커서가 반응하지 않다가(약 5초+) 움직이고 감도가 너무 민감하여 원하지 않는 결과가 발생합니다. 따로 감도설정을 해야 할것 같습니다. 어떻게 해야 할까요? * '''A''': 아래의 설정을 참고하시어 "'''/etc/X11/xorg.conf'''"을 편집하시기 바랍니다. ([http://kerneltrap.org/node/view/1582 Download driver (HOWTO)]) {{{#!plain Section "InputDevice" # Identifier "Mouse0" # Driver "mouse" # Option "Protocol" "PS/2" # Option "Edges" "1900 5400 1900 4000" # Option "Finger" "25 30" # Option "MaxTapTime" "180" # Option "MaxTapMove" "220" # Option "VertScrollDelta" "100" # Option "MinSpeed" "0.02" # Option "MaxSpeed" "0.18" # Option "AccelFactor" "0.0010" # Option "ZAxisMapping" "4 5" # Option "Device" "/dev/mouse" # Option "Emulate3Buttons" "true" # Option "Emulate3Timeout" "70" Driver "synaptics" Identifier "Mouse0" Option "Device" "/dev/psaux" Option "Protocol" "PS/2" Option "LeftEdge" "1900" Option "RightEdge" "5400" Option "TopEdge" "1900" Option "BottomEdge" "4000" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.02" Option "MaxSpeed" "0.18" Option "AccelFactor" "0.0010" Option "SHMConfig" "on" # Option "Repeater" "/dev/ps2mouse" EndSection }}} * '''Q''': 설치는 하지 않고 미리 package만 받아둘수 없을까요? * '''A''': "'''{{{emerge -f }}}'''"(fetchonly) 이렇게 입력하시면 해당 필요한 파일을 미리 "/usr/portage/distfiles"에 받아두게 됩니다. * '''Q''': 화면잡기(Screen capture)는 어떻게 하는건가요? * '''A''': "PrintScrn" 키를 눌러보세요. 전체 화면은 잡아줄겁니다. 또한 특정 창만 잡기위해서는 "Alt + PrintScrn"키를 눌러보세요. * '''Q''': 디스크 용량이 부족합니다. 임시로 뭔가 설치과정에서 불필요하 남은 파일들을 정리할수 있을까요? * '''A''': "/usr/portage/distfiles" 하부에 있는 파일들만 지우세요. (디렉토리 지우면 안됩니다! 파일들만.) * '''Q''': 지금까지 설치한 것을 모두 최근것으로 업데이트 하려면 어떻게 합니까? * '''A1''': 우선 portage를 업데이트 해야 합니다. "emerge sync" 라고 입력하시면 됩니다. 또는 "emerge rsync"입니다. portage update가 끝나면 "emerge -u world" 라고 입력하시면 설치된 항목에서 업데이트 가능한것을 골라서 차근히 업데이트 해줄것입니다. * '''A2''': 오랜동안 젠투를 사용하다 보면 각 package 간의 의존성관계가 흐트러지는 경우가 증가합니다. 이때는 다음과 같이 수행하여 모든 의존관계를 바로잡을 필요가 있습니다. 1. "emerge rsync" : portage sync 1. "emerge -pvDN world" : 의존관계를 종합적으로 검사하여 업데이트가 필요한 패키지들을 확인 1. "emerge -uDN world" : 의존관계를 종합적으로 판단하여 업데이트 실시 1. "revdep-rebuild" : 버젼의존관계가 깨진것도 검사하여 바로잡기 실시 * '''Q''': 젠투는 설치하면 용량이 어느정도 되나요? * '''A''': 저같은 경우는 설치할것 다 하고 쓸데없는것도 설치해도 1.2GByte를 못넘는군요. 파티션 20G잡았는데 18G가 남아돌고 있습니다. 쓸데없는것 설치안하고 필요한것만 잘 설치한다면 1.0GByte정도가 평균선이라고 생각됩니다. (X포함) * '''Q''': gentoo 설치화면을 보니까 '''gdesklets''' 라는 애플릿으로 배경에 예쁘게 시스템 정보가 나오게 되던데 이건 어떻게 설치하나요? "'''emerge'''"했더니 '''mask'''되었다고 나옵니다. * '''A''': 다음과 같은 순서로 설치하세요. 참고로 '''gdesklets''' 관련 모든것은 "'''ACCEPT_KEYWORDS="~x86"'''" 을 emerge시에 함께 주셔야 하는것 잊지 마세요. 1. "'''ACCEPT_KEYWORDS="~x86" emerge gdesklets-core'''" 일단 실행합니다. 1. "'''/usr/portage/x11-plugins/desklets-*'''" 로 시작하는것에서 적당히 추가 설치합니다. 1. 그놈쎄션 설정에 시작프로그램으로 "'''/usr/bin/gdesklets'''" 를 등록합니다. 1. 그놈을 다시 '''재시작'''합니다. 1. "'''/usr/share/gdesklets/Display'''" 디렉토리로 이동합니다. 1. 예를 들어 '''desklet-meminfo''' 를 설치했다면 "'''/usr/share/gdesklets/Displays/meminfo/dark-the'''" 로 이동하고 "'''gdesklets meminfo.display'''" 라고 실행합니다. 1. 이제 마우스에 원하던 '''meminfo''' 창이 달라붙어서 위치를 정하고 마우스의 왼쪽 버튼을 눌러주기를 기다릴겁니다. 배경화면 적당한곳에 클릭 1. 아래와 같이 설치됩니다. ('''우측하단'''의 시스템 정보들) 1. [http://usr.gentoo.or.kr/albums/image/gdesklets.png 설치된 화면 보러가기] * '''Q''': Apache 2와 PHP4를 설치하고 싶은데 설치해도 PHP가 연동되지 않습니다. * '''A''': 다음과 같이 설치하시면 될겁니다. 1. "'''emerge apache'''" (현재 Apache 2 가 설치될겁니다.) 1. "'''emerge mod_php'''" 1. 적절히 apache 설정하시고 "'''/etc/conf.d/apache2'''" 가 있을겁니다. 거기에 "'''{{{APACHE2_OPTS="-D PHP4"}}}'''" 이런 항목을 추가하시면 PHP가 사용가능하게 될겁니다. 1. 또한 "'''/etc/php/apache2-php4/php.ini'''" 를 적절히 자신이 원하는 설정으로 변경하세요. (예를 들면 upload 제한을 올리거나...) * '''Q''': sshd 말고 telnet 을 설치하고 싶습니다. 어떻게 어떤 패키지를 설치하여야 하나요? * '''A''': 다음과 같이 설치합니다. 1. xinetd가 설치되어 있지 않다면 설치합니다. "'''emerge xinetd'''" 1. "'''rc-update add xinetd default'''" 1. "'''/etc/xinet.conf'''" 파일에 localhost 어쩌구 나온부분이 있습니다. 그 줄을 주석처리합니다. 1. "'''emerge netkit-telnetd'''" 1. "'''/etc/xinetd.d'''" 안에 보시면 "'''telnetd'''" 라는 파일이 보일겁니다. 그안에 보시면 "'''disable=yes'''" 라고 되어 있을것이며 이것을 "'''disable=no'''" 라고 바꾸어주시면 되겠습니다. 1. 이제 재부팅을 하시거나 "'''/etc/init.d/xinetd start'''" 라고 입력해주시면 telnet 이 사용가능할겁니다. * '''Q''': 프린터좀 사용하고파요. * '''A''': 다음과 같이 합니다. 단, '''한글폰트문제'''때문에 한글문서는 인쇄하지 못할수도 있습니다. (그래서 필자는 그림으로 캡쳐해서 인쇄한다는... : FIXME!!!) 1. "'''emerge cups'''" 1. "'''/etc/xinet.d/cups-lpd'''"안에 "'''disable=yes'''" 부분을 "'''disable=no'''"로 바꿉니다. 1. "'''rc-update add cupsd default'''" 1. "'''/etc/printcap'''" 을 수정하여야 하지만 어려운 사항이므로 gnome의 "'''gnome-cups-manager'''"를 실행합니다. 그리고 설정합니다. 1. 콘솔상에서 텍스트 파일을 인쇄할경우 "'''lpr '''" 이렇게 입력하시면 되며 스풀상황을 보려면 "'''lpq'''" 명령을 사용하면 확인가능하겠지요. * '''Q''': Samba 를 사용하는데 윈도우에서 파일을 리눅스로 복사하면 파일명이 깨집니다. 어디를 수정해야 하나요? * '''A''': "'''/etc/samba/smb.conf'''"에서 다음과 같은 부분이 있습니다. 자신의 charset으로 수정하시고 samba를 재기동합니다. 또한 Kernel의 "File systems"->"Native Language Support" 하위에 보시면 "Default NLS Option"라는 옵션에 "cp949" 라고 입력하여 주고 "Code page 437", "Korean charset", "NLS ISO 8859-1", "NLS UTF8" 등을 선택하여 줍니다. {{{#!plain # 한글윈도우즈의 경우 cp949 이므로 cp949를 선택합니다. 영문윈도우즈만 사용하실거라면 cp437입니다. dos charset = cp949 # 자신의 리눅스 머신의 LANG환경변수와 어울리는(일치하는) charset을 적습니다. # 필자의 경우 ko_KR.euckr 을 LANG환경변수로 사용하므로 점(.)뒷부분을 적었습니다. # UTF8을 사용한다면 utf8 로 적어주시면 되겠죠. unix charset = euckr }}} * '''Q''': NIC 두장을 하나로 묶어 하나의 NIC처럼 사용하고 싶습니다. 어떻게 이러한 bonding 을 할수 있나요? * '''A''': [http://www.gentoo-wiki.com/index.php?title=HOWTO_Setup_Bonded_ethernet_adapters&redirect=no], [wiki:GentooIPBonding Gentoo linux 에서의 IP bonding] 을 참고하시면 가능합니다. * '''Q''': IP공유기능을 제공하도록 하고 싶습니다. 어떻게 하면 공유기처럼 구축할수 있을까요? * '''A''': [http://wiki.kldp.org/wiki.php/iptables]을 참고하시어 NetFilter/Iptable을 활용하여 구축하는 방법을 보실수 있습니다. 이 밖에도 다른 방법도 있으나 그건 다른분들이 설명해주시겠죠? === 빠른설치를 위한 요약 === {{{ # net-setup eth0 # vi /etc/resolv.conf # fdisk <...> # mke2fs -j <...> # mkswap <...> # swapon <...> # mount <...> /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot # cd /mnt/gentoo # wget http://ftp.gentoo.or.kr/releases/x86/2004.1/stages/x86/stage1-x86-2004.1.tar.bz2 # tar -xvjf stage1-x86-2004.1.tar.bz2 # mount -t proc proc /mnt/gentoo/proc # mirrorselect -i -o >> /mnt/gentoo/etc/make.conf # cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf # chroot /mnt/gentoo /bin/bash # env-update # source /etc/profile # emerge sync # nano /etc/make.conf # cd /usr/portage ; scripts/bootstrap.sh ; emerge system # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime # nano /etc/fstab # emerge -k sys-kernel/gentoo-sources # emerge -k genkernel # cd /usr/src/linux # make menuconfig # genkernel all # emerge syslog-ng # rc-update add syslog-ng default # emerge vixie-cron # rc-update add vixie-cron default # passwd # echo MyHostName > /etc/hostname # nano /etc/conf.d/net # rc-update add net.eth0 default # nano /etc/modules.autoload.d/kernel-2.x # emerge lilo # nano /etc/lilo.conf # /sbin/lilo # etc-update # exit # cd / # umount /mnt/gentoo/boot # umount /mnt/gentoo/proc # umount /mnt/gentoo # reboot }}} === 이 글을 마치면서 === * 이글의 내용이 배포판 전체의 설치를 담고 있지는 않지만 차근차근 하나씩 해보시면서 "아! 이렇게 하면 되겠구나~" 라는 생각이 들게 될겁니다. 그 후의 설치과정은 각 사용자분들이 알아서 하실수 있는 내용인듯 합니다. 1개를 알면 10가지를 터득하는 우리 유저들... * 저에게 젠투 설치해보라고 권유하신 모든분들께 감사드리며 IRC의 #gentoo 채널에서 많은 분들이 도와주셨습니다. 감사드립니다.