stage3(gentoo)설치.
처음엔 그래픽화면으로 설치해서 써보려고하다가, 내PC의 랜카드가 On_Boarn(보드에 포함된)용
랜카드인 SIS900용이 인식불능으로, 인터넷을 못하는 바람에 하는수없이 커널컴파일을 하다가,
커널컴파일후에 부팅이 안되는 문제가 너무 많이 나와서, stage3로 설치하면 랜카드를 인식할수
있을까하다가,,, 웹에서 stage3설치기를 보려고했더니, 따라하면 곧 부팅불능되게 써놨더군요.
차라리 쓰지나 말든지, 아니면 제대로 쓰든지... 그래도 이해는 됩니다.
젠투설명서가 모두 영어로 돼있고, 어휘를 불필요하게 어려운 어휘를 써놔서,
쉬운어휘를 선택해도 됐을텐데,, 저도 사전 꽤나 봐야했습니다. 그런 그렇고,,
젠투를 아예 안쓰는 하드에 따로 설치하려고, 하드디스크를 찾아서, 젠투라이브를 걸어서,
부팅해보니, 전에 설치해봤던 리눅스버젼들이 남아있어서, 그런데, grub방식으로
부팅하는것들은 좀 질겨서, 잘 안씻어지므로, 먼저, HirenBootingCD로 부팅해서,
MBR만지는 툴로 잘 씻어줍니다. MBR툴중에는 MBR-WORK가 쓰기에 아주 편합니다.
MBR-WORK를 선택해 들어간후에, 모든 MBR을 지워버리는번호를 선택하고 Yes하고,
그다음은 표준MBR을 설치하는번호를 선택하고 Yes한후에 E를 누르고 재부팅합니다.
그리고 이젠 HirenBootingCD를 빼고, 젠투라이브시디를 넣어서 부팅합니다.
MBR을 께끗히 씻은 하드라서, MBR은 모두 0(zero)로 채워져 있습니다.
하드디스크를 fdisk로 파티션작업을 해야하는데, Gentu_LiveCD, Gentu_LiveDVD, 또,
다른라이브시디 KnoppixLiveCD 마다 /dev/를 잡는법을 조금씩 달라서,
/dev/sda로도 되고, /dev/hdc로 잡히더군요, 그런데, GeutuLiveCD에서는
/dev/sda로 잡혔습니다. 그래서, 여기서는 /dev/sda로 써나가겠습니다.
여기서 이 얘기를 하는 이유는, 나증에 /etc/fstab, /etc/mtab, /proc/mounts,
또 /boot/grub/grub.conf 안에 들어갈내용에 한번 정한 fdisk의 /dev/sda가 똑같이
나와야하기 때문이다. grub이 잠깐씩 미쳐서, 자동으로 아무렇게나 쓰는 때도 있어서입니다.
00 파티션작업하기
먼저 터미널을 띄운후에, 디폴트로 일반사용자로 돼있으므로, sudo su엔터로 root사용자로 바꾼다.
참고로 사용한 하드의 용량은 20GB 입니다.
livecdgentoo# fdisk -l
livecdgentoo# fdisk /dev/sda
밑에는 fdisk모드에서 실행한 명령어이다.
n > p > 1 > enter침 > +200M 엔터침,
n > p > 2 > enter침 > +2048M 엔터침,
n > p > 3 > enter침 > enter침,
t > 2 > 82 엔터침, 그리고는, w 엔터침
이렇게해서 파티션작업은 완료됐습니다.
00 포멧 하기.
mke2fs /dev/sda1 엔터침,
mkswap /dev/sda2 엔터침,
mke2fs -j /dev/sda3 엔터침,
00 마운트하기(기본마운트)
swapon /dev/sda2
mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot
00 stage3 다운로드
여기서 밑에 명령으로 현재 커서위치폴더에 받아지므로, 위치는 /mnt/gentoo/ 입니다.
livecdgentoo# wget http://ftp.daum.net/gentoo/releases/x86/2008.0/stages/stage3-i686-2008.0.tar.bz2
이젠 받아진 그위치에서 압축을 풉니다.
livecdgentoo# tar xvjf stage3*
00 portage 다운로드
다운받을곳으로 커서를 이동시켜놓고 하기위해서,
livecdgentoo# cd /mnt/gentoo/usr
livecd /usr# wget http://ftp.daum.net/gentoo/snapshots/portage-latest.tar.bz2
livecd /usr# tar xvjf portage-lat*
00 컴파일환경변수설정 들쳐보기
아직은 vi가 설치 안됐으므로, nano로 엽니다.
# nano /mnt/gentoo/etc/make.conf
참고로 사용중인 PC의 cpu는 amd2600Mhz one_core 입니다.
밑에는 make.conf의 내용입니다.
CFLAGS = " -O2 -march = i686 -pipe "
CXXFLAGS = " -O2 -march = i686 -pipe "
CHOST = " i686 - pc -Linux - gnu "
이렇게 3줄이 활성상태로 적혀있었다.
이것은 자동으로 생성된것인데, 수정할 필요도 없고,
수정하면 오히려 오류발생빈도가 높아보인다.
00 미러설정(다운받을 장소를 미리 정해놓는 작업)
livecdgentoo# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
이렇게하면, 조금있다가, 뭔 화면이 뜨는데, 스크롤을 제일 밑으로 내리면,
다운이 잘되는 한국서버들이 보일겁니다. space와 tab키를 이용해서,
*표시를 한후에 엔터합니다.
00 DNS정보를 복사하기(chroot명령전에 해야합니다)
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
00 proc, dev를 마운트 한다,(마무리_마운트)
# mount -t proc proc /mnt/gentoo/proc
이것을 mount -t proc none /mnt/gentoo/proc 이렇게도 하는것같으나,
위에것이 더 좋아보인다.
# mount -o bind /dev /mnt/gentoo/dev
00 마운트돼있는 /mnt/gentoo/를 루트, 즉 / 로 전환시켜준다.
이름하야, chroot작업,
# chroot /mnt/gentoo /bin/bash
# env-update
#source /etc/profile
00 최근의 portage트리를 받는다.
# emerge --sync
이 작업을 한후에 메시지에서, emerge update 하라고 하는데,
안하는것이 좋은것같았다.
# emerge --oneshot portage
00 패키지설치를 위한 환경설정을 확인해본다.
/etc/make.conf 내용을 한번 들쳐본다.
# nano /etc/make.conf
# ls -FGg /etc/make.profile
00 한국어를 추가한다.
# nano /etc/locale.gen
밑에다 아래내용을 추가한다.
ko_KR.UTF-8 UTF-8
ko_KR.EUC-KR EUC-KR
00 커널을 설치한다.(고수분이 아니면 genkernel명령방식으로 설치한다)
컴파일중에 줄줄이 뜨는 메시지를 보니, portage까지 하나하나 들쳐보면서
컴파일하는것으로 봐서, genkernel로 하는게 좋아 보인다.
# emerge gentoo-sources
소스를 받고,풀고, 심볼릭링크까지 자동으로 진행돼서, 바로,,
# ls -l /usr/src/linux
# emerge genkernel
# cp /boot/config* /usr/src/linux버젼/.config
이것은 전에쓰던 재활용해보려는 방법인데, 아예 새로운방식으로
하려면 이작업은 필요없을수도 있다.
#genkernel --menuconfig all
이때 먼저, /etc/genkernel.conf 문장을 참고한다.
menuconfig화면에서, 원하는 항목을 골라서 선택하고는 저장하고, 끝내면,
/usr/src/linux버젼명/폴더안에 .config화일로 저장되는데,
그냥 ls 로는 안보이고, ls -al 로 해야 보인다.
이미 genkernel 이 실행되고 있을것이다.
여기서 2-3시간이 걸리므로, 아예 다른일을 하면서, 시간을 보낸다.
00 부팅될 이미지 확인 작업,
# ls /boot/kernel* /boot/initramfs*
00 부팅시에 마운트될 파티션설정및 확인,
# nano /etc/fstab
# nano /proc//mounts
# nano /etc/mtab
00 시스템이름을 정한다.
# nano /etc/conf.d/hostname
이것은 그냥 손을 안대면, 디폴트로 localhost 이다.
00 네트워크를 설정한다.
이것은 대부분 dhcp(자동으로, 또는 dhcpcd 라는 데몬으로 ip를 받아오므로
그냥 dhcp로 아래와 같이 정한다.
# nano /etc/conf.d/net
이렇게 화일을 열어서,
config_eth0 = ("dhcp") 를 적어주고, 저장한다.
여기서 nano 사용법은 아주쉽습니다. 수정한후에, 수정한것을 저장하고 나오려면,
ctrl+O를 한꺼번에 누르고는 뭐라고 물어보는 문장이 나오면, 엔터치고나서,
ctrl+X를 한꺼번에 누르면 저장하고는 나온것이다.
# rc-update add net.eth0 default
net문장을 수정한후에, 시스템에 적용시켜주는 문장입니다.
00 root의 암호를 정한다.
이 작업을 안하면 하드로 부팅후에 로그인을 할수없다.
# passwd
00 우선,, 시스템의 필수화일을 설치한다.
재부팅이 된후에 당장에 필요한것...
# emerge syslog-ng
# rc-update add syslog-ng default
00 DHCP를 설치한다 (dhcp_client)
dhcp로 ip를 받아와야 네트워킹을 할수있다. 그래서,
# emerge dhcpcd
# dhcpcd eth0
00 부트로더(BootLoader)인 Grub를 설치한다.
이부분이 웹상에 있는 설명들에 부팅불능이 나오게 써놔서, 훈련 많이 했습니다.
# emerge grub
grub를 다운합니다. 그리고 기본설치를 합니다.
# nano /boot/grub/grub.conf
이렇게 grub.conf를 한번 봐봅니다.
00 Grub을 다운받고, 기본설치는 됐으니,
Grub의 뒷마무리작업을 해야 합니다.
그렇치않으면 부팅불능사태가 납니다.
# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install --no-floppy /dev/sda
# grub --no-floppy
이렇게 하고나면, grub의 내부명령상태를 진입합니다.
그러면서, 프롬프트가 grub>로 바뀝니다.
grub> find /boot/grub/stage1
PC의 응답화면 => (hd0,0)
응답화면을 보고는 밑에것을 타이핑합니다.
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
00 응용프로그램들 설치,
# emerge vim
# emerge vixie-cron
# rc-update add vixie-cron default
# emerge cvs
00 genkernel과 grub이 자동으로 해주기는 하나,
다시 한번 필수화일들 점검,,
00 재부팅,
stage3설치기가 상당히 긴데, 다른분들은 저같이
헛고생 안했으면 하는 바램으로, 이렇게 글을 올립니다.
2009년 10월 8일 목요일
33
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
1. Minimal Install CD를 받아 굽는다.
2. CD를 넣고 부팅한다. 캐릭터 해상도는 80X25, 키보드 레이아웃은 기본으로 잡는다.
3. 네트워크를 잡는다. 안되면 잠 못잔다. -_-;
4. fdisk로 기존의 파티션을 알아서 적당히 날려먹는다.
- 메모리가 2GB 이상인 경우 스왑을 적게 잡거나 잡지 않는다 (시스템 성능에 문제 있을 수 있음)
- 기본적으로 루트와 부트 파티션을 만드는데 도움말을 보면 /opt 나 /usr /var 등을 만들라고 한다.
하드가 널럴하면 그렇게 하든가...
5. 잡은 파티션을 포맷한다. mke2fs -j 명령으로 ext3 타입의 파일시스템을 만들든지
mke2fs로 ext2 파일시스템을 만든다. 스왑파티션이 있다면 mkswap 을 만든다.
예) mke2fs -j /dev/hda1
mke2fs -j /dev/hda2
mkswap /dev/hda3
6. 스왑 파티션은 가동시키고 나머지 파티션은 마운트 한다. 마운트 타겟 기준 루트는 /mnt/gentoo 이다.
예) mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot
mount /dev/hda2 /mnt/gentoo
swapon /dev/hda3
mkdir /mnt/gentoo/dev
mkdir /mnt/gentoo/proc
mount -t proc proc /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
env-update
source /etc/profile
7. 우선 /mnt/gentoo 로 이동한 후에 다음 명령을 실행한다.
links http://www.gentoo.org/main/en/mirrors.xml
8. 어떤 Stage TarBall 을 받을 것인가... 를 결정하고 Page Down 키를 눌러서 카이스트 서버를 찾는다. Portage도 함께 받는다.
releases/x86/2007.0/stages/ 에 가면 스테이지 별로 파일들이 있다. 공식핸드북에서는 md5sum을 체크하라고 되어 있지만 사실 그럴 필요는 없다고 본다. Portage는 출시버전에만 맞춰서 받으면 된다. 이는 snapshots/ 에 가면 있다. 최신버전은 최신날자로 되어 있다.
9. tar xvjpf 명령을 사용해서 Stage TarBall 파일을 풀고 tar jxvf 명령으로 Portage 파일을 푼다. portage 파일을 풀 떄 경로문제로 인해 명령은 필히 다음과 같이 해야 한다.
tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
10. /mnt/gentoo/etc/make.conf 파일을 손보라고 나와있지만 사실 우리가 건드릴 필요가 없다. 대부분 젠투 패키지 부팅시 알아서 설정된다.
11. 다음의 명령을 사용하여 젠투 미러를 설정한다. 컬러 박스 화면이 나오면 Default 서버를 선택하도록 하라. 다른 서버는 느리거나 먹통일 가능성이 많다.
mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
12. 루트의 주체를 전환한다.
cp -L /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo /bin/bash
13. 시스템 리빌드. ( Stage 1 Only ! ! )
cd /usr/portage/scripts
(중간에 /bin/perl 문제 때문에 멈춘다. 그러니 반드시 다음 명령 실행후 부트스트래핑 하고 시스템이머징 한다.)
emerge --nodeps gdbm libperl perl
./bootstrap.sh
emerge -e system
14. 커널 완성
좀 무식하게 하는 방법이라면 커널을 직접 생성해서 /boot에 복사하는 방법이 있지만 genkernel 스크립트가 존재하기 때문에 이따위 삽질은 안해도 된다.... 그런데 만약 이 방법으로 한 커널이 문제가 발생한다면 커널을 과감하게 새로 설정하고 컴파일 한후 (Architecture)/bzImage 를 /boot에 적당한 이름으로 바꾸어서 복사하도록 한다.
emerge genkernel
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
genkernel all
15. /etc/fstab 편집, /etc/mtab 복사
부팅시 올바른 디스크, 파티션 인식을 위해서는 반드시 FileSystem Table 을 올바로 기재해야 한다.
마운트 테이블을 /etc/mtab으로 복사한다.
grep -v rootfs /proc/mounts > /etc/mtab
16. GRUB, crontab 설치
부팅시 필요한 부트로더와 데몬 실행 관리자를 설치한다. 설명은 GentooDoc 에 잘 나와있다.
17. 재부팅 시험
커널 패닉 메세지를 보고 조금씩 수정하면 된다. 본인은 커널을 다시 설정하고 컴파일을 하여 /boot에 다시 심고 GRUB에 udev 옵션을 주고 램디스크를 뺐다.
PCG-SRC55TL은 PCMCIA와 ORINOCO 내장 랜카드 Intel e100, Intel 그래픽, Alps Pointing device... (거기까지 -_-) 등이 있으므로
이러한 것들을 고려하여 커널 설정을 해준다. 외장형 CD-ROM을 달고 있다면 OHCI1394와 SCSI 에 체크한다.
18. 마무리
처음부팅했을때 경우에 따라서는 /dev 가 제대로 설치되지 않았다는 둥 뭐라는 둥 하는 메세지가 뜬다. 그러면 다음 나온 것과 같이 뜰 것이다.
mkdir /mnt/fixit
mount --bind / /mnt/fixit
cp -a /dev/* /mnt/fixit/dev/
umount /mnt/fixit/dev
rmdir /mnt/fixit
완전 똑같다고 보긴 어렵겠지만 여하튼 스크린에 뜬대로 명령어 5줄을 실행한다.
그리고 다음 두줄을 실행한다. (역시 기억난대로 쓴 것이니 스크린 메세지를 참조할 것)
rm /etc/issue
mv /etc/issue.oldfix /etc/issue
19. 부팅메세지 확인
이제 vixie-cron이 잘 실행되는 모습을 볼 수 있을 것이다.
설치가 완전히 끝났으므로 Portage와 Stage 관련 파일을 루트에서 제거한다.
Enjoy! :)
마무리 : 2007/12/28 새벽 04:00
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
젠투리눅스 설치하기 - Stage 0
0.준비과정
젠투의 설치과정은 시작하는 stage에 따라 3가지로 구분되며 준비과정은 stage에 상관없이 반드시 거쳐야 하는 설치과정이다.
0.1.VMware
Gentoo Linux를 VMware 에 설치하고자할 때 해야하는 일이다. 실제 머신에 설치할 경우에는 "0.2.CD받기"로 건너뛰어라.
0.1.1.가상머신만들기
File > New > Virtual Machine
Virtual machine configuration: Custom
Virtual machine format: New - Worksatation 5
Guest operationg system: Linux, Other Linux 2.6.x kernel
Virtual machine name: Gentoo Linux
Location: D:\VMware\Gentoo Linux
Processors: Two
Memory: 512MB
Network connection: Use host-only networking
I/O adapter types: IDE Adapter (ATAPI)
SCSI Adapters: BusLogic >> 꼭 기억하고 있어야 나중에 커널 컴파일할 때 커널패닉 안만납니다.
Disk: Create a new virtual disk
Virtual Disk Type: SCSI (Recommended)
Disk Size (GB): 36GB
Disk file: Gentoo Linux
0.1.2.네트워크설정
0.1.2.1.Host OS 설정
제어판 > 네트워크연결 > 인터넷에 직접 연결된 어댑터 > 속성 > 고급
인터넷 연결 공유, 다른 네트워크 사용자가 이 컴퓨터의 인터넷 연결을 통해 연결을 할 수 있도록 허용에 체크
홈 네트워킹 연결: VMware Network Adapter VMnet1
방화벽설정:
1.없애기
제어판 > 네트워크 연결 > 로컬 영역 연결 > 속성 > 고급 > Windows 방화벽 > 설정 > 고급 > 네트워크 연결 설정 > 로컬 영역 연결 > 체크해제
2.예외
포트추가: 22, SSH
0.1.2.2.VMware 설정
VM > Settings > Ethernet에서 Host-Only로 설정
0.1.2.3.Guest OS 설정
IP: 192.168.0.180
Subnet Mask: 255.255.255.0
Gateway: 192.168.0.1
DNS: 192.168.0.1
0.2.CD받기
젠투 시디는 아래의 주소에서 받을 수 있다.
http://www.gentoo.org/main/en/where.xml
0.3.네트워크설정
부팅을 한 후 ifconfig 혹은 net-setup을 통하여 네트워크설정을 한다.
0.3.1.ifconfig 이용
아래는 VMware를 이용할 경우의 네트워크 설정이다.
# ifconfig eth0 192.168.0.180 netmask 255.255.255.0 broadcast 192.168.0.255
# route add default gw 192.168.0.1
# echo nameserver 192.168.0.1 > /etc/resolv.conf
실제 머신을 이용할 경우에는 자신의 환경에 맞는 네트워크 설정을 하면 된다.
0.3.2.net-setup 이용
# net-setup eth0
아래는 net-setup eth0를 실행시켰을 때 설정해야할 값입니다.
ip address : 네트웍카드에 할당하려는 IP주소 = > ex) 192.168.0.180
broadcast address : 네트웍안의 모든 호스트에 브로트캐스트할 IP 주소 = > ex) 192.168.0.255
network mask : 호스트와 네트웍을 확인하기 위한 주소 범위를 보여주는 IP 주소와 함께 사용되는 마스크 => ex) 255.255.255.0
gateway : 외부로 나가는 패킷을 전송하기 위한 IP 주소 => ex) 192.168.0.1
0.4.원격설치환경설정
젠투의 강점중의 하나가 원격설치를 지원한다는 것이다.
VMware에 설치할 경우 ctrl+shift를 이용해서 가상머신과 실제머신을 왔다갔다해야 하는데
원격설치를 이용하면 가상머신은 켜두기만 하고 실제머신에서 ssh를 이용하므로 ctrl+shift를 이용할 필요가 없다.
또한 설치하는 머신이 가상머신이라는 것만 다르고, 나머지는 실제머신과 똑같다.
0.4.1.root 암호설정
livecd # passwd
암호를 묻는 프롬프트가 나오면 원하는 암호를 입력한다.
필자는 그냥 vmware라고 입력했다.
0.4.2.ssh
livecd # /etc/init.d/sshd start
이제 ssh client를 실행시켜서 vmware로 접속하도록 하자.
0.5.파티션설정
젠투에서 사용할 하드디스크의 파티션을 설정한다.
0.5.1.파티션 계획
/boot: 100MB
/ : 나머지 MB
livecd ~ # fdisk /dev/sda :: fdisk 모드로 진입하는 명령어이다.
아래는 fdisk mode에서 실행하는 명령어이다.
n > p > 1 > [enter] > +100MB
n > p > 2 > [enter] > +1024MB
n > p > 3 > [enter] > [enter]
t > 2 > 82
w
0.5.2.포맷
livecd ~ # mke2fs /dev/sda1 :: boot 파티션 ext2으로 포맷
livecd ~ # mkswap /dev/sda2 :: swap 파티션으로 포맷
livecd ~ # mke2fs -j /dev/sda3 :: root 파티션 ext3으로 포멧
0.5.3.마운트
livecd root # swapon /dev/sda2 :: swap으로 잡은 파티션을 사용하도록 설정한다.
livecd root # mount /dev/sda3 /mnt/gentoo :: root로 잡은 파티션을 마운트한다.
livecd root # mkdir /mnt/gentoo/boot :: boot 디렉토리를 만든다. /boot 마운트 포인트 생성하기 livecd root # mount /dev/sda1 /mnt/gentoo/boot :: boot 파티션을 마운트 한다. /boot 파티셜을 활성화한다.
이제 준비과정이 모두 끝났다. 원하는 설치방법에 따라 Stage 1, Stage2, Stage 3 부터 설치를 시작한다.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
젠투리눅스 설치하기 - Stage 1
1.stage1 시작
stage1의 목적은 bootstrap이다.
bootstrap은 stage2의 system을 설치하기 위한 컴파일 환경을 만드는 작업이다.
1.1.Stage 1 타르볼 다운로드 및 압축해제
livecd ~ # cd /mnt/gentoo
livecd gentoo # wget http://ftp.jaist.ac.jp/pub/Linux/Gentoo/releases/x86/2007.0/stages/stage1-x86-2007.0.tar.bz2
livecd gentoo # tar -xvjf stage1-x86-2007.0.tar.bz2 :: 기본적으로 필요한 파일들이 생성된다.
1.2.네임서버정보 복사
livecd gentoo # cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
1.3.미러설정
livecd gentoo # mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
1.4.컴파일 환경 설정
livecd gentoo # vi /mnt/gentoo/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="-O2 -mtune=i686 -pipe"
CXXFLAGS="${CFLAGS}"
# This should not be changed unless you know exactly what you are doing. You
# should probably be using a different stage, instead.
CHOST="i686-pc-linux-gnu"
GENTOO_MIRRORS="http://ftp.daum.net/gentoo/ http://ftp.jaist.ac.jp/pub/Linux/Gentoo/ ftp://ftp.jaist.ac.jp/pub/Linux/Gentoo/ http://ftp.iij.ad.jp/pub/linux/gentoo/ ftp://ftp.iij.ad.jp/pub/linux/gentoo/ http://ftp.kaist.ac.kr/pub/gentoo/ ftp://ftp.kaist.ac.kr/gentoo/ "
* 우리나라 미러는 심심하면 죽어 있으므로 가까운 나라 일본서버를 추가해놓았다.
* 다음미러가 요즘 괜찮다고 하네요.
1.5.proc 사용설정
livecd gentoo # mount -t proc proc /mnt/gentoo/proc
proc 의 용도는 아래와 같다.
따라서 proc를 마운트 한다는 것은 시스템상에서 생성되는 프로세스를 관리한다는 의미이며,
proc를 마운트하지 않고는 물리HDD로 이동할 수 없다.
1.6.물리HDD로 이동(chroot)
livecd gentoo # chroot /mnt/gentoo /bin/bash
livecd / # env-update
livecd / # source /etc/profile
1.7.portage tree 가져오기
livecd / # emerge --sync ::/usr/portage로 portage tree를 다운로드한다.
1.8.bootstrap
livecd / # cd /usr/portage/
livecd portage # scripts/bootstrap.sh
시스템에 맞게 gcc, gliblc 등의 C 컴파일러를 설치하는 과정이다.
이 과정을 bootstrap이라고 하며 이 과정을 마치게 되면 젠투를 시스템에 설치하기 위한 컴파일러 설치가 끝난 것이다.
VMware의 경우 스냅샷을 찍어두는 것이 좋다.
스냅샷이름: Stage1 완료
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
젠투리눅스 설치하기 - Stage 2
2.stage 2 시작
stage2부터 시작한다는 것은 bootstrap과정은 이미 완료된 것이다.
stage2의 목적은 기본적인 젠투시스템을 설치하는 것이다.
2.1.System 설치
livecd / # env-update :: bootstrap하면서 설치한 패키지를 적용한다.
livecd / # source /etc/profile :: bootstrap하면서 설치한 패키지를 적용한다.
livecd / # emerge --nodeps gdbm libperl perl :: perl과 perl에 의존적인 패키지를 설치하기 위해서 필요하다... 이거 안해주면 두고 두고 골치아파진다. 꼭 해주자.
livecd / # env-update :: 위에서 설치한 패키지를 적용한다.
livecd / # source /etc/profile :: 위에서 설치한 패키지를 적용한다.
livecd / # emerge -e system :: system을 설치한다.
livecd / # emerge -epv system :: system 파일이 정상적으로 설치가 되었는지 확인
livecd / # env-update :: system을 설치하면서 설치한 패키지를 적용한다.
livecd / # source /etc/profile :: system을 설치하면서 설치한 패키지를 적용한다.
아래의 유틸리티는 필수 유틸리티이며 설치되어 있는지 확인할 것
livecd / # emerge sys-apps/util-linux :: mount 등의 필수 유틸 설치
livecd / # emerge sys-apps/shadow :: passwd 설치
livecd / # emerge sys-process/psmisc :: kill
livecd / # emerge sys-apps/module-init-tools :: lsmod 설치
livecd / # emerge sys-process/procps :: ps 설치
livecd / # emerge man :: man 설치
livecd / # USE="-zlib" emerge sys-apps/pciutils :: sys-apps/hal 에러방지
2.2.컴퓨터 이름 및 도메인 설정
# echo HOSTNAME=\"{YourComputerName}\" > /etc/conf.d/hostname :: 이제 /etc/hostname 은 사용하지 않는다.
# /etc/hosts :: 아래는 내용을 추가한다.
127.0.0.1 {YourComputerName}.{YourDomain} {YourComputerName} localhost
2.3.네트워크설정
# nano /etc/conf.d/net
아래는 필자의 네트워크설정이다.
config_eth0=( "192.168.0.180 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default gw 192.168.0.1" )
# rc-update add net.eth0 default :: 컴퓨터 부팅시 자동시작 되도록 설정한다.
VMware의 경우 스냅샷을 찍어두는 것이 좋다.
스냅샷이름: Stage2 완료
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
젠투리눅스 설치하기 - Stage 3
3.stage 3 시작
stage3의 목적은 커널 및 부트로더 설치이다.
stage3를 마치고 나면 기본적인 젠투시스템을 가지게 된다.
3.1.시스템 시간 설정
livecd portage # ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
위의 명령어는 서울을 기준으로 시스템 시간을 설정하는 것이다.
3.2.파티션 정보 설정
livecd portage # nano -w /etc/fstab
아래는 필자의 파티션 정보 설정이며 자신의 시스템에 맞는 파티션 정보를 설정한다. 참고로 boot 파티션의 noauto는 꼭 빼준다.
proc /proc proc default 0 0
/dev/sda1 /boot ext2 noatime 1 2
/dev/sda3 / ext3 noatime 0 1
/dev/sda2 none swap sw 0 0
/dev/hdc /mnt/cdrom auto noauto,ro 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
3.3.kernel 설치
커널을 설치하는 방법에는 Gentoo전용으로 이미 컴파일된 커널을 설치하는 방법과 kernel.org에서 직접 받아다가 컴파일해서 사용하는 방법 2가지가 있다.
3.3.1.Gentoo 전용 Kernel 설치
livecd portage # emerge gentoo-sources :: 커널을 소스를 받는다. 준비과정을 끝내고 stage3 로 바로 왔을 경우 이 과정이 완료된 상태이다.
livecd portage # emerge genkernel
livecd portage # genkernel all
3.3.2.사용자 Kernel 설치
livecd portage # cd /usr/src
livecd src # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2
livecd src # tar -xvjf linux-2.6.23.tar.bz2
livecd src # ln -sf linux-2.6.23 linux
livecd src # cd linux
livecd linux # make mrproper :: .config에 설정된 내용을 삭제
livecd linux # make menuconfig :: .config 파일을 편집해주는 GUI, 설정값은 아래를 참고하라.
livecd linux # make clean
livecd linux # make bzImage :: 커널이미지를 만든다.
livecd linux # cp arch/i386/boot/bzImage /boot/bzImage-2.6.23 :: 커널이미지를 부트파티션으로 이동시킨다.
livecd linux # make modules :: 커널에서 사용할 모듈을 만든다.
livecd linux # make modules_install :: 커널에서 사용할 모듈을 설치한다.
아래는 VMware에 설치할 경우의 커널설정이다. (kernel 2.6.23 기준)
Enable loadable module support --->
--- Enable loadable support
[*] Module unloading
[*] Forced module unloading
[*] Automatic kernel module loading
Processor type and features --->
+ Processor family (Core 2/newer Xeon)
(2) Maximum number of CPUs (2-255)
Device Drivers --->
+ SCSI device support --->
--- SCSI device support
<*> SCSI disk support
<*> SCSI generic support
++ SCSI Transports
[*] SCSI low-level drivers --->
+++ <*> BusLogic SCSI support
+++ [*] Omit FlashPoint support
+ Fusion MPT device support --->
++ <*> Fusion MPT ScsiHost drivers for SPI
++ <*> Fusion MPT ScsiHost drivers for FC
++ <*> Fusion MPT ScsiHost drivers for SAS
++ (128) Maximum number of scatter gather entries (16 - 128)
++ <*> Fusion MPT misc device (ioctl) driver
++ [*] Fusion MPT logging facility
+ Network device support --->
++ Ethernet (10 or 100Mbit) --->
+++ [*] EISA, VLB, PCI and on board controllers
+++ <*> AMD PCnet32 PCI support
+ Sound --->
++ Advanced Linux Sound Architecture --->
+++ <*> Advanced Linux sound Architecture
+++ <*> OSS Mixer API
+++ <*> OSS PCM (digital audio) API
++++ PCI devices --->
+++++ <*> (Creative) Ensoniq AudioPCI 1371/1373
File systems --->
+ DOS/FAT/NT Filesystems --->
++ (949) Default codepage for FAT
++ (EUC-KR) Default iocharset for FAT
++ <*> NTFS file system support
++ [*] NTFS debugging support
++ [*] NTFS write support
+ Native Language Support --->
++ (utf8) Default NLS Option
++ <*> Codepage 437 (United States, Canada)
++ <*> Korean charset (CP949, EUC-KR)
++ <*> NLS ISO 8859-1 (Latin 1; Western European Languages)
++ <*> NLS UTF8
3.3.3.Kernel Panic
커널패닉의 원인은 딱 3가지다.
1. 잘못된 커널 설정으로 커널컴파일
2. 부트로더가 설정파일
3. /etc/fstab
아래는 대표적인 커널패닉의 예이다.
Kernel Panic 1
메시지
VFS: Unable to mount root fs via NFS, trying floppy
VFS: Insert root floppy and press ENTER
원인
grub/grub.conf 설정이 잘못되어 있다. 특히 root=
해결책
grub/grub.conf 를 정확하게 설정한다.
Kernel Panic 2
메시지
Kernel panic - not syscing: VFS : Unable to mount root fs on unknown-block(0,0)
원인
리눅스가 부팅시SCSI 방식 의 하드 디스크를 마운트하지 못하는 것이다.
해결책
SCSI 방식의 하드 디스크상에서 부팅 할 수 있도록 커널 컴파일 환경을 설정한다.
3.4.필수 패키지 설치
3.4.1.SSH Daemon 설치
livecd linux #emerge openssh
livecd linux #rc-update add sshd default
3.4.2.Log Daemon 설치
livecd linux #emerge app-admin/syslog-ng
livecd linux #rc-update add syslog-ng default
3.4.3.Cron Daemon 설치
livecd linux #emerge vixie-cron
livecd linux #rc-update add vixie-cron default
vixie-cron, fcron, dcron 중의 하나를 설치할 수 있다.
3.4.4.reiserfsprogs 설치
livecd linux #emerge reiserfsprogs
3.4.5.Hotplug 설치
livecd linux # emerge hotplug
livecd linux # rc-update add hotplug default
3.4.6.vim 설치
livecd linux # emerge vim :: vi 에디터 설치
에러 메시지
Can't open perl script "/usr/lib/perl5/5.8.8/ExtUtils/xsubpp"
해결책
livecd linux # USE="-perl -libperl" emerge vim
3.5.사용자 설정
3.5.1.root 패스워드 설정
#passwd
3.5.2.일반 사용자 추가
# adduser {MyUser} -m -d /home/{MyUser} -G users,wheel,audio -s /bin/bash
# passwd {MyUser}
3.6.Bootloader 설치
3.7.1.lilo 설치
3.7.2.grub설치
# emerge grub
# grub :: grub모드로 진입
grub> root (hd0,0) :: boot 파티션 설정하기 , hd0 = 0번째 하드디스크, 0 = 첫번째 파티션
grub> setup (hd0) :: MBR이 올라갈 곳을 지정한다.
grub> quit
# nano /boot/grub/grub.conf
아래와 같이 편집
default 0
timeout 30
#background image
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux (2.6.22)
root (hd0,0)
kernel /bzImage-2.6.22 root=/dev/sda3
VMware의 경우 스냅샷을 찍어두는 것이 좋다.
스냅샷이름: Stage3 완료
3.8.재부팅
# etc-update
# exit :: chroot 빠져나오기
livecd gentoo # cd /
livecd / # umount /mnt/gentoo/boot
livecd / # umount /mnt/gentoo/proc
livecd / # umount /mnt/gentoo
livecd / # reboot
이제 여러분은 해야할 일이 아직 많이 남은 뼈대만 있는 젠투 시스템(bare bone)을 가지게 되었다.
이제 부터는 자신에게 필요한 어플리케이션을 스스로 찾아서 설치해보기 바란다.
당신에게 man과 emerge의 가호가 함께 하기를...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
젠투리눅스 설치하기 - X Window 설치
Change History
2007.11.14
기본로케일을 eucKR로 했더니 요즘 대세가 UTF-8이라고 하시는 분이 있어서 변경했습니다.^^
2008.01.03
emerge gnome하면 잡다한 것이 너무 많이 설치되어서 emerge gnome-light으로 변경했습니다.
X Server 설치
{YourServerName} ~ # emerge xorg-x11 :: X-Server 설치
{YourServerName} ~ # env-update :: Update the system variables
{YourServerName} ~ # source /etc/profile
{YourServerName} ~ # Xorg -configure :: 자동으로 하드웨어 설정을 검색하고 root 홈 디렉토리에 xorg.conf.new 파일을 생성, 화면이 검어지면서 아무것도 안됨
{YourServerName} ~ # X -config /root/xorg.conf.new :: Xorg -configure가 자동으로 잡아준 설정을 테스트
X -config /root/xorg.conf.new를 실행하면 바둑판 무늬 배경에 마우스 커서만 보이는데 마우스가 잘 동작하는지 화면 해상도는 제대로 잡혔는지 확인하고 제대로 되었다 싶으시면 설정파일을 기본 위치로 복사해 준다. 원하는 설정이 제대로 나오지 않는다면 설정파일(/root/xorg.conf.new)을 직접 수정하거나 xorgcfg 혹은 xorgconfig 명령으로 수동설정해준다.
아래의 화면이 X -config /root/xorg.conf.new 를 실행했을때 나타나는 화면이다.
{YourServerName} ~ # mv /root/xorg.conf.new /etc/X11/xorg.conf :: X-Server 설정파일을 원래 위치로 이동
{YourServerName} ~ # startx :: X-Server 시작
아래의 화면이 startx했을때의 화면이다.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
/bin, /usr/bin 과 /sbin, /usr/sbin의 차이
/bin, /usr/bin, /sbin, /usr/sbin 은 모두 명령어가 저장되는 디렉토리 입니다.
이 디렉토리에 차이가 있으니 그것은 아래의 표와 같습니다.
디렉토리 용도 사용권한
/bin 기본적인 명령어 일반 사용자
/sbin 시스템 관리를 위한 명령어 슈퍼유저(root)
/usr/bin /bin에 있는 명령을 제외한 기본적인 명령어
일반 사용자
/usr/sbin /sbin에 있는 명령을 제외한 시스템 관리를 위한 명령어 슈퍼유저(root)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
젠투에서 중요한 설정파일들
/etc/make.conf
- 패키지를 다운받을 저장소 설정
- 패키지를 컴파일할 때 줄 옵션
/etc/rc.conf
- x server를 구동할 때 사용할 데스크탑환경 지정
/etc/resolv.conf
- 네임서버
/etc/env.d/02useretc
- 시스템이 처음 구동되거나 env-update 수행시 시스템 변수에 추가할 목록 지정
/etc/locales.gen
- 지역설정
/etc/conf.d/net
- 네트워크 카드 설정
/etc/fstab
- 부팅할 때 마운트할 장치 설정
/etc/X11/xorg.conf
- x 서버를 구동할 때 사용할 장치와 드라이버 설정
/usr/src/linux/.config
- 커널 설정
/boot/grub/grub.conf
- Grub 설정
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
소스설치과정
configure
Makefile이 만들어집니다.
Makefile은 컴파일 옵션이 저장된 파일입니다.
make
소스코드를 실제로 컴파일한 후 binary 파일을 생성합니다.
make install
생성된 binary 파일을 지정된 디렉토리로 이동시켜 줍니다.
보통 "/usr/local/프로그램이름" 이나 "/usr/local/bin" 에 위치하며 --prefix 옵션으로 변경가능 합니다.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
젠투리눅스 설치 방법 젠투리눅스
2004/06/16 23:52
http://blog.naver.com/joldan23/140003340217
이 포스트를 보낸곳 ()
(..적수네동네에 올린글인데 여기 다시 올립니다..)
저역시 아는건 별로 없지만 다른분들께 조금이라도 도움이 되고자 올립니다.
1. 일단 설치 문제인데 stage 1,2,3중에 하나만 설치 하시는 겁니다.
많은분들이 새개 다 설치하는거냐고 물으시는데 하나만 설치 하는것
입니다.3번을 설치하는게 가장 빠르고 편합니다. 물론 인스톨 문서에는
i686(펜티엄2,펜티엄프로)이상일 경우에만 2,3번 설치가 가능 하다고 되어
있습니다.
1번으로 제가 펜티엄 MMX233, 램 64메가인 시스템에서 설치 했는데,
1번 설치과정의 가장 중요한 부분인 #scripts/bootstrap.sh 이것이
한 6-7시간 정도 걸렸습니다.(물론 나중에 kde설치 할땐 펜3-800인데도
8시간 걸립니다..-_+..)
2번으로 설치하시면 11.Progressing from stage1 to stage2 과정을 3번으로
설치하시면 이다음 과정인 12.Progressing from stage2 to stage3 이것도
생략 하시면 됩니다.
2. 처음 설치할때 랜카드 잡는게 나오는데 이건 머 별문제 되는게 없죠..^^
ifconfig -a하셔서 잡히셨나 확인하시고요..
3. 이부분
# mkdir /mnt/gentoo
# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot
에서 순서대로 안하시면 마운트 에러납니다.^^(..머 다이시겠지만..^^..)
4. tar -xvjpf /mnt/cdrom/stage?-*.tbz2
여기서 1,2,3중에 하나 선택하시고요 이거 하시기 전에 #cd /mnt/gentoo 꼭
하셔야 합니다. 이거 안하시면 압축 풀리면서 에러 마구마구 뜨고 질답란에
올라온 대부분의 압축에러가 마운트가 제대로 안됬거나 위의 저 명령을
안처서 입니다. (처음에 램 디스크로 부팅하기 때문에..
하드 디스크로 옮겨야 압축을 풀겠죠..^^..)
5.chroot /mnt/gentoo /bin/bash
이거후 illegal ~~ 이런 에러 나오는것은 stage1,2,3압축을 다 풀었을 경우에
이런 에러가 나옵니다.(물론 다른 상황일수도 있겠지만요..^^..)
6. source /etc/profile
이거 하신다음엔 붉은색의 프롬프트가 나와야 합니다.
본격적으로 Gentoo Linux에 들어 오신겁니다.
그전엔 램디스크 상황입니다.. 여기서 새로운거 안뜨면 인스톨문서 잘
살펴보시면거 다시 한번 차근차근..^^..
7.# emerge rsync
이거했는데 Connection fail 나오면 (ifconfig -a 가 정상적으로나올경우..)
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
이 명령이 제대로 수행이 안되서 입니다.
exit 하셔서 (exit하시면 다시 램디스크 상황으로 갑니다..)
저거 정확하게 하시고 다시 #source /etc/profile
하세요..^^
참고로 이것은 rsync는 ports시스템의 디렉토리 구조를 받습니다.
즉, 패키지 리스트를 받는다고 생각 하시면 되죠..^^
나중에 심심 하면 한번씩 실행 시켜 주시면 새로 나온 패키지 있으면 업데
이트 됩니다.
8.# export CONFIG_PROTECT=""
이거 안하시면 나중에 emerge 하다보면 무슨 etc파일 두개를 업데이트 시켜
주어야 한다고 나올겁니다. 새로운 패키지 나왔을때 그전 패키지 처리
하는것에 대해 묻는건데 나중에 다시 설정 하시 겠지만 저렇게 하시면
그냥 덮어 씌운다는 것입니다.(port시스템에서요..)
9. 자..이젠 커널 컴파일 입니다.
커널 컴파일 옵션은 머 나머진 http://krenel.pe.kr 참고하시고요
(..실은 저도 usb쪽이 옵션이 제대로 안들어 갔는지..-_+..마우스가 안되
네요..)
처음옵션이 무슨 아직 개발중인 옵션 사용할것인가 묻는것이죠..?
이거 꼭 하시고요 File System 가셔서
[*]/dev filesystem support 랑 그 밑에 속하는거 모두 체크 하세요..
devfs를 사용하기 위해서입니다.
그러니 이렇겐 꼭 체크 하세요..
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
File systems --->
[*] /dev file system support (EXPERIMENTAL)
[*] Automatically mount at boot
[*] Debug devfs
체크 안하셔도 Gentoo Linux 부팅 잘되고 적덩하게 돌아 가지만
부팅 할때 마다
15초 멈춘다음에 Gentoo Linux는 devfs를 사용 하는 시스템이라며 커널 다시
컴파일 하라는 압력을 계속 넣습니다.
(Gentoo Linux는 진보적인 시스템을 많이 도입하고 있죠..^^
ports시스템이라던지 rc-update시스템, 그리고 devfs시스템 등등..)
꼭 체크 하세요..
10.make dep && make clean bzImage modules modules_install
이거 하시고 #depmod -a 2.4.19-r1
해주셔야 합니다.
이거 안하시면 부팅시에
Can't find modprobe
Char-major..~~~
이런 에러 만나실겁니다.(물론 저 명령은 천천히 하셔도 됩니다.)
11.# emerge app-admin/metalog
# rc-update add metalog default
로긴 플그램 셋중에 하나 하시면 됩니다.
rc-update도 Gentoo 만의 독특한 시스템인데 런레벨에 따른 실행
플그램 관리 해주는것입니다. 다른데서는 chkconfig 란것을 쓰죠.
실제로 써보시면 아시겠지만 상당히 편리합니다.
(start만 설정해 주시면 kill은 자동으로 한답니다..^^..)
rc-update add(del) 플그램 runlevel(아니면 runlevel이름..)
이런 형식입니다.
GentooLinux는 rc.1, rc.2 이런형식이 아니라
/etc/runlevel아래 default/ single/ nonetwork/
이런 디렉토리가 있는데 저게 rc.1, rc.2 같은겁니다..^^
/etc/inittab 에 보시면
런레벨 3같은 경우엔 rc default 런레벨 2는 rc nonetwork 로 되어 있습니다.
실제로보시면 아시겠지만 정말 깔끔하고 쓰기 편합니다.
rc-update add(del) 만알면 되거든요..^^
(xfs나 lvm안쓰시면 인스톨 문서 15번 과정 통과..)
12. # nano -w /etc/modules.autoload
이것도 역시 Gentoo 만의 시스템이죠..^^자동 모듈로딩..
..편합니다..역시 Gentoo Linux는 정말 빠르고 정말 편하게 잘만들었습니다..
(..
..감격..T_T..)..
저기다가 간단하게 모듈명만 적으면 Ok입니다.
정말 편합니다..^^
랜카드나 사운드 카드 같은거 모듈로 컴파일 하셧다면 저기다가 올려주시
고요, 내장 시키셧다면 그냥 넘어가셔도 됩니다.^^
(..다른거 필요하신거 계시면 올리세요..^^..)
13. 이제 문제는 grub인데 저도 이거 실패 했습니다.(결국 lilo사용..)
grub실행 시키셔여 이렇게 하시고요
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
여기서 root는 /boot 다비이스 입니다.
/boot 가 /dev/hda7 이시면(하드 하나이고..)
root (hd0,6)겠죠
그다음이 nano -w /boot/grub/menu.lst 이거죠..^^
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz <--그냥 경로명
title=My example Gentoo Linux
root (hd0,0) <---- /boot 디바이스 입니다.
kernel /boot/bzImage root=/dev/hda3 <------- / 디바이스
# Below needed only for people who dual-boot
title=Windows NT Workstation
root (hd0,5)
chainloader +1
설정 하실때 잘안되시면 grub실행 시키셔셔 TAB치시면서 하시며 자동
완성시는 됩니다.
문제는..-_+제 노트북에서 menu.lst를 찾지를 못합니다.
configfile실행시켜 TAB누르며 자동 완성 시키면서 해도 안되더군요..T_T
Gentoo Forum에 가니까 저와 비슷한 분들이 몇분 계시더라구요..
..흐음 그래서 결국 lilo로..T_T..
일단 이러면 적어도 MBR에 설치는 될 겁니다.
만약에 저처럼 메뉴 찾지 못하시면
root (hd0,0) <---- /boot 디바이스 입니다.
kernel /boot/bzImage root=/dev/hda3 <------- / 디바이스
이렇게 적어주시고 boot누르시면 부팅 될겁니다.
그런다음에 바로 #cd /usr/portage/sys-app하셔서
#emerge lilo 하셔서..^^lilo설치하세요..^^
14. # nano -w /etc/conf.d/net
# rc-update add net.eth0 default
여기서 두루넷 하나로 통신 이런 케이블류 이용하시는 분들은
그 DHCP섹션에서
iface_eth0="dhcp"
이것만 앞에 #지워 주시고 위에 샘플로 나와 있던(3번째 줄인가..)
그건 앞에 #붙여 주세요..
(..한국통신 설정법은 다른분께서 쓰신 글 참조 하세요..이 게시판
에 있습니다..^^..)
자 이러면 거의다 끝난듯 싶네요..
이거 말고 다른 문제점은 예를들어
부팅시에
Kernel Panic : VFS~~~~
이런것은 커넘 컴파일 에러나(특히 File Systemd에서 EXT3사용하시는데
ext3옵션을 안주셧거나 이런거..) /etc/fstab를 잘못 설정 하셔서 입니다.
/dev/hda1 /boot ext2 noauto,noatime 1 2
/dev/hda3 / ext3 noatime 0 1
/dev/hda2 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
그 샘플로 되어있는 파티션 보고 설정한 겁니다..^^
어떤분들은 여기고 hd0,7 이렇게..-_+ 하셔서..
이거 외에 다른 문제는 Gentoo Linux문제기 보단..^^그냥 일반적인 리눅스
문제일듯..^^..(정말 많이 삽질했죠..^^...실은 컴두대에 이것저것
다해보며 깔았답니다..)..
여담이지만 kde설치할때 시간정말 오래 걸립니다..^^
8시간 제 노트북이 p3-800,256램인데..정확하게 8시간 42분 걸렸습니다..-_+
인스톨 문서에는 낮잠자라는데 낮잠가지고 안됩니다..-_+..
ports시스템이 약간 시간이 오래 걸리는게 문제지만..
(..머 어차피 다운로드+커널컴파일 시간..인데 다운로드 속도가약간 느리죠..
..^^..한 50kb정도..^^..가끔 200도 나오더군요..^^.)
rpm패키지를 주로 사용하시는 분이라면 조금 오래 걸리죠..^^
하지만 정말 편합니다..^^
다운 로드 사이트 뒤질 필요도 없고 이름만 쓰면 자동으로 최신버전으로
설치해주고..정말 좋습니다.
암튼 Gentoo Linux써보시면 아시겠지만 정말 진보된 리눅스 라는것이라는
것을 느낄것십니다. 저도 머 오래 되진 않았지만..정말 맘메 듭니다.
(..단점은 역시..-_+..설치 어려움과..한글 문제..
..저도 현재 ami와 hanterm에서 방황하고 있습니다..
..완벽하게 해결되면 이겄도 올리겠습니다..
..그리고 Gentoo Linux모임 같은거 만들고 싶은데..누구 만드실분 없는지..^^
..개인적으로 Gentoo Linux를 서버로 해서 돌리고 싶지만 여건이 안되서
요..^^
Gentoo Linux + ZOPE 하면 파이썬 리눅스 웹서버 -_+....)..
궁금하신거 있으시면 opensource at orgio.net로 연락주세요..^^
[출처] 젠투리눅스 설치 방법|작성자 이경민
http://blog.naver.com/joldan23?Redirect=Log&logNo=140003340217
22
Gentoo Linux 설치문서
Gentoo Version : 2004.0Hardware 사양 1. CPU : Intel Pentium 4 2.4C 2. RAM : 삼성 PC3200 256MB X 2 3. MainBoard : Gigabyte 8IPE1000 PRO 4. Graphic Card : ATi Radeon 9600 PRO 유니텍 5. SoundCard : Onboard 6. LanCard : OnboardNetwork : 한국통신 VDSL Premium
설치시 참고한 문서1. 지나가던 곰님의 Gentoo Linux 설치문서(http://www.gentoo.or.kr/wiki/moin.cgi/Install_25by_25neoesraph)2. mizikn님의 Gentoo Linux 설치문서(http://wiki.kldp.org/wiki.php/GentooInstall)3. Gentoo 1.4 설치문서 번역(http://www.gentoo.or.kr/wiki/moin.cgi/1_2e4_bc_b3_c4_a1_b9_ae_bc_ad_b9_f8_bf_aa)4. Gentoo 1.2 설치문서 번역(http://www.gentoo.or.kr/docs/build-ko.html)5. Gnome Install Guide(http://www.gentoo.or.kr/wiki/moin.cgi/GnomeInstallGuide)
\ Gentoo CD 받기1. 2004.1(2004년 6월 8일 현재 최신버젼)http://ftp.gentoo.or.kr/releases/x86/2004.1/livecd/install-x86-minimal-2004.1.iso (87M)http://ftp.gentoo.or.kr/releases/x86/2004.1/livecd/install-x86-universal-2004.1.iso (674M)
2. 2004.0http://ftp.gentoo.or.kr/releases/x86/2004.0/livecd/universal/install-x86-minimal-2004.0.iso (87M) http://ftp.gentoo.or.kr/releases/x86/2004.0/livecd/universal/install-x86-universal-2004.0.iso (674M)
※저는 2004.0 미니시디를 받았습니다. 2004.1로 설치를 하려고 했으나 2004.1시디로는제 컴퓨터에서 네트워크가 안잡혀서 어쩔수 없이 2004.0 미니시디를 받았습니다. Stage1으로 설치하려고 하기 때문에 미니시디를 받은것입니다.
시디이미지를 받았으면 공시디에 굽습니다. 구운다음 시디로 부팅을 합니다.
\ Gentoo 설치시디를 집어넣고 부팅하면
boot:
라는 화면이 나타납니다.그냥 엔터를 눌러줍니다.부팅이 끝나면
livecd root#
이 화면이 나타나게 될것입니다.이제부터 Gentoo Linux의 설치 시작입니다.
1. 네트워크 설정
젠투리눅스는 emerge를 사용해서 패키지대부분을 웹에서 받아서 설치를 하게 됩니다.우선 네트워크를 잡아줍니다.
linvecd root#net-setup eth0
라고 치면 화면이 바뀌면서
0 USE DHCP to auto-detcet my network settings1 Specify an IP address manually
선택하는 화면이 나올 것입니다.저는 VDSL사용자이기 때문에 0번을 선택하였습니다.
네트워크가 제대로 잡혔는지 알아보려면
linvecd root#ifconfig
을 해줍니다.그러면 화면에
eth0 ~~~~~~~~~~~~~~~~~~~~(내용생략 ㅡ.ㅡ;; 너무 많아서)
lo ~~~~~~~~~~~~~~~~~~~~(내용생략 ㅡ.ㅡ;; 이것도 역시 너무 많아서)
하고 나올것입니다.(제가 지금 이문서를 윈도우에서 작성하다보니 정확히 알아볼 방도가 없기에 대충 적어놓겠습니다. 나중에 자세하게 채워넣도록 하겠습니다.)
좀더 확실하게 알아보는 방법은
livecd root#ping -c 3 www.google.com
해서
PING www.google.akadns.net (216.239.53.99) 56(84) byte of data64byte from 216.239.53.99 : icmp_seq=1 ttl=243 times=125ms64byte from 216.239.53.99 : icmp_seq=2 ttl=243 times=123ms64byte from 216.239.53.99 : icmp_seq=2 ttl=243 times=123ms
---www.google.akadns.net ping statistics ---3 packets transmitted, 3 recived, 0% packets loss, time 2018 msrtt min/avg/max/mdev = 127.741/125.195/125.714/0.399 ms
이런 결과가 나오게되면 네트워크가 제대로 잡힌겁니다.
2. 파티션 설정
젠투리눅스는 레드햇리눅스에서 제공하는 그래픽파티션툴인 diskdruid가 아닌 순수텍스트파티션툴인 fdisk를 사용합니다.리눅스를 처음 설치하시는분은 파티션에 관해 kldp같은곳에서 알아보시고 하시는게실수를 방지할수 있을것입니다.파티션 설정을 위해 fdisk를 실행합니다.
livecd root#/sbin/fdisk /dev/hda
를 입력하게 되면 다음과 같은 상태가 됩니다.
Command (m for help) :
이상태에서 필요한 명령어를 입력해서 자신의 하드에 젠투리눅스를 설치할 파티션을 생성해 주는 것입니다.
fdisk에서 주로 사용하는 명령어를 살펴보겠습니다.(주로라지만 이것밖에는 사용할일이 없을 것입니다. 제경험상 다른 명령어는 사용한적이 없기 때문에 ^^:;;)
p - HDD의 파티션 상황을 보여줌n - 새로운 파티션을 생성함d - 기존의 파티션을 삭제함t - 파티션의 system id 설정w - 저장하고 fdisk 끝내기q - 저장하지 않고 fdisk 끝내기
우선 p를 입력해서 파티션 상황을 살펴봅니다.
DeviceBootStartEndBlockIdSystem
/dev/hda1*17305863693+bW95 FAT32Windows Me 파티션/dev/hda2
73114591111338484+fW95 Ext'd(LBA)Windows 확장파티션/dev/hda5
731268815727633+7HPFS/NTFSWindows XP 파티션/dev/hda6
268933415245191bW95 FAT32Me 데이터 파티션
제 HDD파티션 상황입니다.120기가중에서 6기가를 Windows Me, 15기가를 Windows XP, 5기가를 Windows Me 데이터 파티션으로 할당해줬습니다.나머지 파티션에다가 젠투를 설치하고나서 남은 파티션을 XP 데이터 파티션으로 만들었습니다.
젠투설치를 위한 파티션을 생성합니다.먼저 Swap파티션
Command (m for help) : n
Command action l logical (5 or over) p primary partition (1-4)
여기서 l 을 선택해줍니다.
First Cylinder (3342-14591, default 3342):
나오면 디폴트값으로 적용 그냥 엔터를 누르시면 됩니다.
Last Cylinder or +sizeM or +sizeK (3342-14591, default 14591):
여기서는 자신이 생성하고자 하는 용량만큼 적어줍니다.저는 스왑파티션을 1기가로 잡았기에
Last Cylinder or +sizeM or +sizeK (3342-14591, default 14591):+1024M라고 입력했습니다.M가로 입력하는게 생성하는데 편합니다.
잘 생성이 되었나 p명령어를 이용하여 확인 해봅니다.
Command (m for help) : p
DeviceBootStartEndBlockIdSystem
/dev/hda1*17305863693+bW95 FAT32Windows Me 파티션/dev/hda2
73114591111338484+fW95 Ext'd(LBA)Windows 확장파티션/dev/hda5
731268815727633+7HPFS/NTFSWindows XP 파티션/dev/hda6
268933415245191bW95 FAT32Me 데이터 파티션/dev/hda7
33423466100403183LinuxLinux swap파티션
스왑파티션이 생성 되었습니다.다음은 boot파티션과 /(root)파티션을 위의 방법과 같은 방법으로 생성합니다.저는 boot파티션은 100M, /(root)파티션은 15GB로 잡았습니다.원래 boot파티션을 256M로 잡을려고 생각했었는데 100M만으로도 충분하다는 지나가는곰님의 문서를 보고 100M가로 잡았습니다.
파티션을 다 생성했으면 이제 스왑파티션의 ID를 변경해주어야합니다.제가 설치문서를 보면서 분면히 설치문서에는 스왑파티션이 82로 나오는데 저는 아무리 생성을 해도 83으로 나오길래 뭘 잘못했길래 설치문서랑 다르지하고 생각하다가 fdisk명령어를 살펴보다 우연히 t 명령어를 알게되었습니다.
Command (m for help) : t
Partition number (1-7) : 7 (자신의 파티션중 스왑파티션으로 쓸 파티션의 번호입력) Hex code (type L to list codes) : 82 (Swap ID)
해주고나서 p명령어를 이용하여 파티션 상황을 보면
DeviceBootStartEndBlockIdSystem
/dev/hda1*17305863693+bW95 FAT32Windows Me 파티션/dev/hda2
73114591111338484+fW95 Ext'd(LBA)Windows 확장파티션/dev/hda5
731268815727633+7HPFS/NTFSWindows XP 파티션/dev/hda6
268933415245191bW95 FAT32Me 데이터 파티션/dev/hda7
33423466100403182LinuxLinux swap파티션
/dev/hda7의 ID가 83에서 82로 변경되어 있을 것입니다.
제 리눅스 파티션은/dev/hda7 (swap) 1024M/dev/hda8 (boot) 100M/dev/hda9 (root) 15000M입니다.
이제 파티션을 포맷해줍니다.저는 boot파티션은 ext3로, root파티션은 xfs로 생성했습니다.
livecd root#mke2fs -j /dev/hda8livecd root#mkfs.xfs -f /dev/hda9livecd root#mkswap /dev/hda7livecd root#swapon /dev/hda7
※파일 시스템의 종류(지나가는 곰님의 설치문서 참고)ext2/ext3 : 전통적인 리눅스 파일시스템으로 많이 사용된다. ext3는 ext2에서 저널링이 포함되었다. 이 파티션 타입은 /boot 같은 곳에나 쓰시고 다른데에는 쓰시지 않는게 좋습니다. 실제로 Disk I/O를 모니터링 해보면 하는 일 없이 상대적으로 아주 많은 I/O를 소모하는 파일시스템입니다. ext3는 최악입니다. 저널링이 필요하시다면 XFS 혹은 Reiserfs를 쓰시기 바랍니다.
XFS : 메타데이터 저널링 지원, 요즘에 많이 쓴다더군요. 실리콘 그래픽스사에서 공개한 파일 시스템인데 현재 리눅스에서 쓸 수 있는 파일 시스템 중에서 가장 스케일이 큰 파일시스템입니다. "Think Big"이 XFS의 개발 모토이며 상대적으로 다른 파일 시스템보다 시스템 부하가 약간 큽니다
ReiserFS : 트리기반구조를 한 파일스템 용량이 적고 , 큰 파일에 유리 특정 작업에서 매우 빠름 - 반대로 적어놓으셨군요. ReiserFS는 벤치마크를 해보시면 아시겠지만 작은 파일에 아주 강합니다. 약 4Kb 파일을 죽어라 만들고 다 지우는 스크립트를 돌려 보십시오. 다른 파일 시스템과는 비교가 안될만큼 빠릅니다. 하지만, 큰 파일은 역시 XFS입니다.
JFD : IBM에서 새로 출시한 파일 시스템 -몇몇분은 매우 안정적이다고 하시는군요. 매우 안정적이긴 하지만 IBM답게 아주 user-friendly하곤 담쌓은 파일시스템입니다. 벤치마크를 해봐도 XFS의 장점에 못미치고 ReiserFS의 아기자기한 맛은 온데 간데 없는 어정쩡한 파일시스템이 아닌가 하는 사견입니다
특성이 이렇다는군요그런데 다른 문서에서 보니 여기 설명된것과는 좀 상이하게 소개가 되어있어서 어떤 파일시스템을 선택할지 고민이 많이 되었었습니다.그래서 저같은 경우는 저 파일 시스템중에서 맘에 드는걸 골라서 적용했습니다.boot는 ext3, root는 xfs로 선택해서 사용중인데 아무 이상없이 잘 작동하고 있습니다.어떤 파일 시스템을 선택하실지는 전적으로 설치하고자 하시는 분 마음이시니깐요 ^^;;
3. 설치를 위한 파티션 마운트
설치를 위해서 HDD의 파티션으로 마운트를 합니다.
livecd root#mount /dev/hda9 /mnt/gentoolivecd root#mkdir /mnt/gentoo/bootlivecd root#mount /dev/hda8 /mnt/gentoo/bootlivecd root#cd /mnt/gentoolivecd getnoo#
4. Stage파일 받기
만일 라이브시디를 받지않고 600M짜리 이미지를 받으신분은 시디에서 stage파일을 복사해오면 됩니다.저는 미니시디를 받았기에 웹에서 다운받아야합니다.
livecd gentoo#wget http://ftp.gentoo.or.kr/releases/x86/2004.0/stages/x86/stage1-x86-20040218.tar.bz2
입력해주시면 stage1파일을 다운받기 시작합니다.
stage파일의 압축을 풀어줍니다.
livecd gentoo#tar -xvjf stage1-x86-20040218.tar.bz2
하게 되면 압축이 풀어지게 됩니다.
※ 리눅스에서는 파일명이 길기 때문에 일일이 다 입력해주기보다는 Tab키를 이용해줍니다. Tab키는 파일이름이나 폴더명을 자동으로 완성해주기 때문에 유용하게 사용되니 알아두세요^^;;
stage파일을 풀어줬으니 proc를 사용할수 있도록 proc를 mount합니다.
livecd gentoo#mount -t proc proc /mnt/gentoo/proc
저는 왜 이걸 하는지 모릅니다. mizikn님의 문서에 하라고 되어있길래 한것이니 질문은 사양해주세요 ^^;;
5. Mirror설정
젠투는 대부분의 모든 패키지를 네트워크에서 받아 설치한다고 앞에서 언급했었죠.그 패키지를 받기위한 미러서버를 설정해주는것입니다.우리나라에도 젠투미러서버가 있는데 속도가 아주 좋습니다.한국 젠투미러만 설정해도 되지만 가끔씩 한국미러가 먹통이 되는 경우가 있더군요그래서 저는 한국미러랑 일본에 있는 미러를 설정해 줬습니다.
livecd gentoo#mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
미러목록이 나오면 한국미러인 ftp.gentoo.or.kr (kor)를 선택해줍니다.안심이 안되신다면 일본미러도 몇 개 선택해줘도 됩니다.
만일 한국미러외에 다른 미러도 선택하셨다면 make.conf파일을 수정해줘서 속도빠른 한국미러가 제일 앞으로오도록 수정해줍니다.
livecd gentoo#nano /mnt/gentoo/etc/make.conf
GENTOO_MIRROR 항목에서 한국미러를 가장 앞으로 오게 고쳐주고 Ctrl+X키를 눌러 저장해주고 빠져나옵니다.
만일 미러서버를 선택하는게 안나온다면 네트워크 설정이 잘못된것이므로 다시 네트워크를 잡아줍니다.
livecd gentoo#net-setup eth0
이제 본격적인 설치를 위한 준비가 끝났습니다.
6. 설치시작1
이제 본격적으로 설치를 시작합니다.
livecd gentoo#cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
해서 resolv.conf파일을 HDD로 복사해줍니다.
livecd gentoo#chroot /mnt/gentoolivecd /#
이건 chroot로 해서 가상HDD에서 자신의 HDD로 들어온것입니다.(이건 제 추측으로 생각한건데 맞는지는 잘 모르겠군요)
livecd /#env-update
>>>>Regenerating /etc/ld.so.cache........
livecd /#source /etc/profilelivecd /#
7. 설치시작2-Portage받기
livecd /#emerge sync
저는 Portage를 받아오는 이과정에서 약 30여분이 걸렸습니다.
8. 시스템 최적화 설정
make.conf파일을 수정해서 최적화를 해줍니다.
livecd /#nano /etc/make.conf
CFLAGS="~~~~~~~~~~~~~~~~(내용생략)"
이부분을
CFLAGS="-03 -march=i686 -mcpu=pentium4 -fomit-frame-pointer -mmmx -msse2 -msse -pipe"
로 수정해줍니다.그리고 역시
CHOST="~~~~~~~(내용생략)“
이부분도
CHOST="i686-pc-linux-gnu"
로 수정해준다음 저장하고 빠져나옵니다.이 최적화 부분은 지나가는곰님의 문서에서 펜티엄4에 최적화된 설정이라 하기에 저렇게 설정을 해주었습니다.저 설정의 내용에 대해 좀더 알고 싶다면 지나가는 곰님의 설치문서를 참고하세요 ^^;;
9. BootStrap
이 bootstrap은 자신의 시스템에 맞게 gcc,gliblc등을 설치하는 과정이라고 합니다.앞에서 했던 emerge sync작업은 이 bootsrap과정을 위한 준비였다는군요
livecd /#cd /usr/portagelivecd portage/#scrips/bootstrap.sh
하면 설치가 시작됩니다.이 과정은 시간이 꽤 오래 걸립니다.지나가던 곰님과 mizikn님은 이과정에서 3~4시간정도 걸렸다고 합니다.저는 약 1시간 50분정도 걸리더군요젠투설치에서 가장중요한것은 컴퓨터 성능보다는 네트워크상태가 가장 큰 영향을 주는거 같더군요여러번 젠투설치를 했을때 가끔 한국미러가 죽어서 일본미러에서 받는데 그때는 거의 3시간에 가까이 걸리는걸 보니 확실한듯 합니다.
10. System설치
설치에 필요한 각종 툴을 자신의 환경에 알맞게 설치해주는 과정입니다.
livecd portage/#emerge system
이 과정역시 시간이 오래 걸린다고 합니다.무려 12시간걸리는 경우도 있다고 하더군요저같은 경우는 1시간정도 걸렸습니다.※ bootstrap과 system설치를 한꺼번에 하는것도 가능합니다.
livecd portage#scripts/bootstrap.sh ; emerge system
하면 bootstrap과 system설치를 한꺼번에 설치를 하게됩니다.저는 저렇게 하다가 system파일이 설치가 되었는지 확신을 할 수 있는 방법이 없어서 언제나 따로 설치를 해주었습니다.그러다가 어느분의 질문 답변에
livecd portage#emerge -pv system
Calculating system depencies......................done!
이란 메시지가 나오게 되면 system설치가 완료된것이라고 합니다.참고하세요 ^^;;
11. 시간설정
시스템의 시간을 설정해줍니다.
livecd portage#ln -sf /usr/share/zoneifo/Asia/Seoul /etc/localtime
12. fstab설정
livecd portage#nano /etc/fstab
에서 수정할 부분은
#
/dev/BOOT /boot ext2 noauto,noatime 1 1/dev/ROOT / xfs noauto,noatime/dev/SWAP none swap sw
이부분을 자신의 환경에 맞게 수정해 줍니다.
#
/dev/hda8 /boot ext2 noatime 1 1/dev/hda9 / xfs noatime/dev/hda7 none swap sw
저는 위와 같이 수정을 해주었습니다.저 밑에 있는 부분은 잘 아시는 분이 아닌 한 손대지 마시기를 손댔다가 무슨일 생기면 책임 못짐^^;;
13. Kernel설치
자 이제 리눅스의 핵심이라고 할수 있는 커널설치입니다.제가 이 문서를 작성하고 있는 현제 최신 커널버젼은 2.6.6입니다.
livecd portage#cd /usr/srclivecd src#emerge module-init-tools
이건 커널버젼이 2.6이상일때 설치해줍니다.설치안해주면 커널 설치때 에러메세지를 토하더군요 ^^;;이제 커널을 받습니다.
livecd src#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
커널 압축을 풉니다.
livecd src#tar -xvjf linux-2.6.6.tar.bz2
압축이 다 풀리면 linux-2.6.6폴더가 생성됩니다.
livecd src#cd linux-2.6.6livecd linux-2.6.6#
우선 커널설치를 하기전에 커널소스를 편집해줍니다.커널 2.6버젼으로 와서부터는 키보드의 한/영키랑 한자키가 안먹는다는군요그렇기에 커널소스를 편집해서 한영키를 사용가능하게 수정해줍니다.한영키를 사용하기위해 수정해줘야할 소스파일은 2가지입니다.
linux-2.6.6/drivers/input/input.c에서
case EV_KEY: if (code > KEY_MAX !test_bit(code, dev->keybit) !!test_bit(code, dev->key) == value) return;
if (code > KEY_MAX !test_bit(code, dev->keybit) !!test_bit(code, dev->key) == value) return; if (value == 2)
break;
을
case EV_KEY: if (code > KEY_MAX !test_bit(code, dev->keybit) !!test_bit(code, dev->key) == value) return;
if (code != KEY_HANGUEL && code != KEY_HANJA)
{
if (code > KEY_MAX !test_bit(code, dev->keybit) !!test_bit(code, dev->key) == value) return;
} if (value == 2)
break;
로 수정을 해줍니다.
linux-2.6.6/drivers/input/keyboard/atkbd.c :
137번째 라인에
#define ATKBD_RET_HANGUEL 0xf1#define ATKBD_RET_HANJA 0xf2
이부분을
#define ATKBD_RET_HANGUEL 0xf2#define ATKBD_RET_HANJA 0xf1수정한다음 저장하고 빠져나옵니다.
livecd linux-2.6.6#make mrproperlivecd linux-2.6.6#make menuconfig
여기서 커널 옵션설정하는 화면으로 넘어가게 됩니다.
Linux Kernel v2.6.0-test11 Configuration
???????????????????????? Linux Kernel Configuration ? Arrow keys navigate the menu. selects submenus --->. ? Highlighted letters are hotkeys. Pressing includes, excludes, ? modularizes features. Press to exit, for Help. ? Legend: [*] built-in [ ] excluded module < > module capable +?????????????????????????????????????????????????????????????????????????????? ? ? Code maturity level options ---> ? ? General setup ---> ? ? Loadable module support ---> ? ? Processor type and features ---> ? ? Power management options (ACPI, APM) ---> ? ? Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> ? ? Executable file formats ---> ? ? Device Drivers ---> ? ? File systems ---> ? ? Profiling support ---> ? ? Kernel hacking ---> ? ?????????v(+) +???????????????????????????????????????????????????????????????????????????????? kom@mirage > /etc/localname 으로 입력했습니다. ^^;;
19. 네트워크 세부설정
설치 후 부팅시 사용할 네트워크 설정입니다.
livecd /#nano /etc/conf.d/net
저는 VDSL사용자이기 때문에 dhcp에 관한 부분을 주석을 해제 시켜주었습니다.
livecd /#rc-update add net.eth0 default
livecd /#nano /etc/modules.autoload.d/kernel-2.6
맨 아랫부분에 네트워크 카드 모듈명을 적어줍니다.저는 인텔칩셋렌카드라서 e100.o가 모듈명입니다.그렇기에
e100
이렇게 추가 시켜주었습니다.그런데 저는 커널 옵션설정시 모듈로 잡지않고 빌드해서 이과정은 저한테는 필요가 없는 과정이었습니다.
20. 부트로더 설치
부팅시 리눅스로 부팅하기 위해 필요한 부트로더를 설치합니다.저는 grub를설치하였습니다.
livecd /#emerge grublivecd /#gub
grub>root (hd0,7)grub>setup (hd0)grub>quit
grub설치가 끝났으니 이제 grub.conf파일을 만들어 줍니다.
livecd /#cd /boot/grublivecd grub#nano grub.conf
#Start Global Section default 0 timeout 30 splashimage=(hd0,7)/boot/grub/splash.xpm.gz
#Gentoo Linux Section title=Gentoo Linux (Kernel Version 2.6.6) root (hd0,8) kernel (hd0,7)/boot/bzImage-2.6.6 root=/dev/hda9 hdd=ide-scsi
#Windows Section title=Windows root (hd0,0) chainloader (hd0,0)+1
위와 같이 작성한다음 저장하고 빠져나옵니다.물론 저 설정은 제것에 맞춰놓은것이기 때문에 자신의 파티션설정에 맞게 고쳐줘야합니다.^^;;
이부분은 좀 신경을 쓰셔서 작성을 하셔야 할것입니다.저는 이부분에서 철자하나 틀려서 부팅이 안되어버리는 사태가 발생했었습니다.긴급부팅을 할줄몰라 저는 처음부터 다시 설치하는 미련한 방법을 써서 해결을 했었죠지금은 그렇게 안하지만요 ^^;; 그때 생각하면 역시나 무식이 죄더군요 ㅠ.ㅠ그러니 철자하나하나에 신경써서 타이핑하시기를.........
livecd grub#emerge xfsprogs
xfs파티션을 사용했기에 이걸 설치했다고 지나가던곰님이 그러시길래 저도 xfs파티션을 쓴지라설치했습니다.이제 부트로더가 제대로 설치되었나 확인을 해볼 차례입니다.
livecd grub#etc-updatelivecd grub#exitlivecd gentoo#reboot
이제 시스템이 재부팅이 됩니다.시디롬에서 젠투시디를 제거하고 부팅이 되는지 학인해보시기를 ^^;;
21. Gnome설치
그래픽 환경을 위해 Gnome을 설치합니다.먼저 설치전에 make.conf파일을 수정합니다.
root#nano /etc/make.conf
USE="X gtk2 gnome -kde -mozilla -kde -qt -arts -3dnow"
로 수정해주고그밑줄에다가 다음 코드를 추가해줍니다.
ACCEPT_KEYWORDS="~x86"
이제 저장하고 빠져나옵니다.-kde -mozilla -kde -qt -arts -3dnow 이 옵션은 이프로그램을 설치하지 않겠다는 뜻이랍니다.
이제 Gnome을 설치합니다.
root#cd /usr/portage/gnome-base/gnome
에서 최신버젼으로 설치합니다.
root#emerge gnome-X.X.X.ebuild
하거나
root#emerge gnome
해줘도 설치가 됩니다.gnome설치 정말 오래걸리니 맘 단단히 먹고 시작하시기를 ^^;;저는 gnome설치하는데 약 4시간정도 걸렸습니다.설치가 진행되는 동안 모니터만 끄시고 느긋하게 책을 보신다든가 TV를 보신다던가 하세요 ^^;;
gnome설치가 끝난후 xscreensaver를 설치합니다.이걸 설치안하면 gnome으로로그인시 에러가 납니다. 에러 나도 그냥 무시해도 별상관은 없지만 그래도 찜찜하니깐요 ^^;;xscreensaver설치전에 로케일설정을 먼저하게되면 설치시 의존성에러나게 됩니다.주의!!
root#emerge xscreensaver
이제 그놈으로 실행되기위한 설정을 잡아줍니다.
root#nano /etc/rc.conf
DISPLAYMANAGER="gdm" XESSION="Gnome"
으로 수정해줍니다.물론 주석도 해제시켜주셔야 겠죠.
root#rc-update add xdm default
그놈을 사용하기 위한 세부설정입니다.
root#/usr/X11R6/bin/XFree86 -scanpciroot#/usr/X11R6/bin/XFree86 -configureroot#cp /root/XF86Config.new /etc/X11/XF86Config
그놈에서 한글을 사용하기 위한설정입니다.저는 그놈에서 윈도우 글꼴을 사용하기위해 윈도우 폰트를 폴더를 생성해서 받았습니다.
root#mkdir mydataroot#mkdir /mydata/systemroot#mkdir /mydata/system/fontsroot#mkdir /mydata/system/fonts/gulimroot#mkdir /mydata/system/fonts/batang
각 gulim폴더에다가는 gulim.ttc를 batang폴더에는 batang.ttc를 넣어놨습니다윈도우 폰트가 없으신분들을 위해 웹주소를 알려드리겠습니다.(물론 받는것은 wget으로)
http://home.megapass.co.kr/~khmirage/font/batang.ttchttp://home.megapass.co.kr/~khmirage/font/gulim.ttc
받아서 각각의 폴더에 넣어놓습니다.위에서 생성된 설정파일인 XF86Config파일을 수정합니다.
root#nano /etc/X11/XF86Config
FontPath부분에 윈도우 폰트폴더의 경로를 추가시켜줍니다.
FontPath "/mydata/system/fonts/gulim/"FontPath "/mydata/system/fonts/batang/"FontPath "/usr/X11R6/lib/X11/fonts/baekmuk"
Load부분을 수정합니다.
Load "Freetype"
을 주석처리하고 없으면 그냥 넘어갑니다.
Load "xtt"
를 새로이 추가시켜줍니다.baekmuk은 한텀을 설치하게되면 같이 추가되는 폰트입니다.
Section "Monitor" VendorName 부분에 Monitor Vendor라는 말이 나오면 모니터가 잡히지 않은것이기 때문에 모니터 수직/수평 주파수를 직접 추가해줍니다.
HorizSync 30.0 - 60.0VertRefresh 50.0 - 90.0
저는 삼성 17GLSi기종이라
HorizSync 24.0 - 85.0VertRefresh 50.0 - 120.0
으로 입력했습니다.
마우스 셋팅을 고쳐줍니다.
Option "Protocol" "IMPS/2"Option "Device" "/dev/input/mice"Option "ZAxisMapping" "4 5" //휠마우스 사용위해
해상도를 설정합니다.
Default Depth 24
밑부분에
Modes "1280x1024"
를 추가해줍니다. 해상도는 자기가 원하는 해상도를 여러 가지 추가시켜줄수 있습니다.“1280x1024" "1152x864"......
저장하고 빠져나옵니다.
root#nano /etc/fonts/fonts.conf
~~~~~~~~~~ 부분에 위에 생성해준 윈도우 폰트디렉토리 경로를 추가시켜줍니다.
/mydata/system/fonts/gulim /mydata/system/fonts/batang /usr/X11R6/lib/X11/fonts/baekmuk
GulimChe DotumChe BatangChe GungsuhChe false 0
를 비슷한 문장이 있는곳에 추가 시켜 줍니다.저장하고 빠져나옵니다.
root#nano /etc/fonts/local.conf
와 사이에 다음을 추가 시켜줍니다. 11 false
8 true
이것은 11포인트 이하의 글꼴에서는 안티알리아스를 끄고 8포인트이하에서는 힌팅을 주라는 내용입니다.
root#nano /etc/X11/fs/config
윈도우 폰트경로를 넣어줍니다.
/mydata/system/fonts/gulim/mydata/system/fonts/batang/usr/X11R6/lib/X11/fonts/baekmuk
GTK1을 위한 글꼴적용
root#nano /etc/gtk/gtkrc.ko
-*gulim-~~~~~~~~~~~~~~~~~~~~~ 를-*Gulim~~~~~~~~~~~~~~~~~~~~~ 으로 수정해줍니다.
이제 변경된 설정내용을저장하고 실행시킵니다.
root#/etc/init.d/xfs startroot#rc-update add xfs default
※gulim폴더에 새로이 생성된 fonts.dir과 fonts.cache-1파일을 삭제하고 gulime폴더안에 root#wget http://redhat.okwecan.om/pds/linux/koreans/gulim/fonts.dir 을 받아 위치시킨다.
22. Nabi설치
Gnome에서 한글 입력을 위해 나비를 설치합니다.
root#emerge nabi
나비를 그놈에서 사용하기위해서는 몇가지파일을 수정해주어야 합니다.
root#nano /etc/env.d/00basic
XMODIFIERS="@im=nabi"XIM_PROGRAM="/usr/bin/nabi"LANG="ko_KR.euckr"LC_ALL="ko_KR.eucKR"SUPPORTED="ko_KR.eucKR:ko_KR:ko"SYSFONT="lat0-sun16"SYSFONTACM="iso01"GDK_USE_XFT="1"G_BROKEN_FILENAMES="1"nabi &gnome-session
저장후 종료
root#env-update
로케일 설정을 위해 /etc/profile을 수정해준다
root#nano /etc/profile
export LC_LANG=ko_KR.eucKRexport LC_ALL=ko_KR.eucKR
을 추가해준다.이제 재부팅을 하게되면 그놈이 나타나게 될것입니다. ^^;;로그인을 해서 추가 유틸을 설치해주도록 합니다.
23. 추가 유틸 설치
\ ALSA설치 root#emrege alsa-ossroot#emerge alsa-utils
alsa를 위한 설정
root#nano /etc/modules.d/alsa
#ALSA portion alias char-major-116 snd option snd snd_major=116 snd_cards_limit=1 #OSS/Free portion alias char-major-14 soundcore
##ALSA portion alias snd-card-0 snd-intel8x0 (intel8x0은 제 사운드 모듈입니다.) ##OSS/Free portion alias sound-slot-0 snd-card-0 post-install snd-intel8x0 /sbin/modprobe snd-pcm-oss post-install snd-intel8x0 /sbin/modprobe snd-mixer-oss post-install snd-intel8x0 /sbin/modprobe snd-seq-oss
을 각 부분에서 없는 사항을 추가 시켜 줍니다.
root#modules-updateroot#rc-update add alsasound boot (default가 아니라 boot입니다. 주의주의~~~!!!!)root#/etc/init.d/alsasound start
\ 기타 유틸 설치
root#emerge gentoolkit (뭣에 쓴느지 모름)root#emerge nmap (당연히 이것도 모름 포트 스캔이라고 함)root#emerge valgrind (Memory leak을 검사해주는 유틸이라하지만 당연히 모름)root#emerge rpm (레드햇의 rpm중에서 rpm.src를 설치할수 있게 해주는 것)root#emerge unzip (말그대로 zip파일 푸는것)root#emerge vim (vi의 확장판이라고 하나? 하여튼 vim설치)root#emerge cvs (프로그래머에게 필요한거라는데 저는 프로그래머를 자망하면서도 이게먼지 모름)root#emerge unrar (rar푸는거)root#emerge telnet-bsd (설치는 했으나 과연 쓸일이 있을지)root#emerge ltrace (Library추적툴)root#emerge strace (시스템콜/시그널 추적 툴)root#emerge upx (실행압축기라고 함)root#emerge xchat (irc채팅 프로그램 설정법은 뒤에 이어서 ^^;;)root#emerge mozila-firefox (웹브라우져 설치된 버전은 영문버젼이므로 한글패치적용시키는법은 뒤에)root#emerge beep-media-player (XMMS를 대체하는 음악파일 재생프로그램)root#emerge xmms (한글 설정을 위한 내용은 뒤에 이어서:워낙에 유명한 음악 재생프로그램 저는 bmp와 이 거 둘다 설치했습니다.^^;)root#emerge libtermcap-compat (한텀설치하기위해 먼저 설치 뭔지는 잘 모름 역시나ㅡ.ㅡ;;)root#emerge hanterm (요즘은 그놈기본터미날에 밀려나는 느낌이지만 그래도 한글터미널입니다.)root#emerge gimp (포토샵같은 그래픽 편집 툴)root#emerge gdesklets-core (자신의 시스템에 관련된 상황을 실시간으로 보여주는 액서서리입니다.) (이프로그램의 설명역시 뒤에 다시 추가하겠습니다.)root#emerge mplayer (리눅스에서 대표적인 동영상재생프로그램입니다. 이 프로그램또한 한글설정같은것 뒤에 설명하겠습니다. ^^;;)root#emerge pan (뉴스리더프로그램)root#emerge anjuta (리눅스에서의 프로그래밍 IDE 툴입니다. 한글입력을 위한 패치설치도 뒤에서)root#emerge dev-java/sun-j2sdk (자바설치 저는 emerge보다는 sun에서 직접받아 설치했습니다.이것도 뒤에 설명 하겠습니다.)
이렇듯 젠투에서는 거의 모든 프로그램을 emerge라는 명령어를 사용해서 설치합니다.매우 편하죠 ^^;;현재 페도라랑 젠투 둘을 같이 사용중인데 emerge가 너무편해서 페도라쪽은 거의 사용을 안하고 있죠 쩝
\ gDesklets 설치
위에서 gdesklets-core를 설치했으면 나머지 추가 파일도 설치를 진행합니다.
root#cd /usr/portage/x11-plugins/x11-plugins#ls
하게되면 desklets-xx였나 이런 형식의 파일명이 여러개 있을것입니다.emerge로 전부 설치해줍니다.
root#emerge desklets-cpuinfo
실행하는 방법은 그놈세션에 /usr/bin/gdesklets를 등록합니다.등록하는 방법은 그놈 시작메뉴에서 기본설정->고급->세션 실행한다음 시작프로그램탭에 경로를 찾아 등록해주면 됩 니다.이제 cpu정보를 정보를 보여주는 gdesklets를 실행시켜보겠습니다.
root#cd /usr/share/gdesklets/Display 디렉토리로 이동합니다.root#ls
하게 되면 desklets-xx에 관련된 항목들이 설치되어있는것들이 보여질것입니다.거기서 cpuinfo로 들어갑니다.
root#cd /usr/share/gdesklests/Display/cpuinfo/dark-thedark-the#gdesklets cpuinf.display
하시면 실행이 될것입니다.이동은 휠마우스를 가진분들은 휠버튼을 누르고 드래그하시면 원하는 위치로 이동시키실수 있습니다.이런식으로 원하시는 gdesklets를 실행시켜보세요자신만의 멋진 데스크탑을 꾸미는 멋진 악세사리가 될수 있을 것입니다.
\ mozilla-firefox 한글패치파일 적용방법입니다.
우선 http://www.mozilla.or.kr 에서 한글 패치 파일을 받습니다.한글패치파일 경로는 http://kldp.net/download.php/997/langkokr-ff-0.8.xpi 입니다.파이어폭스를 실행시킵니다.File->open->All Files(*.*)을 선택->한글패치파일을 선택해주면 설치하겠냐는 창이 뜹니다.계속 확인을 누르면한글 패치가 적용될것입니다.다 설치가 되면 파이어폭스를 재 실행하라고 할 것입니다.파이어폭스를 종료한다음 터미널이나 실행창에서 다음 명령어를 쳐줍니다.
root#firefox -contentLocale ko-KR -UILocale KR
이렇게 입력하면 한글이 적용된 파이어폭스가 실행이 될것입니다.저 명령어는 한번만 실행하면 다음부터 실행되는 파이어폭스는 전부 한글이 적용이 될 것입니다.
\ mplayer 한글적용
한글화시키려면 파일을 수정해주어야 합니다.수정해줘야 할 파일의 위치는 /usr/portage/media-video/mplayer에서 최신의 ebuild파일을 편집해줍니다.
mplayer#vim mplayer-X.X.X.ebuild
살펴보시면 configure부분이 있을겁니다.그 부분에 --language=ko를 추가해주신다음 저장하고 나오시면 됩니다.
※vim기본 명령어를 모르시는 분들이 있을까바 잠깐 알려드리겠습니다. 화살표키로 입력원하는 부분으로 이동한다음 i 키를 누르시면 입력모드로 바뀌게 됩니다. 원하는 작업을 해주신뒤 Esc를 누르시면 입력모드에서 빠져나오게 됩니다. 저장하고 나오는 방법은 Shift+; 를 누르시면 커맨드 입력 모드로 전환됩니다. 그때 wq를 입력하시면 저장하고 빠져나오게 됩니다.
제 mplayer를 설치합니다.
player#USE="-svga" mplayer
해주시 면 문제 없이 설치가 될거에요 ^^;;
\ Ja va설치 java설치는 emerge로 포테이지에서 설치를 해도 되지만 약간 번거로운 절차가 있기 때문에http:// java.sun.com 에서 직접 파일을 받아서 설치하는것을 추천합니다.http://java.sun.com/j2se/1.4.2/download.html 여기서 self-extractin file(j2sdk-1_4_2_04-linux-i586.bin) 파일을 받으시면 됩니다. 파일을 받으셨으면 터미널을 실행시키고 파일을 받은 폴더로 이동합니다.
root#c d /mydata/downloaddownlo ad#chmod 700 j2sdk-1_4_2_04-linux-i586.bindownload#./j2sdk-1_4_2_04-linux-i586.bin 해주시 면 라이센스 문구가 나옵니다. 계속 엔터를 입력해주시면 라이센스에 동의하나 안하냐 고 묻습니다.y를 입 력해주시면 파일이 풀어지게 될것입니다.
downlo ad#ls 해주시면 j2sdk-1_4_2_04 폴더가 생성되어 있을 것입니다. 저는 타 이핑이 쉽도록 j2sdk-1_4_2_04를 java2-1.4로 바꿨습니다.이제 이 폴더를 노틸러스를 이용해 /usr/java/ 폴더로 이동시켜줍니다. 이제 패 스를 걸어줍니다.
ln -s / usr/java/java2-1.4/bin /root/binln -s / usr/java/java2-1.4/bin /etc/skel/bin
추가로 자신이 쓰는 일반 사용자 홈디렉토리의 bin으로도 링크시킵니다.제대로 패스가 잡혔는지 알려면
root#ja va -version
java v ersion "1.4.0"Java(T M) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)Java H otSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
라고 나 오면 정상입니다.
이제 한 글설정을 해보겠습니다.http:// home.megapass.co.kr/~khmirage/font/font.properties.ko을 받아 서 /usr/java/java2-1.4/jre/lib 폴더안에 저장합니다.백묵 굴 림 폰트를 /usr/java/java2-1.4/jre/lib/fonts 폴더에 복사해 줍니다./usr/ja va/java2-1.4/jre/lib/fonts/fonts.dir파일을 약간 편집합니다.그 파일 의 맨 첫부분을 72 에서 73 으로 고치고, 맨 마지막에 다음을 추가합니다.
gulim. ttf -misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
이렇게 하면 한글 설정은 끝나게 된것입니다.좀더 자 세한 내용은http:// www.gentoo.or.kr/wiki/moin.cgi/GulimBatangFonts4JDK여기게 가보시면 자바한글설정에 대해 자세히 나와있습니다.
이제 자 바 플러그인을 파이어폭스에 적용시켜보겠습니다. 메뉴의 Edit->Preferences->Navigator->Helper Applications 섹션에서;
Descri ption of type: Java Web StartFile ex tension: jnlpMIME type: application/x-java-jnlp-fileApplication to use: 여기는 위에서 만들어진 javaws디렉토리의 javaws라는 실행파일로 지정합니다. 지금 저 도 이 자바 플러그인설정부분은 해보지를 않아서 된다고 장담은 못해드리겠군요제가 해 보고 나중에 이문서를 추가 수정 보안하겠습니다.
\ 리 눅스에서 MSN메신져 사용하기 리눅스에서 MSN메신져를 사용하려면 gaim, kmess, jmsn같은 프로그램을 설치해야합니다.저는 j msn을 추천합니다. 이 프로그램은 파일전송까지 가능하기에
http:// jmsn.sourceforge.net/ 파일 다 운로드는http://sourceforge.net/project/showfiles.php?group_id=47932 여기서 하시면 됩니다.
에서 파 일을 받아서 압축을 풉니다.
실행은 java -jar jmsn.jar해주시 면 실행이 됩니다. ^^;;JMSN 을 실행하기 위해서는 JAVA가 설치되어 있어야만 합니다. 당연한소리인가 ^^;;
gaime 설치는 root#e merge gaim 해주시면 설치가 될것입니다.gaim은 대화입력시 마지막으로 입력한 글자가 입력이 안되기 때문에 좀 불편한점이 있죠
kmess는 설치하려면 qt라던가 불필요한것들을 많이 설치해야하기 때문에 KDE를 사용하는 분이 아니시라 면 추천 하지 않습니다.
\ X MMS설치및 설정 root#U SE="-cjk" emerge media-sound/xmms : XMMS설치root#emerge x11-themes/xmms-themes : XMMS 테마의 설치 한글 적 용은 환경설정에서 폰트변경을 적용해서 -ado be-helvetica-medium-r-normal-*-12-*-*-*-p-*-iso8859-1,-baekmuk-gulim- me dium-r-*-*-12-*-*-*-*-*- ksc5601.1987-*입력해 주면 백묵글꼴이 설치되어있는 이상 어느 시스템에서나 한글이 잘 보이게 될거라고 합니다.좀더 자 세한 내용은 여길 참고하세요http:// www.gentoo.or.kr/wiki/moin.cgi/XMMS (XMMS설정 관련 문서입니다.)
\ 프 로그래밍 툴 1) anj uta
설치법은 위에 언급한데로 emerge anjuta입니다. 그러나 한글 입력이 안되더군요 한글 입력을 하려면 패치를 설치해야 한다고 하는데 제가 아직 이 패치 적용법을 알아내지 못했습니다. 그래서 우선 저는 gedit로 한글을 입력한다음 그걸 복사해서 붙여넣는 방법으로 한글 입력을하고있습니다. ㅠ.ㅠ 누구 한글 패치 사용법 아시는분은 제 멜로좀 알려주세요 khmirage@naver.com입니다. 한글패 치파일은 http:/ /www.gentoo.org/cgi-bin/viewcvs.cgi/dev-util/anjuta/files/anjuta-1.2.0_xim.patch 여기입 니다. 파일을 받을때는 다름이름 저장으로 받으시기를
2) eclipse 유명한 자바 IDE툴이라고 하더군요 제대하고 자바 툴을 뭘 쓸까 구하러 다녀보니 이툴을 적극적으로 추천들 해주시 더군요 플러그 인을설치하면 c/c++도 가능하다고 합니다.
http:/ /www.eclipse.org 여기서 받으시면 됩니다. 설치하는 형식이 아니라 압축풀고 바로 실행시키면 됩니다.
\ 그 놈테마
http:// art.gnome.org에서 원 하는 그놈 테마를 받은뒤 시스템 테마는 /usr/share/theme에다가아이콘 테마는 /usr/share/icon에다가 위치시켜주고기본설정에서 테마를 변경해주시면 됩니다.얼마전까지는 이페이지가 공사중이었는데 지금은 새로이 개장했군요^^;;멋진 자신만의 데스크탑환경을 꾸미세요 ^^;; \ xchat 설정
이건 어떻게 하는지는 아는데 인터페이스의 어떤걸 선택해야 하는지 잘 기억이 안나서 그러니 나중에 자세한 명칭을 알아보는데로 곧바로 추가시키도록 하겠습니다.
\ 추천 사이트
http://usr.gentoo.or.k (기본인가?)http://linux-sarang.net (적수네동네 클론)http://www.gnome.or.kr http://www.linux.co.kr/novice/follow/command/command1-1.html (리눅스 기초명령어 설명되어있습니다.)
Gentoo Version : 2004.0Hardware 사양 1. CPU : Intel Pentium 4 2.4C 2. RAM : 삼성 PC3200 256MB X 2 3. MainBoard : Gigabyte 8IPE1000 PRO 4. Graphic Card : ATi Radeon 9600 PRO 유니텍 5. SoundCard : Onboard 6. LanCard : OnboardNetwork : 한국통신 VDSL Premium
설치시 참고한 문서1. 지나가던 곰님의 Gentoo Linux 설치문서(http://www.gentoo.or.kr/wiki/moin.cgi/Install_25by_25neoesraph)2. mizikn님의 Gentoo Linux 설치문서(http://wiki.kldp.org/wiki.php/GentooInstall)3. Gentoo 1.4 설치문서 번역(http://www.gentoo.or.kr/wiki/moin.cgi/1_2e4_bc_b3_c4_a1_b9_ae_bc_ad_b9_f8_bf_aa)4. Gentoo 1.2 설치문서 번역(http://www.gentoo.or.kr/docs/build-ko.html)5. Gnome Install Guide(http://www.gentoo.or.kr/wiki/moin.cgi/GnomeInstallGuide)
\ Gentoo CD 받기1. 2004.1(2004년 6월 8일 현재 최신버젼)http://ftp.gentoo.or.kr/releases/x86/2004.1/livecd/install-x86-minimal-2004.1.iso (87M)http://ftp.gentoo.or.kr/releases/x86/2004.1/livecd/install-x86-universal-2004.1.iso (674M)
2. 2004.0http://ftp.gentoo.or.kr/releases/x86/2004.0/livecd/universal/install-x86-minimal-2004.0.iso (87M) http://ftp.gentoo.or.kr/releases/x86/2004.0/livecd/universal/install-x86-universal-2004.0.iso (674M)
※저는 2004.0 미니시디를 받았습니다. 2004.1로 설치를 하려고 했으나 2004.1시디로는제 컴퓨터에서 네트워크가 안잡혀서 어쩔수 없이 2004.0 미니시디를 받았습니다. Stage1으로 설치하려고 하기 때문에 미니시디를 받은것입니다.
시디이미지를 받았으면 공시디에 굽습니다. 구운다음 시디로 부팅을 합니다.
\ Gentoo 설치시디를 집어넣고 부팅하면
boot:
라는 화면이 나타납니다.그냥 엔터를 눌러줍니다.부팅이 끝나면
livecd root#
이 화면이 나타나게 될것입니다.이제부터 Gentoo Linux의 설치 시작입니다.
1. 네트워크 설정
젠투리눅스는 emerge를 사용해서 패키지대부분을 웹에서 받아서 설치를 하게 됩니다.우선 네트워크를 잡아줍니다.
linvecd root#net-setup eth0
라고 치면 화면이 바뀌면서
0 USE DHCP to auto-detcet my network settings1 Specify an IP address manually
선택하는 화면이 나올 것입니다.저는 VDSL사용자이기 때문에 0번을 선택하였습니다.
네트워크가 제대로 잡혔는지 알아보려면
linvecd root#ifconfig
을 해줍니다.그러면 화면에
eth0 ~~~~~~~~~~~~~~~~~~~~(내용생략 ㅡ.ㅡ;; 너무 많아서)
lo ~~~~~~~~~~~~~~~~~~~~(내용생략 ㅡ.ㅡ;; 이것도 역시 너무 많아서)
하고 나올것입니다.(제가 지금 이문서를 윈도우에서 작성하다보니 정확히 알아볼 방도가 없기에 대충 적어놓겠습니다. 나중에 자세하게 채워넣도록 하겠습니다.)
좀더 확실하게 알아보는 방법은
livecd root#ping -c 3 www.google.com
해서
PING www.google.akadns.net (216.239.53.99) 56(84) byte of data64byte from 216.239.53.99 : icmp_seq=1 ttl=243 times=125ms64byte from 216.239.53.99 : icmp_seq=2 ttl=243 times=123ms64byte from 216.239.53.99 : icmp_seq=2 ttl=243 times=123ms
---www.google.akadns.net ping statistics ---3 packets transmitted, 3 recived, 0% packets loss, time 2018 msrtt min/avg/max/mdev = 127.741/125.195/125.714/0.399 ms
이런 결과가 나오게되면 네트워크가 제대로 잡힌겁니다.
2. 파티션 설정
젠투리눅스는 레드햇리눅스에서 제공하는 그래픽파티션툴인 diskdruid가 아닌 순수텍스트파티션툴인 fdisk를 사용합니다.리눅스를 처음 설치하시는분은 파티션에 관해 kldp같은곳에서 알아보시고 하시는게실수를 방지할수 있을것입니다.파티션 설정을 위해 fdisk를 실행합니다.
livecd root#/sbin/fdisk /dev/hda
를 입력하게 되면 다음과 같은 상태가 됩니다.
Command (m for help) :
이상태에서 필요한 명령어를 입력해서 자신의 하드에 젠투리눅스를 설치할 파티션을 생성해 주는 것입니다.
fdisk에서 주로 사용하는 명령어를 살펴보겠습니다.(주로라지만 이것밖에는 사용할일이 없을 것입니다. 제경험상 다른 명령어는 사용한적이 없기 때문에 ^^:;;)
p - HDD의 파티션 상황을 보여줌n - 새로운 파티션을 생성함d - 기존의 파티션을 삭제함t - 파티션의 system id 설정w - 저장하고 fdisk 끝내기q - 저장하지 않고 fdisk 끝내기
우선 p를 입력해서 파티션 상황을 살펴봅니다.
DeviceBootStartEndBlockIdSystem
/dev/hda1*17305863693+bW95 FAT32Windows Me 파티션/dev/hda2
73114591111338484+fW95 Ext'd(LBA)Windows 확장파티션/dev/hda5
731268815727633+7HPFS/NTFSWindows XP 파티션/dev/hda6
268933415245191bW95 FAT32Me 데이터 파티션
제 HDD파티션 상황입니다.120기가중에서 6기가를 Windows Me, 15기가를 Windows XP, 5기가를 Windows Me 데이터 파티션으로 할당해줬습니다.나머지 파티션에다가 젠투를 설치하고나서 남은 파티션을 XP 데이터 파티션으로 만들었습니다.
젠투설치를 위한 파티션을 생성합니다.먼저 Swap파티션
Command (m for help) : n
Command action l logical (5 or over) p primary partition (1-4)
여기서 l 을 선택해줍니다.
First Cylinder (3342-14591, default 3342):
나오면 디폴트값으로 적용 그냥 엔터를 누르시면 됩니다.
Last Cylinder or +sizeM or +sizeK (3342-14591, default 14591):
여기서는 자신이 생성하고자 하는 용량만큼 적어줍니다.저는 스왑파티션을 1기가로 잡았기에
Last Cylinder or +sizeM or +sizeK (3342-14591, default 14591):+1024M라고 입력했습니다.M가로 입력하는게 생성하는데 편합니다.
잘 생성이 되었나 p명령어를 이용하여 확인 해봅니다.
Command (m for help) : p
DeviceBootStartEndBlockIdSystem
/dev/hda1*17305863693+bW95 FAT32Windows Me 파티션/dev/hda2
73114591111338484+fW95 Ext'd(LBA)Windows 확장파티션/dev/hda5
731268815727633+7HPFS/NTFSWindows XP 파티션/dev/hda6
268933415245191bW95 FAT32Me 데이터 파티션/dev/hda7
33423466100403183LinuxLinux swap파티션
스왑파티션이 생성 되었습니다.다음은 boot파티션과 /(root)파티션을 위의 방법과 같은 방법으로 생성합니다.저는 boot파티션은 100M, /(root)파티션은 15GB로 잡았습니다.원래 boot파티션을 256M로 잡을려고 생각했었는데 100M만으로도 충분하다는 지나가는곰님의 문서를 보고 100M가로 잡았습니다.
파티션을 다 생성했으면 이제 스왑파티션의 ID를 변경해주어야합니다.제가 설치문서를 보면서 분면히 설치문서에는 스왑파티션이 82로 나오는데 저는 아무리 생성을 해도 83으로 나오길래 뭘 잘못했길래 설치문서랑 다르지하고 생각하다가 fdisk명령어를 살펴보다 우연히 t 명령어를 알게되었습니다.
Command (m for help) : t
Partition number (1-7) : 7 (자신의 파티션중 스왑파티션으로 쓸 파티션의 번호입력) Hex code (type L to list codes) : 82 (Swap ID)
해주고나서 p명령어를 이용하여 파티션 상황을 보면
DeviceBootStartEndBlockIdSystem
/dev/hda1*17305863693+bW95 FAT32Windows Me 파티션/dev/hda2
73114591111338484+fW95 Ext'd(LBA)Windows 확장파티션/dev/hda5
731268815727633+7HPFS/NTFSWindows XP 파티션/dev/hda6
268933415245191bW95 FAT32Me 데이터 파티션/dev/hda7
33423466100403182LinuxLinux swap파티션
/dev/hda7의 ID가 83에서 82로 변경되어 있을 것입니다.
제 리눅스 파티션은/dev/hda7 (swap) 1024M/dev/hda8 (boot) 100M/dev/hda9 (root) 15000M입니다.
이제 파티션을 포맷해줍니다.저는 boot파티션은 ext3로, root파티션은 xfs로 생성했습니다.
livecd root#mke2fs -j /dev/hda8livecd root#mkfs.xfs -f /dev/hda9livecd root#mkswap /dev/hda7livecd root#swapon /dev/hda7
※파일 시스템의 종류(지나가는 곰님의 설치문서 참고)ext2/ext3 : 전통적인 리눅스 파일시스템으로 많이 사용된다. ext3는 ext2에서 저널링이 포함되었다. 이 파티션 타입은 /boot 같은 곳에나 쓰시고 다른데에는 쓰시지 않는게 좋습니다. 실제로 Disk I/O를 모니터링 해보면 하는 일 없이 상대적으로 아주 많은 I/O를 소모하는 파일시스템입니다. ext3는 최악입니다. 저널링이 필요하시다면 XFS 혹은 Reiserfs를 쓰시기 바랍니다.
XFS : 메타데이터 저널링 지원, 요즘에 많이 쓴다더군요. 실리콘 그래픽스사에서 공개한 파일 시스템인데 현재 리눅스에서 쓸 수 있는 파일 시스템 중에서 가장 스케일이 큰 파일시스템입니다. "Think Big"이 XFS의 개발 모토이며 상대적으로 다른 파일 시스템보다 시스템 부하가 약간 큽니다
ReiserFS : 트리기반구조를 한 파일스템 용량이 적고 , 큰 파일에 유리 특정 작업에서 매우 빠름 - 반대로 적어놓으셨군요. ReiserFS는 벤치마크를 해보시면 아시겠지만 작은 파일에 아주 강합니다. 약 4Kb 파일을 죽어라 만들고 다 지우는 스크립트를 돌려 보십시오. 다른 파일 시스템과는 비교가 안될만큼 빠릅니다. 하지만, 큰 파일은 역시 XFS입니다.
JFD : IBM에서 새로 출시한 파일 시스템 -몇몇분은 매우 안정적이다고 하시는군요. 매우 안정적이긴 하지만 IBM답게 아주 user-friendly하곤 담쌓은 파일시스템입니다. 벤치마크를 해봐도 XFS의 장점에 못미치고 ReiserFS의 아기자기한 맛은 온데 간데 없는 어정쩡한 파일시스템이 아닌가 하는 사견입니다
특성이 이렇다는군요그런데 다른 문서에서 보니 여기 설명된것과는 좀 상이하게 소개가 되어있어서 어떤 파일시스템을 선택할지 고민이 많이 되었었습니다.그래서 저같은 경우는 저 파일 시스템중에서 맘에 드는걸 골라서 적용했습니다.boot는 ext3, root는 xfs로 선택해서 사용중인데 아무 이상없이 잘 작동하고 있습니다.어떤 파일 시스템을 선택하실지는 전적으로 설치하고자 하시는 분 마음이시니깐요 ^^;;
3. 설치를 위한 파티션 마운트
설치를 위해서 HDD의 파티션으로 마운트를 합니다.
livecd root#mount /dev/hda9 /mnt/gentoolivecd root#mkdir /mnt/gentoo/bootlivecd root#mount /dev/hda8 /mnt/gentoo/bootlivecd root#cd /mnt/gentoolivecd getnoo#
4. Stage파일 받기
만일 라이브시디를 받지않고 600M짜리 이미지를 받으신분은 시디에서 stage파일을 복사해오면 됩니다.저는 미니시디를 받았기에 웹에서 다운받아야합니다.
livecd gentoo#wget http://ftp.gentoo.or.kr/releases/x86/2004.0/stages/x86/stage1-x86-20040218.tar.bz2
입력해주시면 stage1파일을 다운받기 시작합니다.
stage파일의 압축을 풀어줍니다.
livecd gentoo#tar -xvjf stage1-x86-20040218.tar.bz2
하게 되면 압축이 풀어지게 됩니다.
※ 리눅스에서는 파일명이 길기 때문에 일일이 다 입력해주기보다는 Tab키를 이용해줍니다. Tab키는 파일이름이나 폴더명을 자동으로 완성해주기 때문에 유용하게 사용되니 알아두세요^^;;
stage파일을 풀어줬으니 proc를 사용할수 있도록 proc를 mount합니다.
livecd gentoo#mount -t proc proc /mnt/gentoo/proc
저는 왜 이걸 하는지 모릅니다. mizikn님의 문서에 하라고 되어있길래 한것이니 질문은 사양해주세요 ^^;;
5. Mirror설정
젠투는 대부분의 모든 패키지를 네트워크에서 받아 설치한다고 앞에서 언급했었죠.그 패키지를 받기위한 미러서버를 설정해주는것입니다.우리나라에도 젠투미러서버가 있는데 속도가 아주 좋습니다.한국 젠투미러만 설정해도 되지만 가끔씩 한국미러가 먹통이 되는 경우가 있더군요그래서 저는 한국미러랑 일본에 있는 미러를 설정해 줬습니다.
livecd gentoo#mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
미러목록이 나오면 한국미러인 ftp.gentoo.or.kr (kor)를 선택해줍니다.안심이 안되신다면 일본미러도 몇 개 선택해줘도 됩니다.
만일 한국미러외에 다른 미러도 선택하셨다면 make.conf파일을 수정해줘서 속도빠른 한국미러가 제일 앞으로오도록 수정해줍니다.
livecd gentoo#nano /mnt/gentoo/etc/make.conf
GENTOO_MIRROR 항목에서 한국미러를 가장 앞으로 오게 고쳐주고 Ctrl+X키를 눌러 저장해주고 빠져나옵니다.
만일 미러서버를 선택하는게 안나온다면 네트워크 설정이 잘못된것이므로 다시 네트워크를 잡아줍니다.
livecd gentoo#net-setup eth0
이제 본격적인 설치를 위한 준비가 끝났습니다.
6. 설치시작1
이제 본격적으로 설치를 시작합니다.
livecd gentoo#cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
해서 resolv.conf파일을 HDD로 복사해줍니다.
livecd gentoo#chroot /mnt/gentoolivecd /#
이건 chroot로 해서 가상HDD에서 자신의 HDD로 들어온것입니다.(이건 제 추측으로 생각한건데 맞는지는 잘 모르겠군요)
livecd /#env-update
>>>>Regenerating /etc/ld.so.cache........
livecd /#source /etc/profilelivecd /#
7. 설치시작2-Portage받기
livecd /#emerge sync
저는 Portage를 받아오는 이과정에서 약 30여분이 걸렸습니다.
8. 시스템 최적화 설정
make.conf파일을 수정해서 최적화를 해줍니다.
livecd /#nano /etc/make.conf
CFLAGS="~~~~~~~~~~~~~~~~(내용생략)"
이부분을
CFLAGS="-03 -march=i686 -mcpu=pentium4 -fomit-frame-pointer -mmmx -msse2 -msse -pipe"
로 수정해줍니다.그리고 역시
CHOST="~~~~~~~(내용생략)“
이부분도
CHOST="i686-pc-linux-gnu"
로 수정해준다음 저장하고 빠져나옵니다.이 최적화 부분은 지나가는곰님의 문서에서 펜티엄4에 최적화된 설정이라 하기에 저렇게 설정을 해주었습니다.저 설정의 내용에 대해 좀더 알고 싶다면 지나가는 곰님의 설치문서를 참고하세요 ^^;;
9. BootStrap
이 bootstrap은 자신의 시스템에 맞게 gcc,gliblc등을 설치하는 과정이라고 합니다.앞에서 했던 emerge sync작업은 이 bootsrap과정을 위한 준비였다는군요
livecd /#cd /usr/portagelivecd portage/#scrips/bootstrap.sh
하면 설치가 시작됩니다.이 과정은 시간이 꽤 오래 걸립니다.지나가던 곰님과 mizikn님은 이과정에서 3~4시간정도 걸렸다고 합니다.저는 약 1시간 50분정도 걸리더군요젠투설치에서 가장중요한것은 컴퓨터 성능보다는 네트워크상태가 가장 큰 영향을 주는거 같더군요여러번 젠투설치를 했을때 가끔 한국미러가 죽어서 일본미러에서 받는데 그때는 거의 3시간에 가까이 걸리는걸 보니 확실한듯 합니다.
10. System설치
설치에 필요한 각종 툴을 자신의 환경에 알맞게 설치해주는 과정입니다.
livecd portage/#emerge system
이 과정역시 시간이 오래 걸린다고 합니다.무려 12시간걸리는 경우도 있다고 하더군요저같은 경우는 1시간정도 걸렸습니다.※ bootstrap과 system설치를 한꺼번에 하는것도 가능합니다.
livecd portage#scripts/bootstrap.sh ; emerge system
하면 bootstrap과 system설치를 한꺼번에 설치를 하게됩니다.저는 저렇게 하다가 system파일이 설치가 되었는지 확신을 할 수 있는 방법이 없어서 언제나 따로 설치를 해주었습니다.그러다가 어느분의 질문 답변에
livecd portage#emerge -pv system
Calculating system depencies......................done!
이란 메시지가 나오게 되면 system설치가 완료된것이라고 합니다.참고하세요 ^^;;
11. 시간설정
시스템의 시간을 설정해줍니다.
livecd portage#ln -sf /usr/share/zoneifo/Asia/Seoul /etc/localtime
12. fstab설정
livecd portage#nano /etc/fstab
에서 수정할 부분은
#
/dev/BOOT /boot ext2 noauto,noatime 1 1/dev/ROOT / xfs noauto,noatime/dev/SWAP none swap sw
이부분을 자신의 환경에 맞게 수정해 줍니다.
#
/dev/hda8 /boot ext2 noatime 1 1/dev/hda9 / xfs noatime/dev/hda7 none swap sw
저는 위와 같이 수정을 해주었습니다.저 밑에 있는 부분은 잘 아시는 분이 아닌 한 손대지 마시기를 손댔다가 무슨일 생기면 책임 못짐^^;;
13. Kernel설치
자 이제 리눅스의 핵심이라고 할수 있는 커널설치입니다.제가 이 문서를 작성하고 있는 현제 최신 커널버젼은 2.6.6입니다.
livecd portage#cd /usr/srclivecd src#emerge module-init-tools
이건 커널버젼이 2.6이상일때 설치해줍니다.설치안해주면 커널 설치때 에러메세지를 토하더군요 ^^;;이제 커널을 받습니다.
livecd src#wget
커널 압축을 풉니다.
livecd src#tar -xvjf linux-2.6.6.tar.bz2
압축이 다 풀리면 linux-2.6.6폴더가 생성됩니다.
livecd src#cd linux-2.6.6livecd linux-2.6.6#
우선 커널설치를 하기전에 커널소스를 편집해줍니다.커널 2.6버젼으로 와서부터는 키보드의 한/영키랑 한자키가 안먹는다는군요그렇기에 커널소스를 편집해서 한영키를 사용가능하게 수정해줍니다.한영키를 사용하기위해 수정해줘야할 소스파일은 2가지입니다.
linux-2.6.6/drivers/input/input.c에서
case EV_KEY: if (code > KEY_MAX !test_bit(code, dev->keybit) !!test_bit(code, dev->key) == value) return;
if (code > KEY_MAX !test_bit(code, dev->keybit) !!test_bit(code, dev->key) == value) return; if (value == 2)
break;
을
case EV_KEY: if (code > KEY_MAX !test_bit(code, dev->keybit) !!test_bit(code, dev->key) == value) return;
if (code != KEY_HANGUEL && code != KEY_HANJA)
{
if (code > KEY_MAX !test_bit(code, dev->keybit) !!test_bit(code, dev->key) == value) return;
} if (value == 2)
break;
로 수정을 해줍니다.
linux-2.6.6/drivers/input/keyboard/atkbd.c :
137번째 라인에
#define ATKBD_RET_HANGUEL 0xf1#define ATKBD_RET_HANJA 0xf2
이부분을
#define ATKBD_RET_HANGUEL 0xf2#define ATKBD_RET_HANJA 0xf1수정한다음 저장하고 빠져나옵니다.
livecd linux-2.6.6#make mrproperlivecd linux-2.6.6#make menuconfig
여기서 커널 옵션설정하는 화면으로 넘어가게 됩니다.
Linux Kernel v2.6.0-test11 Configuration
???????????????????????? Linux Kernel Configuration ? Arrow keys navigate the menu.
19. 네트워크 세부설정
설치 후 부팅시 사용할 네트워크 설정입니다.
livecd /#nano /etc/conf.d/net
저는 VDSL사용자이기 때문에 dhcp에 관한 부분을 주석을 해제 시켜주었습니다.
livecd /#rc-update add net.eth0 default
livecd /#nano /etc/modules.autoload.d/kernel-2.6
맨 아랫부분에 네트워크 카드 모듈명을 적어줍니다.저는 인텔칩셋렌카드라서 e100.o가 모듈명입니다.그렇기에
e100
이렇게 추가 시켜주었습니다.그런데 저는 커널 옵션설정시 모듈로 잡지않고 빌드해서 이과정은 저한테는 필요가 없는 과정이었습니다.
20. 부트로더 설치
부팅시 리눅스로 부팅하기 위해 필요한 부트로더를 설치합니다.저는 grub를설치하였습니다.
livecd /#emerge grublivecd /#gub
grub>root (hd0,7)grub>setup (hd0)grub>quit
grub설치가 끝났으니 이제 grub.conf파일을 만들어 줍니다.
livecd /#cd /boot/grublivecd grub#nano grub.conf
#Start Global Section default 0 timeout 30 splashimage=(hd0,7)/boot/grub/splash.xpm.gz
#Gentoo Linux Section title=Gentoo Linux (Kernel Version 2.6.6) root (hd0,8) kernel (hd0,7)/boot/bzImage-2.6.6 root=/dev/hda9 hdd=ide-scsi
#Windows Section title=Windows root (hd0,0) chainloader (hd0,0)+1
위와 같이 작성한다음 저장하고 빠져나옵니다.물론 저 설정은 제것에 맞춰놓은것이기 때문에 자신의 파티션설정에 맞게 고쳐줘야합니다.^^;;
이부분은 좀 신경을 쓰셔서 작성을 하셔야 할것입니다.저는 이부분에서 철자하나 틀려서 부팅이 안되어버리는 사태가 발생했었습니다.긴급부팅을 할줄몰라 저는 처음부터 다시 설치하는 미련한 방법을 써서 해결을 했었죠지금은 그렇게 안하지만요 ^^;; 그때 생각하면 역시나 무식이 죄더군요 ㅠ.ㅠ그러니 철자하나하나에 신경써서 타이핑하시기를.........
livecd grub#emerge xfsprogs
xfs파티션을 사용했기에 이걸 설치했다고 지나가던곰님이 그러시길래 저도 xfs파티션을 쓴지라설치했습니다.이제 부트로더가 제대로 설치되었나 확인을 해볼 차례입니다.
livecd grub#etc-updatelivecd grub#exitlivecd gentoo#reboot
이제 시스템이 재부팅이 됩니다.시디롬에서 젠투시디를 제거하고 부팅이 되는지 학인해보시기를 ^^;;
21. Gnome설치
그래픽 환경을 위해 Gnome을 설치합니다.먼저 설치전에 make.conf파일을 수정합니다.
root#nano /etc/make.conf
USE="X gtk2 gnome -kde -mozilla -kde -qt -arts -3dnow"
로 수정해주고그밑줄에다가 다음 코드를 추가해줍니다.
ACCEPT_KEYWORDS="~x86"
이제 저장하고 빠져나옵니다.-kde -mozilla -kde -qt -arts -3dnow 이 옵션은 이프로그램을 설치하지 않겠다는 뜻이랍니다.
이제 Gnome을 설치합니다.
root#cd /usr/portage/gnome-base/gnome
에서 최신버젼으로 설치합니다.
root#emerge gnome-X.X.X.ebuild
하거나
root#emerge gnome
해줘도 설치가 됩니다.gnome설치 정말 오래걸리니 맘 단단히 먹고 시작하시기를 ^^;;저는 gnome설치하는데 약 4시간정도 걸렸습니다.설치가 진행되는 동안 모니터만 끄시고 느긋하게 책을 보신다든가 TV를 보신다던가 하세요 ^^;;
gnome설치가 끝난후 xscreensaver를 설치합니다.이걸 설치안하면 gnome으로로그인시 에러가 납니다. 에러 나도 그냥 무시해도 별상관은 없지만 그래도 찜찜하니깐요 ^^;;xscreensaver설치전에 로케일설정을 먼저하게되면 설치시 의존성에러나게 됩니다.주의!!
root#emerge xscreensaver
이제 그놈으로 실행되기위한 설정을 잡아줍니다.
root#nano /etc/rc.conf
DISPLAYMANAGER="gdm" XESSION="Gnome"
으로 수정해줍니다.물론 주석도 해제시켜주셔야 겠죠.
root#rc-update add xdm default
그놈을 사용하기 위한 세부설정입니다.
root#/usr/X11R6/bin/XFree86 -scanpciroot#/usr/X11R6/bin/XFree86 -configureroot#cp /root/XF86Config.new /etc/X11/XF86Config
그놈에서 한글을 사용하기 위한설정입니다.저는 그놈에서 윈도우 글꼴을 사용하기위해 윈도우 폰트를 폴더를 생성해서 받았습니다.
root#mkdir mydataroot#mkdir /mydata/systemroot#mkdir /mydata/system/fontsroot#mkdir /mydata/system/fonts/gulimroot#mkdir /mydata/system/fonts/batang
각 gulim폴더에다가는 gulim.ttc를 batang폴더에는 batang.ttc를 넣어놨습니다윈도우 폰트가 없으신분들을 위해 웹주소를 알려드리겠습니다.(물론 받는것은 wget으로)
http://home.megapass.co.kr/~khmirage/font/batang.ttchttp://home.megapass.co.kr/~khmirage/font/gulim.ttc
받아서 각각의 폴더에 넣어놓습니다.위에서 생성된 설정파일인 XF86Config파일을 수정합니다.
root#nano /etc/X11/XF86Config
FontPath부분에 윈도우 폰트폴더의 경로를 추가시켜줍니다.
FontPath "/mydata/system/fonts/gulim/"FontPath "/mydata/system/fonts/batang/"FontPath "/usr/X11R6/lib/X11/fonts/baekmuk"
Load부분을 수정합니다.
Load "Freetype"
을 주석처리하고 없으면 그냥 넘어갑니다.
Load "xtt"
를 새로이 추가시켜줍니다.baekmuk은 한텀을 설치하게되면 같이 추가되는 폰트입니다.
Section "Monitor" VendorName 부분에 Monitor Vendor라는 말이 나오면 모니터가 잡히지 않은것이기 때문에 모니터 수직/수평 주파수를 직접 추가해줍니다.
HorizSync 30.0 - 60.0VertRefresh 50.0 - 90.0
저는 삼성 17GLSi기종이라
HorizSync 24.0 - 85.0VertRefresh 50.0 - 120.0
으로 입력했습니다.
마우스 셋팅을 고쳐줍니다.
Option "Protocol" "IMPS/2"Option "Device" "/dev/input/mice"Option "ZAxisMapping" "4 5" //휠마우스 사용위해
해상도를 설정합니다.
Default Depth 24
밑부분에
Modes "1280x1024"
를 추가해줍니다. 해상도는 자기가 원하는 해상도를 여러 가지 추가시켜줄수 있습니다.“1280x1024" "1152x864"......
저장하고 빠져나옵니다.
root#nano /etc/fonts/fonts.conf
를 비슷한 문장이 있는곳에 추가 시켜 줍니다.저장하고 빠져나옵니다.
root#nano /etc/fonts/local.conf
이것은 11포인트 이하의 글꼴에서는 안티알리아스를 끄고 8포인트이하에서는 힌팅을 주라는 내용입니다.
root#nano /etc/X11/fs/config
윈도우 폰트경로를 넣어줍니다.
/mydata/system/fonts/gulim/mydata/system/fonts/batang/usr/X11R6/lib/X11/fonts/baekmuk
GTK1을 위한 글꼴적용
root#nano /etc/gtk/gtkrc.ko
-*gulim-~~~~~~~~~~~~~~~~~~~~~ 를-*Gulim~~~~~~~~~~~~~~~~~~~~~ 으로 수정해줍니다.
이제 변경된 설정내용을저장하고 실행시킵니다.
root#/etc/init.d/xfs startroot#rc-update add xfs default
※gulim폴더에 새로이 생성된 fonts.dir과 fonts.cache-1파일을 삭제하고 gulime폴더안에 root#wget
22. Nabi설치
Gnome에서 한글 입력을 위해 나비를 설치합니다.
root#emerge nabi
나비를 그놈에서 사용하기위해서는 몇가지파일을 수정해주어야 합니다.
root#nano /etc/env.d/00basic
XMODIFIERS="@im=nabi"XIM_PROGRAM="/usr/bin/nabi"LANG="ko_KR.euckr"LC_ALL="ko_KR.eucKR"SUPPORTED="ko_KR.eucKR:ko_KR:ko"SYSFONT="lat0-sun16"SYSFONTACM="iso01"GDK_USE_XFT="1"G_BROKEN_FILENAMES="1"nabi &gnome-session
저장후 종료
root#env-update
로케일 설정을 위해 /etc/profile을 수정해준다
root#nano /etc/profile
export LC_LANG=ko_KR.eucKRexport LC_ALL=ko_KR.eucKR
을 추가해준다.이제 재부팅을 하게되면 그놈이 나타나게 될것입니다. ^^;;로그인을 해서 추가 유틸을 설치해주도록 합니다.
23. 추가 유틸 설치
\ ALSA설치 root#emrege alsa-ossroot#emerge alsa-utils
alsa를 위한 설정
root#nano /etc/modules.d/alsa
#ALSA portion alias char-major-116 snd option snd snd_major=116 snd_cards_limit=1 #OSS/Free portion alias char-major-14 soundcore
##ALSA portion alias snd-card-0 snd-intel8x0 (intel8x0은 제 사운드 모듈입니다.) ##OSS/Free portion alias sound-slot-0 snd-card-0 post-install snd-intel8x0 /sbin/modprobe snd-pcm-oss post-install snd-intel8x0 /sbin/modprobe snd-mixer-oss post-install snd-intel8x0 /sbin/modprobe snd-seq-oss
을 각 부분에서 없는 사항을 추가 시켜 줍니다.
root#modules-updateroot#rc-update add alsasound boot (default가 아니라 boot입니다. 주의주의~~~!!!!)root#/etc/init.d/alsasound start
\ 기타 유틸 설치
root#emerge gentoolkit (뭣에 쓴느지 모름)root#emerge nmap (당연히 이것도 모름 포트 스캔이라고 함)root#emerge valgrind (Memory leak을 검사해주는 유틸이라하지만 당연히 모름)root#emerge rpm (레드햇의 rpm중에서 rpm.src를 설치할수 있게 해주는 것)root#emerge unzip (말그대로 zip파일 푸는것)root#emerge vim (vi의 확장판이라고 하나? 하여튼 vim설치)root#emerge cvs (프로그래머에게 필요한거라는데 저는 프로그래머를 자망하면서도 이게먼지 모름)root#emerge unrar (rar푸는거)root#emerge telnet-bsd (설치는 했으나 과연 쓸일이 있을지)root#emerge ltrace (Library추적툴)root#emerge strace (시스템콜/시그널 추적 툴)root#emerge upx (실행압축기라고 함)root#emerge xchat (irc채팅 프로그램 설정법은 뒤에 이어서 ^^;;)root#emerge mozila-firefox (웹브라우져 설치된 버전은 영문버젼이므로 한글패치적용시키는법은 뒤에)root#emerge beep-media-player (XMMS를 대체하는 음악파일 재생프로그램)root#emerge xmms (한글 설정을 위한 내용은 뒤에 이어서:워낙에 유명한 음악 재생프로그램 저는 bmp와 이 거 둘다 설치했습니다.^^;)root#emerge libtermcap-compat (한텀설치하기위해 먼저 설치 뭔지는 잘 모름 역시나ㅡ.ㅡ;;)root#emerge hanterm (요즘은 그놈기본터미날에 밀려나는 느낌이지만 그래도 한글터미널입니다.)root#emerge gimp (포토샵같은 그래픽 편집 툴)root#emerge gdesklets-core (자신의 시스템에 관련된 상황을 실시간으로 보여주는 액서서리입니다.) (이프로그램의 설명역시 뒤에 다시 추가하겠습니다.)root#emerge mplayer (리눅스에서 대표적인 동영상재생프로그램입니다. 이 프로그램또한 한글설정같은것 뒤에 설명하겠습니다. ^^;;)root#emerge pan (뉴스리더프로그램)root#emerge anjuta (리눅스에서의 프로그래밍 IDE 툴입니다. 한글입력을 위한 패치설치도 뒤에서)root#emerge dev-java/sun-j2sdk (자바설치 저는 emerge보다는 sun에서 직접받아 설치했습니다.이것도 뒤에 설명 하겠습니다.)
이렇듯 젠투에서는 거의 모든 프로그램을 emerge라는 명령어를 사용해서 설치합니다.매우 편하죠 ^^;;현재 페도라랑 젠투 둘을 같이 사용중인데 emerge가 너무편해서 페도라쪽은 거의 사용을 안하고 있죠 쩝
\ gDesklets 설치
위에서 gdesklets-core를 설치했으면 나머지 추가 파일도 설치를 진행합니다.
root#cd /usr/portage/x11-plugins/x11-plugins#ls
하게되면 desklets-xx였나 이런 형식의 파일명이 여러개 있을것입니다.emerge로 전부 설치해줍니다.
root#emerge desklets-cpuinfo
실행하는 방법은 그놈세션에 /usr/bin/gdesklets를 등록합니다.등록하는 방법은 그놈 시작메뉴에서 기본설정->고급->세션 실행한다음 시작프로그램탭에 경로를 찾아 등록해주면 됩 니다.이제 cpu정보를 정보를 보여주는 gdesklets를 실행시켜보겠습니다.
root#cd /usr/share/gdesklets/Display 디렉토리로 이동합니다.root#ls
하게 되면 desklets-xx에 관련된 항목들이 설치되어있는것들이 보여질것입니다.거기서 cpuinfo로 들어갑니다.
root#cd /usr/share/gdesklests/Display/cpuinfo/dark-thedark-the#gdesklets cpuinf.display
하시면 실행이 될것입니다.이동은 휠마우스를 가진분들은 휠버튼을 누르고 드래그하시면 원하는 위치로 이동시키실수 있습니다.이런식으로 원하시는 gdesklets를 실행시켜보세요자신만의 멋진 데스크탑을 꾸미는 멋진 악세사리가 될수 있을 것입니다.
\ mozilla-firefox 한글패치파일 적용방법입니다.
우선 http://www.mozilla.or.kr 에서 한글 패치 파일을 받습니다.한글패치파일 경로는 http://kldp.net/download.php/997/langkokr-ff-0.8.xpi 입니다.파이어폭스를 실행시킵니다.File->open->All Files(*.*)을 선택->한글패치파일을 선택해주면 설치하겠냐는 창이 뜹니다.계속 확인을 누르면한글 패치가 적용될것입니다.다 설치가 되면 파이어폭스를 재 실행하라고 할 것입니다.파이어폭스를 종료한다음 터미널이나 실행창에서 다음 명령어를 쳐줍니다.
root#firefox -contentLocale ko-KR -UILocale KR
이렇게 입력하면 한글이 적용된 파이어폭스가 실행이 될것입니다.저 명령어는 한번만 실행하면 다음부터 실행되는 파이어폭스는 전부 한글이 적용이 될 것입니다.
\ mplayer 한글적용
한글화시키려면 파일을 수정해주어야 합니다.수정해줘야 할 파일의 위치는 /usr/portage/media-video/mplayer에서 최신의 ebuild파일을 편집해줍니다.
mplayer#vim mplayer-X.X.X.ebuild
살펴보시면 configure부분이 있을겁니다.그 부분에 --language=ko를 추가해주신다음 저장하고 나오시면 됩니다.
※vim기본 명령어를 모르시는 분들이 있을까바 잠깐 알려드리겠습니다. 화살표키로 입력원하는 부분으로 이동한다음 i 키를 누르시면 입력모드로 바뀌게 됩니다. 원하는 작업을 해주신뒤 Esc를 누르시면 입력모드에서 빠져나오게 됩니다. 저장하고 나오는 방법은 Shift+; 를 누르시면 커맨드 입력 모드로 전환됩니다. 그때 wq를 입력하시면 저장하고 빠져나오게 됩니다.
제 mplayer를 설치합니다.
player#USE="-svga" mplayer
해주시 면 문제 없이 설치가 될거에요 ^^;;
\ Ja va설치 java설치는 emerge로 포테이지에서 설치를 해도 되지만 약간 번거로운 절차가 있기 때문에http:// java.sun.com 에서 직접 파일을 받아서 설치하는것을 추천합니다.http://java.sun.com/j2se/1.4.2/download.html 여기서 self-extractin file(j2sdk-1_4_2_04-linux-i586.bin) 파일을 받으시면 됩니다. 파일을 받으셨으면 터미널을 실행시키고 파일을 받은 폴더로 이동합니다.
root#c d /mydata/downloaddownlo ad#chmod 700 j2sdk-1_4_2_04-linux-i586.bindownload#./j2sdk-1_4_2_04-linux-i586.bin 해주시 면 라이센스 문구가 나옵니다. 계속 엔터를 입력해주시면 라이센스에 동의하나 안하냐 고 묻습니다.y를 입 력해주시면 파일이 풀어지게 될것입니다.
downlo ad#ls 해주시면 j2sdk-1_4_2_04 폴더가 생성되어 있을 것입니다. 저는 타 이핑이 쉽도록 j2sdk-1_4_2_04를 java2-1.4로 바꿨습니다.이제 이 폴더를 노틸러스를 이용해 /usr/java/ 폴더로 이동시켜줍니다. 이제 패 스를 걸어줍니다.
ln -s / usr/java/java2-1.4/bin /root/binln -s / usr/java/java2-1.4/bin /etc/skel/bin
추가로 자신이 쓰는 일반 사용자 홈디렉토리의 bin으로도 링크시킵니다.제대로 패스가 잡혔는지 알려면
root#ja va -version
java v ersion "1.4.0"Java(T M) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)Java H otSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
라고 나 오면 정상입니다.
이제 한 글설정을 해보겠습니다.http:// home.megapass.co.kr/~khmirage/font/font.properties.ko을 받아 서 /usr/java/java2-1.4/jre/lib 폴더안에 저장합니다.백묵 굴 림 폰트를 /usr/java/java2-1.4/jre/lib/fonts 폴더에 복사해 줍니다./usr/ja va/java2-1.4/jre/lib/fonts/fonts.dir파일을 약간 편집합니다.그 파일 의 맨 첫부분을 72 에서 73 으로 고치고, 맨 마지막에 다음을 추가합니다.
gulim. ttf -misc-Baekmuk unigulir-medium-r-normal--0-0-0-0-p-0-ascii-0
이렇게 하면 한글 설정은 끝나게 된것입니다.좀더 자 세한 내용은http:// www.gentoo.or.kr/wiki/moin.cgi/GulimBatangFonts4JDK여기게 가보시면 자바한글설정에 대해 자세히 나와있습니다.
이제 자 바 플러그인을 파이어폭스에 적용시켜보겠습니다. 메뉴의 Edit->Preferences->Navigator->Helper Applications 섹션에서;
Descri ption of type: Java Web StartFile ex tension: jnlpMIME type: application/x-java-jnlp-fileApplication to use: 여기는 위에서 만들어진 javaws디렉토리의 javaws라는 실행파일로 지정합니다. 지금 저 도 이 자바 플러그인설정부분은 해보지를 않아서 된다고 장담은 못해드리겠군요제가 해 보고 나중에 이문서를 추가 수정 보안하겠습니다.
\ 리 눅스에서 MSN메신져 사용하기 리눅스에서 MSN메신져를 사용하려면 gaim, kmess, jmsn같은 프로그램을 설치해야합니다.저는 j msn을 추천합니다. 이 프로그램은 파일전송까지 가능하기에
http:// jmsn.sourceforge.net/ 파일 다 운로드는http://sourceforge.net/project/showfiles.php?group_id=47932 여기서 하시면 됩니다.
에서 파 일을 받아서 압축을 풉니다.
실행은 java -jar jmsn.jar해주시 면 실행이 됩니다. ^^;;JMSN 을 실행하기 위해서는 JAVA가 설치되어 있어야만 합니다. 당연한소리인가 ^^;;
gaime 설치는 root#e merge gaim 해주시면 설치가 될것입니다.gaim은 대화입력시 마지막으로 입력한 글자가 입력이 안되기 때문에 좀 불편한점이 있죠
kmess는 설치하려면 qt라던가 불필요한것들을 많이 설치해야하기 때문에 KDE를 사용하는 분이 아니시라 면 추천 하지 않습니다.
\ X MMS설치및 설정 root#U SE="-cjk" emerge media-sound/xmms : XMMS설치root#emerge x11-themes/xmms-themes : XMMS 테마의 설치 한글 적 용은 환경설정에서 폰트변경을 적용해서 -ado be-helvetica-medium-r-normal-*-12-*-*-*-p-*-iso8859-1,-baekmuk-gulim- me dium-r-*-*-12-*-*-*-*-*- ksc5601.1987-*입력해 주면 백묵글꼴이 설치되어있는 이상 어느 시스템에서나 한글이 잘 보이게 될거라고 합니다.좀더 자 세한 내용은 여길 참고하세요http:// www.gentoo.or.kr/wiki/moin.cgi/XMMS (XMMS설정 관련 문서입니다.)
\ 프 로그래밍 툴 1) anj uta
설치법은 위에 언급한데로 emerge anjuta입니다. 그러나 한글 입력이 안되더군요 한글 입력을 하려면 패치를 설치해야 한다고 하는데 제가 아직 이 패치 적용법을 알아내지 못했습니다. 그래서 우선 저는 gedit로 한글을 입력한다음 그걸 복사해서 붙여넣는 방법으로 한글 입력을하고있습니다. ㅠ.ㅠ 누구 한글 패치 사용법 아시는분은 제 멜로좀 알려주세요 khmirage@naver.com입니다. 한글패 치파일은 http:/ /www.gentoo.org/cgi-bin/viewcvs.cgi/dev-util/anjuta/files/anjuta-1.2.0_xim.patch 여기입 니다. 파일을 받을때는 다름이름 저장으로 받으시기를
2) eclipse 유명한 자바 IDE툴이라고 하더군요 제대하고 자바 툴을 뭘 쓸까 구하러 다녀보니 이툴을 적극적으로 추천들 해주시 더군요 플러그 인을설치하면 c/c++도 가능하다고 합니다.
http:/ /www.eclipse.org 여기서 받으시면 됩니다. 설치하는 형식이 아니라 압축풀고 바로 실행시키면 됩니다.
\ 그 놈테마
http:// art.gnome.org에서 원 하는 그놈 테마를 받은뒤 시스템 테마는 /usr/share/theme에다가아이콘 테마는 /usr/share/icon에다가 위치시켜주고기본설정에서 테마를 변경해주시면 됩니다.얼마전까지는 이페이지가 공사중이었는데 지금은 새로이 개장했군요^^;;멋진 자신만의 데스크탑환경을 꾸미세요 ^^;; \ xchat 설정
이건 어떻게 하는지는 아는데 인터페이스의 어떤걸 선택해야 하는지 잘 기억이 안나서 그러니 나중에 자세한 명칭을 알아보는데로 곧바로 추가시키도록 하겠습니다.
\ 추천 사이트
http://usr.gentoo.or.k (기본인가?)http://linux-sarang.net (적수네동네 클론)http://www.gnome.or.kr http://www.linux.co.kr/novice/follow/command/command1-1.html (리눅스 기초명령어 설명되어있습니다.)
11
젠투리눅스 설치 젠투리눅스 2004/06/19 00:17http://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 --->
Ethernet (10 or 100Mbit) --->
주의: 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 하드웨어에 설치된 젠투 리눅스에 문제가 있다면,
피드 구독하기:
글 (Atom)