Gentoo Linux Installation Guide.... By DRGno1.(ver. 2004년)

1. Gentoo Linux가 뭐길래?
젠투리눅스 유저 그룹의 말을 인용해보면 다음과 같다.

"젠투 리눅스는 빠르고 융통성을 지녔으며, x86을 기반으로 ppc, sparc을 지 원하는 리눅스 배포판입니다."
"특히,개발자와 네트워크 전문가를 위해 만들어졌으며, 다른 배포판들과는 달리 그동안 인정받아온 BSD 포트를 기초로 하고,  파이썬으로 개발된 포티지(portage)라는 진보된 패키지 관리 시스템을 이용합니다." 
"젠투 리눅스는 2004년 6월 현재 버전 2004.1 을 릴리즈했으며, 현재 수많은 리눅서 들로부터 시선을 받고 있는 배포판입니다."
"오늘날 리눅스 배포판들이 과거부터 내려온 패키지들에 새로운 것들을 더 하기만 함으로써 크기상 아주 방대해졌습니다."
"젠투 리눅스는 그 크기와는 상관없이 포티지라는 새로운 시도로 최대한의 성능과 사용자의 편리를 위하여 개발되었습니다."

필자는 개인적으로, 레드햇계열을 주로 사용해왔었으나, 젠투를 2004년 1월에 접하고 난 후, 젠투의 매력에 쏘옥 빠져 버렸다. 그 오랜 설치 시간을 보상이라도 해주는 엄청난 성능은 그 고통을 단숨에 잊게 만들어 주었다.  지금은 개인적으로 운영하는 서버 PC중 두대에 모두 젠투를 설치해서 사용하고 있다.   여러분도 한번 그 젠투의 매력 속으로 한번 들어가보자.

2.How to Install Gentoo
구슬도 꿰어야 보배라는 말이 있지만, 일단 구슬이 있어야 꿸 수 있다.
내가 지금 무슨 말을 하고 있는건지 모르겠다만, 일단 젠투 부터 구해보자. 
   
2.1) 젠투리눅스를 구하는 방법.
젠투는 Gentoo Mirror site 에서 손쉽게 구할 수 있다.  
마음에 드는 곳에서 다운 받도록 하자. 개인적으로 대한민국의 http://ftp.gentoo.or.kr과 대만의 http://ftp.isu.edu.tw/pub/Linux/Gentoo를 추천한다.

/releases/(자기아키텍쳐, x86이나 AMD등등)/2004.1/ 디렉토리 아래에 보면 세개의 디렉토리가 있다.
livecd디렉토리에 있는 것은 시디부팅을 사용하여, 간편하게 설치 할 수 있게 해주는 이미지가 들어 있다.
packagecd디렉토리와 stages디렉토리는 후에 차차 알아보자. 
간편하게 시디이미지를 구워서 설치하는 방법을 사용하도록 하자.
(loop back device mount를 통해서 설치 가능하긴 하지만, 간편하게 해보자.)

요약 : 이미지를 적당한 곳에 다운로드 하고 시디를 넣고 굽자.!!!(굽는것은 자기만의 방식대로 하면 된다.)

2.2) 젠투리눅스의 본격적인 설치
① 무엇 보다도 먼저, 방금 구운 시디로 부팅을 해야 한다.

② 네트워크 설정 - 젠투는 다른 배포판과 달리 인터넷을 통해서 설치 한다.
네트워크 카드 인터페이스가 살아 있다면, 다음 명령을 통해 네트워크를 설정할수 있다.

livecd gentoo # net-setup eth0

위의 명령은, 랜카드 드라이버가 올라와 있고, 고정IP 또는 유동IP를 사용할때 가능한것이다.
불행히도 자신의 드라이버가 살아 있지 않다면 모듈을 올리고 다시 같은 명령을 실행 시켜 주면 된다.
자신이 올려야 될 드라이버가 무엇인지 알아보려면, 다음과 같이 하면 된다.

livecd gentoo # cat /etc/sysconfig/netcard

필자는 8139too라고 쓰여 있었다.
그 모듈을 찾아서 올려주면 네트워크 설정을 할 수 있는 상태가 된다.

livecd gentoo # insmod /lib/modules/2.4.25/kernel/driver/net/8139too.o
livecd gentoo # lsmod

