Computer/Linux / 리눅스
젠투 설치기 - 4편
jswlinux
2009. 12. 19. 20:02
3편까지 해서 모두 잘 따라오셨다면 이제 X를 설치할 차례다. 필자의 경우, X를 쓰지않고 콘솔에서 모든 걸 다 해결하기 위하여 프레임버퍼, 부트스플래쉬 등등 여러가지 유틸리티를 깔아봤긴 했지만 일단은 한글을 읽고쓰는 것이 불가능하다는 큰 단점 때문에 일단 X를 빌드하긴 했다.
또다른 X 빌드의 이유 중 하나는, 인터넷 공유기의 암호가 WPA로 되어있는데 WPA 접속을 가능하게끔 해주는 패키지의 속성에 반드시 X를 빌드해야만 했다. USE="-X"를 넣고해도 소용이 없었다. 그래서 무선랜도 가능해야했고 혹시나 모를 비상을 위해서 X와 KDE로 빌드를 시작했다.
사실, X-Windows 설치에 비하면 지금까지 해왔던건 아무 것도 아니다. 그래픽카드마다 드라이버 잡아줘야하고 xorg.conf 파일 세팅해줘야하고 엄청난 컴파일 시간을 보내야하고... 그나마 96년도부터 리눅스를 써온 필자로서는 xorg.conf 파일의 설정이 그리 어렵게 느껴지진 않았지만, 처음 해보시는 분들은 아마 크게 당황하실 거다. 게다가 필자가 처음 젠투를 설치했었던 대략 2004년도 당시의 컴퓨터로는 젠투 기본시스템+X+GNOME+Firefox까지 빌드하는데 무려 일주일씩 걸렸었다. 그런데 그 짓을 무려 7번이나 했다.
아마 X를 빌드하다보면 2-3개 패키지 정도는 에러내면서 설치를 멈출거다. 그 정도는 사실 에러메시지 보면서 해결해내야한다. 필자 역시 프로그래머는 아니지만 에러메시지 보고 대략 추측으로 때려서 해결한 문제가 대부분이다. 또한, 젠투에서 패키지 빌드하는 도중에 뱉어내는 에러들은 대부분 USE 플래그에서 일어난다. 일부 문제의 경우는 ACCEPT_KEYWORDS에서 생기는 경우도 있지만 대부분은 USE에서 난다.
단순한 에러의 예를 들자면
메시지: Configure: error: --zip not found in $PATH
이러한 메시지가, 길고 긴 emerge 에러메시지 중간에 위치하는데, 이런걸 들여다보면 해결이 보이지 않는가?
emerge zip 하면 해결이 되는 거다.
조금 더 해보자.
phpmyadmin을 빌드하다 에러를 냈다. phpmyadmin이, 뭔가를 컴파일해서 만들어내는 패키지가 아님에도 불구하고 에러를 냈다. 처음에는 이해가 되질 않았다. 사실 지금도 이해는 안가긴 하고 사이트가서 직접 파일들 다운받아다 압축만 풀면 해결되는 문제니까 그럴 수 있었지만 그냥 해결을 하고싶었다.
에러메시지가 길긴 하지만 올려본다.
뭐 솔직히 나도 무슨 말인지는 모른다. 나도 프로그래머가 아니니까.
다만 눈길이 가는 부분이 있다면
* dev-lang/php-5.2.11-r1 needs to be re-installed with all of the following
* USE flags enabled:
*
* crypt ctype pcre session unicode
*
* as well as any of the following USE flags enabled:
*
* mysql or mysqli if using dev-lang/php-5
이 부분이다.
해석을 해보면, "아래의 USE Flags를 활성화시켜서 php를 재설치해야합니다, crypt, ctype pcre session unicode"
"또한 만약 php5를 사용 중이라면 다음 패키지도 USE 플래그를 활성화시켜야합니다. mysql 또는 mysqli"
간단하다. USE="crpt, ctype pcre session unicode" emerge -avq php mysql 했다.
그리고나서 emerge phpmyadmin 했다. 설치가 잘 됐다.
X 설치를 준비하자. 일단 사운드 데몬을 설치한다.
# emerge alsa-utils
# alsaconf 사운드카드를 잡아주는 유틸리티이다.
# rc-update add alsasound boot 아마도 boot에 등록하는 첫 데몬이 아닐까 싶다.
# gpasswd -a USERNAME audio USERNAME에 각자의 로긴아이디를 넣는다. 사운드를 이용하게해준다
# emerge madplay mpg123 gstreamer 콘솔에서 사용할 수 있는 mp3 플레이어를 설치한다.
# env-update;source /etc/prpofile
# mpg123 test.mp3 MP3 파일 하나를 가져다 테스트 해본다.
# emerge pmount 일반유저로서 USB 저장장치 등을 마운트/마운트해제 할 수 있게 해주는 툴이다.
다음 avahi를 설치해야하는데, 사실 이거없이 X 이용하는데는 지장이 없겠지만 필자 생각으로는 이걸 먼저 해야할 것 같다. 그래야 후에 문제가 생기지 않을 것 같다. 다만 avahi에 걸려있는 의존적인 패키지들이 많기 때문에 이거 빌드하는데 시간이 꽤 걸릴 거다.
# emerge avahi
다 됐으면 X를 빌드하자. X는 데스크탑 매니져를 빌드하면 당연히 의존관계에 있기 때문에 같이 딸려오니, 데스크탑 매니져를 설치하자. 필자는 KDE를 설치했으므로, KDE를 기준으로 설명한다. 혹시모르니까 X가 빌드되어있는지 확인해보자.
# emerge -pv xorg-server
노트북 쓰신다면 마우스패드 (시냅틱) 드라이버를 설치해야한다. 이거 안하면 정말 피곤하다. 마우스가 지멋대로 움직이는데, 아마 노트북을 집어던지실지도 모른다.
# emerge -avq xserver-xorg-input-synaptics
-pv는 뭐뭐 설치될지 패키지 리스트만 물어보고 끝나지만 -av를 붙여주면 리스트를 보여주고 설치할 건지 아닐건지를 물어본다. 필자는 명령어를 두 번 타이핑할 일이 없는 -av가 개인적으로 더 편하다.
일단 USE 플래그 먼저 점검을 해야하는데 KDE를 설치할 때 -gtk를 하지말자. 한글입력기를 설치해야하는데, ibus, scim-qtimm 등이 작동이 잘 안된다. 적어도 필자의 시스템에서는 그랬다. 둘다 전혀 작동이 되질않았고 결국은 국산 nabi를 이용해서 해결을 봤다. 근데 nabi는 gtk 어플이기 때문에 -gtk를 넣으면 안된다.
먼저 어떤 패키지들이 어떤 속성을 갖고있는지 체크를 해보자.
# emerge -pv kdebase-meta
kdebase-meta라는 패키지는, 패키지 이름이 아니라 KDE의 기본패키지들의 목록을 갖고있는 패키지다. 따라서 kdebase-meta로 -pv를 날려주면 KDE의 기본시스템에 어떤 패키지들이 설치되는지를 보여준다. 내용을 보시고 만약 본인이 (-)를 해준 옵션이 있다면 USE를 수정해주자. 그런 다음 빌드를 시작하자.
# emerge -q kdebase-meta
-q 옵션은 빌드하면서 나타내는 컴파일러 메시지를 화면에 뿌려주지 않는다. 조용히 빌드해주고 에러가 났을시만 메시지를 뿌려준다. 전기세라도 좀 아낄겸 Alt+F2로 다른 콘솔로 넘어가 setterm -blank 3을 해주자. 키보드 입력이 없을시 3분 후에 모니터를 꺼준다.
X까지 같이 빌드하기 때문에 꽤 오래 걸릴거다. 밤에 시작해서 아침에 자고일어나면 끝나있을 거다. 이제 나머지 KDE패키지들을 빌드한다. 역시 -pv를 줘서 USE플래그를 확인한다. 그리고 빌드를 시작한다.
# emerge -pv kde-meta
# emerge -q kde-meta
한 가지 덧붙이자면, meta라는 패키지 자체가 뭔가 있는 패키지가 아니라 관련패키지의 목록을 갖고있는 패키지이기 때문에 컴파일하다 중간에 에러내면서 멈추면, 다시 수정하고 emerge kde-meta를 했다간 이미 컴파일이 끝난 패키지도 다시 다 하는 것을 볼 수 있다. 이것은, emerge가 해당 패키지가 빌드가 됐는지 안되는지에 대한 여부를 판별하지 않기 때문이고 또한, 해당목록에 존재하는 패키지를 다시 설치하려고 하기 때문에다. 말로 설명하기가 어려운데, 해보시면 이해가 가실 거다. 그나마 다행인 것은 kdebase-meta는 패키지가 몇 개 안된다.
kde-meta는 아주 많다. 끝나고나면 패키지를 꼭 적용해주고 xorg.conf를 설정해야한다.
# env-update; source /etc/profile
# Xorg -configure
이제 ls /root를 하면 못보던 파일 하나가 있을 거다. Xorg가 자동으로 설정을 잡아서 내놓은 파일인데 이것을 테스트삼아서 X를 띄워보고, 잘 뜨면 이 파일을 그대로 쓰면 되겠다. 혹시 모르니까, 다른 컴으로부터 루트로 ssh에 접속해있자. 이거 실행하고나면 키보드가 안먹을 수도 있다. 다운된 건 아니다. 키보드가 응답을 안하는데, 이유는 잘 모르겠다. 필자의 시스템에만 한정된 현상일 수도 있다.
# X -config /root/xorg.con.new
하고나면 뭔가 뜨긴 뜬거 같은데 보이지는 않고, 다시말해 까만화면을 백라이트가 비추고있는 듯한 화면이 뜰거다. 이제 Ctrl+Alt+Back Space를 눌러서 X를 종료하고 xorg.conf 파일을 만들어준다.
키보드와 마우스의 기본적인 움직임 정책파일을 세팅해줘야한다.
# cp /usr/share/hal/fdi/policy/10osvendor/10-input-policy.fdi /etc/hal/fdi/policy
# cp /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi /etc/hal/fdi/policy
/etc/hal/fdi/policy/10-x11-input.fdi 파일을 편집에서 라인 한 줄을 추가시킨다.
<match key="info.capabilities" contains="input.keys">
<merge key="input.x11_driver" type="string">keyboard</merge>
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
string="Linux">
<merge key="input.x11_driver" type="string">evdev<merge>
</match>
</match>
이제 kdm을 띄운다. kdm은 root에서만 띄울 수 있다.
# cp /root/xorg.conf.new /etc/X11/xorg.conf
# kdm
X의 설치가 끝났다. 솔직히 중간중간 에러나서 컴파일이 중단된 게 많았는데, 이걸 하나씩 잡아가면서 스크린샷을 찍지 못했던 게 개인적으로 아쉬웠다. 콘솔에서도 스크린샷을 찍을 수 있는 유틸이 있다는 걸 알았다면 더 좋았을텐데 무척 아쉽다.
한글입력기 nabi를 설치하고 로케일을 세팅해줘야한다. 이것은 구글링하시면 수도없이 쏟아져나온다. 다만 한가지 다른 점은 우리는 KDE를 빌드했으므로 GTK_IM_MODULE=nabi 말고도 QT_IM_MODULE=nabi를 추가시켜줘야한다는 점이다.
그외 설치했던 툴로는, fbgrab (콘솔에서 스크린샷을 찍는 툴), links2 (콘솔용 그래픽 웹브라우저) 정도가 있다.
되도록이면 X를 띄우지 않기 위해서 콘솔용 툴들을 구글링을 통해서 많이 접했고 대부분을 설치해서 써봤다. 정말 X 없이도 그런대로 쓸만했었다. 물론 데탑용 컴퓨터로서는 최고의 매킨토시가 있었으니 그런대로 쓸만했었겠지. 참고로 부트스플래시 사용할 때, Grub에 vga=792 옵션 있으면 커널 부팅메시지가 전부 보여서 별로 예쁘지가 않았다. 부트스플래시 사용할거면 차라리 vga 옵션은 꺼주는 게 낫다. 어차피 부트스플래시를 이용한 고해상도 콘솔을 쓸거니까.
젠투용 각종 테마들은 http://gentoo-art.org/ 에서 구할 수 있다.
젠투 설치기를 여기서 끝마치기로 한다.