이 블로그는 방문자 통계를 위해 티스토리 기본 기능과 Woopra를 사용합니다. 원하지 않으신다면 사용하시는 웹 브라우저에 내장된 DNT 헤더를 켜고, JavaScript를 끄셔도 무방합니다.
이 블로그 방문자의 약 60%는 네이버 검색을 사용하십니다. 을 이용하시면 더 유용한 정보를 쉽게 얻게 되실 수도 있습니다. [mediatoday]
« 2018/07 »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
블로그 이미지
제가 주제인 블로그... 그냥 주제 없는 블로그입니다. 전공 분야나 예전 관심 분야 등등에 관한 글이 우선입니다만, 두어 문단을 넘길 만한 글이라면 대강 정리해 기록합니다. 학부생입니다. 트위터에서 볼 수 있습니다. http://aurynj.net/ 어­리


 
 

페도라 19로 늦은 업그레이드

Sablog Models/시스템 | 2013.10.11 17:39 | Posted by 어­리

뭐 특별한 내용은 아니고 업그레이드 후기 및 잡설. rpmfusion 관련 문제도 꼬이고, 리눅스에서 개발할 일도 없어서 꽤나 오래 페도라 업그레이드를 안 하고 지냈다. 거의 반 년. 그러다 이제 슬슬 방학도 끝났고, 새 학기 접어들어 뭔가 시작하려다 보니 네이티브를 안 쓸 수가 없었다...-_-; 물론 새 학기라서 뭔가 삽을 뜰 수 있으리라고 생각한 건 오산이었다.

무튼 우선 rpmfusion 문제를 해결했다. 그냥 --nogpgcheck을 돌렸는데, 지난번에 fedup으로 업그레이드하면서 남은 rpmnew 파일이 gpgcheck=1로 되어 있어서 yum이 이러지도 저러지도 못하는 상황이었다. /etc/yum.repos.d에서 rpmnew 파일을 직접 수정해야 했다.(지금 fedup은 gpgcheck=0을 유지하고 업그레이드해 주기 때문에 이런 문제는 없다.) 그리고 나서야 마음놓고 모든 패키지를 fedora 18 최신으로 올렸다. gnome-shell이 버전 3.6.3으로, ibus이 1.5.3으로 올라갔다. 당장 나를 매우 골치아프고 불편하게 만들던 이 둘의 속도와 잔버그(예: 레이아웃 전환 중 포커스 잃음)들은 많이 개선되었다. 물론 속도는 여전히 불편하더라. 그래도 fedup 돌리기 귀찮아서 몇 주를 더 썼다.

그리고 지난 7월에 나온 fedora 19. 어제 드디어 fedup --network 19 --disablerepo fedora-yumex를 돌렸다... timlau/yumex가 fedup을 지원하지 않는 건가? 어찌됐든 1Mbps도 안 나오는 속도만 아니었다면 스트레스는 좀 덜 받았을 것 같다. 오늘 새벽이 다 되어서야 리부트를 시키고 자고 일어나니 업그레이드가 끝나 있었다. 예의 gnome-shell은 3.8.4, ibus는 1.5.4인데, 모든 버그와 레이턴시가 날아갔다. 로그인 속도도 빨라지고 심비어 gnome-tweak-tool에서 Alt_R을 붙여도 마냥 빠르다! 그 밖에도 업그레이드 릴리즈 이후 석 달 지난 배포판답게 몇 가지 바뀐 패키지가 있다. 당장 찾은 건 glew 1.9.0인데 많은 걸 비교분석할 처지는 아니고... git이 아직 1.8.3인 이유는 잘 모르겠지만 조만간 업데이트되겠지. 네트워크 제어판이 핫스팟 키프레이즈를 처리 못 하고 다운되던 버그도 수정.

결론부터 말하자면 페도라는 여전히 좋은 배포판이고, 더욱 좋아지고 있다. 나는 아무래도 요즘 페도라의 업데이트 정책이 잘 유지될 수 있을까 걱정하던 중이었다. 내가 우분투를 쓰지 않는 이유는 우분투의 기원인 데비안 때문인지, LTS와 LTS가 아닌 판의 안정성 및 업데이트 차이가 너무 심한 것이 이유이다. 물론 오픈소스 소프트웨어들이 점점 신나게 발전하고 있고 여기에 안정적으로 대응하기 어렵다는 사실은 부정할 수 없다. 그 때문인지 페도라 17, 18에서는 배포판 업그레이드와 빠른 업데이트의 중간적 대응이 흔들리는 느낌이었다. 하지만 일단 올라와서 보니 그건 내가 페도라 18을 오래 쓰느라 가진 기우였던 것 같다. 페도라 19를 초기부터 쓰고 지금은 20 알파를 쓰는 지인에 의하면 지금 페도라는 충분히 안정되어 있다고.

