강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

SULinux 개발환경

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

SULinux 개발환경

작성자 : (주)수퍼유저코리아, http://www.superuser.co.kr 서버팀

1. 리눅스의 탄생 배경

top


리눅스(Linux)는 1991년 당시 핀란드 헬싱키 대학의 대학생인 리누스 토발즈(Linus B. Torvalds)가 취미삼아 프로젝트로 추진하면서 개발된 운영체제이다.
리누스는 대학 수업 중 교육용 유닉스(Unix)로 불리는 앤디 탄넨바움(AndyTanenbaum) 교수의 미닉스(Minix)를 배우면서 자신이 직접 보다나은 미닉스(Minix)를 만들어 보겠다는 영감을 얻게 되어 미닉스(Minix)의 커널(Kernel)을 고쳐서 자신의 386 컴퓨터에서 돌아가는 더 나은 PC용 유닉스(Unix)를 만들고자 했다.
리누스는 개발 초기에는 386 보호모드(protected mode)에서 작업 전환에 대한 내용을 어셈블리를 사용하여 코딩하였다. 어느 정도 개발이 진행된 리눅스는 C언어로 프로그래밍하여 개발을 가속화하였다.
리누스는 자신이 만든 리눅스에서 gcc를 재컴파일하는 것을 목표로 밤낮 없이 코딩해나가기 시작했고 드디어 리눅스의 심장인 커널을 완성하기에 이르게 된다. 리눅스라는 이름에서 유닉스를 떠올리게 된 것은 개발자인 리누스(Linus)의 이름과 개발 모델로 삼은 유닉스(Unix)의 이름을 합쳐 리눅스(Linux)로 불렀기 때문이다.
그뿐만이 아니라 리눅스는 유닉스와 운용이 서로 비슷한데 이는 리눅스는 유닉스를 모델로 삼았기 때문이다.



2. 리눅스의 개발 과정

top



현재의 리눅스가 있기까지는 인터넷의 공로가 무척 크다. 만약 인터넷이라는 세계적인 네트워크 망이 없었다면 그처럼 많은 사람들이 리눅스의 존재를 몰랐을 것이다. 1991년 8월에 최초의 리눅스 버전 0.01이 완성되었지만 리누스는 이것을 발표하지 않았고, 첫 번째 공식 버전 0.02를 같은 해 10월 5일에 comp.os.minix라는 유즈넷 뉴스 그룹에 발표했다. 이 버전 0.02는 bash와 gcc, compress, gnu-make 등이 성공적으로 실행되었다고 한다.

뉴스 그룹에 발표된 리눅스 소스를 본 많은 사람들이 자신의 능력을 발휘하여 개발에 참여하기 시작했다.

리눅스의 기능은 더욱 많아지고 안정되어 버전 0.03에서 단번에 버전 0.1로 올라갔고 수많은 버전 업을 거쳐 1993년 12월에 0.99pl14까지 오르다가 94년도에 이르러 버전 1.0이 발표되었다. 리눅스는 다른 운영체제와 달리 수시로 성능이 향상되고 있다. 수많은 패치를 통해 1996년 6월에 리눅스 안정 커널인 버전 2.0.0이 리눅스 FTP사이트에 발표되었고, 수많은 리눅서(리눅스 사용자를 '리눅서'라고 부름)들이 이 버전을 다운로드 하였다.

초기 리눅스가 지원하는 장치가 별로 많지 않았으나 지금의 리눅스는 현재 출시되어 있는 거의 모든 장치들을 지원하고 있다. 자신이 가지고 있는 최신형 장치가 리눅스에서 지원되지 않는다면 하드웨어 제공업체에 문의하면 대부분의 경우 해당 드라이버를 제공받을 수 있다.

한편, 리눅스와는 별도로 80년에 이 시대 최후의 해커라 일컫는 리차드 스톨만(Richard Stallman)이라는 사람이 GNU(GNU is not UNIX)프로젝트를 추진하였고, 리눅스와 GNU와의 결합은 필연적이라고 해도 과언이 아니다. GNU에서 만든 프로그램은 프로그램 소스까지 완전 공개였다. 이 프로그램들은 자유롭게 복사되고 개조하여 배포할 수 있다. GNU 프로젝트에서는 각종 UNIX 상용 프로그램에 대항해서 그 보다 좋은 공개 프로그램을 만들었고, HURD라는 커널을 개발하였으나 충분히 사용할 만한 수준이 못 되었다. 이때 리누스 토발즈가 개발한 리눅스 커널이 이들의 부족한 부분을 메워주게 되어 오늘날의 리눅스가 탄생하게 된다. 따라서 이들은 리눅스를 GNU/LINUX라고 불리길 원한다.

