gentoo 설치 후기

익명 사용자의 이미지

저는 대충 2010년 초반부터 gentoo를 사용했습니다. 저의 경우에 호기심도 있었고 주위에 수퍼 유저가 있었습니다. 성능을 더 잘 활용하게 되리라는 확신은 있었는데, 지나고 보니 매 패키지 업데이트가 컴파일이고, 업데이트를 두 달이라도 거르고 나면 한 번씩 할 때마다 의존관계가 깨지는 경우가 너무나도 허다해서 최소한 매 주 업데이트를 합니다. 그러다 보니 사실 전체적으로 머신에 주는 로드는 결코 더 적지 않은 것 같습니다.

그보다는 시작하게 된 이유가 그 수퍼 유저가 준 make.conf 파일과 .config 파일이 있었기 때문입니다. 후자는 다들 아시다시피 커널 컴파일 옵션입니다. 전자는 gentoo 고유의 설정 파일인데, 거칠게 보면 패키지를 빌드할 때, 어떤 기능을 넣고 무엇을 뺄 것인지 결정하거나, 제 하드웨어에 어떤 기능이 있는지 컴파일러와 패키지 매니저에게 알려줍니다.

다른 대부분의 배포판 (여기에 최소한 데비안 계열, 레드햇 계열은 다 들어갑니다)에선 그렇게 할 필요가 없죠. 여기는 패키지를 배포하는 사람이 이런 설정을 다 하고 빌드를 해서, 실행 파일과 런타임 설정 파일 등을 배포합니다. Gentoo는 이 빌드를 사용자의 머신에서 합니다. 그때 사용자는 설정을 유연하게 가져갈 수 있고요.

설정이 유연한 만큼 지시도 보다 디테일합니다. 그러다 보니 경험이 없으면 하기 힘들죠. 전 다행히 이 working configuration을 수퍼 유저에게서 받았습니다.

2. 그렇게 시작했는데 처음에는 괜찮더군요. 무엇보다 리눅스를 대하는 제 태도를 많이 바꿨습니다. 교육용으로는 꽤 훌륭했습니다.

전에는, 예컨대, sftp 서버가 동작하지 않는다면, 그냥 구글/네이버 검색해서 포스팅에 나오는 거 의미도 모르고 따라해 보다가 안 되면 시스템을 재설치하는 수준이었습니다. Gentoo를 쓸 무렵에는 모든 문제에 대해 소위 trouble shooting을 하게 되더군요. 먼저 어디가 문제인지 이해하고, 그 토픽에 대해 최소한 아주 높은 추상 수준에서 이해하고, 문서도 읽어 보고요. 따라 하더라도 각각의 라인이 뭘 의미하고 뭘 시도하는지 이해하도록 노력하게 되었습니다. 하다 보니 이런 접근이 얼핏 시간이 더 걸리는 것 같아도 결국은 효율성이 더 높다는 것도 배우게 되었습니다.

3. 이를테면, 새 랩탑에 gentoo 설치했더니 touchpad가 안 잡히더군요. 다행인 건 우분투에서는 잡혔습니다. 그러니까 제 경우에는 우분투는 되고 gentoo는 안 되는 이유를 찾아내어야 했습니다. touchpad (synaptics)가 안 된다고 검색해 보면, i8042.nomux=1를 커널 부트 옵션에 넣으라는 포스팅이 많이 나옵니다. 이전 같으면 그런 거 그냥 따라 해보다가 안 되면 포기하든가 했을 텐데, gentoo를 쓰게 되면서부터 이렇게는 안/못 하게 되더군요.

