다음 이전 차례

1. 소개

리눅스 설치의 험난한 과정을 통과하고 멋지게 루트로 로그인하는 기쁨은 다른 운영체계 사용자들은 느끼기 힘든 그런 짜릿한 경험이다. 뜬눈으로 밤을 지새며 X 윈도를 띄우려고 그 동안 어디에다 처박아 놓은 지도 모르는 모니터 매뉴얼과 비디오 카드 매뉴얼을 찾느라 온 집안을 다 발칵 뒤집었을 것이다. 그리고 약간은 생소하기 짝이 없는 수직 동기 주파수, 수평 동기 주파수, 비디오 칩세트의 정확한 모델 번호 등 리눅스를 설치하고 나면 자신도 모르게 하드웨어에 대하여 좀 많이 알게 된 것 같아서 뿌듯함을 느끼곤 한다. 리눅스는 설치 자체가 사람을 곤역스럽게 만든다고 들 한다. 필자의 생각으로는 설치가 잘 되지 않기 때문이 아니라 리눅스를 인스톨할 때 물어오는 것이 많기 때문이라고 생각한다. 그 동안 아무것도 물어오지 않고 컴퓨터 운영체계가 가질 수 있는 극소량의 기능만을 가지고 있는 MS-DOS를 설치해보던 경험 그리고 사용자에게는 거의 대답할 기회를 주지 않고 알아서 설치해준다는 명목으로 무조건 설치하는 윈도3.1 또는 윈도95의 방식과는 판이하게 다르기 때문이기도 하다. 계속 이것저것 물어오는 것이 귀찮다면 사실 리눅스를 써야 할 마땅한 이유가 없다. 리눅스는 엄밀히 말해서 결국에는 ``해커의 운영체계''라는 기본 성격을 가지고 있기 때문이다. 충분히 저변이 확대되고 전세계적으로 무시할 수 없는 막강한 운영체계로 부상하면서 많은 사람들이 달 려들지만 그리고 레드햇(Red Hat), 칼데라 네트워크처럼 상용 리눅스 배포판에서는 설치 즉시 하나의 완벽한 유닉스 호환 운영체계가 되고 사용자의 편의도 최대한 고려했다고는 해도 리눅스의 오늘이 있게끔 해준 것은 역시나 해커들의 진취적인 자세와 열정 때문이고 해커의 스타일에 맞는 운영체계라는 사실이다. 해커(Hacker)의 스타일이란 무엇인가? 우선 해커라는 호칭에 대하여 먼저 장황하게 말을 해야겠다. 해커란 리눅서들이 자랑스럽게 여기는 이름이다. 모두들 자기가 해커의 경지에 오르고 싶어서 오늘도 밤을 지새고 있다. 오늘도 밤을 지새면서 어디 침투해서 일을 벌이는 것이라는 오해는 하지 말기 바란다. 종종 해킹을 하고 싶어요! 라고 하면서 리눅스 동호회에 가입신청을 하는 사람들을 보면 한심하기 짝이 없다. 해커라고 하는 말은 컴퓨터 초창기 시절 컴퓨터에 정말로 열정적으로 빠져 있고 능력 있는 프로그래머를 뜻하는 말이었다. 많은 리눅서들이 존경해 마지않는 FSF의 회장 리차드 스톨맨(Richard M. Stallman)이라는 분을 ‘최후의 해커’라고 부르기도 한다. 이 때 리눅서들이 사용하는 해커는 컴퓨터와 프로그래밍에 뛰어난 열정을 가진 사람을 말한다. 말하자면 리눅스 커널을 개발한 리누스(Linus) 또한 정말 실력 있는 해커라고 하지 않을 수 없다. 해커들이란 컴퓨터의 모든 능력을 끝까지 활용할 수 있기를 바라는 사람들이다. 리누스와 같은 사람이 크래킹(Cracking)에 헛되게 노력을 쏟지 않고 생산적이고 창조적인 일에 관심을 가졌기 때문에 그리고 많은 해커들이 그 생산적인 일에 동참하였기때문에 리눅스가 나온 것이다. 절대로 개인적이고 비밀스러운 컴퓨터 망치기에 관심을 가지거나 상용 프로그램 고치기에 관심을 갖는 사람들은 아무리 많아 봤자 리눅스 같은 운영체계를 만들 수 없다. 해커의 스타일은 이렇다. 그들은 컴퓨터가 처음 작동되는 순간부터 끝나는 순간까지 그 운영의 메커니즘을 모두 이해하고 싶어한다. 도대체 내가 시키지 않은 일을 운영체계가 대충 알아서 해주는 것을 참지 못한다. ``왜 이렇게 되는 것일까?'' 리눅스가 부팅하는 화면과 윈도95가 부팅하는 화면을 일반인들에게 보여준다고 생각해보겠다. 거의 대부분의 사람들은 윈도95의 하늘색 바탕 화면에 MS 로고가 휘날리는 모습에 매료될 것이다. 원래 지금 세상은 겉포장도 중요한 시대니까... 하지만 리눅서들은 Loading... 하면서 컴퓨터의 하드웨어를 주르륵 체크하고 커널의 내장된 기능을 텍스트 화면으로 줄기차게 보여주는 모습에서 어떤 희열을 느낀다. 특히 펜티엄급의 컴퓨터에서는 100미터 선수가 순간적으로 튀어 나가는듯한 탄력을 느끼게 된다. 그리고 시스템 운영에 필요한 여러 가지 데몬들을 로딩하는 모습을 동적으로 보여준다. 다음 화면을 보자.

