질문은 어떻게 하는것이 좋은가로 “시원하게 긁어줬다”, 혹은 “너 잘났다”의 극에서 극을 달리는 반응을 센세이션을 일으켰던 장본인. OOPS.ORG 등을 통해 10만 건 넘는 질문에 답변한 대답맨. 덩치 큰 RedHat 리눅스에 좌절해 실제 필요로 하는 부분만 추려내 대한민국 환경에 맞게 커스터마이징한 서버 전용 안녕 리눅스(AnNyung Linux) 를 배포한 진정한 개발자 BBUWOO(김정균)가 해커스랩 리뉴얼을 축하하며 11년 만에 근황과 보안에 관한 덕담을 전한다.
안녕하세요 해커스랩의 마지막 “인터뷰어”였던 김정균 입니다.
먼저, hackerlab.org 의 재오픈을 축하 드립니다.
2004년 하반기에 인터뷰 요청을 받았던 당시 ‘난 보안이랑 관련이 없는데..’라는 생각으로 왜 해커스랩에서 내게 인터뷰를 요청했을까 의아해 하며 인터뷰를 진행했던 기억이 납니다. 그리고, 인터뷰를 하고 나서, 얼마되지 않은 시점에 hackerslab이 문을 닫는다는 소식을 전해 듣고선.. 한달짜리 인터뷰였구나 했었는데, 결국에는 가장 오랫동안 top 페이지에 개시된 인터뷰어가 되고 말았습니다.
마지막 인터뷰를 한지가 11년이 지났고, 저 뿐만 아니라 다른 모든 분들께도 많은 일이 있었겠지요.
저 역시 많은 일이 있었습니다.
인터뷰 당시(2004년) 출시하겠다는 안녕 리눅스 2가 무려 8년이 지난 2012년에 release가 되었고, 바로 얼마 전 2016년 2월 말에 안녕 리눅스 3이 release 되었습니다. (너무 늦은 release로 사용자들이 다 떠나 버리고 말았습니다. T.T 이젠 슬랙웨어 같은 배포본이 된 것 같은 느끼임~)
인터뷰 이후, 제가 근무하고 있었던 웹데이터뱅크도 (주)해커스랩의 전철을 밟아 Neowiz로 이직을 하게 되었는데, 제가 입사를 한지 4개월 만에 같은 팀 동료들이 모조리 이직을 해 버리는 초유의 사태에 멘붕도 해 보았고, 덕분에 Neowiz system을 제 마음대로 다 재구축 해 볼 수 있었던 기회도 가져 보게 되었습니다. 당시에는 참 난감했었는데, 돌이켜 보면 그 당시의 상황은 제게 기술적으로 한층 더 진보할 수 있는 기회가 되었던 것 같습니다.
또한, KLDP의 시스템을 관리하기 시작하고, Neowiz에서의 경험을 통하여, 보안을 어떻게 할 것이냐가 아니라 보안을 어떻게 운영을 해야 하는 것인가에 대한 경험을 크게 느끼고 이 부분에 대해서 많은 고민을 했던 것 같습니다.
그러고 보면 현재 우리나라에서 보안에 대한 가장 큰 문제점이 여기에 있지 않은가 싶습니다. 겉으로만 열심히 치장을 하고는 있지만, 실제로 열어보면 그 안은 아무런 대비가 없다는 점이 우리나라의 보안의 현실인 듯 느껴집니다. 즉, 문이라는 것은 잠금 장치가 있더라도 결국에는 열리게 되어 있는 것인데, 우리나라의 보안 현실은 이 문에만 집착을 하고 있지 않은가 생각이 됩니다.
침입 및 탐지에 대해서는 많은 지식을 가지고 있지는 않지만, cracking 당하여 거의 쑥대밭이 된 초대형 사이트들의 침입 방지 및 복구를 몇 번 진행을 해 본 결과 가지게 된 판단이며, 이 경험들과 Neowiz에서 Senior 웹 개발자들을 대상으로 “웹 코딩 보안 강의”를 한 경험이 이제는 해커스랩 같은 곳에서 인터뷰 의뢰가 들어오더라도 11년 전 처럼 뜬금없이 “난 보안이랑 관련이 없는데”라는 생각은 들지 않는 것 같습니다.
현재는, 지난 19년 동안 살아남아야 한다는 압박으로 일에만 몰두를 했었는데, 여러 사정으로 본의 아니게 일을 그만두고 아이들과 함께 하는 시간을 보내고 있습니다. 오랜 시간을 같이 살았지만 모르고 있던 부분을 보게 되었고, 금전적이 아닌 면에서 내가 아닌 다른 사람을 위한 시간을 가져보는 상당히 소중하고 신기한 경험을 해 보고 있습니다.
그 외에, 드디어 안녕 리눅스 사용자 가이드를 작성하기 시작을 했으며, 제가 19년간 경험하고 개척했던 내용들을 담고 있습니다. “안녕 리눅스 사용자 가이드” 이지만, RHEL이나 CentOS에서는 적용이 가능하고, 리눅스 배포본에 대한 여러 경험들이 있다면, 다른 배포본에서도 적용이 가능할 것이라 판단 됩니다.
https://www.gitbook.com/book/joungkyun/annyung-3-user-guide/details
에서 보실 수 있습니다.
오랜만에 인사드리니 무척 반갑습니다. 인생 반을 살아보니 인연이라는 것이 얼마나 소중하다는
것인지를 조금은 깨닫게 되는 것 같네요. 감사합니다!
1. 컴퓨터를 처음 시작한 것은 언제였습니까?
처음 시작한 것은 1992년도 부터인가 싶습니다. 형이 그 당시 286 PC 를 구입해서 한메타자교실을 이용한 것이 처음입니다.
그런 뒤 92년도에서 93년도에 걸쳐 CAD 와 어셈블리어를 공부 했었습니다. 어셈블리어는 단지, 오락 프로그램에 걸린 바이러스를 V3 가 잡아주지 못해서 이 오락 한번 해 보겠다고 배웠었는데.. 결국 오락하는데는 성공했지만, 바이러스 잡았을때는 이미 V3 가 치료를 해 주고 있었죠. 그나마 공부한데 의의를 두자고 했지만 결국에는 군대 갔다오니, 도대체 어셈블리라는 것이 뭔지 기억도 나지를 않더군요.
2. 영문학을 전공하다가 전공을 바꾼 이유는 무엇입니까?
전공을 바꾸지는 않았죠. 졸업은 했으니까요. 다만, 제가 영문과를 들어간 것은 원해서도 아니고, 단지 원서 쓸 당시 제가 가출(?) 비슷한 상태여서 어머니께서 시험만 보면 붙을 수 있는 대학에, 지원율 가장 낮은 과를 선택한 것이 영문과였으니까요. 실제로 저는 고등학교 3년동안 영어책에 책 접은 자국조차 없었고, 제게 영어책은 베개의 역할 이상을 해 본 적이 없었네요.
즉, 영문과 나와서 컴퓨터를 하게 된 것은, 영문과 졸업한 것으로는 먹고 살 수가 없었기 때문입니다. 또한 제가 원래 고등학교때부터 3D에 관심이 있어서 실제로 컴퓨터를 제대로 하기 시작한 것은 3D 분야 였습니다. 맥에서 formz(음 스펠링이 잘 기억이 안나네요.)를 사용하다 Intel Machine으로 3D stuido R4 에서 3D Studio Max까지 사용을 했네요. 당시 주방 가구 업체들 인테리어 3D 시뮬레이션을 만들어 납품 하곤 했지요. 그러다가 망해서 비슷한 계열인 웹디자인을 좀 하다가, 3D 할때 사용하던 남는 장비로 Age Of XXXXX를 Network game 으로 하기 위해 Network 연결하는 공부를 하던 중 리눅스의 세계로 들어서게 된거죠.
3.귀하는 98년도 천리안과 나우누리 리눅스/네트웍 동호회 운영진이었습니다. 당시와 지금과의 동호회는 많은 차이가 있다고 생각됩니다. 당시 동호회에서 하셨던 일과 당시의 분위기에 관해 말씀해 주시겠습니까?
글쎄요. 나우누리 리눅스 동호회는 운영진은 아니었고, 단순히 질답메뉴에서 답변만 좀 했었죠. 천리안 네트워크 동호회에서 활동할 당시는 막 PC 통신에서 Internet 으로 전환이 되는 시기라, offline 에서 일반인 대상의 강좌를 많이 했었습니다. (아 물론 제가 강사는 아니었습니다.)
그 당시만 해도, 인터넷 공유 하는 것이 가장 큰 관심사였고, 당시 제 홈페에지에 공유에 관한 글이 있어서 이 부분에 대해서는 좀 인기가 있었나 싶기는 하네요.
뭐, 그 당시만 해도 전 리눅스 쪽과는 좀 관련이 멀었습니다. 오히려 windows에서 인터넷을 사용하기 위한 부분에 더 치우쳐 있었죠.
4. 귀하가 쓰신 그 유명한 “질문은 어떻게 하는 것이 좋은가“는 리눅스에 처음 입문하는 사람들의 필독서이자 매뉴얼로 정착할 만큼 유명한 고전으로 입지를 굳혔습니다. 이 글을 쓰신 배경, 발표한 후의 반응 그리고 에피소드가 있으면 들려주시겠습니까?
뭐 필독서라기 보다는 그만큼 같은 고민을 하고 있었다고 해야 겠죠. 같은 고민을 제가 문서화 한것 이 외에는 없다고 생각합니다. 특히, 필독서가 아니라 이 글을 봐야 하는 사람들에게는 이 글은 오만 방자한 글로 보일테니까요.
2002년 경에 한 6개월 동안 제 홈페이지의 게시판을 닫은 적이 있었습니다. 어떤 사람이 메일로 “그렇게 잘났으면 너 혼자만 잘나라”는 메일을 보낸 적이 있었죠. 그 날이 결혼 기념일이었는데, 아내랑 외식하고선 즐거운 기분으로 들어와서 그 메일을 보고는 바로 홈페이지 게시판을 닫았던 기억이 있습니다.
이 사건 이후로, 게시판을 다시 열면서, 내 홈페이지에서 답변을 받고 싶으면 이렇게 해라는 식의 문서를 만든 것이 바로 “초보자를 위한 HOWTO” 였죠.
이 글이 처음 등록 되었을 때는, 정말 엄청났었죠. 정말 공감한다며, 퍼가도 되겠느냐는 메일과, 너가 그리 잘났냐 또는 차마 보기 싫을 정도의 공격성 메일도 많이 받았습니다. 현재 3판까지 나왔는데, 판올림을 할때 마다 조금씩 문체를 부드럽게 바꾸었지만 이렇게 한 2판까지도 계속 공격성 메일이 와서, 결국에는 3판을 내면서 존칭을 사용하고, 이렇게 해주세요.. 체로 변경을 한 후에야, 이제 좀 살겠더군요.
하지만 아직도 kldp 의 예전 판을 보시고 메일 보내는 분들이 꽤 되기는 합니다. ^^;
그래도, 한 2년 이렇게 운영을 하니까, 최소한 제 게시판에서는 이 문서대로 처리가 되어서 한결 답변을 하기가 편하기는 합니다.
5. 안녕 리눅스가 나오고 “이런분이 우리나라에 있다는 것이 자랑스럽다”, “이분이 대통령 출마하면 기꺼이 한표를 던지겠다” 는 등등 반응이 대단했던것 같습니다. 안녕 리눅스를 만든 이유는 무엇입니까? 그리고 만들면서 어려웠던 점은? 앞으로 어떻게 유지하려 하십니까?
이 질문은 좀 과장인듯 싶군요. 아마 linux-sarang.net의 포럼란에서 보신 것 같은데, 그 정도는 아닙니다. 그저 제가 배포하던 rpm 패키지를 사용하시던 분들이 주로 사용을 해 주시는 듯 싶더군요. 비공식적으로 안녕의 자동 업데이트를 사용하는 서버리스트를 ftp log 에서 뽑아본 적이 있는데, 약 1,200 대 정도가 되는 듯 싶습니다. 다른 배포본에 비하면 조족지혈이며 개인 서버들이 대다수 일테죠.다만 제 예상 보다는 좀 많아서 부담 스럽기는 합니다.
안녕 리눅스를 만든 이유는 단순합니다. 레드햇을 설치한 후에, 필요없는 패키지를 삭제하는 작업이 너무 귀찮아서였죠. 그리고 일일이 설정을 하는 것도 귀찮아서 레드햇 설치한 후에 할일들을 안녕에서는 모두 기본값으로 만들어 버린 겁니다. 즉, 안녕을 사용하시는 분들은 제가 OS 설치 후에 하는 기본 튜닝은 모두 하고 계신 것과 같다는 얘기죠. 그래서 처음 안녕 1.0 을 발표 할 때는 미니 레드햇이라는 모토를 가지고 출발을 했었습니다. 뭐 현재야, 레드햇 탈피가 슬로건이 되었지만요.
어려웠던 점은 아무래도 배포본 작업이 처음이다 보니, 부팅 과정에 대한 정확한 이해와 인스톨러 제작에 대한 지식이 모자르다는 것이었습니다. 실제로 1.0 작업시에는 별로 못 느꼈었는데, 1.1 작업시 레드햇을 좀 벗어나보자는 생각으로 이들을 수정하다 보니 시행착오를 엄청나게 했었죠. 인스톨러 수정 작업 하는데 한 6개월을 결과 없이 낭비했으니까요. 그리고 괜히 보안성 높인다고 stack protect 패치를 했다가, 빌드 안되는 패키지들 때문에 맘 고생 한적도 많았고요.
안녕의 발전상은 궁극적으로는 레드햇의 가지를 벗어나는 것입니다. 물론 레드햇의 패치는 버릴 수는 없겠죠. 특히 인스톨러의 경우 따로 하기가 힘든 상황이기 때문에 아무래도 anaconda 와 glibc 정도는 레드햇을 것을 사용해야 하지 않을까 싶기는 합니다. 뭐, 실력있는 분들의 참여가 많다면 독립할 날도 있지 않을까요?
그리고, 절대 CD 1장 이상의 사이즈가 되지 않을 것이고, 제가 할 수 있는 한 자동 업데이트는 지원할 예정입니다.
배포본 업데이트 주기는 아마 1년 정도가 될 것이고요. 어쩌면 더 길어질 수도 있을 거에요.
6. 안녕 리눅스를 두고 “작명센스가 영 엉망이다”, “아니다, 아름다운 우리말이다”는 등 말도 많았던 것 같습니다. 안녕으로 이름을 택한 이유는 무엇입니까?
원래 안녕 리눅스의 이름은 OOPS LInux 였죠. 그런데 1.0 을 릴리즈 하자 마자 그냥 심심해서 oopslinux.com/oopslinux.net을 들어가 봤더니, 개인 사업자인지 업체인지는 모르겠지만 사용을 하고 있더라고요. 아무래도 혼동의 여지가 많아서 바꾸려고 고심을 하다가, 1.0 의 프로젝트 명이었던 안녕을 사용하게 된 것이죠.
원래 프로젝트 명 AnNyung 은 처음 사용할 때는 “Good bye” 의 의미로 사용했었어요. 이건 wu-imap 의 pop3 코드에 있던 sayonara 를 annyung 으로 패치해서 사용할 때 사용하던 것을 코드명으로 한 것이었는데, 안녕에서 사용된 의미는 good-bye redhat 의 의미였죠.
사람들이 안녕의 의미가 hello 냐고 물어봐서 원래는 good bye 라는 것을 설명하기 귀찮아 hello 의 의미로 정착이 된 것이죠. 더군다나.. good bye redhat 이기는 하지만 어감이 좀 그렇잖아요. ^^;
7. 귀하께서 운영하시는 oops.org 에 관해 소개해 주시겠습니까?
예전에 잠시 질답 게시판을 닫았을 때, “이제 여기에 올 이유가 없다” 라는 메일을 많이 받았었죠. oops.org 에 오시는 분들이 질답 게시판 때문에 오는지, 아니면 강좌란의 강좌를 보러 오시는 것인지 혼란 스럽기도 했었죠. 뭐, 로그 분석한 것을 보면 명확히 질답 게시판이 가장 page view 가 높으니, 제가 우겨도 결정은 난 것이었지만요.
oops.org 를 정의하자면, 인터넷 서버를 운영하기 위한 기본적인 데몬에 대한 정보를 제공하고 있으며, 열심히 답변이 달리고, 광고가 열심히 삭제되는 게시판이 운영이 되는 곳입니다. 하지만, 정말 oops.org 의 존재의 의미는 제 개인적인 knowledge bank 의 역할이 가장 큽니다. 즉, 제가 찾아 보기 위한 정보가 있는 곳의 의미가 가장 큰 것이죠.
그래도 오시는 분들에게는 질답 게시판이 가장 중요할 것이라고 생각은 드네요. 제가 처음 홈페이지를 연 것이 1997 년 ml.org 의 서브 도메인을 받아서 oops.ml.org 로 시작하여, oops.kr.net 으로 변경했다가 1999년에 oops.org 도메인을 주워서 현재 까지 운영중이니, 약 8년 정도를 한 게시판에서 질답을 한 것 같군요. 현재 제 게시판에 36000 건 정도의 글이 있으니, 그 중 반이 답변이라 보면 18000 건 정도의 답변을 했으며, 아마 나우누리/천리안 리눅스 동호회, 천리안 네트워크 동호회의 질답 게시판에서의 답변을 다 하면 100000 건은 족히 넘을 듯 싶네요.
아무래도 이렇게 답변을 오래 계속 할 수 있었던 배경은 아마도 저보다 먼저 문서를 만들고 공개를 해 주신 분들 때문이 아닌가 싶어요. 제가 답변을 하는 이유는 2가지가 있는데, 하나는 제 자신의 공부와 잊어버리지 않기 위함이며, 다른 하나는 제가 인터넷에서 얻은 지식들을 다른 분들께 환원하기 위해서 이니까요.
뭐 8년 동안 답변을 했으면 환원하고도 남았겠다고 생각할 수는 있겠지만, 아직도 제가 인터넷이라는 세상에서 얻는 지식들은 현재 진행형이기 때문에, 아마 제가 이 바닥에 남아 있을 때 까지는 답변을 하지 않을까 생각이 되기는 합니다.
다만, 질문을 하실 때 너무 요구는 하지 말아 주셨으면 좋겠어요. 저도 가끔은 지칠 때가 있거든요.
8. 귀하는 그동안 운전병, 식모, 가정부, 리니지. 오라클, CDN 시스템을 비롯한 다양한 경력의 소유자라 들었습니다. 그동안 살아오시며 여기까지 오신 이야기를 들려 주시겠습니까?
아아. 이건 너무 광범위 하네요.
9. KLDP와 적수보드에서 귀하의 역할에 관해서 말씀해 주시겠습니까?
적수 보드는 방창현씨가 적수님에게 코드를 기증 받아서 오픈 프로젝트로 시작한 거죠. 저는 적수 보드를 사용하다가 auto_link 함수에서 버그가 꽤 많아서 이걸 수정해서 패치를 보내주다가 보니, 방창현씨가 은근슬쩍 제게 다 떠넘기고 도망을 가시더라 이거죠. 덕분에 지금까지 적수 보드를 관리하고 있기는 합니다.
또, 적수 보드라는 이름 때문에, 저보고 적수님 또는 김병찬님 하는 분까지 있어서 아예 게시판 이름을 JSBoard 로 바꾸기 까지 했었죠.
JSBoard 는 현재 1년 정도 코드 업데이트는 없는 상태이며, 3.0 작업을 시작하기는 했는데, 어쩌면 2.x 에서 개발을 종료할 수도 있을 것 같습니다. 현재 제가 project site builder를 하나 구상하고 있어서 JSBoard 작업을 이쪽으로 합칠까 생각 중이니까요. 요즘 유행으로 따지면 JSBoard는 너무 구시대적이니까요.
그렇다고 저는 wiki 나 blog 쪽은 별로 좋아하는 스타일이 아니라 jsboard wiki나 jsboard blog를 만들 생각은 전혀 없거든요 🙂 그러고 보면 zeroboard 를 만들고 계신 zero 님은 참 존경 스러워요. 전 귀찮아서 절대 못하는 일들을 척척 잘 하고 계시거든요.
KLDP 와의 인연은 KLDP 에서 사용하던 Crazy-WWW-Board 를 JSBoard 로 교체를 하면서 인연이 닿았었죠. KLDP 게시판 코드와 필요한 기능을 지원해 주다가, 요즘은 KLDP 의 network/DNS 를 담당하고 있지요. kldp의 회선 장비 후원을 저희 회사에서 해 주는 관계로 말이죠.
10. 귀하의 전철(?)을 밟고 싶어하는 후배들에게 해주고 싶은 말씀이 있다면?
뭐, 왠만하면 다른 길을 가라고 말해 주고 싶네요. 제가 정석의 길을 밟아서 온 것이 아니기 때문에, 남들 보다 아마 고생이나 노력은 더했을 거라 생각 됩니다. 그리고 그 과정이 너무나 힘들었기 때문에, 특히 비 전공자라면 다른 길을 찾을 수 있다면 다른 길을 가라고 권해 주고 싶기는 합니다.
뭐, 어쨌든 이 길을 걸으신다면.. 두가지를 말해 주고 싶어요. 비록 저도 실현을 못한 것이지만, 첫째는 신뢰입니다. 즉, 내가 어떤 일을 할 때에, 일을 시키는 사람 이나 부탁하는 사람이 전적으로 제게 모든 것을 맡길 수 있을 정도의 신뢰가 있어야 합니다. 이 것은 pro 의 자세라고 생각하기도 합니다. 그냥 기분에 따라서 하고 말고 가 아니라, 한다면 내 모든 것을 걸고 해야 한다는 자세가 필요하다는 것이죠.
일례로, 저의 경우 전 System Engineer이기 때문에 급박한 상황에 항상 대처할 준비를 해야 하는 관계로, 지하나 시끄러운 곳, 그리고 전화가 터지지 않는 곳은 될 수 있으면 가지 않으려 노력합니다. 이런 사사로운 것 하나가 고객에게는 믿음 으로 갈 수 있는 것이니까요.
두번째는 열정입니다. 내가 하는 일에 열정이 있어야 한다는 것이죠. 열정이 없는 일은 힘들고 지겨운 일이 될 뿐입니다. 그리고, 해당 분야에서 자신의 위치는 그저 그런 위치에서만 맴돌 뿐입니다. 어떤 하찮은 분야에서라도 1인자는 엄청난 노력과 실행을 한 사람들이니까요. 요즘 현실은 최고가 아니면 살아남기 힘든 세상입니다. 어느 광고 카피에서는 2등은 기억되지 않는다고도 했지요.
11. 존경하는 사람이 있다면? 그리고 본인이 생각하는 이상형은 무엇입니까?
존경하는 사람은 제 자신입니다. 그리고 가장 믿는 사람도 제 자신입니다. 물론 제가 잘났다는 의미는 아닙니다. 그냥 신을 믿는 개념으로, 전 신 대신 저 자신을 믿는다는 의미입니다. 어디엔가 의지하고 바라보고 싶지가 않다는 뜻이죠. 제 자신만 바라보며 저 스스로 무언가에 도전하여 성공을 하고 싶다는 의미일 뿐입니다.
12. 앞으로 하고 싶은 일은 무엇입니까?
한 1년만 놀았으면 좋겠네요. 정말 앞만 바라보고, 폭주 기관차처럼 앞만 바라보고 온 것이 만 8년이 된 것 같아요. 아직도 원하는 만큼의 바를 얻지는 못했지만 정말 내가 할 수 있는 한계에 다달았다는 생각이 들어요.
한 1년 전 부터는 system 쪽만 공부를 하는 것에 한계를 느껴서 프로그래밍쪽에 관심을 두고, 만든 습작용 프로그램도 꽤 되는데, 지금 보면 정말 허접하다는 느낌도 들고 눈 앞에 넘을 수 없는 벽이 하나 서 있다는 느낌이 들더군요.
아무래도 많이 지쳤다는 생각은 들어요. 그래서 좀 잠시 휴식이 필요할 때가 아닌가 생각이 들기도 해요.
뭐, 그리고 맨날 독수 공방 시키고 같이 놀아 주지도 않았던 아내와 애기도 좀 챙겨 줘야 할테고요.
그런데, 놀면 뭐 먹고 살죠? 아무래도 샐러리맨의 비애가 아닌가 싶어요. T.T