4. 우선은 gentoo에서 장비가 어느 수준에서 인식되지 않는지 보는 게 좋을 것 같은데, 제가 그럴 능력은 되지 않았습니다. input 장비는 X 서버에서 관리할 테니까 X 서버가 인식하는지 보고, 그냥 lsmod를 통해 로드 된 드라이버 (이 경우도 장비 모듈이 커널의 일부라면 lsmod에는 안 보이는 걸로 압니다)를 우분투와 비교해 보려고 했습니다. libinput이나 xinput 같은 툴로 보니 인식이 안 되더군요. lsmod를 보니 우분투는 hid_touchpad라거나 hid_i2c 같은 커널 모듈이 보이는데 젠투는 없었습니다.

위의 두 개는 generic option인 것 같고, 선택을 해줬는데 로드가 되진 않더군요. 그러니까 아마 이 generic 모듈이 N가지 서로 다른 장비 표준을 지원하는 것일 수도 있지만 혹은 그 아래 장비별 커널 모듈/컴포넌트을 사용해서 인터페이스만 구현해주는 것일 수도 있겠다는 생각이 들었습니다.

그래서 디바이스 커널 컴포넌트/드라이버의 의존관계 전체를 루트까지 볼 수 있는 뭔가가 없는지 찾아보니 udevadm -a가 비슷한 일을 하는 것 같습니다. 그걸로 보니 제 장비 드라이버 자체는 SYNA3926:00 어쩌고 하는 기괴한 이름이더군요. 이를테면, Logitec 어쩌고 하면 로지텍 장비를 커널 옵션에서 찾아 모조리 켜줄 텐데, 저런 이름으로는 커널 옵션으로 검색이 되지 않았습니다.

그게 generic한 장비 드라이버 (hid_touchpad 같은)들을 parent로 갖고 있고, 그 위로 좀 올라가니 이제 장비 드라이버 이름에 회사 이름이 몇 개 나왔습니다. 무슨 i2c_designware 어쩌고 synopsys 어쩌고랑 intel-lpss라고 되어 있더군요.

그걸 보니 혹시 제 장비 드라이버가 enable되지 않은 이유가 그 위쪽 체인 어딘가를 커널 옵션에서 포함시켜 주지 않아서였을 것 같았습니다. 이름이 인식 가능한 intel-lpss 이런 것들을 전부 찾아서 모듈로 컴파일 해주고 다시 부팅하니까 마침내 되더군요.

5. 이번엔 또 ibus-hangul이 되지 않습니다. 이런 경우도 10년 전 같았으면 구글, 네이버 (한글 자료니까요) 검색 열심히 해보고 따라 하다 안 되면 포기하고 다른 한글 입력기를 설치 시도했을 겁니다. 그러다 짜증나면 밀고 다른 배포판을 깔거나요.

저도 귀찮기도 하고 해서 version을 낮춰서 빌드해 보기도 하고 ibus-tables를 설치해 보기도 하고 했는데 소용이 없더군요.

그래서 어쩔 수 없이 에러 메시지를 읽기 시작했습니다. ibus-hangul-setup이라고, 설정 프로그램이 crash 하더군요. core dump를 합니다. 이 프로그램은 이걸 좀 고쳐야 될 것 같긴 합니다. 있어야 될 게 없으면 나이스한 에러를 내고 곱게 죽어야지 core dump를 남기는 건 좀 그런 것 같습니다.

어쨌든 죽기 전에 남긴 메시지를 보니 org.freedesktop.ibus.engine.hangul 어쩌고가 register 되지 않았다고 합니다. 뭐라는 건지는 잘 모르겠는데, 뭔가 freedesktop 이라는 모종의 매니저에 ibus engine이 뭘 등록해 줬어야 했는데 실패한 것 같습니다.

그래서 이번에는 ibus-hangul 패키지 빌드/설치 메시지를 읽어보니 뭔가 gnome2 시절에 쓰던 script/function이 gnome3에서 지원이 안 되서 fail했지만 critical이 아니어서 지나간 것 같더군요.