1. 고장의 기미가 보이면 그 하드웨어를 고치려 들지 말고, 무슨 수를 써서라도 사용 시간을 줄이고 중요한 것부터 백업부터 해야 한다. 노력해서 하드 디스크를 고쳐서 원만하게 쓴다고 돈이 아껴지는 게 아니다. 어떤 자동화된 도구를 쓰든 자칫하면 엄청난 시간 낭비로 이어져 전혀 절약이 되지 않을 뿐더러, 대개의 경우 더 심각한 고장 상황을 초래하고 더 많은 데이터를 잃게 되는 원인이 된다. 논리적 오류가 물리적 오류로 발전하고, 물리적 오류가 번져 나가고... 이런 상황은 막아야 하니까 말이다. RAM이든 HDD이든 저장소는 예나 지금이나 원시적인 방식으로 돌아가는 것을 알 수 있다. 데이터 밀도가 높아지면 결함에 대한 내성은 낮아지기 마련이고, 안정적인 데이터 관리에는 돈이 필수적이다. 슬픈 사실이다.


2. USB 외장 하드인 경우, 디스크의 케이스나 시스템의 USB 포트에 결속 불량이 없는지 점검한다. 모든 포트가 정상이면 좋겠지만, 어떤 포트는 소켓이 덜렁거려서 전원 공급이 불안정하고, 어떤 포트는 전원 공급은 잘 되는 주제에 데이터 통신만 먹통일 수 있다. 평소에 습관적으로 많은 기기를 고장내는 경우 (내가 그렇다) 이런 부분도 허술해져 있어서 2차적인 문제를 불러오는 경우도 한몫하기도 한다. 이 점검은 하드 디스크 수리와는 별개이지만, 평소에 점검하지 못했다면 점검해 보자. 한편 결속 불량과는 별개로, 흔들림이 없고 시원한 곳에서 작업하는 것이 필수적이다.


3. 드라이브 속성에 들어가 인덱싱을 끈다. 디스크가 현상 유지를 하는 데 상당한 도움이 된다. 리눅스에서 ntfs-3g를 쓰면 윈도우에서 꺼지지 않는 desktop.ini나 thumbs.db 생성은 막을 수 있지만, 윈도우에서 작업하는 것에 비해 하드 디스크에 전반적인 무리를 주면서 오류 정정 성능은 떨어지는 것으로 보인다. 그러므로 이 방법은 하드 디스크에 단 하나의 파일도 쓸 수 없고, 임의로 몇 개의 파일을 잃어버려도 어쩔 수 없는 때에만 적용한다. 예를 들면, MFT 근방에 에러가 크게 났고, 중요한 파일은 윈도우에서 미리 백업한 경우.


4. 디스크가 내는 소리에 귀를 기울인다. 디스크는 버저 소리도 내지만, 헤드를 움직이는 스테핑 모터가 작동하는 소리, 암이 흔들리는 소리, 디스크를 돌리는 스핀들 모터가 작동하는 소리도 중요한 정보이다. 어떤 물리적인 불량 섹터는 헤드가 지나가는 순간 헤드와 칩 전체에 쇼크를 주게 되는데, 이는 예기치 않은 통신 두절 혹은 그 이상, 이를테면 물리적 불량의 확산을 초래할 수 있다. 이 때 헤드는 디스크 위에 떨어지면서 칠판을 긁는 듯한 마찰음을 낸다. 이 마찰음은 파일을 정상적으로 읽고 있는 동안의 소리와 구분해 내기 약간 까다롭다. 문제를 일으키는 파일은 꼭 파악해서 다른 파일을 모두 백업한 이후 시간이 남아 돌지 않는 이상 다시 읽게 시키지 않는다.