현재 리눅스는 인텔뿐만 아니라 AMD, Cyrix등의 인텔 경쟁 모델, 알파(Alpha), 스팍(SPARC)에서도 작동된다. 매킨토시 파워PC에서도 돌아가는 MkLinux라 불리는 리눅스도 있다. 리눅스는 이름처럼 유닉스와 비슷한 운영체제이다. 사용방법, 소프트웨어, 인터페이스도 비슷하다. 그러면서도 상용유닉스에 뒤지지 않는 기능과 안정성을 제공하는 것이 리눅스이다. 리눅스에 가장 중요한 특징이 있다면 바로 자유롭다는 것이다. 리눅스가 FSF(Free Software Foundation)의 GNU GPL(General Public License)을 토대로 하고 있기에 사용을 원하는 누구나 리눅스를 자신의 컴퓨터에 설치하여 개인용이나 업무용으로 자유롭게 사용할 수 있다. 리눅스는 모든 소스가 공개되어있다는 것이다. 모든 소스의 공개라 함은 리눅스를 사용하는 모든 이들이 그 프로그램을 자유롭게 버그 수정은 물론, 개조(해킹) 할 수 있음을 의미 한다.

공개된 소스를 바탕으로 전 세계의 수많은 리눅서(리눅스 사용자)들이 지금도 어디에선가 버그를 수정하고 있고, 또 새로운 버전을 탄생시키고 있을 것이다. 이처럼 모든 사람들에게 공개되어있는 리눅스는 살아있는 운영체제라 할 수 있다.

다른 운영체제(OS, Operating System)에 비하여 리눅스는 전 세계 모든 이에게 공개되어 있기에 엄청난 속도로 발전하는 운영체제이다. 또한 전 세계 사람들에 의해 살아있는 운영체제이기 때문에 리눅스에서 심각한 버그가 발생되어 보고되면 단기간에 패치가 이루지고 있다. 치명적 버그가 나타나도 제조사의 처분만 기다리는 다른 운영체제와는 다르다.

 

 

3. 리누스 토발즈와 리차드 스톨만

top


리누스 토발즈 (Linus B. Torvalds)

리누스 토발즈는 1969년 12월 28일 핀란드 헬싱키에서 태어났다. 1981년 11살을 맞이한 소년 리누스는 통계학 교수였던 할아버지로부터 받은 컴퓨터 선물에푹 빠져 지내게 된다. 기초적인 프로그램들을 만들어 여동생에게 자랑하는 일을즐기며 컴퓨터에 몰두한 이 소년의 인생의 행로가 지금처럼 결정되어버릴 줄이야 누가 알았겠는가? 리누스는 어느덧 자라 헬싱키 대학에 들어가게 되고, 대학수업 중 교육용 유닉스로 부리는 앤디 탄넨바움(Andy Tanenbaum)교수의 미닉스(Minix)를 배우면서 자신이 직접 더 낳은 미닉스를 만들어 보겠다는 결심을하게 된다. 91년 초 대학 재학 당시 리누스는 386급 PC로 처음 리눅스를 완성하게 된다.

[리누스 토발즈 어록]

1991년 10월 5일 리누스는 첫 번째 공식 버전인 0.02소스를 발표하고, 전 세계인들에게 자유로운 운영체제로의 여행을 시작하게 해준 리누스는 “좋아하는 일에 푹 빠져 뒷일 생각 않고 했더니…….”라는 말을 하며 돈벌이 보다는 순수한기술을 위해 기술보다는 개인적 욕구 때문에 손 댄 일임을 강조한다. 그의 유명한 자서전 제목인 “Just For Fun(단지 재미로): The Story of an AccidentalRevolutionary”는 리누스 토발즈의 생각을 보여준다. 그래서인지 그는 자신이 개발한 기술을 가지고 레드햇(Redhat/세계 최대의 리눅스 배포판 업체)사가 이윤을얻도록 한다는 점에 화나지 않느냐는 질문을 받았을 때 “오히려 그들이 돈을 벌어서 리눅스에 재투자해 준 것이 오히려 고맙다”라고 말한다.

