메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

다시 뛰는 유닉스

한빛미디어

|

2003-05-20

|

by HANBIT

9,234

저자: 『Unix Power Tools, 3rd Edition』의 공동저자 쉘리 파워스(Shelley Powers), 역 전순재

한때 유닉스가 외곬수들(geeks)만의 전유물로 간주된 적이 있었다. 일반인들은 명령어를 별로 좋아하지 않았고 보통 일반적인 윈도우나 Mac OS같은 운영체제를 사용하였다. X 윈도우 시스템과 같은 고유의 GUI가 나왔음에도 불구하고 유닉스는 가난한 사람들이 쓸만한 운영체제가 아니었다. pwd가 작업중인 디렉토리의 이름을 반환하고, ls는 디렉토리의 내용을 보여주며, man으로 도움 받을 수 있다는 사실을 이해하지 못한다면 조심스럽게 손을 키보드에서 떼고 뒤로 물러나 앉아 아무것도 건드리지 않는 것이 상책이다.

그렇지만 이제 시대가 바뀌었고 유닉스도 변하고 있다. 오늘날의 유닉스는 과거의 유닉스보다 더 매력적이고, 보다 친절하고, 완전히 다른 모습으로 변신하여 이제 우리의 친근한 이웃이 되어가고 있는 중이다. 커널과 cron 작업을 토론하고, awk, sed, daemon, pipe 같은 괴이한 용어로 대화를 어렵게 만들었던 외골수 이미지는 이제 사라졌다. 터프했던 이미지 대신 부드럽고 친밀한 이미지의 보다 친절하고, 더욱 쉽게 접근 가능한 유닉스로 다시 태어난 것이다.

그렇지만 전통적인 유닉스의 기본 핵심인 강력한 기능은 여전히 남아있어 현대적 편리성과 통합을 이루어가고 있다. 한마디로 이제는 이 두 가지가 잘 어우러진 모습을 형성하고 있다고 할 수 있는 것이다. 여러 방면에서 유닉스의 기존 기술과 신기술이 어우러지며, 오픈 소스의 지원을 받고, 새로운 인터페이스를 갖추어 나가는 것을 보면서 필자는 "예전 것, 새로운 것, 빌려온 것, 하늘색으로 된 것"[]을 갖추어 입어야 한다고 노래하던 전통결혼식이 생각났다.

오래된 것! 과거와의 연결

Solaris, Linux, FreeBSD, 새로운 Mac OS X Darwin, 등과 같이 인기를 누리는 유닉스들은 모두 공통점이 있다. Mac OS X는 아주 독특한 사용자 인터페이스를 가지고 있지만 터미널을 띄우면 유닉스 명령어를 입력할 수 있다(Finder 메뉴에서 Go를 선택하고, 그 다음에 Applications를, 다음에 Utilities를 선택하면 됨). OpenBSD나 HP-UX의 명령어 라인 모드에서 하던 것처럼 말이다. 시스템의 최고 통치권은 여전히 루트(root)에 있지만 루트를 어떻게 관리할 것인지는 극적으로 유닉스 박스마다 변경이 가능하게 되어, 개인적인 설치 영역에 속하게 되었다.

유닉스가 풍기는 매력은 셸 접근과 커널 시스템 통제라는 똑같은 원칙에 기반을 두고 있다. 그리고 각각은 여러분이 운영체제와 대화하기 위해 필요한 최소한의 기능만을 제공한다. 예를 들어 어느 유닉스 박스에 들어갔는지와 상관없이 명령어 라인에서 vi를 타자하면, 당연히 vi 편집기가 열릴 것이다. (지난 수 년간 emacs로 옮겨가고 싶은 욕망을 잘 견뎌낸) vi의 오랜 팬이라면 vi를 사용할지 안할지에 상관없이 FreeBSD 서버, 작업용 솔라리스 박스, 델 랩탑의 리눅스 듀얼 부트, 또는 티타니움 파워북(Titanium Powerbook)의 터미널(Terminal) 창 안에서 오랜 친구를 만나는 것만큼 기쁜 일은 없을 것이다.