5. 물리적 불량의 쇼크로 통제 불능이 된 경우, 디스크가 계속 돌아가면서 이 마찰음이 지속되고 심지어 타는 냄새까지 나기도 한다. 이 때는 디스크와 헤드가 못 쓸 만큼 정도로 상하지 않도록 당장 전원을 끊어야 한다. 백업 중에 이런 현상을 수십 번 겪게 될 것이고, 헤드는 충격으로 수명을 다하게 된다. 읽기 중에 전원을 끊는 것도 헤드와 디스크에 충격을 주고 물리적 불량을 초래하지만, 그래도 전원을 끊는 게 낫다. 이후에 전원을 공급했을 때 디스크가 회전하지 않는다면 헤드가 그 자리에 주저앉은 것인데, 살아나기는 글러먹었다고 보면 되겠다. 그래도 하드 디스크가 무덤에서 뛰쳐나오는 날이 가끔 있는데 당연히 기회이고 노하우가 필요하다. 예를 들자면, 스핀들을 신경쓰며 관성을 이용해 수평 방향으로 약한 충격을 주면 암이 빠져나오면서 디스크가 돌기 시작할 것이다. 모터를 정렬하든 헤드를 살리든 하드를 뜯는 것은 금기이다.


6. 같은 하드 디스크를 쓰더라도 외장 하드는 내장 하드보다 수명이 짧을 수밖에 없다. 외장 하드의 경우 디스크에 결함을 초래할 가능성들이 훨씬 많은 곳에 산재해 있다. 만약 서버에 2차 저장소를 추가한다면 내장 하드로 해야 한다. 맥 미니라거나 노트북이라거나 하는 이유로 내장 하드 도입이 불가능하다면 전원 위기 대비책을 갖춘 도킹스테이션을 고려하라. 외장 하드 케이스는 서버의 환경에서 하드 디스크에 악영향만 끼치는 존재이다. 하드 디스크가 ntfs로 포맷되어 있고 서버 운영체제가 리눅스인 경우는 거의 최악이다. 외장 하드라고 해도 고장이 나기 시작한 시점에서 백업을 시작할 경우 가능하다면 내장 하드로 바꿔서 작업을 하는 게 좋다. 돈이 있고 물리적 문제가 치명적이지 않다면 우선 이미지를 뜨는 게 최선이다. 물론 카피가 날아갈지도 모르지만.


7. 역시 평소에 백업을 잘 하는 것이 제일 중요하다! 프로그램에 따라 설정 파일이나 아카이브가 중요한 경우가 있는데, 이것들의 위치를 알아 놓는 것이 좋다. 평소에 백업을 한다면, 유저의 홈 폴더 전체를 주기적으로 백업하는 것이 현명하다. 사용자가 중요하게 여길 파일은 AppData나 Documents에 있는 경우가 다반사이므로 웬만하면 자동으로 백업이 되기 때문이다. 역으로 홈 폴더를 정리해서 백업할 만한 깔끔한 상태를 유지하는 것도 중요한 일이 된다. 동기화를 할 수 있는 여건인데 시간이 없다고, 디스크에 무리가 간다고 동기화를 하지 않는 것만큼 미련한 짓은 없다. 돈이 없다고 백업 디스크를 장만하지 않는 것은, 슬프지만 그것 또한 미련한 짓이다.


8. 제품에 결함이 없다면, 어쩔 수 없는 고장은 없다. 평소의 백업만큼 평소의 디스크 건강 관리와 시스템 건강 관리가 중요하다. 디스크 검사와 정리, 조각 모음도 주기적으로 수행한다. 노트북은 모든 면에서 데스크탑보다 하드에 무리를 주는데, 노트북을 켠 채로 움직인다거나, 심한 발열을 방치한다거나, 파일 시스템에 문제를 일으킨다고 알려진 바이러스나 시스템 유틸리티 버그를 회피하기 위해 노력해야 한다. 그리고 청결한 환경. 하드 디스크에 숨구멍이 있는 건 널리 알려진 사실이다. 일반적인 섬유 먼지는 물론, 자동차의 배기 가스, 책 먼지, 탈취제 스프레이의 비말 등 작은 입자 중 하드 디스크에 영향을 끼치지 않는 것은 없다. 담배 연기는 특히 치명적이다. 온도나 자기장에 비해 먼지에 대해서는 하드 디스크를 부족하게 배려하게 되기 쉽다.

노트북에 설치를 잘못했다. 근데 시스템 날리기가 너무 귀찮다.


처음에는 anaconda로 해결을 볼까 했는데, anaconda는 루트 디렉터리를 꼭 날려야겠단다.

직접 커널 컴파일하는 건 그것대로 귀찮을 수가 없다.


