오늘의 글은 정말 말 많고 탈 많은 AMD(구 ATI)의 리눅스 지원에 대한 글입니다.


감정적으로 엄청 까는 글이므로 보시기 싫으신 분들은 봐주시지 않으셨으면 좋겠습니다. 까는 글이므로 그림이나 사진을 넣는 것을 최대한 뺴려고 합니다. 정말 화가 머리끝까지 솟구쳐서 하는 이야기이므로 AMD그래픽을 좋아하신다면 반대로 화가 나실 수도 있습니다.


우선 AMD로 인수되기 이전의 말 많고 탈 많은 이야기부터 시작합니다.


리눅스나 BSD 계열은 예전에는 많은 양의 3D 그래픽을 요구하지는 않았습니다. 그 정도의 3D 연산을 요구하는 프로그램이래봐야 CATIA (~v4) 정도? 였습니다. 그나마도 3D CAD프로그램은 워크스테이션 여러대를 이어서 돌리는 것이었으니 지금과 같은 직접적인 GPU연산을 필요로 하지는 않았습니다. 그냥 OpenGL가속에 도움이 되는 정도 였습니다. 물론 이 당시에 fglrx라는 놈이 ATI사에서 개발되어서 유닉스 기반 3D연산에 상당히 도움이 되기는 했습니다. 90년대의 3D CAD관련 글을 보면 이에 대한 글이 있을 정도로 fglrx는 고마운 존재였다고 합니다. 물론 ATI의 그래픽 중에서도 FireGL그래픽카드만 적용 가능했지만 당시의 3D CAD는 고가였고 전문가만이 사용가능한 프로그램이었습니다. 그 외의 3D 연산을 필요로 하는 것은 게임 정도였지만 당시의 유닉스는 게임을 돌릴 이유가 없었습니다. 애초에 3D게임도 많이 부족했습니다.제대로 된 3D 게임은 95년쯤에야 나왔으니까요.


그러던 어느날 리눅스 데스크탑이 시장에 나오고 갑자기 뜨기 시작했습니다. 하지만 이 당시에도 리눅스 데스크탑은 중요한 위치에 있지 않았고 3D 가속은 안중에도 없었습니다. 그 당시에는 멀티미디어가 주류였고 이 당시에 Mplayer 같은 놈들이 개발되어서 애용되어집니다. 3D 연산은 필요했지만 있으면 좋고 없으면 말고 수준이었습니다. 리눅스를 사용하는데 필수는 아니었으니까요. 리눅스 데스크탑이 나오고 X의 발전이 이루어졌지만 당시의 X는 2D 가속에 초점이 맞추어져 있었습니다. 그리고 각종 그래픽 칩셋의 프레임버퍼 드라이버들이 세상에 나와서 X에 들러붙게 됩니다. (nv, ati, tdfx, i810 등등의 이름으로 나왔습니다. 척 보기에도 어떤 그래픽드라이버인지 알 수 있지요?) 당시의 커널은 오로지 프레임버퍼만 제공했던 것으로 기억합니다. GUI뿐만 아니라 2D 프레임 버퍼도 X의 유저모드로 전부 제공했기에 xorg.conf 파일(X설정 파일)은 하나라도 잘못 설정하면 그냥 데스크탑 전체가 바보가 되버리는 어마어마한 양의 설정 파일이었습니다. 하지만 이것도 크게 중요하지는 않았습니다. 일단 GUI만 띄우는 데에도 엄청난 노력이 필요했으니까요. 물론 이 때에도 fglrx나 nvidia 같은 바이너리형 독점 드라이버들이 있기는 했습니다. 쓰는 사람만 썼기에 그렇지...


그러던 어느날....