게다가, 모든 버전의 유닉스는 셸을 통해 운영체제와 대화한다. 이는 운영체제가 선점형 멀티태스킹(자원충돌 없이 동시에 작업이 실행되는 듯이 보이도록 하는 능력)을 지원하기 때문에 다양한 사용자들은 시스템 자원을 공유할 수 있다는 이야기이다. 예를 들어 cd, ls, mkdir, grep, find, 등등과 같은 보편적인 명령어들을 사용하여 파일, 디렉토리, 그리고 자원들과 작업할 수 있다. 여러분은 광범위하고 다양한 오픈 소스를 비롯하여 이전에 언급했던 vi와 같이 무료로 얻을 수 있는 유틸리티들에 접근할 수 있다. 여기서 시스템의 핵심은 커널이다. 그리고 루트는 여전히 슈퍼유저로서 명령 하나로 모든 것을 때려 눕힐 수 있다.

어쨌든 간에 일단 필자는 유닉스의 예전 버전과 새 버전 사이에 별 차이가 없다는 것을 여러분에게 재확인 시켜준 후, 모순되게 오늘날의 유닉스가 예전의 유닉스와 확연히 달라졌다는 사실을 말해줄 생각이다. 왜냐하면 이 늙은 몸이 새로운 트릭 몇 개를 배웠기 때문이다.


Unix Power Tools, 3rd Edition

참고 도서

Unix Power Tools, 3rd Edition
Shelley Powers, Jerry Peek, Tim O"Reilly, Mike Loukides, et. al.


새로운 것! 혁신적인 개선 사항

새로운 형태의 유닉스, 혹은 보다 현대화된 버전의 고전 유닉스에서 발견한 가장 큰 차이점은 일을 하기가 훨씬 더 수월하다는 것이다. 개인적으로 유닉스 세계 안에서 가장 복잡하고 중대한 과업중의 하나는 바로 소프트웨어의 설치였다.

얼마 전까지만 해도, 원하는 소프트웨어의 압축을 풀고 내려 받아 보면, 대부분 패키지가 소스 코드를 포함하고 있었다. 그런데 안타깝게도 두 개의 유닉스 설치본 어느 것도 전혀 같아 보이지 않았다. 그래서 소스 코드의 Makefile(구축본을 조직하는데 필요한 기본적인 지시 파일임) 파일을 손보아야만 했다. 약간의 변형을 가하고, 라이브러리, 설치 장소를 변경하고, 플래그를 사용하는 등등의 과정을 거쳐야 비로서 성공적으로 구축해서 설치할 수 있었다. POSIX 유닉스 표준화 노력이 이에 도움이 되기는 했지만 대부분의 경우, 반드시 처음부터 끝까지 구축해서 설치하는 작업을 해야 했다. 진짜로 행운이 따르지 않는 한, 그 과정은 수많은 좌절의 시간을 수반한다.

(실제로, 유닉스인들이 기본적인 유닉스 기능만으로 그렇게 똑똑하게 작업할 수 있게 되었다 하더라도 전혀 놀라운 일은 아니다. 아무도 새로운 유틸리티와 도구들을 설치하는 골치 아픈 경험을 하고 싶어 하지 않았기 때문에...)

이제는 많은 시간과 수고를 들여 Makefile 파일을 조작하지 않는다. 이제 그런 일은 과거의 이야기이다. 대부분의 유닉스에 보너스로 따라오는 도구들을 이용하면 Makefile 파일을 조작할 수 있을 뿐만 아니라, 명령 하나로 소프트웨어를 내려 받아 구축하고 설치까지 할 수 있다.

리눅스 사용자는 RPM을 사용하여, 데비안 사용자라면 dpkg를 사용하여 소프트웨어를 관리할 것이다. FreeBSD 사용자들은 포트(ports)를 사용해 소프트웨어를 설치하고 접근한다. Mac OS X 사용자 조차도 핑크(Fink)라고 부르는 포트의 버전이 있다. 게다가, 모든 유닉스 사용자들은 세가지 새로운 유티리티(autoconf, automake, libtool)를 사용하여 문자 그대로 환경을 분석하고 자신의 머신에 딱 들어맞는 Makefile을 만들 수 있게 되었다.