모듈이 올라 갔는지 확인해보면, 방금 올린 모듈이 이쁘게 올라와 있을 것이다.
만약 ADSL사용자라면, adsl-setup명령을 통해서 간단히 설정해줄 수 있다.

livecd gentoo # adsl-setup

물어보는것에 순순히 응해주자....

livecd gentoo # adsl-start

이제 거의 다 왔다. 네임서버만 설정해주면 된다.
네임서버 설정이 없으면, 우리가 지정한 미러사이트와 같은 곳에 접속할 수가 없다.(IP를 알면 몰라도!!)

livecd gentoo # echo "nameserver 168.126.63.1" > /etc/resolv.conf

위의 네임서버는KT에서 제공하는 네임서버의 주소이다.

③ 파티션 설정하기-설치할 공간을 마련하고 지정한다. 
파티션을 설정하는것은 순전히 개인적인 취향인데, 필자와 같은 경우에는 다음과 같이 설정하였다.

frenzone root # fdisk -l
Disk /dev/hda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1           6       48163+  83  Linux
/dev/hda2               7         615     4891792+  83  Linux
/dev/hda3             616         740     1004062+  83  Linux
/dev/hda4             741        4865    33134062+  83  Linux
/dev/hda1 : /boot 
/dev/hda2 : / 
/dev/hda3 : swap 
/dev/hda1 : /home

이렇게 파티션을 나누고 나서, 적절한 파일 시스템으로 포맷한다.
필자는 부트 파티션과 스왑을 제외한 나머지 파티션은 xfs로 포맷하였으며, boot는 ext3로 포맷하였다.

livecd gentoo # mke2fs -j /dev/hda1
livecd gentoo # mkfs.xfs /dev/hda2
livecd gentoo # mkfs.xfs /dev/hda4
livecd gentoo # mkswap /dev/hda3
livecd gentoo # swapon /dev/hda3

파티션 설정이 무사히 끝났다.

이제는 본격적으로 우리 하드디스크에서 작업을 하기위해서 방금 포맷한 파티션을 마운트 한다.

livecd gentoo # mount /dev/hda2 /mnt/gentoo
livecd gentoo # mkdir /mnt/gentoo/boot
livecd gentoo # mount /dev/hda1 /mnt/gentoo/boot

마운트가 끝났으므로, stage1("단계1"이라는 뜻이었다.)에 들어가기 위해서, stage1압축파일을 해제한다.
livecd가 universal버전이라면, 시디에 stage1에서 stage3까지 다 들어 있다. 그것을 /mnt/gentoo에 압축을 풀어도 되고, 인터넷에서 다운 받아서 설치 해도 된다.

livecd gentoo # cd /mnt/gentoo
livecd gentoo # wget http://ftp.gentoo.or.kr/release/x86/2004.1/stage1-x68-2004.1.tar.bz2
livecd gentoo # tar xvfj stage1-x86-2004.1.tar.bz2

이쁜 파일들이 엄청나게 생긴다. 대부분 우리가 접해왔던 리눅스의 파일들과 같은것들이다.
압축이 다 해제되고 나면, proc파일 시스템을 마운트 해준다.

livecd gentoo # mount -t -proc proc /mnt/gentoo/proc

이제 준비 단계는 끝났다. 좀 쉬어도 괜찮다. 글은 이렇게 길어도, 실제로는 10분도 안걸리는 작업들이었다.

④ Real Installation-진짜 설치: 준비단계는 끝났다. 컴파일하고 하고싶은데로 해보자.
처음에도 말했듯이, 젠투는 인터넷에서 파일을 차곡 차곡 받아와서 알아서 컴파일 하고 설치하는 배포판이다.
그래서 이뿌기도 하지만, 성능은 자신의 머신에 딱 맞게 최적화 되기 마련이다.
그러면, 우리가 파일들을 받아올 미러사이트를 설정해야 되는데, 다음과 같은 명령으로 간단히 할 수 있다.

livecd gentoo # mirrorselect -i -o >> /mnt/gentoo/etc/make.conf