2005년이었던 것으로 기억합니다. 아니, 2004년이었나? 오픈수세로 유명한 노벨이라는 기업에서 XGL이라는 것을 발표하고 공개를 했습니다. 그리고는 3D 가속환경하에서 엄청난 데스크탑 효과를 보여주며 GUI란 이런 것이라고 보여주게 됩니다. 지금의 윈도7,8의 창 효과정도는 버로우 시킬 정도의 화려한 효과였습니다. 사실 맥에서는 이와 비슷한 효과를 이미 사용하고 있었습니다. 이를 따라한 것이기는 한데, 역으로 말하면 리눅스 데스크탑에서도 맥처럼 상시 그래픽 가속이 가능하다는 이야기가 됩니다. 덕분에 리눅스 커뮤니티에서는 이를 적용하기 위해서 삽들을 뺴들기 시작했고 폭발하기 시작했습니다. 이후 이 3D데스크탑 효과기능은 Beryl등의 이름을 거쳐서 Compiz-Fusion이란 이름으로 나오게 되는데 이 당시의 삽질은 정말 어마어마했습니다. 각 리눅스 배포판들은 이를 적용하려면 XGL을 기존의 X를 버리고 설치해야 했는데 이게 꽤 엄청난 삽질이었거든요.XGL을 성공적으로 설치했다고 한들, 그래픽 드라이버가 DRI(즉, 직접 렌더링)이 지원되지 않으면 말짱 꽝이었습니다. 드라이버 소스가 공개되어있던 인텔을 제외한 다른 오픈소스 드라이버들은 DRI가 잘 안 되었고, 자신의 칩셋에 대해 잘 아는 회사들만이 드라이버를 내놓을 수 있었습니다. 이 때 빠르게 드라이버를 내놓은 곳은 여전히 fglrx란 이름으로 내놓았던 ATI였지만, 무슨 생각이었는지 Compiz가 말을 안 듣는다거나 커널패닉을 일으키거나 하는 이유로 말썽을 일으키게 됩니다. 반대로 Nvidia는 무슨 짓을 한 것인지, 굉장히 안정적인 드라이버를 내놓습니다. 지금도 비슷하지만 워낙 ATI의 드라이버가 막장이었기에 멀쩡한 ATI카드를 버리고 한 단계 낮은 Nvidia카드로 갈아타는 사람도 있었습니다.


XGL적용삽질이 한창 이루어질 때 즈음, 리눅스계의 독보적인 기업인 레드햇에서 GLX라는 것을 내놓게 됩니다. XGL과 이름이 비슷하지요? 기능은 사실상 동일 하지만 이는 기존 X를 갈아치우지 않고 X에 패치형태로 적용한 물건입니다. 즉, XGL이 기존 X와 어느정도 호환성을 갖추고 쌓아올린 물건이면 GLX는 기존 X를 이리저리 개조해서 만든 물건이라는 것이지요. 그리고 Compiz는 둘 다 적용 가능하게끔 개발이 이루어지게 되어서 배포판은 선택의 기로에 서게 됩니다. 이 선택의 기로는 그래픽 드라이버도 마찬가지였다고 합니다. 예전부터 fglrx를 내놓던 ATI는 XGL을 선택했고 Nvidia는 GLX 쪽으로 가닥을 잡았던 듯 합니다. 하지만 웃긴 것은 GLX를 쓰던 XGL을 쓰던 Nvidia는 별 문제가 없었는데, ATI는 GLX를 쓰면 난리를 쳤습니다. 드라이버 개발능력이 경쟁사보다 딸리는 것인지 대체...


2007년에 가장 다운로드수가 높았던 배포판인 우분투는 XGL과 GLX 둘 다 가능하게끔 설정을 하기는 했는데, 이 당시의 글을 보면 독점 드라이버 설치가 정말 거지같았던 것을 알 수 있습니다. 이리하면 저곳에서 뻑나고 저리하면 이쪽에서 뻑나고 커널 업데이트하면 또 뻑나고...어휴... 그리고 Compiz(당시는 Beryl이었나요?)를 설치하면 그대로 GUI가 사라지는 등...캐노니컬에서도 이를 인지 했는지 이후 8.04라는 역대 최고의 안정적인 버전이 나오면서 그래픽드라이버 설정을 간단하게 마우스 한 두번 클릭으로 바꾸고(아니면 설치 중에 드라이버 설치 한다고 물어봅니다. 지금도 그렇기는 하지만)기본 3D X환경을 GLX로 가게 됩니다. 그리고는 Compiz를 기본 탑재해버립니다. 그 덕이었을까요? 다른 배포판 들도 XGL대신 GLX를 선택해버리고(사실 기존 X를 개조한 수준이라 딱히 수정할 곳이 없어서 그냥 X를 설치하면 되니까 XGL에 비해 메리트가 있었습니다.) XGL에 별다른 메일링이 없어져 버렸습니다. 즉, XGL이 도태되어져 버린 것입니다. 덕분에 ATI는 발등에 불 떨어졌지요. GLX만 쓰면 난리를 쳐대는데, 이를 해결해야 했으니까요. 당시의 회고에 따르면 fglrx만 설치하고 Compiz환경으로 만들면 그대로 하얀화면으로 되어버리는데, 우분투는 기본적으로 compiz를 쓰다보니 우분투를 쓰면서 fglrx를 쓸 수가 없었다고 합니다.그나마 오픈수세는 XGL을 탑재했다보니 큰 문제는 없었는데, 이마저도 XGL이 도태되면서 노벨에서도 GLX를 적용한 X를 탑재하기에 이르릅니다. 그동안 ATI는 삽질을 계속했습니다.