유닉스에서 소프트웨어 설치만 개선된 것은 아니다. 이제 어느 패키지든 새로운 도구들과 유틸리티들 덕분에 인터넷을 통해 쉽게 소프트웨어 패키지를 구할 수 있다. 예를 들어 GNU의 wget 유틸리티는 HTTP나 FTP 프로토콜을 통하여 파일을 내려받을 수 있다. 물론 필자는 앞으로도 vi를 좋아하겠지만, 보다 현대적인 vimemacs라는 편집기 사용자들은 물론이고 간단한 (그러나 우아한) 기능의 vi 사용자들을 끌어 들였다. 스크립팅에 대해서는 파이썬(Python)이나 루비(Ruby) 같이 급부상하고 있는 스크립팅/프로그래밍 언어에다 인기만점의 펄(Perl)도 있다. 이제 구형 C 셸을 사용하는 사람은 거의 없다. 사람들은 대부분 보다 현대적인 배시셸(bash, Bourne Again Shell)이나 다른 현대적으로 변형된 셸을 사용한다.

새로운 장난감이든 도구든 무엇을 사용하더라도, 유닉스 환경이 이렇게 단순화되고 친절하게 변할 수 있었던 이유는 대부분의 운영체제가 조용히 오픈 소스 공동체와 협력했기 때문이다. 유닉스 탄생 이후로 30년간이나 생생한 운영 체제로 살아남은 이유는 무엇보다 이 협력 덕분이다.

빌려온 것! 도움을 주고 받은 것들

유닉스가 휴렛패커드(HP)나 썬(Sun)과 같은 거물급 회사들로부터 지원을 받아온 것은 사실이지만 시간을 들여 유틸리티와 도구들을 만드는 사람들은 여전히 오픈 소스 개발자들이다. 뿐만 아니라 오랫동안 보다 이식성있는 버전의 유닉스를 만들고자 노력하고 있는 사람들도 오픈 소스 개발자들이다. 그들 덕분에 이제 비밀스럽고 사용하기 어려운 운영 체제였던 유닉스는 오늘날 우리가 가진 강력하고, 우아하며, 그리고 사용자에 친절한 운영체제로 성숙하게 되었다. 유닉스는 애플리케이션을 제공해 준 오픈 소스 공동체에 큰 빚을 지고 있다.

FreeBSD 박스에 데이터베이스가 필요한가? 개인적 용도로 사용하는 한 MySql을 무료로 내려받아 사용할 수 있다. 웹 페이지를 서비스하는데 관심이 있는가? 최고의 웹 서버인 아파치(Apache)를 내려받아 설치하면 된다. 아파치가 설치되면, 톰캣(Tomcat)을 사용하여 자바로 개발을 할 수 있다. 그렇지 않으면 PHP가 내장된 스크립팅 접근법을 사용할 수도 있다( 이 역시, 오픈 소스이며 무료로 내려받을 수 있다). 이러한 제품들 상당수는 윈도우 같은 다른 운영 체제에서도 작동한다. 그러나 각 제품뒤에 숨겨진 개념은 유닉스와 함께 시작했다.

무료로, 혹은 저렴한 가격으로, 그리고 대부분은 공개 소스로 얻을 수 있으며 대다수의 유닉스 플랫폼에서 실행되는 소프트웨어를 모두 나열하는 데에만도 여러 권짜리 책을 쓸 수 있을 정도다.

하루, 이틀의 여유가 있다면 소스 포지에 가서 오픈 소스 프로젝트를 훑어 보는 것도 좋다. 이밖에도 FreeBSD 웹 사이트에 있는 FreeBSD 소프트웨어에도 접근해도 좋다. Mac OS X 내려받기는 www.apple.com/downloads/macosx/에서, 리눅스에 대한 자세한 정보는 www.linux.org/에서, 일반적인 유닉스 유틸리티와 도구들은 GNU 사이트에서 얻을 수 있다.