yum을 쓰는 방법을 고려해 봤다.

http://linux.die.net/man/5/yum.conf


1. $arch 변경

export arch=x86_64 && yum makecache

yum은 uname -m으로 커널에서 값을 받아 arch를 결정한다. 소용이 없다.


2. repo 수정

/etc/yum/repos.d/의 $basearch 수정.

yum은 현재 arch와 비호환되는 repo를 무시한다. i386을 x86_64로 오버라이드하는 옵션이 없으니 소용이 없다.


귀찮았다. yum을 쓸 일도 아니었다.


3. rpm

rpm에는 --ignorearch가 있다. kernel-?.x86_64.rpm을 받아서 rpm -i로 설치했더니 특효. 왜 진작에 이 방법을 안 썼는지...


grub2-mkconfig로 /boot/grub2/grub.cfg를 수정했고, 부팅은 쉬웠다. 문제는 또 yum이었다; yum은 다시 32비트 커널로 부트했을 때에만 돌려야 하는 게 귀찮았다. 응용 프로그램이 32비트 어드레싱을 쓰는 건 변함이 없지만 램이 늘었으니 프로그램 수가 늘고 프로그램이 갖는 여유 램도 약간 늘었다. 그뿐이다.


윈도우 파티션 조각 모음을 오래 안 한 탓에 메인 하드디스크가 돌아가셔서 교체. OS 새로 설치. 쓸모없다.

Fedora 18에 와서 ibus의 고질적인 문제는 크게 고쳐지지 않았다. 한글 합성이 커서를 따라다니는 건 여전하다. 물론 일부 프로그램에 즉시 한글 입력이 안 되던 현상은 개선되었는데, 이는 GNOME 3.6이 integrated internal ibus를 갖고 있고 외부 ibus를 허용하지 않는 방식으로 해결된 것 같다.


문제는 노트북, 흔히 그렇듯 Alt_R과 Ctrl_R을 한/영 키와 한자 키로 쓰고 있었다. 한자 키야 여전히 ibus-hangul 세팅에서 변경 가능하지만 (이건 왜 통합 안 했나 모르겠다) 입력 방식 변경은 gnome 쇼트컷 설정에 통합되었다. 오 마이 갓. Alt_R은 등록 불가능.


Fedora 18 GNOME 3.6에서 입력 방식 변경 키를 단독 특수 키로 바꾸는 방법은 그리 어렵지 않다. Alt_R을 한/영 키로 쓰는 방법을 설명한다.


1. 입력 소스 전환 단축키와 구성 키를 제거한다. 이곳의 구성 키로 지정할 수 있는 Alt_R은 쓸모없다. 한/영 키가 있는 외부 키보드를 쓸 경우 이 과정을 생략한다.



2. 그놈 트윅 툴(gnome-tweak-tool)을 열고 입력 메뉴를 선택, 마지막의 입력 소스 전환 특수 키를 Alt_R로 바꾼다.



3. 실행 창(기본 Alt+F2)에서 r을 실행해 그놈 세션을 재시작한다.


영->한 전환 후 첫 입력이 무조건 영문으로 인식되는 에러가 있긴 하지만 이클립스에서도 쓸 만한 Alt_R이 되었다. 예전에 end 키 누르는 습관이 붙었는데 다시 살려야 하나 싶다.ㅇ>-<

64비트 MinGW/MSYS 팁

Sablog Models/시스템 | 2012.10.28 18:39 | Posted by 어­리

몇 달 묵은 글인데 영원이 묵히는 건 아니다 싶어 마무리함.


윈도우 8도 나왔고

이전부터 MS에서 정책적으로 버리던 Win32 static MSVCRT 네이티브 컴파일러 인기도 떨어지지 싶은데

Cygwin에 비해 단점도 많지만 MinGW는 아직 써야겠다.


하지만 배포판의 현실은


MinGW/MSYS configure 옵션은 *-*-mingw32 계열. 앞은 호스트, 뒤는 타겟.

i686-pc-mingw32

i686-w64-mingw32

x86_64-pc-mingw32

x86_64-w64-mingw32

참고: http://gcc.gnu.org/install/specific.html


배포되는 GCC 바이너리는 32비트 호스트 32비트 타겟이다. 64비트 시스템에서 보람차게 컴파일해 봤자..;

우선 64비트 타겟의 크로스 컴파일러를 만들고 다시 64비트 컴파일러를 만드는 방법이 상책이다.