현재 그는 미국의 실리콘밸리의 중앙처리장치(CPU) 제조업체인 트랜스메타를거쳐 최근 오픈소스개발랩(OSDL)에서 좀 더 리눅스에 집중하는 시간을 갖고 있다. 그는 핀란드 가라데 챔피언을 6번이나 지낸 강골의 아내 토베와 귀여운 두딸과 함께 살고 있다.

리누스에 대해 더 자세히 알고 싶다면 아래의 사이트에 가면 자세히 알 수 있다. http://www.cs.helsinki.fi/u/torvalds/

 

리차드 스톨만 (Richard M. Stallman)

리누스와 함께 리눅서들이 존경해 마지않는 또 한사람이 있다. 최고의 에디터 Emacs를 개발하기도 한 FSF(Free Software Foundation/자유 소프트웨어 재단)의 회장인 리차드 스톨만이다.

그는 소프트웨어의 사용과 배포에 관한 모든 제한을 없애고 필요한 것은 서로 함께 공유해야 한다는 철학을 가지고 GNU라는 프로젝트를 시작하였다. 특히 운영체제와 같은 시스템 소프트웨어는 모든 사람들에게 자유롭게 주어져야 한다고 주장한다. 현재의 리눅스 시스템이라 하는 것은 실제로는 리누스의 커널과 모든GNU 프로젝트의 소프트웨어들, MIT X-Window, BSD의 네트워킹 코드로 이루어진 거대한 인류의 지적 재산 집합체라는 사실을 알아야 한다. 아마도 대부분의 리눅서들은 리차드 스톨만의 GNU 선언문을 읽고 리눅스에 담긴 철학에 더욱더 매혹되었을 것이다. 리누스 토발즈와 함께 이 사람이 없었다면 리눅스와같은 공개 운영체제(OS)는 나오지 못했을 것이다. 이러한 리차드 스톨만이 컴퓨터 외에 좋아하는 것은 음악이라 한다. 그는 특히 나비를 좋아한다고 한다고 알려져 있다.

 

GNU프로젝트

GNU는 "GNU is Not Unix"라는 뜻이다. 이 프로젝트의 목적은 유닉스와 비슷하면서도 더 강력한 운영체제를 만들고자 하는 것이다. 자유로운 컴퓨팅을 꿈꾸는 그들다운 생각으로 누구의 지배도 받지 않는 새로운 운영체제를 개발하려고 하는 것이다.

그들은 이것을 위해서 GCC라고 불리는 C/C++컴파일러와 강력한 에디터인 Emacs를 만들고 여러 가지 유닉스 유틸리티들의 GNU버전을 만들었다. 그리고 이런 것들이 리눅스에서 시도된 것이다. Linus에 의해 80386용 커널이 개발되고 뒤이어 GCC가 이 커널에 포팅되었다. 이미 만들어져 있던 많은 GNU프로그램들은 GCC로 컴파일되었으며, GNU프로그램 외에도 소스가 공개되어 있던 많은 프로그램들이 GCC로컴파일되었다. 이렇게 해서 리눅스는 세상에 그 모습을 드러내게 되었다. 리눅스는GNU정신에 따라 완전 공개로 배포되며 모든 프로그램의 소스 또한 공개되어있다.

따라서 원하는 사람은 누구나 그 소스를 개조하여 성능을 향상시킬 수 있으며 물론GNU정신에 따라서 개조한 내용도 다른 사람에게 공개해야 한다. 이런 이유로 해서리눅스는 전 세계의 수많은 사람들에 의해 테스트되고 개발되어 왔으며 어느 상용유닉스와도 견줄 수 있는 막강한 성능과 안정성을 가지게 되었다.

 

FSF(Free Software Foundation/자유 소프트웨어 재단)