이번엔 ibus-hangul 패키지가 설치한 할 파일 리스트를 들여다 보았습니다. 배포판마다 이런 명령어가 있습니다. 그랬더니 org.freedesktop.* 어쩌고 하는 파일이 /usr/share/glib-2에 있고 파일의 확장자가 gchema.xml이더군요. 그 폴더에 가보니 그런 것들이 잔뜩 있었습니다. 이걸로 뭘 하는지 구글 검색을 좀 해봤더니 그 폴더 안에 무슨 데이터베이스 파일이 있고, glib-compile-schema로 xml들을 한꺼번에 컴파일해서 넣어주는 것 같습니다. 제 생각엔 아마 ibus-hangul이 설치할 때 이 커맨드를 실행했어야 하는데, 위에서 뭔가 실패하다 보니 이 커맨드가 실행되지 않은 채로 설치가 끝난 것 같더군요. 수동으로 그 명령어를 한 번 실행했더니 ibus-hangul-setup도 되고 정상적으로 한글이 나오게 되었습니다.

6. 2, 3년간 이런 식으로 리눅스를 설치, 사용하는 게 교육적으로 상당히 도움이 되는 것 같기는 합니다. 그런데 그 한계 효용도 체감하는 게 사실이고, 7년, 8년씩 이런 일을 하는 게 무슨 의미가 있나 싶어지더군요. 이 시점에 몇 시간을 소모했는데 제가 얻은 건 한글이 되고 터치패드가 반응하는 멀쩡한 랩탑이거든요.

7. 그런데 또 다른 배포판으로 가자니 유연성 때문에 버리기가 힘듭니다. 다른 배포판에서는 맘대로 안 되는 일, gentoo에서는 쉽게 되었는데 다른 배포판에서는 어렵게 되는 일도 흔하진 않지만 적당히 있습니다.

세벌의 이미지

글 잘 읽었습니다. 그 어려운 젠투를 쓰시다니...
저는 데비안을 씁니다.
ibus-hangul libhangul 어떻게 되어있는지 모르고 어쨌든 씁니다.
언젠가 우분투에서 한글 입력할 때 자동 교정(예를 들어 "강"을 치려고 했는데 실수로 ㄱㅇㅏ 이런 순서로 잘못쳐도 자동으로 "강"으로 되는 기능) 작동하는 걸 아주 잘 써먹었는데...
데비안 최신 버전에서 한글 입력할 때는 자동 교정이 안 되더군요. 그래서 무지막지한 오타와의 싸움을...
ibus-hangul 문제인지, libhangul 문제인지, 데비안 문제인지, 아니면 다른 문제인지 모르고 그냥 씁니다.
젠투에서 ibus-hangul 설정 성공하시면 정보공유 부탁드려요.
고맙습니다.

Stephen Kyoungwon Kim@Google의 이미지

자동 수정은 gentoo 1.5.3에서도 되지 않는 것 같습니다. 그 기능 자체가 과거에 있다가 사라졌거나, 그 기능을 구현하기 위해 쓰던 3rd party library가 변경되면서 compatible하지 않게 되었거나 등등의 이유가 아닐까요?

입력기 설정 자체는 문제없이 잘 된 것 같습니다. glib-compile-scheme을 수동으로 실행시켜서 해당 문제를 해결하고 나니 아직 다른 문제는 생기지 않습니다.

emptynote의 이미지

제가 다른 배포판 유저보다 젠투 유저분들을 경외하는 이유는

컴파일을 기본으로 하는 분들인지라

어지간한 컴파일 에러쯤은 위에 보시면 아시겠지만 대충 자체 해결이 가능한 분들이기때문입니다.

>>>>>> 꼬리붙이기

웹 서비스만 해도 주변에 찾아보면 만들거 많습니다.

허구 헛날 리눅스 설치를 반복하는것 보다 리눅스를 활용하여 이런거 만들어 주는것이 더 중요하지 않을까 합니다.

사지방에서 엑티브 엑스 논란이 있는 인강 사이트가 있는데