방법은 검색하면 나옴

근데 GMP MPFR MPC ISL 필요한 건 어쩔 거야..가 아니라 결국 두 번 컴파일 해야 함

참고: http://gcc.gnu.org/install/prerequisites.html


중간에 커널 갈아치울 필요가 없다는 점에서 윈도우 NT커널에 감사해야지

OS 재설치의 끝, grub 삽질기

Sablog Models/시스템 | 2011.08.21 21:25 | Posted by 어­리

난 가난한 놈이라 (?) 하드 디스크 하나에 OS 3개를 설치해 쓰고 있고, 더 쓸 공간을 남겨 놓고 있다.

파티션 번호 1/P 2/P 3/P 4/E 5/L 6/L 7/L 8/L 9/L 10/L
용도 /boot NT loader C:\ D:\ E:\ (fedora)/ swap /home (opensuse)/
이런 변태짓이 가능하다는 것부터가 예전보다야 덜 가난해졌다는 뜻이지만 (...)

C드라이브에는 Windows 7 Ent 64b가 설치되어 있는데, 윈도우가 이렇게 자리를 잡기까지 3번이나 재설치하고 한번은 날려먹은 백업 파티션을 복구하기까지 꽤나 험난했다-_-; 이 과정은 상기하기조차 싫을 정도다.

페도라와 오픈수세는 /boot, swap, /home을 공유한다. /boot는 일부러 P파티션으로 뺐다. 이럴 필요까지는 없었지만 내가 앞으로 뭘 더 설치할지 모르기 때문에. 이조차 페도라 먼저 설치하고 오픈수세를 설치하니 페도라의 grub이 완전히 날아갔는데 페도라 부트옵션을 몰라서-_- /boot 백업하고 페도라를 /boot 백업 없이 재설치. (/boot 분리가 도움이 되었어! 된 건가?) 루트를 포맷 안 했더니 저널링이 엉켜서 또 재설치. 그리고 페도라의 grub 메뉴에 오픈수세 kernel+initrd를 추가했다. 이후 페도라에 이런저런 프로그램 설치해 한참 썼다.

한편 최근에 동생이 컴퓨터에 자기도 리눅스를 하나 설치해 달라는데, 구성이 변태적인 시스템이라 그런지 제대로 돌아가는 라이브 CD는커녕 설치전용 CD조차 하나도 없었다. 결국 젠투를 설치해 보려고 했는데 첫 젠투 설치를 성공할 리가 있나. 정확히 7번째 시도 끝에 그나마 stage3과 portage를 받고 genkernel를 이용해 젠투와 몇 가지 서비스를 돌리는 데 성공했다. 하지만 모듈을 강제로 로드해서 끼워맞췄더니 xorg-server도 못 설치하잖아? 안될거야 아마. 그나마 내 경험에는 도움이 되었다. 막상 동생에게는 도움이 못 되었지만. 젠투 설치 과정은 핸드북에 있으니 생략.

그런데 오늘 내 노트북을 살펴보니 내가 설치한 오픈수세가 32비트 전용. 6GB RAM 중에서 2.6GB 정도밖에 쓰지 않고 있었던 것이다! 어쩐지 성능이 멋지더라니. 결국 64비트 CD를 구워 오픈수세를 재설치했고 당연히 부트 파티션은 날아갔다. 여기서 내가 그냥 오픈수세의 gfxmenu를 썼으면 상관이 없는데 나는 페도라 grub 기본메뉴가 좋았기 때문에, 오픈수세 설치 전에 부트 파티션 내용을 백업해 놓고, 설치가 끝난 후에 붙여넣었다. 오픈수세 커널만 교체. ㅋ... 당연히 grub 위치가 바뀌었으니 부팅이 안 된다. 페도라 라이브 CD로 부팅해서 대강 이런 식으로 작업했다.

더보기


이렇게 했더니 페도라 부트로더가 시작되면서 모든 OS가 잘 부트되기는 개뿔 윈도우만 잘 부팅되고 있다. 내 능력의 한계로 인해 그냥 페도라를 밀고 재설치하거나, 오픈수세를 재설치하고 오픈수세의 grub을 쓸 예정. 근데 페도라는 grub2잖아? 야 신난다.

ibus, 아직은 꽤 모자라다

Sablog Models/시스템 | 2011.08.09 16:07 | Posted by 어­리

