한 4일 써봤나 싶다. 여전히 뭐가 뭔지 모르겠고, 뭔가 잘못되면 재설치해야하나 하는 생각이 든다.
그런데 재밌다!

한 3-4년 전에는 솔라리스가 왠지 다른 세상의 OS인듯 화면도 익숙치 않았고 뭐가 뭔지도 모르겠고, 자료도 없고 해서 쓰기 힘들었는데, 이번에 깔아보니 GNOME은 리눅스나 별반 다를 게 없을 정도로 세련됐고 Compiz까지도 잘 동작했을 정도니 잘 모르는 사람이 보면 리눅스라고 착각할 정도로 잘 만들었단 생각이 들었다.

패키지 매니저라는 게 있어서, 마치 우분투처럼 필요한 패키지를 (비록 많지는 않지만) 쉽게 찾아서 설치할 수 있었고 그외의 메뉴들은 정말 리눅스랑 똑같았다. 노트북에 설치했음에도 불구하고 대부분의 하드웨어가 작동했고 성능도 매우 좋았다.

내 노트북은 Sony Vaio Notebook VGN-NS190J 이고, Intel Core 2 Duo 2.0GHz, 4기가 램, 인텔 센트리노 무선랜, Marvell Yukon LAN, 인텔 내장사운드 정도 되겠다. 여기서 사운드는 드라이버가 설치됐음에도 불구하고 소리가 나오질 않았는데, 어차피 솔라리스에서 음악들을 일은 없으니 개의치 않았다. 다만 Marvell의 Yukon 기가비트 이더넷 랜카드가 잡히지 않았는데, 이건 해당 홈페이지가서 드라이버를 다운로드했고 아주 쉽게 설치가 됐다. 이건 설치노트에 기록한다.

말로만 듣던 zfs는 정말 강력했다. 이걸 보면서 왜 애플이 Snow Leopard에 zfs를 채용하려다 말았는지에 대한 기사를 찾아보게 됐었을 정도였다. 애플이 zfs 도입했었으면, 안그래도 느린 타임머신이 지금보다 훨씬 더 빨라졌을 거다. 다만, 사용법과 개념이 익숙치 않아서 스냅샷을 찍었는데 제대로 안찍혀서 복구가 안되는 문제를 경험했고 하드디스크 전체가 아니라 일부분씩 따로따로 스냅샷을 찍는다는 것도 알았다. 마찬가지로 상세한 자료가 없어서 Sun 홈페이지에 있는 ZFS Administration 가이드에 많이 의존했고 그걸 통해서 대충 감을 익혔다. 그런데 zfs가 2006년도에 나온 파일시스템이라는 점을 감안하면 정말 강력하고, 아마도 정말 최후의 파일시스템이 되지 않을까 싶다. 
웹서핑을 하다보니 Java Web Console이라는 웹브라우저를 통한 ZFS 관리를 할 수 있는 툴을 발견했는데, 이게 솔라리스 10에는 있고 오픈솔라리스에는 없는 거다. 난 분명히 둘이 서로 완벽히 똑같고 오히려 오픈솔라리스에 더 최신기술이 들어가있다고 들었는데 Java Web Console이 오픈솔라리스에는 없는 것이었다. 왜 없는지에 대해서도 한참 구글링을 했다. 한국 사이트에는 있을리가 만무했고, 오히려 zfs 파일시스템의 사용법조차도 자세히 나온 곳이 없었다. 이것도 한참을 헤맸고, 왜 없는지에 대해서는 못찾았다. 다만 설치는 어찌어찌해서 정상적으로 가동은 시켜냈다.