이 명령은 우리가 make를 사용할때의 환경을 설정해주는 것인데, 예상했다시피, make.conf라는 파일에 미러 사이트 주소를 추가해주는 것이다.
처음에 언급했던 미러 사이트들중에서 마음에 드는것을 선택해서 추가해주면 된다. 대한민국이 최고라고 말해주고 싶다.!! chroot라는 명령어를 많이 써봤다면 좋겠지만 써보지 않았다면 먼저chroot가 무슨 명령인지 알아보고 다음 명령을 실행 시켜 주길 바란다.

livecd gentoo # cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf 
livecd gentoo # chroot /mnt/gentoo
livecd gentoo # env-update
livecd gentoo # source /etc/profile

/mnt/gentoo를 / 루트 디렉토리로 변경해주는 역활을 하는 명령이 chroot 명령이다.
젠투는 포티지라고 하는 패키지 관리 방식을 사용하는데, 일일이 수작업으로 받아 올 필요 없이 다음 명령으로 간단히 끝낼 수 있다.

livecd / # emerge sync

성능이 좋은 컴퓨터라면 금방 끝나지만, 필자의 컴퓨터 Pentium4 1.8GHz 515MB 에서는 30분 정도 소요된것 같다. 회선은 ADSL MyIP를 사용한다. 포티지 환경을 깡그라니 다 받아오면 /usr/portage라는 디렉토리안에 지금껏 받은 파일들이 몽땅 들어 가있다. 이제부터는 컴파일이다.컴파일이라고 해서 우리가 일일이 해주는것이 아니라, emerge를 사용하면 도깨비 방망이 처럼 해결해준다. 물론 자신이 고쳐야 될부분도 조금 있을 수도 있지만, 리눅스를 조금 써봤다 싶으면 그런 문제는 문제도 아니다라고 생각한다.

livecd gentoo # nano /etc/make.conf

자신의 머신의 환경을 셋팅 해준다. 딱 보면 알수 있다.

frenzone root # cat /etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O3 -mcpu=pentium4 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
GENTOO_MIRRORS=
"http://ftp.gentoo.or.kr/ 
 http://ftp.isu.edu.tw/pub/Linux/Gentoo 
 ftp://ftp.isu.edu.tw/pub/Linux/Gentoo"

자신이 알맞은 컴파일 옵션을 추가하거나 삭제 해서 사용하면 무난할 것이다.
Linux From Scratch를 해본 경험이 있는 사용자라면 알겠지만, 우리가 사용할 gcc와 binutils, glibc등을 우리 시스템에 맞게 컴파일을 하는 작업이 필요한데, 다음과 같은 방법으로 할 수 있다. 젠투에서는 이것을 부트스트랩(Boot Strap)이라고 한다.

livecd / # cd /usr/portage
livecd /usr/portage # scripts/bootstrap.sh
livecd /usr/portage # source /etc/profile

지루한 시간이 계속 되고 있을것이다. 필자도 처음에 깜짝 놀랬다. 이게 무슨 짓이야!!! 라며 버럭 화를 낸적이 있다. 그 동안 피곤했을 것이므로, 커피라도 한잔 타서 마시고 산책이라도 하고 오자.
부트스트랩이 끝나면 우리의 시스템에 딱 맞는 컴파일러와 기타 유틸리티들을 사용하여, 우리 리눅스를 만들어 내면 된다.  그 작업이 바로 다음과 같은 것이다.

livecd /usr/portage # emerge system

자 이번에는 그냥 찜질방을 가던가, 어디 나가서 술이라도 마시고 오자. 하루가 지나면 다시 응답을 보낼것이다.
필자는 친구들과 술도 마시고 밤새 게임을 했던것 같다. 그래도 끝이 안나서... 잠을 잤던것 같다.
기나긴 시간이 지나고 나면, 시간대를 지정해주어야 한다.

livecd /usr/portage # ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

필자는 9시간이 빠르게 나온다. 필자는 9시간이 빠르게 셋팅 되는 것 두고 볼 수 없었다.
그래서 강제로 시간을 설정해주었다.

livecd /usr/portage # date 070918452004.33

위의 명령으로 시스템 시간을 2004년 7월 9일 오후 6시 35분 33초로 셋팅했다.
/etc/fstab을 수정해주어서, 마운트 설정을 해준다.

livecd / # nano /etc/fstab