최근에 공용 컴퓨터를 하나 설치하는 일을 맡게 되었다. 우선 바이오스 락을 걸었지만, 학생들이 특정 학습 목적으로만 써야 하는 컴퓨터이다 보니 막아야 할 것이 한두 가지가 아니었다. 게다가 중고를 갖다 놓아서 시스템 사양이 썩 좋지 않다 보니 윈도우 XP도 겨우 돌리는 수준이었고, 그나마 윈도우 XP를 돌린다고 해도 시스템 감시 프로그램을 얹을 만한 형편이 안 되었다. 그런 시스템 감시 프로그램따위 핵이 난무하고 말이다.

그 시스템에는 리눅스 디스트로를 하나 설치해 보기로 했다. 512MB DDR 한 장 붙어 있었으니 당연히 페도라는 설치부터 안 되었고, 우분투는 그럭저럭 돌아갔지만 그래픽 카드가 얼마나 구형인지 (유니티는 당연히 꺼지고) 주사율을 60Hz로 맞추어도 화면이나 창이 깜박였다.[각주:1] 결국 패키지 몇십 개 지우고 xfce-desktop 설치로 해결했다. 그 시스템은 주분투로 잘 돌아가고 있다.

한편 OS 설치 끝나고 사용자 계정 분리한 후에 두 번이나 불만이 접수되었다. 첫 문제는 금방 해결했다. 그 학습 사이트가 플래시로 만들어져 있었는데 플래시 플레이어를 설치하지 않은 것이다. 윈도우 용 크롬에서 잘 돌아간다는 사실때문에 테스트 과정을 건너뛴 것이다. 그런데 두 번째 문제는 달랐다. 플래시에서 아예 아무것도 입력이 안 되고 있었다. 아니, 정확히 말하자면 시스템 레이아웃은 입력이 안 되고 ibus 키 문자는 강제로 입력되었다. 알파벳만 입력되어야 하는데 한글만 입력되고 있었다.


리눅스를 잘 다루는 편은 아니라서 이 문제가 ibus[각주:2] 때문임을 파악하는 데 상당한 시간이 걸렸다. ibus는 애당초 버스같은 아키텍처로 설계되어서, 시스템 레이아웃을 사용할 때에는 입력 가능한 곳에 문자값을 넘겨 주고, ibus-hangul과 같은 엔진을 사용할 때에는 키값을 받은 엔진이 문자값을 푸시해 준다.[각주:3] 그런데 그 플래시 파일은 한글이 입력되면 안되기 때문에, 가상의 입력창을 만들어 놓고 스스로 키값을 가져와 문자값을 입력창에 넣는 방식으로 설계되었을 것이다. 나도 만들어 본 방식이다. 그러니 제대로 작동할 수가 없다.

어쨌든 지금까지 개인적으로 ibus 때문에 발견한 문제는 다음과 같다.

  • 입력 언어 전환 키를 Alt_Release 조합 없이 Alt_R로 설정하면 로드 즉시 죽음
  • 자체 입력기를 가진 플래시 프로그램에 키값을 주지 않아 키보드가 작동하지 않음.
  • 자체 키 이벤트 분석기를 가진 게임 프로그램에 키값을 주지 않아 키보드가 작동하지 않음.
  • 일부 웹 페이지 내에서 포커스가 없으면 단축키가 작동하지 않음.
  • 심지어는 WINE도...(후략)

등등... (ㅋ) ibus가 정말 깔끔해서 좋기는 한데 못 쓰는 경우가 너무 많다.

채소 손질하면서 광선검을 쓸 수는 없죠. 그러니까 여러분 nabi 쓰세요 nabi.

  1. 그렇다. 싱글 버퍼 탓으로 추정. 물론 요즘 GNOME은 그것대로 문제가 많지만. [본문으로]
  2. Intelligent Input Bus. (2008-) SCIM에 비해 자잘한 문제가 적고 막강하다. 개념적으로는. 그래서 요즘 리눅스 배포판에는 ibus를 기본 입력기로 넣는 게 유행이다. [본문으로]
  3. 일반적으로 입력기는 콜백 기반이고 키값과 문자값을 모두 내놓는데, ibus는 혼자 똑똑해서 날뛴다는 뜻 [본문으로]
Windows Vista Home Basic 환경 [+ T5 PMP 테스팅]을 기준으로 작성되었습니다. 제 환경이죠. 'ㅅ'

오늘은 집안을 유비쿼터스 환경으로 만드는 방법을 소개합니다.
정확히는 별도의 무선 공유기 없이 유선인터넷을 무선인터넷으로 바꾸는 방법입니다.