Zone은, 역시 처음에 개념과 사용법에 익숙치 않아서 자료를 한참 찾아댔다. 이것은 Solaris Technet의 김석님께서 쓰신 솔라리스 컨테이너 비교분석 자료에서 조금 도움을 얻었다. 열심히 쓰신 문서가, 마치 자기가 만든 자료인양 사용하는 학원강사들이 있다는 걸 알았는데 그래서 아마도 한글자료 찾기가 어려웠나 싶다. 이 자리를 빌어 자료만들어주시는 분들께 감사드린다. 아무튼, zone으로 웹서버 전용 존을 하나 만들어봤는데, 이것도 무척 재밌고 강력하다는 생각이 들었다. 솔라리스 쓰는 분들이 흔히 하는 말들이 "아름다운 OS", "아름다운 파일시스템" 등등 아름답다는 표현을 붙이는데, 쓰다보면 정말 강력하다는 느낌이 든다. 그리고 이 강력함이 아름다운 것으로 승화되는 것 같다. 마치 스타크래프트의 프로토스가 저그로 오염된 행성을 파괴하는 것을 보고 아름답다는 표현되어있는데 (스타크래프트 게임 패키지 내 스토리북) 그게 그런 의미인가보다. 강력하면 아름다워진다.

Mac OS X 이후 특정 Unix에 이렇게 매료된 게 처음인 것 같다. 게다가 우분투와 비슷한 수준의 세련된 GNOME은, 아마도 리눅서들이 오픈솔라리스로 넘어가게될만큼 친숙한 환경이었다.
오픈솔라리스를 쓰다보니 대체 솔라리스와 오픈솔라리스와의 차이는 뭘까하고 구글링을 해봤는데, 이것조차도 답을 구하기가 어려웠다. 질문을 하는 사람도 없고 대답을 해주는 사람도 없었다. 결국은 unix.com이라는 유명한 유닉서 사이트에서 답을 구했는데, 오픈솔라리스는 Sun Microsystems에서 정식으로 지원해주는 "솔라리스의 소스코드를 바탕으로하는 오픈소스 프로젝트"라는 점이고, 솔라리스는 "솔라리스"라는 브랜드 이름을 갖고있으며 테스트되었고, 검증되었고, Sun으로부터 유지/보수가 이루어지고, 차기버젼의 솔라리스는 항상 오픈솔라리스의 소스코드로부터 나온다는 점이다. 즉, 레드햇과 페도라 정도의 관계로 이해하면 되겠다. 내가 참고한 원문은 http://www.unix.com/whats-your-mind/24870-sun-solaris-open-solaris.html 에서 확인할 수 있다.

솔라리스. 반해버렸다.
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
1주일 동안 삽질해가면서 make.conf랑 커널 옵션 찾아내고 별짓 쌩쑈를 다 해서 젠투를 설치했건만, 설치한지 불과 2주도 안되서 젠투를 밀어버렸다. 왜 그랬을까.
내 나이 30대에 전산이라고는 쥐뿔도 모르는 은행원 출신인데다 회계랑 재무 전공하러 미국까지 와놓구선, 4년제 편입할 때쯤 되서 전공을 컴퓨터로 바꿔버렸다. 왜 그랬을까.

내 블로그의 다른 글에서도 여러차례 적어놨지만, 나는 유닉스 계열의 OS를 정말 좋아한다. 리눅스, MacOS X 등등이 너무 좋다. 그래서 컴퓨터라고는 개뿔도 모를 것 같은 전직 은행원 출신이 리눅스 커널설정 고친다고 /usr/src/linux/.config 들여다보고 있는 장면은 좀 예상 밖일 거다. 근데 이게 내가 고등학교 2학년 때부터 해오던 짓이었다.

슬랙웨어 2.2부터 시작해서 별의별 배포판을 다 구경해본 -절대 사용이 아니다. 구경만 해봤다- 바로서는 째끔 차이는 있겠지만 어차피 거기서 거기다. 다만 데비안/우분투 쓰다가 CentOS 구경해보니까 이거는 갭이 좀 컸다. 레드햇 계열 쓰다가 데비안 계열로 넘어오는 건 할만한데, 데비안 계열 쓰다가 레드햇 계열로는 못넘어간다는 말이 실감이 가더라.