지난 십년간, 전통적인 오픈 소스의 노력과 기업적 관리가 어우려져 레드햇(Red Hat)이나 맨드레이크(Mandrake), 그리고 애플사의 Mac OS X와 같은 리눅스들이 배포되는 것을 보기도 했다. Mac OS X는 다윈(Darwin)이라고 알려진 오픈 소스 유닉스 위에 구축된 독점 인터페이스를 가지고 있다. 이렇게 오픈 소스의 노력과 기업의 지원이 어우러져서 안정화된 덕분에 유닉스는 전세계의 데스크탑과 랩탑 머신에 자리를 잡게 되었다; 그것은 우리의 오랜 친구를 지하실에서 불러내어 새로운 존재의미를 부여하는 운동이었다.

파란색으로 된 것! 충실함

새 파워북(Powerbook)을 받자마자 터미널(Terminal) 애플리케이션에 접근해서 누구나 알고 있는 su -l 명령어를 사용해서 루트로 로그인을 시도해보았다. 그제서야 필자는 Mac OS X가 유닉스 커널 위에 올려진 똑똑한 GUI 그 이상이라는 것을 깨닫았다. 그 둘의 통합은 그 보다 훨씬 더 방대하다.

Mac OS X에서 터미널(Terminal) 프로그램에 접근하면, 루트 사용자가 기본값으로 활성화 되어 있지 않다는 것을 눈치챌 수 있을 것이다. 루트를 활성화하려면 넷인포 매니저 애플리케이션(Netinfo Manager application: Finder 메뉴에서 Go로 가서, Applications 다음에 Utilities를 선택)에 접근해서, Security 메뉴를 클릭하고, 그 다음에 "Authenticate"을 선택해서 컴퓨터 관리자임을 인증받아야 한다. 이 인증과정을 거치게 되면 루트 사용자를 무력화 하거나 활성화 할 수 있다.

아쿠아(Aqua)라고 하는 애플의 섬세한 사용자 인터페이스에 유닉스(Darwin)를 통합하면서 가한 수 많은 변형 중에 하나로 루트를 수작업으로 활성화 하는 것이 있다. 무력화된 루트가 필요한 이유는 보안 때문이다(원래부터 수퍼유저가 무력화되면, Mac OS X 커널 기능에 파고 들어 와서 시스템에 재앙을 만들기가 훨씬 더 어렵기 때문). 대부분의 맥 사용자들은 명령어 라인을 사용하려고 하지 않을 것이고, 또는 진정한 루트 접근이 필요하기 때문에 기본값으로 루트를 무력화해두기로 결정이 내려졌다.

내려 받은 소프트웨어를 컴파일하려고 시도하거나 자동화된 환경설정 도구들을 이용하는 소프트웨어 조차도 의외의 사건에 봉착하게 될 경우가 있다. 아마도 가끔씩 아래와 같은 에러를 만나게 될 것이다.
configure: error: installation or configuration (환경설정: 에러: 설치 또는 환경설정)
 problem: C compiler cannot create executables (문제 발생: C 컴파일러가 실행파일을 생산하지 못함)
별로 도움도 안되는 이런 메시지들이 발생하는 이유는 별개의 디스크에 따라오는 개발자 도구들을 Apple Mac OS X 설치 디스크로부터 특별히 설치하지 않았기 때문이다.

아쿠아 사용자 인터페이스와 작업 중에 만나게 될 지도 모르는 차이점들에도 불구하고, 이런 새 환경과 기존 유닉스 사이에 공통적인 연결 고리가 하나 있다면 바로 Mac OS X 환경 안에서 X 윈도우(X11)-기반의 소프트웨어를 사용할 수 있다는 것을 들 수 있다. 비록 아쿠아와 X 윈도우가 서로 경쟁하는 GUI이긴 하지만 말이다.

필자는 오픈오피스(OpenOffice)를 사용해서 이 기사를 쓰고 있다. 오픈오피스는 오픈 소스 애플리케이션으로서 리눅스, 솔라리스, 윈도우용이 무료로 사용할 수 있게 나와있다. 최근, 오픈오피스 조직(OpenOffice organization)은 베타 버전의 애플리케이션을 Mac OS X용으로 배포했다. 오픈오피스를 직접적으로 아쿠아(Aqua) 안으로 이식해 넣는 대신에, 오픈오피스 조직은 간접적인 조치를 취해서 그 소스를 X 윈도우 사용자 인터페이스를 가진 다윈(Darwin)에 이식했다. 일단 최초의 이식이 성공적으로 검증되면 다음 단계로 애플의 쿼르쯔(Quartz) 사용자 인터페이스로 이식될 것이고, 최종적으로 아쿠아(Aqua)에 이식될 것이다.