만약에 웹 표준을 지키는 인강 사이트가 오픈 소스로 공개가 되었다면

비용을 줄이기 위해서 공개된 오픈 소스를 이용하여 인강 사이트를 구축하지 않을까해요.

babbab의 이미지

>6. 2, 3년간 이런 식으로 리눅스를 설치, 사용하는 게 교육적으로 상당히 도움이 되는 것 같기는 합니다. 그런데 그 한계 효용도 체감하는 게 사실이고, 7년, 8년씩 이런 일을 하는 게 무슨 의미가 있나 싶어지더군요. 이 시점에 몇 시간을 소모했는데 제가 얻은 건 한글이 되고 터치패드가 반응하는 멀쩡한 랩탑이거든요.

여기에 대해 한마디 하고 싶은 얘기가 있는데, 컴퓨터를 더 정말 잘하셔서 새컴파일러나 새프로그램잉언어를 만드는 능력이 있어 만들었다 해도 의미는 없을 겁니다. 새컴파일러나 새언어를 만들었어도 새 세상이 오거나 세상을 바꿀 획기적인 일은 아닐 거라 보죠 세상은 안변할거라 봅니다. 단지 리눅스를 컴파일 하는걸 취미나 여가생활로 즐긴다는 것이지요. 그렇게 생각합니다.

Stephen Kyoungwon Kim@Google의 이미지

저는 소프트웨어 엔지니어고 2 ~ 3년 정도 새로운 경험 하면서 알게 되었던 내용은 도움이 많이 되었습니다. 그런데 비슷한 일이 7, 8년 반복되니까 그다지 도움이 되지도 않고 그렇다고 딱히 지적으로 새롭지도 않아서 흥미도 생기지 않는단 얘기를 한 것 뿐입니다.

냉정하게 말해서 링크드인이나 페이스북 같은 엔터프라이즈 환경에서 SRE를 하는 것도 아니고 기껏 개인 컴퓨터에 리눅스를 설치하는 데 무슨 대단한 기술적인 도전이 있나요? 그것도 7, 8년씩이나 반복하면서 크게 배울 만한? 그래서 남겨두신 댓글의 핵심이 뭔지 모르겠네요.

저는 기회 비용으로 다른 일을 7, 8년 똑같이 한다고 얘기한 적이 없습니다. 설령 그렇다 해도 컴파일러에 7, 8년 투자하는 건 충분히 가능한 얘깁니다만.

그리고 "그럼에도 불구하고 나는 즐거운데"라고 반론하실 수도 있겠습니다만, 애초에 저도 저는 이미 별로 그런 생각이 안 든다는 얘기였을 뿐이고요. "나는 즐거운데" 정도가 남에게 얘기할 수 있는 한계라고 생각합니다. 그걸 넘어서 일반화 할 만한 근거는 별로 안 보이는 것 같습니다. 개인 컴퓨터 리눅스 시스템 관리는 그리 어려운 일, 이를테면 구글이나 페이스북 같은 회사가 그거 때문에 연봉 수억씩 지급할 일은 아니죠.

"세상을 바꿀 획기적인 일은 안일" ('아닐'이 맞는 표기입니다만) 거라고 그러시는데, 안드로이드를 초창기부터 시작해서 지금까지 한 사람들은 어떻게 생각하세요? 여태도 거기는 사람을 계속 고용하고 있습니다. 일이 계속 생기니까요. 그거랑 개인 컴퓨터 리눅스 셋업 하는 게 나란히 비교 가능하다고 생각하세요? 전자는 누구라도 몇 년 정도는 매번 새로운 기술적 도전을 마주할 만한 분야고, 젠투를 개인 컴퓨터에 올리는 건 그 정도는 아니죠.

babbab의 이미지

크게 의미를 둬 크게 기대하다 포기하지말고 여유롭게 천천히 가시라고 적은 글이었습니다 기술이 좋은지 그런지는 쟤가 어떻게 압니까?