Console: 16 point font, 400 scans
Console: colour VGA+ 80x25, 1 virtual console (max 63)
pcibios_init : BIOS32 Service Directory structure at 0x000fb660
pcibios_init : BIOS32 Service Directory entry at 0xfbb40
pcibios_init : PCI BIOS revision 2.10 entry at 0xfbb70
Probing PCI hardware.
Calibrating delay loop.. ok - 47.82 BogoMIPS
Memory: 30924k/32768k available (712k kernel code, 384k reserved, 
     748k data)
Swansea University Computer Society NET3.035 for Linux 2.0
NET3: Unix domain sockets 0.12 for Linux NET3.035.
Swansea University Computer Society TCP/IP for NET3.034
IP Protocols: IGMP, ICMP, UDP, TCP
Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
Checking 'hlt' instruction... Ok.
Linux version 2.0.22 (root@freeyong) (gcc version 2.7.2) #1 
       Thu Oct 10 05:04:05 
KST 1996
Serial driver version 4.13 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16550A
tty01 at 0x02f8 (irq = 3) is a 16550A
tty03 at 0x02e8 (irq = 3) is a 16550A

커널이 메모리에 적재되면서 필요한 모든 사항을 점검하고 있다. 리눅스 커널은 더 이상 바이오스에 의존하지 않고 자기 스스로 모든 것을 독점적으로 관리하는 신(God)이 된다. 모든 하드웨어와 자기 자신의 내부 기능을 여러분들에게 보여주고 있다. Ok. 라는 신호가 나올 때는 정말 후련하다. 순식간에 지나가기 때문에 제대로 볼 수 없을 것이다. 그럴 때는 dmesg 명령을 사용하여 해보도록 한다.

Real Time Clock Driver v1.07
Sound initialization started
<Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5
<Yamaha OPL3 FM> at 0x388
Sound initialization complete
ide: i82371 PIIX (Triton) on PCI bus 0 function 57
    ide0: BM-DMA at 0xe800-0xe807
    ide1: BM-DMA at 0xe808-0xe80f
hda: QUANTUM MAVERICK 540A, 516MB w/98kB Cache, LBA, 
          CHS=1049/16/63
hdb: QUANTUM SIROCCO2550A, 2445MB w/75kB Cache, LBA, 
         CHS=621/128/63, DMA
hdc: IBM-DJAA-31700, 1628MB w/96kB Cache, LBA, CHS=827/64/63
hdd: TOSHIBA CD-ROM XM-5302TA, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
Floppy drive(s): fd0 is 1.44M
Started kswapd v 1.4.2.2 
FDC 0 is a post-1991 82077
scsi : 0 hosts.
scsi : detected total.
Partition check:
 hda: hda1
 hdb: hdb1 hdb2 hdb3 < hdb5 hdb6 hdb7 hdb8 hdb9 >
 hdc: hdc1 hdc2

그냥 지나쳐왔는지 모르겠지만 여러분 모두 이 부팅 메시지를 곰곰이 바라보고 있으면 컴퓨터와 리눅스가 어떻게 반응하고 작동하는지를 약간은 이해할 수 있을 것이다. 해커들은 마치 라디오가 어떻게 작동하는지 정말 신기해서 뜯어보지 않고는 성미가 안 풀리는 어린아이와 같다고 할 수 있다. 기어이 그 안에 작은 사람이 들어있는지 아닌지를 알고 싶어하는 욕구를 채워야 할 것이다. 운영체계의 내부를 들여다보고 싶은 사람에게는 최상의 선택이라고 하지 않을 수 없다. 해커들은 윈도95처럼 도대체 어디에다 프로그램을 설치하는지, 뭘 설치하는지 알려주지 않고 자기 맘대로 하는 것을 상당히 싫어한다. 그들은 자기 컴퓨터에 대해서 완전히 신으로 군림하고 싶어하며 모든것을 관여하고자 한다. 어느 것이 어느 것에 의존하는지 무엇이 없으면 안되는지를 알지 못하면 잠을 이루지 못한다.

마지막으로 해커들은 항상 컴퓨터와 대화하고자 한다. 컴퓨터에게 이것 저것 다른 것을 알려주고 다르게 행동해보도록 한다. 그러면서 자신의 컴퓨터가 최적의 성능을 내도록 끝까지 추적한다. 마치 카레이서가 자신의 차를 애지중지하면서 최상의 컨디션으로 경주에 임하는 자세와도 같다고 할까? 보통 해커들은 자신의 컴퓨터에 이름을 붙이게 된다. 여러분이 네트워크 세팅을 하면서 여러분이 랜 환경에 있든 아니든 간에 이름을 지어 달라고 요청할 것이다. 보통 다음과 같은 프롬프트가 뜰 것이다.

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Linux 2.0.22 (freeyong.korea.org) (ttyp0)


freeyong login: root

Password: 
Last login: Sun Oct 13 22:27:52 on tty1

Linux 2.0.22.
You have new mail.
freeyong:~# 

이름을 어떻게 지어주든 그것은 여러분 마음이다. 하지만 혹시라도 여러분에게 할당한 호스트명이 실제로 존재한다면 그것은 좀 다른 얘기가 될 것이다.


다음 이전 차례