파일을 열어보면, 쉽게 수정할 수 있을것이라고 확신한다. 수정이 잘 안되면, 연락을 해주길 바란다.
이제 드디어 끝난 것이다. 커널만 설치 하면 끝난것이나 마찬가지다. 
커널은 젠투커널과 일반 커널이 있는데, 필자는 일반 커널을 선호한다.
다음과 같은 방법으로 커널을 설치 해보자.

livecd / # emerge module-init-tools (커널 2.6 사용자는 필수)
livecd / # cd /usr/src 
livecd / # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.7.tar.bz2
livecd / # tar xvfj linux-2.6.7.tar.bz2
livecd / # cd linux-2.6.7
livecd / # make mrproper 
livecd / # make menuconfig (파일시스템에 DEVFS를 꼭!! 포함시켜줍니다. 부팅시에 경고뜸.)
livecd / # make clean 
livecd / # make modules modules_install bzImage
livecd / # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.7

커널 설치도 무사히 끝났다.
이렇게 우리의 젠투는 완성되어 간것이다.

⑤ 각종 유틸리티와 데몬, 부트로더등의 설치
이제 남은것 추가적인 요소들이지만, 매우 중요한 역활을 한다.
부트로더를 설치하여 부팅을 간편하게 할수 있게 해야 되고, 스케줄링 데몬들도 설치 해보자.
우리가 설치 해야 될 것들은 syslog daemon, cron daemon등의 것이 있는데, 설치 하지 않아도 무방하다.

livecd / # emerge syslog-ng ; emerge vixie-cron 
livecd / # rc-update add syslog-ng default
livecd / # rc-update add vixie-cron default

많이 사용하는 syslog-ng와 vixie-cron을 설치하고, 운영레벨 default에 추가한다.(부팅될때마다 실행됨)
필요한 유틸리티와 프로그램, 데몬들은 위와 같은 방법으로 설치 해주면 된다.
사용자 계정을 추가해주고, root비밀번호도 설정해주고 하는 작업은 옵션사항이다. ^.^
hostname설정을 해주는 것도 옵션이다. 네트워크 설정을 빠뜨리지 말고 해주자.

livecd / # nano /etc/conf.d/net

열어서 수정해주면 된다.

livecd / # rc-update add net.eth0 default

이제는 이 명령이 무엇인지 말 안해도 알것이다.
부팅때 마다 추가적으로 올려 줘야 될 모듈이 있다면 /etc/modules.autoload.d/kernel-X.X를 수정하여주면 된다. 커널 컴파일 시에 모듈로 지정한것들을 수동으로 올려 줄때 수정해주면 좋다.

Boot Loader는 GRUB를 사용하도록 하자.

livecd / # emerge grub
livecd / # grub
grub> root(hd0,0)
grub> setup(hd0)
grub> exit
livecd / # nano /boot/grub/grub.conf

hd0는 첫번째 하드, 0은 첫번째 파티션을 나타낸다.
필자의 파티션에 맞는 grub설치 방법이므로, 자신의 파티션에 맞게 설치 하면 된다.
grub.conf는 샘플로 제공되는 파일을 참고로 수정해주면 된다.

2.3) 설치끝!!
지루한 작업들이 모두 끝났다. 이제 재부팅만 하면 젠투가 여러분의 품안에 있을것이다.
설치 끝났으면 마무리를 짓자.

livecd / # etc-update 
livecd / # exit 
livecd / cd / 
umount /mnt/gentoo/boot
umount /mnt/gentoo/proc
umount /mnt/gentoo
reboot

3. 추가적인 작업들
일단 우리의 젠투는 완성이 되었다. 개인적인 취향에 따라 gnome을 설치해서 워크스테인션으로 사용할 수도 있고, 또는, 각종 서버 어플리케이션을 설치 하여 서버로 사용할 수도 있다.

필자는 후자쪽에 가까운 사람이므로, 젠투를 서버로 사용하고 있다.
X Window도 설치하지 않았으며, openSSH와 Apache , MySQL, Proftpd, PHP등을 설치 해서 운영중에 있다.
추가적인 패키지 설치는 순전히 개인적인 일이므로 더 이상 언급하지 않도록 하겠다.

저작자 표시
신고

+ Recent posts

티스토리 툴바