이런 나한테도 정말로 적응이 안되는 게 있었다면, 리눅스는 여차여차해서 대충 알겠는데, FreeBSD랑 유닉스는 도통 모르겠던 거다. 표준 명령어 ls, cp, ln 같은거 말고는 당최 뭘 어떻게 쓰는지도 모르겠고, 그노무 슬라이스라는 건 대체 파티션이란 얘긴지 디렉토리를 보기좋게 잘라놓은 건지 모르겠단 말이었다. 게다가 쉘은 왜 그모양인지 백스페이스키도 안먹지, 탭키의 자동완성도 안먹지, vi 열면 방향키도 안먹지.

늦은 나이에 전공을 전산으로 바꾼 사건은 나에게는 아주 의미가 크다.
어차피 회계전공해도 한국에서 그 나이에 취업될리는 만무하고, 그렇다고 미국에서 취업이 잘되는 직업도 아니고.
아, 물론 취업이 잘되는 분야는 맞다. 그런데 너무 인기가 좋아서 경쟁이 치열하다보니 요즘은 만나는 사람들마다 전공 물어보면 전부 다 회계한단다. 처음에는 "오~ 같은거 공부하는 사람이네" 했었는데, 이제는 "또 회계야..." 이런 생각 든다. 다 경쟁자인 셈이다.
미국 내에서도 경쟁이 치열해서 취업하기 힘들 뿐더러, 워낙 사람이 많다보니 취업이 되도 월급 쥐꼬리만큼 나오는거 (한국보다도 월급이 더 적다) 차라리 취업 잘되고 돈 많이 버는 걸로 하자는 결론을 냈다. 어차피 한국으로 돌아가더라도, 한국은 전공에 상관없이 취업이 가능한 나라잖아. 미국은 거의 불가능하지만...
그와 동시에, 한국으로 돌아가지 않겠다라는 다짐이기도 했다. 그래서 Computer Science로 전공을 바꿨다. 다행히 Community College에서 수학을 꽤 높은 반까지 해놔서 다행이었다.

그러다보니, 늦은 나이에 전공도 바꿨고 취업도 되야하고 이런저런 별 생각 다 하니까 이게 아무 죄없는 젠투한테 시선이 가더라. 과연 내가 이거 공부해서 취업하는데 도움이 될까. 과연 젠투로 서버를 돌리는 곳이 있을까. 그런데 젠투를 계속 써보고 싶기는 한데... 우선 재미가 있으니...
그러다 문득 하와이 대학교 myuh 시스템이 생각났다. 하와이 대학교랑 HPU는 내부 시스템이 대부분 솔라리스다. 이걸 공부하면 취업하는데 도움이 되겠지. 하와이 섬나라 애들 할 줄 아는게 대부분 윈도우니까.

설치하면서 문제가 생기는 것들을 구글링하니까, 한국에는 한글로 나와있는 자료들이 별로 많지않다. 대부분 vmware를 이용한 설치 및 기타 등등 설치에 대한 내용이 대부분이었고, 몇몇 유닉스 관련 사이트에서도 솔라리스 강좌를 보면 대부분 유닉스란 무엇인가부터 시작해서 ls니 cp니 하는 아주 기초적인 유닉스 사용법부터 시작하는 문서들 뿐이었다. 즉, 나처럼 리눅스를 째끔 쓸 줄 아는 사람들이 사용 중 닥치는 문제라던가 하는 점에 있어서는 해결하기가 매우 난감했다.

결국은, 대부분 외국 사이트에서 해결했고 그나마도 관련자료가 별로 많지 않았다.
따라서 오픈솔라리스를 쓰면서 생긴 문제점과 해결책을 적는 노트를 티스토리에 하나 포스팅해서, 계속 업데이트하는 식으로 쓸까한다.
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
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/ 에서 구할 수 있다.

젠투 설치기를 여기서 끝마치기로 한다.
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,