Stephen Kyoungwon Kim@Google의 이미지

여기에 대해 한마디 하고 싶은 얘기가 있는데, 컴퓨터를 더 정말 잘하셔서 새컴파일러나 새프로그램잉언어를 만드는 능력이 있어 만들었다 해도 의미는 없을 겁니다. 새컴파일러나 새언어를 만들었어도 새 세상이 오거나 세상을 바꿀 획기적인 일은 아닐 거라 보죠

이게 babbab님이 쓴 이야기인데, 거기서 어떻게 다음 결론이 도출되지요?


크게 의미를 둬 크게 기대하다 포기하지말고 여유롭게 천천히 가시라고 적은 글이었습니다 기술이 좋은지 그런지는 쟤가 어떻게 압니까?

주위에서 누가 "아, 오늘 하루 힘들었다"고 하면 거기다 대고 "그게 뭐가 힘들어?"라고 말하시진 않으시죠? 그것도 그 일이 힘들 만한 일일 때도요. babbab님의 첫 댓글은 그렇게 들립니다. 두 번째 댓글로 그렇게 유기적으로 연결되지 않습니다. 저는 그런 반응을 결례라고 생각하는 거고요.

babbab의 이미지

>세상은 안변할거라 봅니다. 단지 리눅스를 컴파일 하는걸 취미나 여가생활로 즐긴다는 것이지요. 그렇게 생각합니다.

글의 일부를 빠뜨리고 다른뜻으로 들렸다하면 안되죠. 이게 오히려 결례아닙니까?

Stephen Kyoungwon Kim@Google의 이미지

논리적이 점프인 건 마찬가지에요.

babbab의 이미지

6. 2, 3년간 이런 식으로 리눅스를 설치, 사용하는 게 교육적으로 상당히 도움이 되는 것 같기는 합니다. 그런데 그 한계 효용도 체감하는 게 사실이고, 7년, 8년씩 이런 일을 하는 게 무슨 의미가 있나 싶어지더군요. 이 시점에 몇 시간을 소모했는데 제가 얻은 건 한글이 되고 터치패드가 반응하는 멀쩡한 랩탑이거든요.

2, 3년간 리눅스를 설치 하는 게 무슨 의미가 있나 싶어지더군요. 멀쩡한 랩탑이거든요.

Stephen Kyoungwon Kim@Google의 이미지

남의 글을 읽고 이해하거나 자신의 생각을 글로 표현하는 데 익숙하지 않으신 분인 것 같은데, 님의 첫댓글은 마지막 한 문장이 빠지거나 말거나 의미 차이가 크지 않습니다. 그게 일반적으로 한 문장을 빼는 게 의미 차이가 없다는 주장은 아닙니다.

babbab의 이미지

글로 쓰는 표현이 언제나 자신의 생각과 감정을 적절하게 전달할수는 없겠지요.
차이가 크지 않다고 하셨지만 내용의 작은 차이에서 의미가 와전됩니다.
> 의존관계가 깨지는 경우가 너무나도 허다해서
> 제가 얻은 건 한글이 되고 터치패드가 반응하는 멀쩡한 랩탑이거든요.
이렇기 때문에 리눅스는 취미나 여가 시간으로 하는 것입니다. 누가 working system을 일일히 컴파일 합니까? 취미로 하는거지.
>2, 3년간 이런 식으로 리눅스를 설치, 사용하는 게 ~ 7년, 8년씩 이런 일을 하는 게 무슨 의미가 있나 싶어지더군요
저도 그렇게 느끼고 있습니다.

Stephen Kyoungwon Kim@Google의 이미지

말씀 감사합니다. 의사소통이 매끄럽게 되지 않았던 것 같습니다. 편안한 하루 되세요.

emptynote의 이미지

두분 감정 싸움으로 가셨으니 잠시 휴식기 가지시기 바래요.

지나고 나면 다 지나갑니다.