당시의 드라이버에 대해 말씀드리지면 윈도용 Catalyst는 물론이고 리눅스의 fglrx도 해커들이 개조를 해야 쓸만하다는 평을 들을 정도로 참 드라이버가 막장이었습니다. 윈도용도 막장이었는데, 개발팀이 훨씬 적은 리눅스, 유닉스 용은 뭐...말을 말아야지요.


그래서였는지, ATI는 중대 발표를 해버립니다. 나온지 3년 밖에 안 된 X시리즈(R500)까지의 드라이버 지원을 중단 하겠다고 선언을 해버립니다. 즉, 과거의 칩셋에 대한 지원을 끊음으로써 드라이버 개발에 더 많은 지원을 하겠다는 것이지요. 이는 윈도+리눅스+기타 OS 전부 통하는 이야기였습니다. 그리고 정말로 드라이버가 개변한 시기는 AMD에 인수되고 몇 년 지난 2013년이 되어서야 쓸 말한 드라이버소리를 듣게 됩니다. 과연 이것이 잘 한 것인지 아니면 무리수였는지는 모르겠지만, 덕분에 당시 나온지 3년밖에 안 된 X시리즈 사용자들은 엿을 먹게 되었습니다. 드라이버 지원은 레거시라는 이름 하에 해주겠다고 했지만 그나마도 2009년에 끊었습니다. 윈도는 어땠냐구요? 기존에 제공된 드라이버 해킹해서 적용하고 있습니다. 무슨 We Are The World도 아니고...


이 무렵 Nvidia는 그냥 쿨하게 싹 다 지원하는 방향으로 가게 됩니다. 8800GT가 나오면서 이전의 드라이버를 끊기는 했지만, 이전 드라이버들이 최신 OS에 적용할 수 있게끔 지원을 해줍니다. 예를 들이서 96.xx 버전은 XP까지만 지원이 가능한 드라이버지만 윈도8에서 설치가 되게 끔 해주는 것입니다. 실제로 96.xx 버전을 윈도8에서 설치하면 지원 하드웨어(즉, Geforce 4 이전의 물건)의 구동이 무리없이 됨을 알 수 있습니다. (물론 완벽하지는 않아서 버그가 있기는 합니다.) 그에비해 Catalyst는 이 짓을 하면....까만화면을 보게 됩니다.(OS 가리지 않는 WDM기반이라며? 이건 대체...???)리눅스도 사정이 비슷해서 지금도 구형 하드웨어에 최신 우분투를 설치하면 Nvidia칩셋이라면 상당히 구버전인 96.xx나 1xx.xx 를 설치 할 수 있게끔 되어있습니다. ATI칩은???? 안 되요. 설치하면 까만화면만 보게됩니다.


자 아까 GLX와 XGL 지원에 대한 이야기를 잠깐 했었지요? ATI는 XGL위주로 가게 되었는데 XGL이 도태되면서 하는 수 없이 GLX지원으로 방향을 틀게 되고 이는 어마어마한 버그의 향연으로 이루어지게 됩니다. 한달에 하나씩 나오는 주제에 버그가 수정되지도 않은채 나오기도 하고(hex 에디터로 수정해서 쓰는 사람도 있었습니다. 물론 방법을 공개했으니 이를 배포판에서 적용해서 내놓기도 했습니다. 이게 어떻게 독점 드라이버지...?) 경쟁사는 어땠을까요? Nvidia는 GLX를 쓰던지 XGL을 쓰던지 큰 문제는 벌어지지 않았습니다. 그러니 GLX로 넘어가더라도 XGL관련 코드만 삭제하면 그만이었으니 문제는 전혀 없었습니다. 이 쯤되면 ATI는 욕을 바가지로 퍼 먹어도 할 말 없습니다. 덕분에 리눅스는 당시의 인텔2D가속 문제와 함께(당시 인텔은 동영상 티어링 문제로 말이 많았습니다.) 무조건 Nvidia라는 분위기가 형성되게 됩니다. 이후에 인텔의 문제가 해결되며 문제를 일으키는 GPU제조사는 ATI뿐이었습니다.(다른 S3등은 제조사 도움없는 오픈소스 드라이버 뿐이었으니 무시합시다. - 인텔은 제조사 도움을 받는 오픈소스 드라이버였음)