오픈오피스를 실행하기 위해서는 X 윈도우 시스템을 내려받아 설치해야 한다. 이 과정에서 우연하게도 Xdarwin을 얻을 수 있었다(또한, XDarwin과 작동하는 X11 윈도우 관리자도 있는데 OroborOSX가 바로 그것이다). 둘 모두 설치하는 일은 문자 그대로 패키지들을 내려받아 그것을 스터프잇(Stuffit)으로 압축을 풀고, 각 설치 패키지를 더블 클릭하기만 하면 된다. 먼저 XDarwin을 설치하고 그 다음에 OroborOSX를 설치한다. (기본으로 설치하면) 경로나 매개변수 또는 특정 형태의 설정에 대해 고민할 필요가 없다. X 윈도우 환경이 자리를 잡은 후 오픈 오피스를 같은 절차로 설치하면 된다. 세 패키지 모두를 내려받아 설치하는 데는 15분이 채 안 걸렸다(특정 기타 오피스 애플리케이션 제품을 설치하는데는 더 짧은 시간이 걸린다).

파란색은 유닉스에게는 행운의 색깔인 듯하다. 왜냐하면 레드햇(Red Hat)의 리눅스 설치본인 레드햇 리눅스 8.0에는 블루커브(Bluecurve)라고 부르는 깔끔한 새 GUI가 함께 딸려 오기 때문이다. 그동안 리눅스를 여러 번 설치해 보았기 때문에, 설치 프로그램이 내가 가지고 있는 무선 마우스, 키보드, 주변 장치들을 모두 무리없이 탐지해서 설정할 수 있어서 나는 안심을 했다. 또한 몇 번의 마우스 클릭만으로도 무선 네트워크 카드를 추가하고 환경설정할 수 있게 된 것이 아주 즐거웠다.

물론, 처음에는 무선 연결을 활성화하지 못했다. 그래서 해결책을 찾기 위한 연구를 하고 있고, 아마도 조금만 변조하면 작동시킬 수 있으리라 확신한다. 도전이 전혀 필요없다면 이제 더 이상 유닉스가 아니지 않을까? 그리고 이것을 유닉스라고 불러도 되는지 의심스러워 진다.


[] 미국 전통으로 혼례식에서 "Something Old, Something New, Something Borrowed, Something Blue"하면서 신부가 장차 결혼생활의 행복을 위하여 혼례식 때에 무엇인가 오래 된 것과, 새것과, 누구에게서 빌린 것과, 하늘색으로 된 것을 입어야 한다는 풍습이다. 오래 된 것은 신부의 친정 가족 그리고 과거와의 연결을 상징하며, 대개 신부들이 그 뜻으로 친정에서 대대로 내려오는 보석을 지니거나 어머니나 할머니가 입던 혼례복을 입는 사람도 있다. 새것은 앞으로 다가올 성공적인 새 인생과 행운을 상징하며, 대개 새로 만든 웨딩드레스로 그 뜻을 나타낸다. 누구에게서 빌린 것은 신부가 앞으로 결혼생활을 하면서 도움이 필요할 때 항상 주위에는 친구들과 가족이 있다는 것을 상기시켜 주는 뜻이고, 혼례식 때에 누구에게서 빌린 손수건 같은 것을 지니기도 한다. 하늘색 물건은 결혼 생활의 정숙과 충실을 상징하며 그 뜻으로 신부들은 대개 하늘색 양말 대님을 착용한다.
출처: 월간 디지털 조선일보


셸리 파워스(Shelley Powers)는 현재 세인트 루이스(St. Louis)에 살면서, 테크놀로지 아키텍쳐와 소프트웨어 개발에 전념하고 있다.
TAG :
댓글 입력
자료실

최근 본 책0