모두가 알다시피 무선 랜 카드를 가진 모든 장치는 이미 구성된 무선 네트워크에 접속할 수 있습니다. 이 네트워크는 유선으로(아마도, 위성 전화 제외) 연결된 어떤 네트워크 라우터에서 만든 것이죠. 그러나 무선 애드혹(ad hoc) 네트워크라는 개념을 탑재하면 무선 랜 카드가 장착된 PC에서도 직접 무선 네트워크를 만들 수 있습니다.
한편 랜 카드가 둘 이상 있고 하나가 인터넷에 연결된 경우, 다른 랜 카드에 연결된 시스템과 인터넷 연결을 공유할 수 있습니다. 이런 기술은 마이크로소프트 윈도우즈에서 인터넷 연결 공유 (ICS)로 실현됩니다.

따라서 유선 LAN 위의 컴퓨터 하나에 인터넷을 연결하면 모두 인터넷을 쓸 수 있는 것과 같은 원리로, 무선 LAN을 통해, 무선 ad hoc 네트워크 중 하나에 연결된 인터넷을 공유할 수 있습니다. (이와 비슷하게 요즘은 3G 망에 연결된 기기에서 801.11 연결을 통한 인터넷 사용을 지원하는데, 이것을 테더링(Tethering) 또는 와이파이 핫스팟(Wi-Fi Hotspot)이라고 하죠.)

참고: http://en.wikipedia.org/wiki/Wireless_ad_hoc_network
http://en.wikipedia.org/wiki/Internet_Connection_Sharing

시작하기 전에.
ICS는 호스트 컴퓨터를 공유기로 사용하는 방법입니다. 따라서 호스트의 IP는 내부적으로 192.168.0.1로 정해집니다. 또, 특정 도메인 컨트롤러, DNS 서버, 게이트웨이, DHCP 서버와 함께 ICS를 사용할 수 없습니다. 윈도우 98 시절부터 쓰이는 메인보드/무선 랜카드 벤더 소프트웨어가 이런 것입니다.
별도의 공유기에 연결된 시스템에서 ICS를 사용할 경우 공유기 내부 주소를 192.168.1.* 따위로 변경해야 합니다.

혹은 정적 IP 주소를 필요로 하는 네트워크라면 무선 기기에 별도의 정적 IP를 할당받으십시오. 이 때 시스템은 공유기가 아니라 스위치(허브)로 작동하며, ICS 공유기가 아닙니다. 

