배철수 / 리눅스월드 발행인
|
리눅스는 멀티유저, 멀티태스킹을 지원하는 유닉스처럼
보이는 운영체제이다. 하지만 리눅스는 유닉스와는 독립적으로 개발되었으므로
유닉스 계열 운영체제가 아니라 유닉스 클론(Clone) 운영체제이다. 리눅스는 핀란드의 리누스 토발즈(Linus Torvalds)에
의해 1991년에 개발되었으며 처음에는 인텔 CPU (80386)를 장착한
피시용으로 개발되었다. 그러나 뛰어난 기능으로 인해 요즈음은
인텔 CPU가 아닌 다른 CPU를 장착한 피시와 워크스테이션에까지
이식되고 있다. 리눅스의 개발 역사는 불과 6년이지만 리눅스는
성능과 안정성에서 몇 배의 개발 역사를 갖고있는 유닉스를 능가한다.
이는 유닉스가 한 회사나 조직 내에서 몇몇 사람에 의해 폐쇄적으로
개발, 유지되는데 비해 리눅스는 인터넷으로 연결된 전 세계의 수많은
자원자들에 의해 개발이 진행되기 때문이다. 리눅스 개발에 수많은 자원자들이 참여하는 이유는 리눅스는 프로그램의 소스를 공개하는 한 누구든지 자유로이 프로그램을 변경하여 유통시킬 수 있는 프리웨어(Freeware)이기 때문이다. 따라서 누구든 리눅스를 자신의 기호나 업무에 맞게 마음대로 바꿀 수 있고, 이에 대해서는 자신의 권리를 주장하지 못하므로, 얼마 후에는 다른 사람들이 여기에 또다른 기능을 추가시켜 내놓는다. 이런 연유로 리눅스는 거의 매달 새로운 기능과 성능 추가가 이루어지고 있다. 리눅스 커늘이나 드라이버, 리눅스용 프로그램에 어떤 버그가 있으면 그 프로그램이 인터넷에 올려진지 몇 시간 길어야 몇일 이내에 버그 패치가 올라온다.
- 리눅스가 과연 중요한 운영체제인가? 미국의 애플사는 리눅스를 파워피시에 이식하는
것을 지원하였다. DEC은 자사의 알파피시에 리눅스를 이식하였다.
현재 알파피시 판매에서 리눅스 운영체제가 차지하는 비중이 상당히
높다고 한다. 미국의 피시 전문잡지인 Byte지 96년 2월호에 나온
리눅스 소개 기사의 제목은 "Linux matters."이다. 즉
'리눅스가 중요하다'라는 의미이다. 인터넷에서 가장 많은 게시물을 기록하는 뉴스그룹중의
하나가 리눅스 관련 뉴스그룹이며 피시 주변기기의 대부분이 리눅스용
드라이버를 제공하고 있다. 유닉스용 상용 프로그램도 거의 리눅스용으로
나와있다. 리눅스 전문잡지도 이미 2종이 나와있고 매달 몇 권씩
리눅스 관련 책들이 발간되고 있다. 리눅스가 왜 피시 운영체제에서 이처럼 각광을 받고 있는가? 이유는 간단하다. 리눅스는 또 다른 유닉스가 아니기 때문이다. 리눅스는 기존의 어느 단일 운영체제가 이루지 못한 것을 이미 이루고 있으며 그 뛰어난 성능에도 불구하고 무료로 사용할 수 있다는 가장 큰 이점이 있다.
- 리눅스의 특징 리눅스는 도스나 윈도우와는 달리 진정한 32비트 운영체제이며 멀티태스킹과 멀티유저 기능을 갖고 있다. 윈95나 도스를 쓰는 사람치고 하루에 한 두번 피시를 리부팅 해보지 않은 사람이 드물 것이다. 하지만 리눅스를 몇 달 동안 한번도 끄지 않고 가동해왔다는 이야기는 전혀 자랑이 아니다. 몇 년 씩 말썽없이 사용한 경우가 흔히 있기 때문이다. 필자가 인터넷 서버용(www.linuxlab.co.kr)으로 사용 중인 리눅스(486DX-66)도 하드웨어 교체시나 정전시를 제외하고는 설치한지 2년이된 지금까지 한번도 다운된 적이 없다. 리눅스는 물론 만능은 아니다. 하지만 어느 단일 운영체제도 리눅스만큼 여러면에서 다재다능하지 못하다. 그래도 꼭 리눅스가 다른 운영체제보다 뛰어난 분야를 들라면 아래와 같다. 1. 멀티 플랫폼 (Multiplatform) 리눅스는 모든 인텔 CPU(80386-SX 이상) 및 호환 CPU를 장착한 피시에서 사용 가능하다. 이외에도 모토로라사의 680X0 계열 CPU를 장착한 아미가(Amiga)나 아타리(Atari) 피시, DEC사의 알파시스템, 선(SUN)사의 Sparc과 애플사의 파워피시, MIPS 기종에 이식되었고 그 외의 여러 워크스테이션에 이식이 진행 중이다. 2. 다른 운영체제에 대한 지원 리눅스는 피시에서 사용되는 대부분의 운영체제에
대해 지원 방안이 강구되어있다. 도스나 윈도우95의 파일을 읽거나
쓸 수 있으며 윈95의 8자 이상의 파일이름을 리눅스에서 볼 수 있다.
DOSEMU를 쓰면 상당수의 도스 프로그램을 리눅스에서 실행할 수
있다. 윈도우3.1용 프로그램을 리눅스에서 실행시키기 위하여
WINE이라는 프로젝트가 진행중이며 이미 상당한 성과를 보고있다.
도스 파일시스템에 리눅스를 설치하는 것도 가능하므로 도스상태에서
바로 리눅스를 실행할 수 있다. 이외에도 OS/2, 맥킨토시의 파일을 읽을 수 있고, iBCS(Intel Binary Compatibitity Standard)의 포팅이 진행 중 이어서 피시용 유닉스인 SCO, SVR3, SVR4용으로 개발된 상당수의 프로그램이 리눅스에서 바로 실행 가능하다. 3. 네트워킹 리눅스는 네트워크에 관한 한 타의 추종을 불허한다. 컴퓨터에서 구현된 네트워크 기능은 모두 리눅스에 있다고 보면된다. 리눅스는 이더넷(Ethernet), 토큰링(Token Ring), 아크넷(Arcnet) 등 3대 주요 랜 표준을 지원하며 ISDN, FDDI, ATM, X.25, Frame Relay 등의 주요 네트워크 장비를 리눅스에서 사용 가능하다. 리눅스에서 지원하는 네트워크 프로토콜과 네트워크 기능을 들면 - IPX - 노벨
네트웨어 서버 및 클라이언트 또 리눅스 피시에 적절한 하드웨어를 결합하면 기존 제품보다 훨씬 저렴한 가격으로 브리지, 라우터, 게이트웨이를 만들 수 있다. 필자도 싱크보드에 리눅스를 써서 라우터를 만든 적이 있다. 4. 인터넷 리눅스는 탄생 단계부터 인터넷을 이용하였으며 모든 개발자들이 거의 인터넷을 통해 정보를 주고 받고 있다. 인터넷이 없었다면 리눅스는 존재하지 않았을지도 모른다. 리눅스 개발자들이 모두 인터넷 사용자들이므로 리눅스가 인터넷의 모든 기능을 지원하는 것은 어쩌면 당연한 일인지도 모른다. 인터넷용 프로그램인 웹브라우저(네트스케이프, 모자익), 메일(pine, elm), 뉴스(tin, nn) 외에도 - 웹서버
(Apache, CERN, NCSA) 전세계의 상당수의 인터넷서비스 제공자(ISP: Internet Service Provider)가 리눅스를 인터넷 서비스에 사용하고 있으며, 이들을 위한 linux.admin.isp라는 뉴스그룹도 있다. 5. 기타 프로그래밍 언어로서 C, C++, PERL, Java 등의 각종 언어를 지원하며 GUI 환경으로 X 윈도우가 있다. 통신용으로는 minicom, kermit, term 등과 여러 BBS 프로그램들이 있다. 아마추어무선에서 데이타통신에 사용하는 AX.25 프로토콜을 지원하기도 한다.
- 리눅스 설치 리눅스는 기본으로 386SX급 이상의 CPU에
4메가의 램과 100메가의 하드디스크 공간만 있으면 설치가 가능하며,
도스나 윈도우 다음으로 많은 피시 주변기기를 지원한다. ISA, PCI,
EISA, VESA 버스를 지원하나 IBM의 PS/2 기종에 채택된 MCA버스는
지원하지 않는다. 설치는 CD-ROM을 사용하는게 간편하나 하드디스크,
NFS 디렉토리에서도 설치할 수 있다. 또 CD-ROM에서 바로 리눅스를
사용할 수도 있으며 도스나 윈도우95와 같은 하드디스크에 설치해서
선택적으로 부팅하여 사용하는 것도 가능하다. 우리가 리눅스라고 부를 때 정확히는 Linus Torvalds가
개발한 커늘을 의미한다. 그러나 커늘만으로 운영체제가 이루어지지는
않으며 이외에도 여러 프로그램의 도움이 필요하다. 따라서 리눅스
커늘, 쉘, 컴파일러, 유틸리티 등의 주요 프로그램과 설치 프로그램을
패키지화한 것을 배포본(distribution)이라 하는데 Slackware, Red
Hat, Debian, WGS 등의 배포본이 있다. 이중에서 데비안 (Debian)은
자원자들로 구성된 비영리 단체에서 만든 배포본으로 누구든지 이를
복사 판매할수 있다. 데비안 FTP 사이트는 ftg.debian.org이다. 배포본의 버전은 커늘의 버전과는 무관하므로 배포본을 구입시는 어느 버전의 커늘을 지원하는지를 확인하는게 좋다. 커늘 버전은 X.Y.Z으로 나오는데 X는 1또는 2이며 Y가 짝수인 것은 업무에 사용해도 지장이 없는 안정화 버전이고 Y가 홀수인 것은 현재 개발이 진행중인 개발자용 버전이므로 연구 목적으로만 사용하는게 좋다.
- 리눅스 사용자에대한 지원 유닉스를 사용하려는 사람들이 사용을 망설이는
이유 중의 하나가 설치가 까다롭고 문제가 발생해도 도움이나
정보를 얻기가 힘들다는 점이다. 그러나 리눅스 만큼은 이런 걱정을
안해도 된다. 물론 리눅스 사용 중 문제가 발생했을 때 이를 해결하기
위해 다른 유닉스처럼 전화를 걸거나 지원을 요청할 수 있는 회사는
존재하지 않는다. 그러나 여러 피시 통신망이나 인터넷에서 무료로
리눅스에 관한 정보나 문제 해결방안을 찾을 수 있고, 수많은 리눅스
열성 사용자들이 기꺼이 리눅스와 관련된 문제를 해결해 줄 수 있으므로,
문제 해결루트만 알면 어느 운영체제보다 신속하고 정확한 해결
방안을 찾을 수 있다. 리눅스는 기본으로 386SX급 이상의 CPU에 4메가의
램과 100메가의 하드디스크 공간만 있으면 설치가 가능하며 도스나
윈도우 다음으로 많은 피시 주변기기를 지원한다. ISA, PCI, EISA,
VESA 버스를 지원하나 IBM의 PS/2 기종에 채택된 MCA버스는 지원하지
않는다. 설치는 CD-ROM을 사용하는게 간편하나 하드디스크, NFS디렉토리에서도
설치할 수 있다. 또 CD-ROM에서 바로 리눅스를 사용할 수도 있으며,
도스나 윈도우95와 같은 하드디스크에 설치해서 선택적으로 부팅하여
사용하는 것도 가능하다. 필자도 피시한 대에 도스, 윈도우, 윈95,
리눅스를 모두 설치해서 사용하고 있다. 리눅스용 프로그램의 주요 FTP 사이트는 미국의
sunsite.unc.edu(/pub/Linux)와 tsx-11.mit.edu (/pub/linux)이며
전 세계의 수십군데에 미러사이트가 있다. 국내에서도 주요 인터넷
서비스 업체에서 미러링을 하고 있다. 리눅스의 각종 매뉴얼 제작은 리눅스 문서 프로젝트(LDP : Linux
Documentation Project)라는 이름으로 전세계의 자원자들에 의해 진행되고
있으며 인터넷을 통해 무료로 리눅스 사용자에게 제공된다. LDP
프로젝트에 의해 System Administrator's Guide 부터 Ethernet-HOWTO등에
이르는 수십 종의 가이드 및 HOWTO 문서가 만들어져 있고, Network
Administrator's Guide 같은 경우는 미국의 유명 출판사에서 책으로도
나와있다. LDP의 홈페이지는http://sunsite.unc.edu/mdw이다. 가이드나 HOWTO로 해결되지 않는 문제는 comp.os.linux로
시작되는 인터넷 뉴스그룹에서 FAQ(Frequently Asked Questions)를
참조하거나 게시물을 찾아보면 된다. 리눅스의 커늘, 쉘, 컴파일러
등의 주요 프로그램과 설치 프로그램을 패키지화한 것을 배포본(distribution)이라
하는데 Slackware, Red Hat, Debian, WGS등의 배포본이 있다. 이중에서
데비안(Debian)은 자원자들로 구성된 비영리 단체에서 만든 배포본으로
누구든지 이를 복사 판매할 수 있다. 데비안 FTP사이트는 ftp.debian.org이다. 배포본의 버전은 커늘의 버전과는 무관하므로 배포본을 구입시는 어느 버전의 커늘을 지원하는지를 확인하는게 좋다. 커늘버전은 X.Y.Z으로 나오는데 X는 1또는 2이며 Y가 짝수인 것은 업무에 사용해도 지장이 없는 안정화 버전이고 Y가 홀수인 것은 현재 개발이 진행중인 개발자용 버전이므로 연구목적으로만 사용하는게 좋다.
- 리눅스를 어떻게 배울까? 리눅스를 배우려면 우선 설치부터 시작해야 한다.
보통 리눅스 기본에 관한 책을 사면 리눅스 CD가 들어있으므로 이를
쓰면된다. 다음에는 자기가 리눅스를 어느 분야에 쓰고 싶은지를
파악해서 그 분야에 관한 리눅스용 프로그램을 직접 사용해보는
것이 중요하다. 그전에 리눅스의 기본 명령어와 에디터 정도는 공부해야
한다. 리눅스는 윈도우와는 그 개념이 많이 다르므로 윈도우식의 사용은 어렵다는걸 이해해야 한다. 그리고 리눅스는 그 범위가 넓어 혼자 힘으로 모든 걸 단시간에 파악하는게 어렵다. 따라서 리눅스 관련 모임이나 피시통신의 리눅스 동호회를 잘 이용하는 것도 시간을 절약하는 길이며 특히 인터넷을 잘 쓸 수 있으면 리눅스 공부는 훨씬 쉽다. 거꾸로 리눅스를 잘 쓰면 인터넷을 잘 쓸 수 있다는 말도 맞다. 이유는 간단하다. 인터넷을 움직이는 컴퓨터의 90% 이상이 유닉스를 운영체제로 사용하고 있으며 리눅스는 유닉스보다 나은 유닉스이기 때문이다. |