이후 ATI가 AMD에 인수되며 자금사정이 나아지며 드라이버 지원이 나아지는 듯 했습니다. 하지만 현실은 시궁창. Nvidia가 각종 삽질을 하고 AMD에 비해 높은 가격을 받지만, 리눅스에서는 여전히 Nvidia가 선택 될 수밖에 없습니다. 물론 ATI가 R500이하 시리즈의 드라이버 지원을 끊을 때, 기술문서를 공개 함으로써 오픈소스 드라이버 개발지원을 해주기는 했습니다. 그래서 오픈소스드라이버가 개선되어졌냐고 하면 Catalyst 설치시의 40%성능도 채 안 나옵니다. 제가 보기에는 그냥 지들이 드라이버 개발능력이 안 되니까 커뮤니티에 떠 넘긴듯한 인상이 듭니다. AMD로 넘어간 지금도 사정이 거기서 거기라 Catalyst가 안 돌아가면 고성능 3D 연산은 포기해야 합니다.



제가 리눅스를 쓰면서 언제나 느끼는 것이지만 다시는 ATI(AMD)칩 쓰는 하드웨어는 이제 안 사려고 합니다. 이 고통은 그냥 돈으로 해결하는 것이 답일 듯 합니다. 아무리 칩을 잘 만들면 뭐합니까? 아무리 싸게 내놓으면 뭐 합니까? 제가 쓰기에 불편하면 그건 그냥 실리콘 덩어리입니다. 하드웨어 설계능력이 좋아도 소프트웨어가 거지같으면 병신 된다는 것을 너무 뼈저리게 느끼고 있습니다. 더군다나 리눅스는 하드웨어를 보통 안 바꾸니 (서버 위주로 사용하면서 일부 계층은 최적화를 중시한다는 것을 감안합시다.)소프트웨어 지원이 절실한데 리눅스를 윈도지원 하듯이 하는 것은 아니라고 봅니다. 다시는..다시는 안 쓸겁니다. AMD GPU...

,

최근 갑작스런 일 폭풍에 9월 중 블로그 활동이 바닥을 치고 있습니다. 오늘 밤샘작업(...)을 끝내고 간만에 티스토리에 접속했더니 방문자수가 급증했더군요. 글도 안 올렸는데?


갑작스럽게 방문자수가 폭발했기에 확인 해봤더니 원인은 역시나 우분투도 아니고, 또 Long Live The Queen 관련....


오늘 메일을 보니 그럴만한 이유가 있었더군요.



험블에 떴으니 구입하실 분은 당장 해외결제 체크카드를 만들어서 지르시길. (VISA체크카드는 외환이나 신한 계좌 하나 트면서 달라고하면 청소년도 그냥 줍니다.)

험블번들 Weekly에 Long Live The Queen이 떴군요. 물론 평균가 이상 돈을 내야 하지만 워낙 평균가가 껌값(...$6...라니...)인 관계로 많이 구입하신 것 같습니다. 그러다 한글패치 검색을 통해서 이리저리 흘러들어오신 것 같습니다.


그런데...여긴 한글패치가 있는 장소가 아니거든요. 본 한글패치의 개선패치가 있을 뿐입니다. 한글패치의 DLC라고 할까?


다시 한번 말씀드리지만 한글패치는

http://ghap.tistory.com/entry/LONG-LIVE-THE-QUEEN-%ED%95%9C%EA%B8%80-%ED%8C%A8%EC%B9%98-%ED%8C%8C%EC%9D%BC%EC%9E%85%EB%8B%88%EB%8B%A4

여기 있습니다. 제 패치는 일종의 한글패치 확장입니다. Ghap님 패치 없이 제 패치해봐야 한글로 게임 안 되요~ (물론 일부는 되기는 합니다만, 애초에 대사가 한글화가 안 되는데...)


무엇보다 제 패치는 렌파이를 통짜로 교체하는 위험이 좀 있어서 혹시라도 엔진이 꼬이거나 하면 재설치를 해야 합니다. 용량이 작아서 금방되기는 하지만 스팀이 워낙 느려터졌으니...


엔진패치도 문제없다고 생각하신다면 해주시면 좋습니다.



참고로... 엔진을 그냥 버전만 교체하는 것이 아니라 중복 번역을 해결하기 위해 커스터마이징된 엔진이 올라올 예정입니다. 그리고 마찬가지로 그 엔진에 포팅작업을 한 스크립트 패치도 올라올 예정이고요. (별건 아니고 그냥 엔진 교체랑 다를 것은 없습니다.)엔진교체 없이 중복번역을 해결해 보려 했는데 답이 좀처럼 안 나와서 그냥 엔진에 손을 대서 중복 번역을 해결하기로 했습니다. 이제 일 폭풍이 잠시 끝났으니 중복 번역 관련 엔진 수정을 시작하려 합니다. 그래봐야 say함수 구겨버리고 말겠지만.


