리눅스란 ?
1. 리눅스?
지금의 컴퓨팅 환경에서 가장 활발히 논의되는 이슈는 클라이언트/서버, 네트 워킹, 다운사이징 등일것이다. 그 개념은 명확하지는 않지만 컴퓨터를 다루는 사람은 누구나 한두번 이말을 들었을것이며, 개발도 많이 이루어지고있고 이를 도입하는 회사도 늘고있다. 그리고 이 분야에서 가장 많이 사용되는 운영체제 가 유닉스이고 하드웨어는 피시보다 약간 상위의 워크스테이션 및 미니 컴퓨터 라는 사실도 수긍할것이다.
종전의 피시는 하드웨어의 성능이 약해 위에 언급한 분야에 사용하기가 쉽지 않았다. 그러나 그 동안의 피시 하드웨어의 비약적인 발전으로 이제는 피시를 이분야에 사용해도 아무런 지장이없다. 실제로 피시가 벤치마크 테스트에서 어느 부분에서는 워크스테이션급보다 좋은 결과를 보여주고 있다.
그렇다면 종전에 호스트컴퓨터에서나 가능했던 작업들을 피시에서 수행하려면 어떤 운영체제를 사용할것인가 라고 묻는다면 나는 리눅스를 사용하라고 자신 있게 권하겠다.
2. 리눅스는 또다른 유닉스인가?
리눅스는 멀티유저, 멀티태스킹을 지원하는 유닉스처럼 보이는 운영체제이다. 하지만 리눅스는 벨 연구소에서 쓰여진 유닉스 소스코드를 사용하지 않고 독립 적으로 개발되었으므로 유닉스 계열 운영체제가 아니라 유닉스 클론(Clone) 운 영체제이다.
리눅스는 핀란드의 Linus Torvalds에의해 1991년에 개발되었으며 처음부터 인텔 CPU (80386)를 장착한 피시용으로 개발되었다. 다른 피시용 유닉스가 호 스트컴퓨터용을 피시용에 이식한것에 비하면 탄생부터 다르다.
리눅스의 개발 역사는 불과 7년이지만 그 동안 리눅스 개발에 쏟은 노력은 그 몇배의 역사를 갖고있는 유닉스 계열 운영체제를능가한다. 이는 유닉스가 한 회사나 조직내에서 폐쇄적으로 개발, 유지되는데 비해 리눅스는 인터넷으로 연 결된 전 세계의 수많은 자원자들에 의해 개발이 진행되기 때문이다. 리눅스 개 발에 수많은 자원자들이 참여하는 이유는 리눅스는 프로그램의 소스를 공개하 는한 누구든지 자유로이 프로그램을 변경하여 유통시킬 수 있는 프리웨어 (Freeware)이기 때문이다. 리눅스가 짧은 기간에 비약적인 성장을 기록한 이유 는 바로 이 개방형 개발체재 덕분이다.
기존 유닉스들은 새로운 기능을 추가하거나 새로나온 하드웨어를 지원하는데 몇달에서 몇년씩 소요된다. 이에비해 리눅스는 한달에도 몇건씩 새로운 기능이 나 하드웨어의 추가가 이루어지고 있다.
3. 리눅스가 피시 운영체제에서 차지하는 비중은 어느정도인가?
몇달전에 미국의 애플사는 리눅스를 파워피시에 이식하는 것을 지원하겠다고 발표하였다. DEC은 자사의 알파 피시에 리눅스를 쓸수 있도록 지원하였다. 미 국의 피시 전문잡지인 Byte지 96년 2월호에 나온 리눅스 소개 기사의 제목은 "Linux matters."이다. 즉 리눅스가 중요하다 라는 의미이다.
인터넷에서 가장 많은 게시물을 기록하는 뉴스그룹중의 하나가 리눅스 관련 뉴스그룹이며 상당수의 하드웨어 및 상용 소프트웨어 제조업체에서 리눅스용 드라이버 및 프로그램을 발표하였다. 리눅스 전문잡지도 이미 2종이 나와있고 매달 1 ~ 2권의 리눅스 관련 책들이 발간되고 있다. 리눅스 판매와 컨설팅 및 지원을 전문으로 하는 회사가 미국에서만 수십개에 이르고 있다. 어떤 유닉스 전문가는 피시가 컴퓨터 하드웨어에서 혁명을 가져왔다면 리눅스는 운영체제에 서 혁명을 가져왔다고 말하는 정도다.
리눅스가 왜 피시 운영체제에서 이처럼 각광을 받고있는가? 이유는 간단하다. 리눅스는 또 다른 유닉스가 아니기때문이다. 리눅스는 유닉스 보다 더 나은 유닉스(A better UNIX than UNIX) 이기 때문이다.
4. 리눅스의 특징
리눅스는 도스나 윈도우와는 달리 진정한 32비트 운영체제이며 유닉스가 이 루지 못한것을 이미 갖고 있다. 그 중에서도 특히 리눅스가 뛰어난 능력을 발 휘하는 분야를 소개하자면
① 멀티 플랫폼 (Multiplatform)
리눅스는 대부분의 인텔 CPU(80386-SX 이상) 및 호환 CPU를 장착한 피시에서 사용 가능하다. 이외에도 모토로라사의 680X0 계열 CPU를 장착한 아미가(Amiga)나 아타리(Atari) 피시, DEC사의 알파시스템에도 장착되었으며 선(SUN)사의 Sparc과 애플사의 파워피시, MIPS 기종에 도 이식이 진행중이다.
② 다른 운영체제에 대한 지원
리눅스는 피시에서 사용되는 대부분의 운영체제에 대해 여러 지원방안이 강구되어있다. 도스나 윈도우95의 파일을 읽거나 쓸수있으며 DOSEMU 를 쓰면 상당수의 도스 프로그램을 리눅스에서 실행할수있다.
윈도우3.1용 프로그램을 리눅스에서 실행시키기 위하여 WINE이라는 프 로젝트가 진행중이며 이미 상당한 성과를 보고있다. 도스 파일시스템에 리눅스를 설치하는 것도 가능하므로 도스상태에서 바 로 리눅스를 실행할수 있다.
이외에도 OS/2, 맥킨토시의 파일을 읽을수있고, iBCS(Intel Binary Compatibitity Standard)의 포팅이 진행중이어서 피시용 유닉스인 SCO, SVR3,SVR4용으로 개발된 상당수의 프로그램을 재 컴파일하지 않고도 실행가능하다.
③ 네트워킹
리눅스는 다른 어떤 피시 운영제제보다 강력한 네트워킹 기능을 보유하고 있다. 따라서 기업의 피시 서버 운영체제로 리눅스는 최적의 선택이 될 수 있다.
리눅스는 이더넷(Ethernet), 토큰링(Token Ring), 아크넷(Arcnet) 등 3대 주요 랜표준을 지원한다. 리눅스에서 지원하는 네트워크 프로토콜과 네트워크 기능을 들면
- IPX - 노벨 네트웨어 서버 및 클라이언트 - Appletalk - 맥피시의 파일 및 프린터서버 - NetBEUI(SAMBA) - Win95, Windows for Workgroup, 랜매니저 피시 와의 랜 구축 - TCP/IP - NFS(Network File System) 서버, Telnet, FTP
또 리눅스 피시에 적절한 하드웨어를 결합하면 브리지, 라우터, 게이트웨 이 등으로 사용 가능하다.
④ 인터넷
리눅스는 탄생 단계부터 인터넷을 이용하였으며 모든 개발이 인터넷으로 연결되어 이루어지고 있다. 인터넷이 없었다면 리눅스는 존재하지 않았을 지도 모른다. 리눅스 개발자들이 모두 인터넷 사용자들이므로 리눅스가 인터넷의 모든 기능을 지원하는 것은 어쩌면 당연한 일인지도 모른다.
인터넷용 프로그램인 웹브라우저(네트스케이프, 모자익), 메일(pine, elm) 뉴스(tin, nn) 등외에도
- 웹서버 (Apache,CERN) - 메일서버 (sendmail, Smail) - 뉴스서버 (INND, C-News) - DNS(Domain Name System) 서버 - IRC 서버등 거의 모든 인터넷서버의 기능을 갖추고있고
방화벽(Firewall) 으로도 사용할수있다. 인터넷용 시리얼 프로토콜인 PPP, SLIP, CSLIP 등도 지원된다.
전세계의 상당수의 인터넷 서비스 제공자 (ISP: Internet Service Provider)가 리눅스를 인터넷 서비스에 사용하고 있으며 이들을 위한 linux.admin.isp라는 뉴스그룹도 있다.
⑤ 기타
프로그래밍 언어로서 C, C++, PERL, Java 등의 각종 언어를 지원하며 GUI 환경으로 X 윈도우가 있다. 통신용으로는 minicom, kermit, term 등과 여러 BBS 프로그램들이 있다. 아마추어무선에서 데이타통신에 사용 하는 AX.25 프로토콜을 지원하기도한다.
이상으로 리눅스의 주요한 특징들을 나열하였다. 물론 리눅스에도 워드나 스프 레드쉬트같은 프로그램들이 있다. 하지만 도스나 윈도우용처럼 사용이 간편하 거나 기능이 다양하지는 않다. 그러나 위에 언급한 기능들 중 상당수는 도스나 윈도우에서는 아직 구현이되지 않고있다. 또 다른 어느 유닉스도 위에 언급한 기능들을 모두 갖추고 있지는 못하다.
5. 설치 및 사용
유닉스를 사용하려는 사람들이 사용을 망설이는 이유중의 하나가 설치가 까 다롭고 문제가 발생해도 도움이나 정보를 얻기가 힘들다는 점이다. 그러나 리 눅스 만큼은 이런 걱정을 안해도 된다.
리눅스는 기본으로 386SX급 이상의 CPU에 4메가의 램과 100메가의 하드디 스크 공간만 있으면 설치가 가능하며 도스나 윈도우 다음으로 많은 피시 주변 기기를 지원한다. ISA, PCI, EISA, VESA 버스를 지원하나 IBM의 PS/2 기종 에 채택된 MCA버스는 지원하지 않는다.
설치는 CD-ROM을 사용하는게 간편하나 하드디스크, NFS디렉토리에서도 설 치할 수 있다. 도스나 윈도우95와 같은 하드디스크에 설치해서 선택적으로 부 팅하여 사용하는것도 가능하다. 필자도 피시 한대에 도스, 윈도우, 윈95, 리눅스 를 모두 설치해서 사용하고있다.
리눅스용 프로그램의 주요 FTP 사이트는 미국의 sunsite.unc.edu(/pub/Linux) 와 tsx-11.mit.edu(/pub/linux) 이며 전 세계의 수십군데에 미러 사이트가 있다. 국내에서도 주요 인터넷서비스업체에서 미러링을 하고 있다.
커널 개발자인 Linus Torvalds가 운영하는 FTP 사이트는 ftp.kernel.org 이며 새로 발표되는 커널은 이곳에 가장 먼저 올려진다.
리눅스의 각종 매뉴얼 제작은 리눅스 문서 프로젝트(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)이라 하는데 SuSE, Slackware, Red Hat, Debian, WGS 등의 배포본이 있다. 이중에서 데비안(Debian)은 자원자들로 구성된 비영리 단 체에서 만든 배포본으로 누구든지 이를 복사 판매할 수 있다. 데비안 FTP 사 이트는 ftg.debian.org이다.
배포본의 버전은 커널의 버전과는 무관하므로 배포본을 구입시는 어느 버전의 커널을 지원하는지를 확인하는게 좋다. 커널버전은 X.Y.Z으로 나오는데 X는 1 또는 2이며 Y가 짝수인 것은 업무에 사용해도 지장이 없는 안정화 버전이고 Y 가 홀수인 것은 현재 개발이 진행중인 개발자용 버전이므로 연구목적으로만 사 용하는게 좋다.
6. 리눅스를 잘 쓰려면
리눅스 만큼 피시의 모든 부분을 고르게 그리고 철저히 이용하는 운영체제도 드물다. 리눅스를 헥커의 운영체제라 부르는 이유도 여기에 있다. 따라서 피시 에 관한 어떤 지식도 리눅스를 사용하는데 도움이 된다. 하지만 필자의 경험을 바탕으로 리눅스를 배우는데 도움이될 사견(IMHO: In My Humble Opinion) 을 제시하면,
① 인터넷을 활용하라
리눅스의 각종 프로그램을 설치하고 운영에 필요한 매뉴얼을 얻거나 문제 발 생시 해결책을 알기 위해서는 인터넷을 이용하지 않고는 불가능하다. WEB, Telnet, FTP, News, 메일 등을 사용할 수 없으면 리눅스의 파워유저가 될 수 없다.
② 커널을 컴파일 할 수 있어야 한다.
리눅스 피시에 새로운 하드웨어나 프로그램을 추가할때 커널을 다시 컴파일 해야 할 경우가 많다. 커널 컴파일을 위해서는 프로그래밍에 대해 알 필요는 없다. 모든게 문답식으로 구성되어 있어 예스, 노로만 대답하면 되기 때문이다. 그러나 질문 내용이 무엇을 의미하는지를 알려면 상당한 공부가 필요하다.
③ 쉘(shell) 스크립트에 대한 지식을 갖추라.
리눅스에서 도스의 배치(.bat) 파일에 해당하는 부분이 쉘스크립트이다. 하지 만 리눅스의 쉘스크립트는 도스의 배치 파일과는 비교할 수 없을 정도로 강력 한 기능을 갖고있으며 리눅스의 가동부터 환경구성 또 각종 프로그램 설치등에 광범위하게 사용된다. 쉘스크립트에대한 지식은 리눅스를 이해하는데 상당한 도움을 준다.
④ 리눅스용 텍스트 에디터를 사용하라.
리눅스에서는 시스템의 유지, 보수에 많은 텍스트 편집이 필요하다. vi나 emacs같은 리눅스용 텍스트 에디터를 사용하지 못한다면 많은 시간을 낭비하 게 된다.
리눅스는 그 변화 속도가 매우 빨라 몇주만 떨어져있어도 어떻게 변했는지 파 악하기가 쉽지 않을 정도다. 엊그제까지 분명 안되었던게 오늘은 가능해지는 경우가 흔히 있다. 따라서 지금 피시를 사용해서 어떤 일을 해야하겠다면 우선 리눅스에게 물어보라. 분명 가장 좋은 해결책을 알려줄 것이니까.
이글은 헬로우피시 96년 9월호에 본인이 쓴 글의 원문입니다.
최종 갱신일 1997/06/05
배철수 <bae@www.linuxlab.co.kr> <하이텔 : linuxlab>