이재욱 : salsari@hotmail.com
|
1. 시작하면서 올해로 18세가 된 데이드 머피는 컴퓨터 천재. 11살때 이미 윌스트리트를 해킹 세계 경제를 혼란에 빠뜨린 전과도 있다. 법원에서는 데이드가 18세가 될 때까지 모든 종류의 키보드 근처에서 얼씬도 못하도록 명령했고, 그 동안 그는 컴퓨터에 굶주려 왔다. 이제 18세가 된 데이드는 뉴욕의 새 학교로 전학와 병아리 해커들인 새 친구들과 어울리게 된다. 어느날, 장난끼 많은 친구 죠이가 한 유조선 회사의 컴퓨터에 침입했다가 친구들에게 자랑할 셈으로 ‘쓰레기’ 화일을 복제한다. 처음엔 별거 아니라 생각했던 친구들도 ‘쓰레기’ 화일과 관련된 사람이 모두 지나칠 정도의 공격을 받자 그 비밀을 캐기위해 달려든다. ‘쓰레기’ 화일의 주인은 컴퓨터 천재, ID명 플라그. 화일의 비밀을 감추기 위해 플라그는 데이드의 어머니를 담보로 병아리 해커들을 위협하는데… 여러분들은 영화 ‘해커즈’를 본적이 있는지? 위의 이야기는 바로 해킹을 소재로 삼은 ‘해커즈’의 줄거리이다. 약간은 엉성한 그리고 과장된 영화지만 보는 이로 하여금 영화에 빠져들게 하는 몇 가지 재미난 일들이 있다. 첫 번째, 최첨단 신소재인 바로 해커들의 이야기. 휘황 찬란한 네온 사인같은 미적 화면에다가 스피디한 전개 ,컴퓨터, 프로그레시브, 사랑과 도전, 롤러브레이드… 두 번째, 드라마틱한 해킹. 데이드의 전학 첫날, 졸리(영화에서의 이름이 생각않나는군.)는 데이드를 속여 비오는 날 학교옥상에서 비를 흠벅맞게 한다. 약이오른 데이드는 자신을 속인댓가로 정각 9시에 학교 스프링쿨러를 작동시키도록 프로그램을 고쳐놓아 똑같이 복수할 것을 다짐한다. 물론 데이드는 우산을 들고 시계가 9시가 되는 것만 보고있다(아주 그럴듯하군). 또, 해킹대결을 한 답시고 자신들의 적인(?) 보안수사대원을 신용카드정지에 경범죄, 교통위반 스티커, 결국은 서류상 사망에 이르기까지 해킹해 버린다… 세 번째, 해킹 과정이 아주 재미있다. 컴퓨터 게임을 하듯이 그래픽이 해킹과정 전반을 덮는다. 키보드를 마구 두드리면 미로처럼 꼬여있는 회로를 왔다갔다하고 고층빌딩같은곳을 오르락내리락(커널이 여기에서는 고층빌딩으로 표현된다. --;)거리면서 자료를 찾아낸다...이것말고도 프래킹이 등장하고 마지막 라스트 씬. 키스씬(오호..)을 배경으로 고층건물의 전기를 조작하여 불빛으로 하트모양을 연출하여 분위기를 팍팍?? 띄우기도 한다. 이런 것들을 보고 있자니 발끝에서 머리까지 피가 끓어 오르면서 나도 저런것들을 해보고 싶다는 욕망이 끓어오르는 것을 느낄 수 있는가? 만약 아니라면 해킹의 세계에 그리 관심을 갖고 있지 않다고 본다. 또는, 그렇다면 이 글을 읽을 준비가 여러분들은 되어 있다는 증거이다. 사실 여기에는 많은 부분이 과장되게 묘사되었다(아니.. 이미 알고 있었다구?). 진짜 해킹을 영화에서 보여준다면 그 영화는 아마 최악의 영화로 기록될 것이 뻔하기 때문이다. 그럼 어떤 것이 해킹인지 알고 싶은가? 여러분들 중 해킹에 대해 환상을 가지고 있다면 이 글을 다 읽었을 때 즈음 실망하게 될런지도 모른다. 이것은 정말 지겹고 따분하고 무료하고 재미없고 짜증나는 일일지도 모른다. 나도 가끔 이렇게 느낄 때가 많다. 하지만 마냥 재미만 있다면 나는 이것을 택하지 않았을 것이다(이거 누구들이 많이 쓰는 말인거 같은데?). 그렇게 무엇을 이루려면 부단한 노력을 기울이지 않으면 않된다. 계속 노력하고 시도하고 공부하다보면 어느샌가 해킹이란 놀이가 세상 어떤 놀이보다 재미있다고 느껴질때가 올 것이다(가끔, 아주 가아끄음~ 집어치우고 싶을만큼 재미없다고 느낄 때도 있다). 그럼 나와 함께 한 번 차근차근 살펴보자. 나는 해킹에 대해서도 다루겠지만 보안에 대해서도 소홀하지 않을 것이다. 창과 방패는 언제나 떨어질 수 없기 때문이다.
2. 해커? 해킹! 해킹을 하기전에 해커란 어떤 인물일까 알아볼 필요가 있다. 멋떨어지는 해킹기술을 구사하는 여러분들에게 친구가 ‘야~ 폼 나는데… 멋있어… 근데 해커가 뭐야?’ 라고 물었을 때 ‘아.. 해커란 말이지 해킹기술을 구사하는 사람이야’ 라는 바보같은 대답을 한다면 여러분들을 바라보는 눈초리가 달라질 것이다. 그럼 해커란 어떤 일을 하는 사람일까? 혹시 아는 분들이 있나? 잘 모르겠다구? 그럼 Guy L.Steele.의 hacker’s dictionay를 한번 살펴보도록하자. Hacker: 2. One who programs enthusiastically or who enjoys programming rather than just theorizing about programming. - Guy L.Steele. et al. The Hacker’s Dictionary 어디어디… 여러분들에게 친숙하지 않은 영어가 불쑥 튀어나왔다. 그럼 한번 읽어볼까나… 주어진 환경만을 사용하는 일반 사용자와는 구분되어 자신의 지적욕구를 충족하기 위해 자신의 컴퓨터 시스템이 할 수 있는 모든 것을 찾아보고 만들어 가는 사람들을 의미한다. 그리고 프로그래밍에 대한 광적인 집착력을 가진 사람으로 거듭되는 시행착오 속에서 정보공간에 잠입할 수 있는 능력을 갖춘 사람을 말한다. 라고 여기에 적혀있구만.. 초기의 해커들은 순수한 정열을 지니고 컴퓨터 실력을 발전시키는 사람들이었음을 알 수 있다. 그러나 현실로써 받아들여지는 해커의 의미는 왜곡되었다. 크래커들과 같이 취급당하기 때문이다. 불법적인 침입에 파괴적인 행위들을 하는 사람들로 말이다. 그럼 우리는 해커의 역사를 살펴봐야만 한다. 그래야지만 해커들이 얼마나 순수한 가슴으로 창작적인 행위를 했는지 알 수가 있기 때문이다. 해커라는 단어는 1960년대 미국 M.I.T 대학생들을 시작으로 전파되기 시작하였다. 그들은 컴퓨터를 광적으로 좋아하고 그들의 이상을 컴퓨터에 걸었다. 밤낮으로 컴퓨터에 매달려 새로운 프로그램을 만들고 토론하며 창조와 정의를 부르짖었다. 이것은 바로 대학 내의 대형 컴퓨터를 이용하다가 컴퓨터의 무한한 능력을 깨닫고, 그 위용을 일반 사회에 전달해야겠다는 정열과 의지로 일어났다. 그러한 결과 스티브워즈니악, 리차드스톨만, 스티브잡스와 같은 위대한 해커라 일컬어지는 인물이 탄생했으며 그들의 영향을 받아 현재와 같은 컴퓨터 환경을 구축하게 된 것이다. 초기에 그들은 구식 대형 컴퓨터를 이용하고 전화를 공짜로 사용하는 방법을 전파시켰으며 스스로 그러한 장비를 만들어 팔기까지 했다. 과거의 순수한 열정을 지닌 해커들은 거의 ‘히피’족이나 다름없는 이상을 이야기했다. 시간이 지나고 세상이 변하면서 초기 해커들의 숫자는 점차 줄어들었고 대다수 변질되어 본래 해커의 의미인 ‘정보의 공유화’가 아닌 ‘정보엿보기’가 되어갔다. 하지만 해커들이 남긴 업적은 대단했다. 그들은 아무나 널리 복사해서 사용할 수 있도록 “Copyright”에 반대되는 개념인 “Copyleft” 를 사용했으며 그 누구라도 출처만 밝히고 공익적인 것에 이용된다면 자신의 자료를 사용해도 된다고 적어놓았다. 그 결과 대표적으로 “Linux” 같은 공개 유닉스 운영체제가 탄생하여 오늘날까지 널리 사용되고 있다. 그 덕에 비싼 유닉스 운영체제를 공짜로 아무나 사용할 수 있게 되었으며 그로 인해 보다 더 좋은 각종 공개 프로그램들이 속속 생겨나고 있는 것이다. 해커들은 이것을 ‘GNU’라는 헌장으로 만들어 지키고 있다. 여러분이 진정한 해커가 되고자한다면 “GNU”헌장을 꼼꼼히 그리고 수긍할때까지 읽어보라. 단지 남에게 과시하고 골탕 먹이기 위해서 해킹을 한다면 해커가 될 자격이 없는 사람임에 틀림없을 것이다. 그럼 해킹에 대한 정의를 간략하게 하자. 시스템의 관리자가 구축해 놓은 보안망을 어떤 목적에서 건 무력화시켰을 경우 이에 따른 모든 행동을 해킹이라고 보면된다. 여기서 목적은 순수한 의도여야 한다. 지적 호기심 또는 일반적인 사용을 거부하고 색다른 맛을 느끼고 싶은 충동, 자기 발전정도? 정보공유화… 흠… 이제 해커와 해킹이 무엇인지 알겠는가? 해커라
불려지는 사람들은 순수한 정열을 지닌 사람들이다. 해커가 되려는
사람들 또한 그래야 될 것이고…(물론 강요는 없다. 그럴 마음도
없고… 다만 이건 Option 이다.) 여기 리처드 스톨맨의 GNU 선언문
중 일부를 올린다. 아직도 GNU가 무엇인지 리처드 스톨맨이 누구인지
그들의 순수한 의도를 모르는 사람들 혹은 해커를 꿈꾸는 사람들이
있다면 필히 읽어 볼 것을 권한다. Copyright (C) 1985 Richard M. Stallman (Copying permission notice at the end.) GNU란 무엇인가? Gnu’s Not Unix! GNU는 유닉스와 완벽하게 호환하는 소프트웨어 시스템이며 사용 가능한 모든이가 무료로 사용하도록 작성한 것이다. 몇몇 다른 자원자들의 도움이 있었으며, 많은 시간적, 금전적 지원과 프로그램과 장비가 절실히 필요한 상태이다. 우리는 문서 형식기로 TeX를 사용할 것이며,
nroff도 여전히 사용될 것이다. 또한, X 윈도우 시스템도 사용할
것이다. 이런 후에 Common Lisp, Empire, 스프레트시트 등과 수많은
다른 프로그램을 온라인 문서를 포함하여 추가할 것이다.
우리는 결국, 일반적인 유닉스 시스템의 모든 기능을 갖추게 될
것이다. 나는 누구인가? 나는 리처드 스톨맨이란 사람이며 Emacs 에디터의 고안자이다. 나는 컴파일러, 에디터, 디버거, 명령어 해석기, 시분할체제와 리스프머신 운영체제에 관해 광범위한 작업을 해왔으며, ITS에서 터미널 비의존적인 출력장치를 개발했다. 그런 다음 리스프 기계를 위한 견고한(crashproof) 파일 시스템 하나와 두개의 윈도우 시스템을 구현했고, 지금은 세 번째 윈도우 시스템을 구상했으며, 이것은 GNU는 물론 다른 많은 시스템에 이식될 것이다. 왜 GNU를 작성해야만 했는가? 어떤 프로그램을 좋아 한다면 당연히 그것을
좋아하는 사람들과 함께 나누는 것이 황금률(대우 받고자
하는 대로 대하라.-성서)이라고 생각한다. 내가 계속해서 명예를 손상시키지 않고 컴퓨터를
사용하기 위해, 공개되지 않은 소프트웨어를 더이상 사용하지
않고도 작업을 해 나갈 수 있는 충분한 공개 소프트웨어의 본체를
만들 결심을 했다. 결론: > 뒷 이야기
3. 크래커? 크래킹! 자신을 해커라고 큰 소리로 떠드는 또 다른
그룹의 사람들이 있다. 그러나 이들은 아니다.
4. 보안 보안이란 자산의 본래 가치가 손상되지 못하도록
자산을 적절한 방법으로 보호하는 것을 의미한다. 컴퓨터 보안이란
개인이나 기관이 사용하는 컴퓨터와 관련된 모든 것을 안전하게
보호하는 것을 말한다(시스템의 하드웨어를 말할 수도 있으며, 시스템
내의 소프트웨어들을 말 할 수도 있다). 일반적으로 시스템의 정보를
보호하는 행위를 말한다. 인터넷 보안이란 말 그대로, TCP/IP 프로토콜을
통해 연결된 수많은 호스트들 사이에서 정보의 유출과 해킹에도 기술들의 난이도가 있듯이 보안에도 등급이 존재한다. TCSEC(Trusted Computer System Evaluation Criteria) : 보안을 실시한다고 할 때 과연 어느 정도로 정보가 안전한가를 객관적으로 판단하기 위하여 여러 단체에서 보안의 정도를 판별하는 기준을 세워 놓은 것이 있다. 그중 가장 귄위있는 것이 이것이다. 보안등급은 D, C, B, A 등으로 나뉘며 세부적으로는 다시 C1, C2, B1, B2, B3 등으로 나뉜다. 보안은 등급이 A로 갈수록 강력하며 같은 등급 내에서는 뒤에 붙는 숫자가 클수록 강력하다. ·D 등급 : 보안이 거의 또는 전혀 고려되지
않은 상태로 주로 외부에 완전히 공개되어 있는 ·C1등급 : 사용자가 서로 침범할 수 없게 되어
있다. 정보는 모두 사용자 단위로 접근 허가를 이 정도의 보안은 그렇게 강한 보안은 아니며 단지 사용자가 실수로 다른 사용자의 정보를 접근할수 없도록 한 정도이다. 보통의 UNIX시스템이 여기에 해당한다. ·C2 등급 : C1보다 약간 엄격한 정도로, 사용자들의
로그인(login)정보를 포함하여 보안과 ·B1등급 : 우선 C2의 모든 것을 포함하여야
한다 그 외에 보안정책이 있어야 하고 모든 ·B2 등급 : B2에서는 B1의 모든 것을 포함하고
보안정책도 일정한 형식을 가지고 정의가 ·B3 등급 : B2의 모든 것을 가지고 있어야 한다.
그리고 운영체제 내부의 보안과 관련된 코드 ·A1등급 : 이 등급은 B3과 거의 같다. 단지
차이가 있다면 그 시스템이 안전하다는 것을 관리자는 시스템을 어느 정도의 보안등급으로 구축할 것인지를 결정하여야 한다. 이때 주의해야 할 것은 보안등급이 높다고 해서 꼭 좋은 것은 아니다. 너무 엄격하게 보안을 유지한다면 사용자들의 불편이 그 만큼 커지지 때문이다. 물론 불편한 만큼 안전성은 좋다. 그러므로 관리자는 이 점을 충분히 고려하여야 한다.
4. INTERNET? 안녕, 여러분. 4장의 이야기는 인터넷과 관련된
이야기로 시작 할까한다. 해킹에 왠 인터넷이냐구? 묻지 말고 끝까지
읽어보시라. 그럼 다 알게 될것이야. - 아시는 독자도 있겠지만
말이다. 하지만 난 초심자를 기준으로 글을 쓰고 있다는 것을 잊지
말아주셔요오~ 4.1 인터넷의 발전 1969년 미국에서는 군사용으로 사용할 목적으로 하나의 거대한 통신망을 미국내에 건설하기로 결정했다. 그리하여 미국국방성의 연구계획기관인 DARPA(Defense Advanced Research Projects Agency)에서 군사관련기관간의 정보 공유를 지원하기 위해서 하나의 통신망을 건설했는데 이것이 바로 그 이름 유명한 알파넷(ARPANET)이다. 바로 이것이 인터넷의 시초이다. 시간이 지나고 알파넷에 사용하는 프로토콜은 TCP/IP로 통일하게 되었고 그 결과 어떤 컴퓨터 기종이든지 상관없이 정보 교환이 가능하게 되었다. 이 때문에 알파넷의 사용자가 급격하게 팽창하게 되자 알파넷의 당초취지인 군사 목적에 해당하는 부분은 MILNET(Military Network)이라고 하는 새로운 통신망으로 떨어져 나가고 알파넷은 일반 사용자가 사용하는 통신망으로 변모하게 되었다. 한편, 미국 과학재단 NFS(National Science Foundation)에서도 같은 통신규약을 이용하는 NSFNET이라는 통신망을 만들어 운영하기 시작했다. 이 통신망은 미국의 다섯 군데 슈퍼컴퓨터 센터를 연결하는 전산망이다. 1980년대 들어와서 TCP/IP 프로토콜을 사용하는 알파넷과 NSFNET이 서로 연결하게 됨으로써 인터넷이라는 통신망의 근간을 이루게 된다. 그리고 점차 많은 수의 사람들이 몰려들고 통신망은 발전에 발전을 거듭하여 오늘날까지 오게되었다는 말씀. 그럼 여기에서 꼭 짚고 넘어가야 할 것들 몇 가지를 이야기 해 보겠다. 4.2 TCP/IP 와 그의 잔당들 TCP(Transmission Control Protocol) IP(Internet Protocol) ICMP(Internet Control Message Protocol) SMTP(Simple Mail Transfer Protocol) UDP(User Datagram Protocol) IP Address Domain Name DNS > 더욱더 자세하게 알려면 TCP/IP 에 관한 책을 읽어보자. 그림까지 보여주면서 여러분들을 피토하게 할만큼 자세한 설명을 할 것이다. 자, 그럼 원론적인 이야기는 이쯤에서 닫고 그럼 조금 더 상세하게 들어가보자. 지금 인터넷을 통하여 내 글을 읽고 있다면 분명 웹(web)을 사용중일 것이다. 여러분들 중 린스를 사용하는 이는 없겠지? 인터넷 초심자들 중 ‘웹 = 인터넷’으로 통하는 이들이 많다. 하지만 노! no! NO! 웹이라는 것은 인터넷의 한 부분일 뿐(최근에 와서는 아주 중요한 부분이다.) 인터넷의 전부는 아니다. 우리 해커들은 이런 화려하고 누구나 사용할 수 있는 것들은 좋아하지 않는다.(단지 즐겨쓴다… ^^) 해커가 되려면 좀더 고상한 방법들을 깨닫고 이를 즐겨보자. 4.3 인터넷 서비스 WWW(World Wide Web) FTP(File Transfer Protocol) Archie Telnet Gopher Usenet(Usenet Newsgroup) E-Mail(Electronic Mail) Mailing List WAIS(World Area Information Server) IRC(Internet Relay Chatting)
5. UNIX? 눈치가 빠른 여러분들은 인터넷에 이어 왜 내가 유닉스에 대해 말하려는지 이미 알아차렸을 것이다. 인터넷에 연결되어 있는 많은 서버들이 바로 이 유닉스로 되어있다. 우린 바로 이 유닉스를 해킹해야 한다. 왜냐구? 자세하게 이야기하겠지만 유닉스는 개방된 시스템 사용을 목적으로 만들어진 OS(Operation system)이다. 도스와 같이 폐쇄된 OS가 아니라 다중작업이라고 하여 여러가지 프로그램들을 한꺼번에 실행할 수도 있고 수많은 사람들이 동시에 사용할 수 있으며 자료 공유 면에 있어서도 우수한 성능을 발휘하는 그런 OS이다. 그리고 PC와는 디스크 자원이라든가 메모리 같은 면에서 많은 차이가 난다. 이런 컴퓨터를 마음대로 사용하고 싶지 않은가! 여러 사람들이 사용하다보면 당연히 그 자료 또한 많겠지? 무슨 자료들일까? 삼성같은 대기업 연구실의 1급 프로젝트도 있는건 아닐까? 생각 할 수록 마구마구 즐거워지는데… 더 이상 이야기하지 않더라도 왜 유닉스를 해킹해야 하는가를 여러분들은 이해했으리라 본다. 5.1 유닉스의 정의 UNIX시스템이란 컴퓨터 시스템을 효율적으로
사용하기 위한 시스템 관리 프로그램이다. 즉 쉽게 말해서 일종의
운영체제(Operation System : OS)인 셈이다. 위에서도 설명했지만
유닉스는 여러 사람들이 동시(Multi User)에 로그인(Login)하여
시스템을 사용할 수 있고, 여러가지 프로그램들을 동시에 실행할
수(Multi Tasking)도 있다. 메모리(Memory)나 디스크(Disk)등의
자원(Resource)의 공유가 용이하고… 5.2 UNIX 시스템의 역사 1969년 UNIX의 역사는 시작되었다. UNIX는 그
유명한 “구석의 거의 사용되지 않던 PDP-7”에서 시작되었는데,
Ken Thompson이 대표하는 Bell연구소의 연구진들이 General Electric
645라는 컴퓨터에 Multics라는 OS를 사용해 왔으나 상당한 불편함이
있었다. 1971 - V1 : 첫 번째 유닉스 버전으로, PDP-11/20에 어셈블러로 구현되었으며 fork()와 roff, ed 등을 포함하고 있었다. 이것은 특허준비를 위한 텍스트 처리 툴로서 사용되었다. Pipe()는 V2에서 처음 선보였다. 1973 - V4 : C 로 다시 만들어 졌는데, 이것은 OS의 가장 중요한 일대 사건이었다. 이것은 유닉스가 쉽게 수 개월안에 다른 하드웨어에도 포팅 될 수 있음을 의미한다. C 언어는 원래 유닉스 시스템을 위해 설계되었다. 그리고 그렇기 때문에 C 와 유닉스 사에에는 강한 시너지 효과가 있다. 1975 - V6 : 대학과 같은 Bell연구소 이외의 곳에서 많이 쓰여지게 된 버전이다. 이것은 또한 유닉스가 다양해지고 대중적인 인기를 얻게된 때의 버전이다. 1.xBSD(PDP-11)는 이 버전에서 나왔다. J.Lions는 이 버전을 기반으로 “A commentary on the Unix Operating System”을 발표했다. 1979 - V7 : 마지막 진정한 Unix라고 할 수 있는 버전으로 “improvement over all preceding and following Unics”라고 Bourne은 말했다. 그것은 완전한 K&R C와 uucp, Bourne shell을 포함하고 있다. V7은 VAX에 32V로 포팅되었다. V7의 커널은 단지 40kbyte에 불과했다. 즉, UNIX 운영체제는 시스템언어의 90% 이상이 C언어로 쓰여졌고, 시스템 프로그램이 공개되어 있어 변경, 수정이 용이하고 간단하면서도 강력한 명령어를 가지며 하드웨어에 구애받지 않는 화일 시스템을 가지고 있어 각기 특성을 가지는 수많은 UNIX시스템이 발표되었고, 마이크로 컴퓨터 및 미니 컴퓨터의 표준 운영체제로서 더욱 각광을 받고있다. 여기서 잠깐 :
6. Linux? 나의 글을 읽는 여러분들 중 현재 리눅스(Linux)를 사용하고 있는 분들도 있겠지만 대다수가 리눅스를 사용하지 않거니와 잘 모르는 분들이라고 생각된다. 우리 바로전에 UNIX에 대해서 살펴보았다. 그럼 리눅스는 뭐지? 대답은 아주아주 간단하다!! 리눅스는 자유롭게 배포할 수 있는 UNIX 버전이며 값비싼 스팍(SPARC)과 같은 고가의 워크스테이션 뿐만 아니라 일반 PC에서도 설치하여 사용할 수 있는 UNIX이다. 리눅스는 맨 처음 핀란드 헬싱키 대학의 리누스 토발즈(Linus B. Torvalds)가 재학중 취미 프로젝트로 시작하면서 만들어 진 운영체제이다. 리눅스(Linux)라는 이름은 다름 아니라 개발자인 리누스(Linus)와 UNIX를 절묘하게 합친 이름이라고나 할까? 리누스는 대학 수업중 교육용 유닉스로 불리는 앤디 타넨바움(Andy Tanenbaum)씨의 미닉스(Minix)를 배우면서 자신이 직접 ‘미닉스 보다 나은 미닉스’를 만들어 보겠다는 영감을 얻게 되어 밤낮없이 리눅스를 만들기 시작하게 되었다. 그 결과 1991년 10월 5일, 리누스는 그의 첫번째 공식적 리눅스 버전 0.02를 공개했다. 버전 0.02 에서는 GNU bash와 GNU C 컴파일러인 gcc가 동작되는 수준이었다고 한다. 그리고 유즈넷 뉴스그룹을 통해, 지금 막 탄생한 리눅스를 발전시키기 위한 토론이 활기차게 벌어졌으며 이것은 리눅스의 개발 역사의 특징인 인터넷을 통한 자발적인 협력 모델의 시작을 의미한다. 리누스가 소스를 공개함으로써 전세계 유닉스 해커들이 이 리눅스 개발에 달려 들었고 그 결과 현재의 리눅스까지 오게 된 것이다. 몇 가지 덧붙이자면 리눅스의 커널은 AT&T 나 다른 어떤 소유권자가 있는 소스의 어떤 코드도 사용하지 않았고 리눅스에서 사용할 수 있는 그 프로그램들의 대부분은 자유 소프트웨어 재단( Free Software Foundation) 의 GNU 프로젝트에 의해서 개발되었다. - GNU가 무엇인지 여러분들은 위에서 보았다. 모른다면 다시 읽어보기를 권한다. ( GNU(General Public License) 프로젝트는 재귀적 약어 “Gnu is Not Unix - GNU는 유닉스가 아니다”로 유닉스 호환 자유 소프트웨어 개발 프로젝트이다) - 커널이 무엇인지 모르는 이들을 위해 : - 리눅스의 특징 : - 리눅스 배포판이란? : - 대표적인 배포판들 : Redhat, Debian, Slackware, S.u.S.e 여러분들 중 이 글을 읽고 더욱더 유닉스와 리눅스에 대해 알고 싶다는 열정을 지닌분이 있을지도 모른다. 이런분들이 있으면 전문서적을 사서 읽어보기를 권한다. -------------- 혹시 이 글에 대한 내용 중 틀린글이 있거나 저작권에 위배된 내용이 있다면 저에게 메일주세요. 이재욱 E-Mail : salsari@hotmail.com |