,

여러가지 문서를 만들고 난 뒤에 전달용으로 PDF로 만드는 것이 당연한 문서 전달 방법입니다. 물론 이거 안 자키는 사람들도 상당히 많기는 하지만 대부분 최종적인 문서는 PDF로 만들어서 보관하는 것이 관례입니다.


PDF는 글자체도 내장하고 그림도 내장해서 더욱 편리하지요. 그래서 PDF파일만 있으면 레이아웃이 깨질 염려도 없고, 폰트가 안 맞아서 어색한 문서가 되는 것을 방지 할 수 있습니다. 이러한 장점들 덕에 전달용 문서규격으로 PDF가 현재 ISO 표준으로 되어 있습니다. 심지어 PDF는 인쇄물을 그대로 파일화를 하기 때문에 PDF로 만들어진 문서들은 해당 PDF를 수정이라도 하려고 하지 않는 한 해당 문서를 별 문제 없이 다시 쓸 수 있습니다.

아직도 몇몇 단체에서는 문서를 hwp로 넘기는 만행을 저지르고 있는데 제발 표준인 PDF를 이용했으면 합니다. Adobe Reader 깔기 귀찮아서 PDF는 별로라고 한 사람도 있었던 것 같은데, Windows8에서는 PDF리더가 내장되어졌습니다. 이제 Adobe Reader 깔기 귀찮다고 투덜거릴 사람은 사라질 운명입니다.


아무튼 PDF는 정말 문서계의 최종 규격이라 그런 것인지 리눅스에서도 PDF 만드는 것은 그리 어렵지 않습니다.보통 사용하는 프로그램에 PDF기능이 있다면 그냥 이것을 쓰면 되고 없으면 가상프린터를 이용해서 PDF를 뽑아내는 것으로 PDF를 만듭니다.


리눅스에서 제일 많이 쓰이는 LibreOffice는 자체적인 PDF 기능을 내장하고 있지만 이외의 다른 문서 도구는 따로 PDF 도구가 없습니다. 하지만 윈도에서도 PDF만드는 기능이 없을 경우를 위해 가상 프린터를 만들어서 PDF화를 도와줄 수 있습니다. 특히 한컴PDF가 이런 방향으로 많이 쓰이곤 합니다.


자 그럼 리눅스에서 PDF만들려면 어떻게 해야 할까요? 간단하게 cups-pdf 패키지를 설치하면 PDF전용 프린터가 설치됩니다. 다만 특이하게도 ~/PDF라는 폴더가 만들어져 있지 않으면 PDF파일이 생성이 안 됩니다. 꼭 내 홈폴더에 PDF란 폴더를 만들어 둡시다.





cups-pdf 설치후에 프린터란을 보면 없던 프린터가 생성된다. 이게 가상 프린터이다.

그럼 누군가가 말하기를 cups-pdf는 어떻게 설치하냐고 물으시는 분도 계셨는데 간단하게 우분투소프트웨어에서 cups-pdf라 검색하면 뜹니다. 이걸 설치하면  리눅스에서 PDF화하는 방법이 완성이 됩니다. 


지금까지 확인해본결과 Libre-Office를 제외하고 자체 PDF생성기능이 있던 문서편집도구는 없었습니다.그러니까 그냥 cups-pdf가상프린터를 써서 만드는 것이 더 나을 듯 합니다.문서가 완성이 되면 최종본을 저장하고 이것을 꼭 PDF화 해서 보관해 두도록 합시다.

누군가가 원한다면 그냥 PDF만 주면 되니까 상관없습니다.


왜냐하면 PDF로 보내는 것은 의무니까요.


,

간만의 잡담입니다.

 저는 기계설계공학과 대학원에 재학중입니다. 그러면서 우분투계열을 사랑합니다. 그리고 많은 사람들은 제가 우분투(가 아니라 사실은 리눅스민트)에서 CAD프로그램을 별 문제없이 실행시키고 쓰는 것을 보면서 리눅스라는 것은 어려운 녀석이 전혀 아니라는 것을 느낀다고 합니다.