1. 새 ad hoc 네트워크 만들기.
제어판 > 무선 네트워크 관리 (또는 제어판 > 네트워크 및 공유 설정 > (왼쪽 메뉴) 무선 네트워크 관리
이곳에서 [추가] 버튼을 누릅니다.

보시는 바와 같이 [애드혹 네트워크 만들기]가 있습니다. 계속 진행합니다.

패스워드는 보안 옵션에 맞게 하는 것이 중요합니다.
어쨌든 컴퓨터에 문제가 있지 않다면 이렇게 네트워크 설정이 끝나는데,
마지막 스크린샷 아래쪽에 강조해 놓듯 '인터넷 연결 공유 켜기'를 바로 수행할 수 있습니다.
제 결과는...

실패! 물론 되는 분들은 바로 될 수 있습니다.
어쨌든 제게도 애드혹 네트워크가 하나 생겼어요! 축하해 주세요!

네트워크 이름 및 보안 옵션 설정 중에 "이 네트워크 저장"을 체크하면,
컴퓨터를 켤 때마다 애드혹 네트워크를 만들게 됩니다.
애드혹 네트워크는 접속 명목으로 생성하게 되므로, 위의 우선순위 목록에서 제거하면 사라집니다.

인터넷 연결 공유를 당장 하지 않아도 되지만 우리에게 필요한 건 인터넷. (응?)
다른 경로로 인터넷 연결 공유를 시작할 수도 있습니다.

2. 인터넷 연결 공유 세부 설정.
제어판 > 네트워크 연결에서 인터넷에 연결된 네트워크를 하나 골라 '설정'에 들어갑니다.
'공유' 탭을 보면 인터넷 연결 공유에 관한 체크박스가 있는데 둘 다 체크하시면 됩니다.

하는 김에 공유 네트워크 관련 서비스가 모두 체크되어 있는지 점검해 줍니다.
결과는 어떨까요?
인터넷 연결 공유를 사용할 수 있게 설정하는 동안 오류가 발생했습니다. (오류 1114: DLL 초기화 루틴을 실행할 수 없습니다.)
이런 메시지가 발생한다면 당신의 컴퓨터에 문제가 있거나 ICS를 지원하지 않으므로 불가능!
공유기를 사용하고 있거나-_- 인터넷 연결 공유에 필수적인 서비스들이 켜져 있지 않다는 뜻입니다.

3. 관련 서비스 점검하기
일단 IP는 고정 IP가 아닌 유동 IP 환경이어야 합니다. 그래야 컴퓨터가 여러 개의 IP를 받아올 수 있습니다.
LAN 연결의 속성에서 TCP/IPv4 또는 TCP/IPv6의 속성으로 들어가서 자동으로 IP 주소 받기 선택.
또, 윈도의 인터넷 연결 공유를 사용하려면 필요한 게 있습니다. 랜 카드 말고도,
Application Layer Gateway Service
Network Connections
Network Location Awareness
Plug and Play
Remote Access Auto Connection Manager
Remote Access Connection Manager
Remote Procedure Call (RPC)
Telephony
이런 서비스가 윈도 시작 시에 자동으로 실행되어 있어야 합니다.
사실 1번을 하기 전에 이것부터 했어야 하는군요. 죄송합니다. 저 혼자 시행착오 겪기 싫어서 물귀신

일단 잠시, 이와 별개로 애드혹 네트워크의 상태를 알아보죠.
애드혹 네트워크는 당연히 ICS를 위한 것이 아니므로 ICS가 동작하지 않아도 멀쩡합니다.
로컬 파일 공유도 되고.
제어판 > 네트워크 및 공유 센터 > (왼쪽 메뉴) 네트워크에 연결
(트레이 네트워크 아이콘에서 바로 들어갈 수도 있습니다)

외부 무선 LAN 카드에서 이 신호를 인지할 수 있습니다. 신기한 애드혹이예요.

제어판 > 관리 도구에서 [서비스](%SystemRoot%\system32\services.msc)를 실행합니다.


(저야 당연히 DHCP Client와 Windows Firewall은 켜 놓고 있지만)
ICS 설정에서 오류가 발생했다면, 서비스들 중 적어도 하나가 꺼진 것을 볼 수 있습니다.


이것들을 모두 "자동", 아니면 "자동 (지연된 시작)"으로 바꿔 주고 재부팅합니다.

4. IPv6 주소 할당 문제 해결
위와 같은 조치에도 불구하고 에러가 난다면, 키보드의 [윈도 + R](실행) > eventvwr.msc
이벤트 뷰어를 실행시키면 (좌측 메뉴) Windows 로그 > 시스템에서 이런 로그를 볼 수 있습니다.
(오류) ICS_IPV6이 IPv6 스택을 구성하지 못했습니다.
(경고) ICS_IPV6이 바이트의 메모리를 할당하지 못했습니다. 시스템에 가상 메모리가 부족하거나 메모리 관리자에 내부 오류가 발생했을 수 있습니다.
(정보) Internet Connection Sharing (ICS) 서비스가 중지 상태로 들어갔습니다.
(정보) Application Layer Gateway Service 서비스가 중지 상태로 들어갔습니다.
이 문제가 나타나는 경우 IPv6 주소로 인터넷에 연결할 수 없는 경우일 수 있습니다.
일단, 제어판 > 네트워크 연결에서 인터넷으로 통하는 네트워크의 속성으로 들어갑니다.
네트워킹 탭에서 인터넷 프로토콜 버전 6(TCP/IPv6) 체크를 해제합니다.
다음, 위의 서비스 관리자(services.msc)를 실행.
IP Helper 서비스를 '수동' 또는 '사용하지 않음'으로 바꿉니다.

5. 인터넷 속성 변경
제어판 -> 인터넷 옵션(IE의 도구 -> 인터넷 옵션과 같음).
[연결] 탭에서 "전화 연결을 사용하지 않음"을 선택.
같은 탭의 아래쪽에 있는 LAN 설정 버튼을 클릭해서 자동 구성 체크를 모두 해제합니다.
(자동으로 설정 검색, 자동 구성 스크립트 사용 -> 해제)


이렇게 해서 모든 설명이 끝났습니다. 'ㅅ'
모두 즐거운 무선 인터넷 환경을 누리세요.