FSF라고 하는 단체는 컴퓨터 프로그램에 대한 복사, 배포, 이해, 수정에 대한 모든제한을 철폐하기 위해서 혼신의 노력을 다하는 단체이다. 그들은 컴퓨터의 모든 영역에 있어서 자유(free) 소프트웨어를 개발하고 사용 가능케 함으로써 이러한 목적을달성하고자 한다. 특히 그들은 GNU(GNU's Not Unix)라는 이름으로 유닉스를 호환하며 더욱 더 뛰어난 완전한 통합 운영체제를 개발 중에 있다. FSF는 이미 운영체제의 중요 구성부분들을 전 세계에 공개해놓고 있다. 그 중에 유명한 것들이 바로 세상에서 가장 뛰어난 C 컴파일러인 gcc (이는 이미 일부 쟁쟁한 소프트웨어 회사들이 기금까지 마련해서 후원하고 있다), 이맥스(Emacs)와 같은 것들이 있다. 자유(free)라는 단어가 의미하는 바는 돈 문제라기보다는 자유(freedom)를 의미한다.

GNU 소프트웨어는 돈을 주고 사도되고 공짜로 구해도 된다. 어떻게든 여러분이GNU 소프트웨어를 가지고 있다면 얼마든지 다른 사람에게 자유롭게 줄 수 있고, 원한다면 소스를 받아서 고쳐서 사용할 수도 있고 여러분에 의해서 향상 된 프로그램을 공동체에 환원할 수 있는 자유가 주어진다. 다른 단체에서도 자유 소프트웨어라는 것을 배포하는 경우가 있지만 FSF는 현재의 모든 상용 운영체제들을 대체할 수있는 완벽한 GNU 시스템을 만드는데 노력을 집중하고 있다. FSF 회장은 이맥스 에디터의 개발자인 리차드 스톨만이다.

더 자세한 ‘리눅스란 무엇이며 리눅스의 장점’에 대해서는 다른 문헌이나 인터넷 정보를 검색해보길 바란다.

 


4. SULinux는 무엇인가

top


SULinux는 “에스유리눅스”로 불려지기를 원하는 한국형 리눅스 배포판이다. SULinux는 대한민국의 많은 사람들이 사용하기 편하고, 리눅스를 이용해 각자의 일들을 쉽고 빠르게 처리 할 수 있도록 돕기 위해 태어난 리눅스이다.

(주)수퍼유저코리아에서 지난 몇 년간 자체 패키징하여 내부용으로만 사용해오던 서버용 리눅스를 2005년 12월에 공개프로젝트로 진행하여 2006년 대한민국에 정식 배포되게 된 리눅스 배포판 이다.(2004년 6월과 12월에 걸쳐 공개하기로 했던 약속은 지키지 못하였다)

"공개 + 공개프로젝트진행"이라는 두 가지를 한꺼번에 수행하며 그 약속을 지키게 되었다. 배포판 공개후 관리할 수 있는 개발인력을 확보하지 못한 것이 배포판 공개 지연의 가장 큰 문제였으면, 수퍼유저회원들의 의견중 공개프로젝트가 가장 나은 의견 이였기에 이를 수렴하고 공개하게 되었다.

SULinux는 RedHat계열을 기반으로한 서버전용리눅스로서 수퍼유저코리아 내부에서만 사용하던 리눅스명이며, 4년이상 사용하여 안정성이 보장되어 있는 리눅스이다. 단, 현재 SULinux는 데스크탑을 지원하지 않고 있지만 차기버전에는 아주 기본적인 X-Windows관련 Package가 탑재되어 배포 될 것이다.

SU Project 진행

프로젝트 담당자

- 프로젝트 개발참가자들 : 수퍼유저코리아 직원

주진은 (프로젝트 개발관리 및 전체 개발관리, 수퍼유저코리아 개발자)

에스유 (1.0버전 주개발자로서 프로젝트의 개발 방향 설정 및 관리,수퍼유저코리아 개발자)

이창목 (개발자, 수퍼유저코리아 직원)

이재석 (개발자, 수퍼유저코리아 직원)

안재성 (개발자, 수퍼유저코리아 직원)

수퍼유저코리아 회원님들(희망자)

※ 회원님들 가운데 참가를 원하시는 분은 홈페이지에 글을 남겨주시기 바란다.(http://www.sulinux.net)

수퍼유저코리아 직원 개발자들과 외부 개발자들은 월1회 정기적으로 미팅을 갖게 된다.
(참여를 원하시는 많은 회원분들을 기다립니다)


주요 HISTORY 및 향후 일정

- 2001년 ~ 2002년 (SULinux V0.1)

. 수퍼유저코리아에서 RedHat계열 리눅스를 서버용으로 최적화하여 서버관리용으로 사용하였음(굳이 버전으로 따진다면 0.1버전)

. RedHat계열 리눅스에 자체 제작 쉘스크립트를 사용하여 서버용으로 최적화하여 사용하였음.

. 커널은 새로 발표될 때마다(ftp.kernel.org) 컴파일하여 update함.

. RedHat계열의 취약점들은 발견시마다 수시로 patch함.

- 2003년 (SULinux 0.6)

. SULinux 0.1버전내의 기능들을 압축파일로 묶어 리눅스 설치후 자동압축해제 및 자동설치 되어 서버관리용으로 최적화된 리눅스 환경을 만들어 사용함.

. 350여개의 주요 command들과 configuration file들의 속성(attribute)과 퍼미션(permission) 설정하는 자체 DB개발(이를 설치후 자동설정 되도록함)

- 2004년 (SULinux 0.8)

. 압축파일로 사용하던 것을 *.RPM으로 리빌더하여 배포판내에 직접 넣어서 사용함.

. anaconda 자체제작(거의 수정본이라 볼 수 있음)하여 설치시부터 서버용으로 최적화됨.

. 서버관리툴인 SSU 1.0개발하여 SULinux에 적용함.

(쉘스크립트 + 10여개의 보안관리툴 + JAVA로 개발되었음.)

. 주요기능들

. system_check_init (체크 초기화) . su_usersetup (사용자 설정)

. su_vhost (가상호스트) . su_mailuser (Mail 사용자)

. su_dbuser (DB 사용자) . su_domain (도메인)

. su_traffic (트래픽) . su_backup (백업)

. 가상쿼타(vquota)관련 설정 . su_util.cfg 설정파일

- 2005년(SULinux 1.0)

. SULinux 1.0은 제품화하여 10,000 copy 무료배포함.

. 모든 소스를 공개하고 공개프로젝트로 진행함

. SUProject Homepage

(URL : http://www.superuser.co.kr/home/suproject 또는 http://www.sulinux.net

. 프로젝트총관리자 : 주진은 (수퍼유저코리아)

※ SULinux 1.0 Server는 설치 CD 1장만으로 설치 절차 및 설치 시간을 간소화 하였습니다.

리눅스 배포판(Linux Distributions)의 종류

레드헷, 페도라 코어, 우분투, 수세, 맨드레이크, 데비안, 슬랙웨어, 젠투, 부요, 한소프트, 와우 기타등등과 같은 리눅스를 우리는 리눅스 배포판이라 부르며, 리눅스 배포판은 리누스 토발즈가 개발한 커널(커널의 이름이 리눅스이다)에 각 개발단체의 개성과 추구하는 목적에 따라 다양한 응용 프로그램들을 유기적이고 안정적으로 동작할 수 있도록 만들어 각 개발단체의 브랜드를 붙혀 사용하는 것을 리눅스 배포판이라 부릅니다.

배포판명

제작 단체 및 기업

참고 웹사이트 주소

레드헷 리눅스(RedHat)

RedHat, Inc.

http://www.redhat.com

페도라(Fedora)

http://fedora.RedHat.com

수세(OpenSuse)

Novell, Inc.

http://www.novell.com/linux

우분투(ubuntu)

Canonical Ltd.

http://ww.ubuntu.com

젠투(gentoo)

Gentoo Foundation, Inc.

http://www.gentoo.orghttp://www.getoo.or.kr

데비안(Debian)

Software in the Public Interest, Inc.

http://www.debian.orghttp://www.debianusers.org

한소프트리눅스(nemocaptainlinux)

한글과컴퓨터(주)

http://www.nemocaptain.com

마루(Maru)

리눅스원(주)

http://www.linuxone.co.kr

SULinux 개발이유

이와 같이 많은 배포판들이 존재함에도 불구하고 SULinux가 개발되게 된 이유는 무엇인가? SULinux 역시 현재 나와 있는 많은 배포판들과 크게 다른지 않는다. 하지만 SULinux의 배포판은 현재 나와 있는 배포판들과 다른 가장 큰 특징은 개발자나 개발을 지원하는 단체의 의지에 의해 만들어진 리눅스가 아니라 대한민국의 리눅스를 사랑하는 많은 사람들의 의견을 수렴하여 만들어졌다는 것이다. 이는 대한민국 리눅스의 방향을 바꿀수 있는 아주 큰 변화라 할 수 있다.

리눅스가 탄생하게 된 배경과 사뭇 일치하지 않는가? 리눅스는 리누스 토발즈가 처음 뉴스그룹에 공개용 개발버전의 커널에 만들어 공유하였기에 수많은 사람들의 조언과 개발 참가에 의해 현재의 리눅스모습을 갖추어지게 된 것 이다.

SULinux 역시 리눅스포탈 수퍼유저코리아 내부적으로 사용하고 있는 리눅스를 공개해달라는 의견을 수렴하여 공개하게 되었으며 베타버전을 공개한 후 많은 대한민국의 리눅스를 사랑하는 사람들의 의견을 받아드리고 개선 발전시켜 탄생되게 된 것 이다.

따라서 SULinux는 수퍼유저코리아의 리눅스가 아니라 대한민국의 리눅스를 사랑하는 사람이 만들어낸 리눅스라 해도 과언이 아닐 것이라 감히 말할 수 있다. 아직 부족한 부분이 많지만 이는 리눅스를 아끼고 사랑하는 많은 분들에 의해 개선 발전할 것이라 믿어 의심치 않는다.


SULinux 장단점

이렇게 여러사람의 의견과 열정으로 개발된 SULinux는 대한민국 환경에 최대한 알맞고 최대의 성능을 발휘할 수 있으며 관리자 편의를 제공하는 것이 가장 큰 장점이다.

많은 리눅스 관리자들의 의견 중 웹서비스의 설정 편의성(Apache, PHP, MySQL 설치)과 기본 서버관리의 편의성 그리고 시스템의 안정이 가장 큰 문제라고 이야기들 하고 있다.

이런 의견을 수렴하여 SULinux에는 APM_Install-tools과 SSU 그리고 SELinux라는 각각의 툴을 기본 탑재하였다. 이는 쉽고 빠른 웹서비스 지원과 편리한 서버관리 그리고 시스템 보안의 문제점을 개선하였습니다.

APM_Install-tools는 Apache, PHP, MySQL(이하 APM) 설치를 간편하게 도와 줄 수 있는 툴이며, SSU는 서버관리를 위한 일일점검보고와 기타 서버관리에 필요한 기본 명령어들을 일괄 처리할 수있게 도와주는 유틸리티이며 SELinux는 리눅스 커널단에서 보안을 담당할 수 있게 도와주는 유틸리티이다.

SULinux에서 지원하는 이런 유틸리티는 국내환경에 적용하기 알맞게 제작되어 제공되고 있지만 근본적인 시스템의 형태는 RedHat계열을 따르고 있다. 따라서 RedHat계열에서 벗어나 진정한 한국형 리눅스로써 개발 발전되어야 하는 숙제를 안고 있다. 이는 이글을 읽은 독자와 리눅스에 열정을 가진 많은 사람들이 함께 만들어가야 할 것이라 생각된다.


SULinux 배포정책

SULinux의 기본 배포정책은 GPL(General Public License)정책에 따른다. 설치를 위한 배포판은 웹사이트(http://www.sulinux.net)에서 무료로 다운 받을 수 있으며, 관련 정보 역시 SULinux 웹사이트에서 지원 받을 수 있다.

SULinux Porject 운영을 위한 지원은 현재는 (주)수퍼유저코리아에서 지원하고 있으며, CD배포 및 기술 지원 정책을 통해 운영자금을 충당하고 있다. (CD 신청 및 기술지원 역시 웹사이트에서 신청 받고 있다)

 


 
copyright.gif

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,038 명
  • 현재 강좌수 :  35,813 개
  • 현재 접속자 :  94 명