그런데 리눅스를 쓰는 것보다 그 위에서 돌아가는 CAD프로그램이 훨씬 더 전문적인 프로그램입니다. 그리고 숙달이라는 것이 필요한 물건이기도 합니다. 즉, CAD가 리눅스보다 어려운 물건이라 할 수 있습니다. 그런데 이 어렵고 전문적인 도구들은 상대적으로 쉬운 것들보다 사실상의 약속이 참 잘 되어있습니다. 엄연히 말하자면 2DCAD시장을 AutoCAD가 장악하기는 했지만 DraftSight등의 제품이 그 뒤를 바짝 쫓고 있고, 3DCAD는 너무 많아서 춘추전국시대 수준입니다. 그런데 어떠한 제품을 쓰든 회사 간 협력에는 큰 문제가 없습니다. 3D를 사용하든 2D를 사용하든 CAD같은 놈은 전문가용 도구라 할 수 있는데, 이러한 전문적인 도구들은 표준화가 되어있거나 사실상의 표준이 있습니다. 그리고 그 것을 이용하는 것은 어떠한 도구를 사용해도 문제가 전혀 없습니다. 그리고 대부분 그 표준을 사용하길 권장합니다. 보통 2D는 DXF,DWG형태로 교환하고, 3D는 IGS, STEP형태로 교환합니다. 표준이거나 사실상의 표준인 것입니다. 그리고 이는 모든 도구들이 다 지원합니다.


그런데 비전문적인 곳으로 내려오면 표준이 무시되고 별 생각없이 파일 교환을 하고 있더군요. 대표적으로 문서 같은 것은, 표준화가 안 되어있다고 생각하는 것인지 너무 당연하다는 듯이 doc와 hwp가 날아다닙니다. doc야 지원프로그램이 상당히 많으니 큰 문제는 없지만(레이아웃이 깨지는 문제가 있기는 하지만)hwp는 오로지 한/글만 지원합니다.


제가 위에서 리눅스는 쉬운 물건이라고 그랬지요? 실제로 리눅스는 우분투를 필두로 굉장히 쉽게 쓸 수 있도록 발전하고 있습니다. 그리고 전문적인 도구들도 리눅스에서 설치하기 쉬워지고 있습니다. 비록 Wine 등을 이용하기도 하지만 그것은 어쩔 수 없는 것이고, 그래도 상당히 쌩쌩하게 잘 돌아가는 편입니다. 그리고 표준화가 된 포맷이라면 리눅스 네이티브 프로그램들이 지원한다고 보실 수 있습니다. 전문적인 도구일 수록 이러한 경향은 더 확실해집니다. 표준이 있으니 이 표준을 쓰면 되는 것입니다.


그런데 hwp는? 전문적인 도구라고 보기에는 좀 모자라 보이는 것이 현실입니다. 어렵다면 어렵다고 할 수도 있겠지만 CAD보다야... 그런데 너무 표준이 무시당하고 있더군요. 현재 한국 표준 문서 포맷은 ISO를 따라서 PDF와 ODF입니다. 그런데 보통 문서를 받으면 hwp가 덜렁 나오기 일쑤입니다. 심지어 hwp는 한/글을 구입해야 쓸 수 있지요. doc는 구글독스나 리브르 오피스 등을 이용하면 무료로 편집이 가능하지만 hwp는 회사에 돈을 내야지만 편집이 가능하다는 것이지요.


위에서 리눅스위의 CAD를 보며 리눅스는 쉽다 느낀다는 이야기를 했었지요? 그런데 리눅스를 어렵게 만드는 것은 CAD보다 쉽다고 하는 hwp입니다.저 쉬운 놈이 리눅스를 어렵게 느끼게합니다. 참 안타깝습니다. 표준이 있다면 표준을 사용하는 것이 미래를 위해서 필요하다고 생각합니다.



졸면서 쓰다보니 두서없이 글이 써졌군요. 결론은 이것입니다.

전문적인 도구는 표준을 지키면서 왜 비전문적인 것은 표준을 지키지 않을까요? 그래놓고 돈까지 내라고 합니다.심지어 선택의 폭을 없애버리기까지 합니다. 표준을 사용한다면 이러한 일은 없었을 것입니다. 제발 "표준은 지키라고 있는 것이지, 자랑하라고 있는 것이 아닙니다." 표준을 지킵시다. 제발.

,




 

 




우분투에서는 USB 메모리가 상당히 잘 읽힙니다. 2014년 현재 구동 되는 모든 OS는 당연하겠지만 USB 메모리가 안 읽히면 불편함이 이만저만 아니겠지요. 그러니 잘 읽히는 것은 당연 할 것입니다. 이는 우분투와 그 계열의 모든 OS도 마찬가지입니다.


그런데 여러분 USB메모리 쓰실 때 안전제거 꼭 하시나요? 급한 사람들은 안전제거 안 하고 그냥 쑥쑥 뽑던 것 같은데 이거 상당히 위험한 행동입니다.



이걸 굳이 하라는 이유가 있으니까 하라는 것입니다.

우분투에서도 안전제거란 이름외에도  "꺼내기","빼기","안전 제거" 등의 이름으로 이를 지원하고 있습니다. 그런데 사실 이를 찾기가 어려워서 그런지 아니면 윈도 쓸 떄의 습관이 남아서 그런것인지 까먹고 쑥쑥 뽑기 일 수입니다. 그리고 10중 9은 USB쓰기 에러창을 보게 됩니다. 그런데 우분투는 윈도와 다른 한가지 맹점이 있습니다. 윈도에서 복사는 실제 복사 작업이 끝난뒤에 창이 사라지지만 우분투는 복사 작업이 끝나기 전에 창이 사라집니다. 사실 이는 노틸러스의 문제지만, 우분투의 기본 탐색기가 노틸러스이니 우분투의 문제라고 할 수도 있습니다.(Konqeurer는 어떤지 잘 모르겠습니다. 써 본적이 없어서)



우분투도 이런식으로 꺼내기,뺴기,안전제거 등의 이름으로 이러한 기능이 들어있다. 괜히 이런 기능 있는 것 아니다. 꼭 이 기능을 이용하자.


그래서일까요? 우분투 초보자 분들께서는 저 안전제거 기능을 이용하지 않고 복사 창이 닫히자 마자 메모리를 쑥쑥 뽑아버리는 경우가 잦습니다. 애초에 윈도에서도 하면 안 되는 일이지만, 우분투는 안정성을 중요시 여기는 리눅스계열이라서 이를 더 증오합니다.


우선 안전제거를 이용하지 않으면 안 되는 이유를 말씀드리자면

1. 파일을 읽고 쓸 때 뽑으면 당연히 파일시스템에 에러가 난다.

2. 주로 FAT포맷을 이용하므로 파일이 깨질 수 있다. (NTFS나 EXT3,4에 있는 저널링 기능이 없습니다.)

3. 그냥 메모리가 사망할 수도 있다. (반도체는 전기적 충격에 약합니다.)


그런데 이 중 1,2 항목에 의해 에러가 발견되면 우분투는 시스템 안정성을 위해 파일 쓰기를 금지 해버리고 문제가 생긴 파일을 보이지 않게 처리합니다. 이 문제가 생긴 폴더, 파일을 다시 덮어쓰려고 하면 당연히 안 됩니다. 메모리에 쓰기가 안 되게끔 처리가 되어있으니까요.


그런데 윈도에서는 잘 될 것 입니다. 원래부터 윈도는 이런 문제는 사소한 것이라 생각하고 넘어가는 경향이 많습니다. 그러다 결국 지금과 같은 바이러스 천국, 좀비PC 양산이 생기게 되었다고 해도 과언은 아니지요. (그래서인지 서버용 윈도는 유닉스계열보다 더 빡센 권한 분리를 시도하더군요. 그런데 파일 시스템관리에서 또 한번 점수가 깎이네요.) 윈도는 이러한 사소해보이는 문제를 신경 안 쓰는 것 뿐입니다. 하지만 이 사소한 오류가 서서히 번지면 파일 전체로 퍼질지도 모릅니다. 하지만 우분투는 이를 막기 위해서 우선 오류를 잡거나 백업하라는 의미에서 쓰기금지를 해버립니다.


이를 해결하는 방법은 하나입니다. 오류가 난 파일과 폴더를 처리하는 것입니다.

오류를 처리하는 방법은 뭐가 있을까요?


우선 논리적 오류와 물리적 오류 두 가지에 대해 이야기 해야겠습니다. 우선 한 두 번의 실수로 인해 생긴 오류는 논리적 오류로 충분히 고칠 수 있습니다. 하지만 지속적으로 안전 제거 없이 생긴 오류는 고치기 어렵습니다. 이 경우에는 그냥 새 메모리에 백업 한 후에 포맷을 해서 대충 고쳐 써보는 방법이 있습니다. 하지만 포맷으로도 고쳐지지 않을 수준으로 반도체가 맛이 갔다면....삼가 메모리의 명복을 빕니다.

우분투는 위의 논리적 오류로도 쓰기 금지를 먹입니다. 혹시나 모를 문제에 대비 하는 것입니다. 그럼 이 논리적 오류만 해결하면 되겠네요? 네, 간단히 한 두번의 실수로 생긴 오류는 충분히 고칠 수 있습니다. 우분투에서도 가능하고 윈도에서도 가능합니다.


윈도에서는 간단하게 디스크검사 프로그램으로 검사하면 고쳐집니다.사실 도스시절부터 써오던 유서깊은 Chkdsk의 GUI버전이니 믿고 쓰시면 됩니다.

리눅스에서는 Chkdsk 따위 소리가 나오는 훌륭한 도구인 FSCK가 있습니다. 이 녀석을 이용하면 왠만한 오류는 다 고칠 수 있습니다. 리눅스나 유닉스 서버를 쓴다면 당연히 쓰게되는 물건이니 fsck라는 명령은 잘 알아두세요.


방법은 아쉽게도 GUI가 아닙니다. 혹시나 하고 찾아봤는데 fsck를 제대로 쓰는 GUI프로그램은 없더군요. Python같은 것으로 만들어진 프로그램들이 있을 줄 알았는데 의외로 없네요?

하는 수 없습니다. 그냥 터미널을 씁시다.


우선 USB메모리의 위치를 확인합시다. 메뉴-기본설정-디스크를 선택하면 디스크유틸리티가 실행되면서 USB의 장치 주소를 확인 할 수 있습니다.



여기서는 /dev/sdb1이군요. 물론 /dev/sdb는 디스크의 주소이고 /dev/sdb1은 해당 파티션의 주소입니다. 보통 USB메모리는 단일 파티션으로 쓰곤 하니까 어떻게 써도 상관은 없을 것입니다.


이제 터미널을 열고 fsck 명령을 쓰기전에 꺼내기 버튼을 눌러서 미연의 오류를 방지합시다. (꺼내기를 하지 않으면 fsck가 어차피 막을 것입니다.) 디스크 유틸리티에서도 꺼내기 버튼은 있습니다. 그리고 USB를 아직 뽑지는 마세요.


터미널을 열고 다음과 같이 명령을 칩시다.


sudo fsck -p /dev/sdb1

'

여기서 /dev/sdb1은 디스크 유틸리티에서 찾은 USB 메모리의 장치주소입니다. 여러분은 다르게 나올 수 있습니다.


그러면 오류가 난 폴더와 파일이 사라집니다.(!!!!) 복구 가능 하냐구요? 안 됩니다. 이는 복구 안 됩니다. 그러니까 백업은 필수입니다. 어쨌건 오류가 있었던 파일이 사라졌으므로 다시 USB를 뺐다가 꼽으면 쓰기 금지가 풀려있을 것입니다.


그런데 이런 복잡한 짓거리를 하기 전에 예방이 중요합니다. 그러니까 꼭 USB를 뺴기전에는 하드웨어 안전제거!!!! 꺼내기!!!! 뺴기!!!!! 이 기능을 꼭 이용하세요!!!!!!

,

근 일주일 넘게 포스팅이 없었는데 이제서야 포스팅을 하게 되었습니다.

그도 그럴 것이 이제 새 학기 들어가다보니 원래는 내년에 들어갈려고 했던 랩실과 대학원에 9월부터 갑작스러운 입학과 감금(?)이 되어버려서 그동안 관련 일 처리 문제로 여기저기 서류가 정신사납게 했거든요.


서류문제 해결하고 나니 이번에는 프로젝트에 들어가게 되었습니다. 당장 추석 연휴 끝나자 마자 프로젝트 시작입니다. 이건 뭐 포스팅할 시간이 있을 지도 잘 모르겠습니다. 그동안은 포스팅하나 하나 하는데 이틀정도 소요되었는데 그동안의 포스팅 수준을 유지 하려면 좀 시간이 더 필요할 지도 모르겠습니다. (물론 그렇다고 해서 좋은 글이었냐고 하면....대답을 못 하겠습니다.)


사실 저의 계획은 이랬습니다.


올해는 블로그 포스팅 및 개인 연구로 한 해를 보람차게(?) 보낸다음 내년 부터 대학원에 입학해서 석사 과정을 밟으며 차근차근 올라가서 국립생산기술연구소를 목표로 대학원 생활을 보내기로 했습니다.


그런데...


학부생 시절의 지도교수님 만났다가 그냥 납치(?)당해서 이번 학기부터 부랴부랴 학교생활을 시작하게 되었습니다. 물론 블로그 포스팅을 안 한다는 것은 아닌데, 아마도 예전처럼 꾸준히 3~4일에 한 번씩 하는 것은 어려울 듯 합니다.  아니면 지금처럼 잡담 위주의 글이 올라올 가능성도 높습니다. 어차피 RSS등록해서 보시는 분들은 없으니 그 점은 안심하고 있습니다만, 그래도 몇몇 분들은 이 블로그를 자주 찾아주시더군요.그 분들을 위해서라도 꾸준한 포스팅을 하기는 해야하는데 그냥 쉬는날에 몰아서 하는 수밖에는 없을 듯 합니다.


궁금하신 분들은 아무도 없으셨겠지만, 그동안 잠수탄 것도 아니고 저는 이렇게 살았습니다.


우선은...메리 추석 보내세요.

,