.

Linux Kernel과 GNU/Linux

by 담배맛구마

하나하나 공부하면서 수정중



1


리처드 스톨만(Richard Matthew Stallman)이


소스 코드를 비공개하고 기술을 상업화하려는 분위기에 반감을 가지고 GNU(Gnu is Not Unix) 프로젝트를 시작했다.


GNU 프로젝트는 기존의 UNIX를 모델로


C로 작성되고 모든 소스 코드가 공개된, 완전히 프리웨어로 구성된 Unix 시스템을 제작하는 것을 목표로 했다.


GNU 프로젝트이 진행되감에 따라 리처드 스톨만은 FSF(Free Software Foundation)을 설립했고


개발이 진행된 프로그램들을 판매해 운영 자금을 마련했다. 모든 GNU 프로젝트들은 FSF를 중심으로 진행되었다.


시간이 흘러GNU 프로젝트가 거의 완성 단계에 이르렀지만


OS의 핵심인 Kernel만 완성을 못하고 있는 상태였고 개발에 차질이 생겼었다.


그 때, 리누스 토발즈(Linus Benedict Torvalds)가 Linux라는 이름으로 Kernel을 만들었고


GNU 프로젝트의 Kernel로 채택되면서 GNU/Linux가 완성되었다.


GNU 프로젝트에서 애초에 계획했던 Kernel인 Hurd 은 아직 개발 중


Linux는 Kernel이지 OS가 아니다.

OS를 지칭할때에는 GNU라고하거나 Linux Kernel을 썻음을 표현하는 GNU/Linux라고 해야됨



2


GNU/Linux에 다가 각종 Package들을 추가한 수 많은 배포판들이 만들어지면서 발전해나갔다.


1)

Devian 1993년 Ian Murdock이 시작한 Devian Project가 GNU Project에 참여하게되었고


FSF의 재정적 지원을 받아 Linux Kernel에 기반한 GNU System인 Devian GNU/Linux가 완성되었다.


(FreeBSD쪽에서 파생됬다고는하는데 잘 모르겠다. Unix와 Linux의 중간지점이라는데??) 


 (Red Hat과 같은 Linux Kernel을 쓰지만 Devian의 방식으로 Kernel을 컴파일하기에 약간의 차이는 있다고 한다)


 (업데이트가 느리다고는 하는데 그건 서버를 타겟으로하는 stable 버전일듯) 


 2)

Red Hat Linux의 상업적 가치를 본 Bob Young과 Marc Ewing이


Red Hat Software를 설립하고 자신들이 Packaging한 Red Hat Linux를 배포하게 된다.


이 후, 상용(유료버전)인 Red Hat Enterprise Linux을 발표하더니


Red Hat Linux 9.0을 마지막으로 무료버전을 배포하지 않고있다.


그 대신에 Fedora Project를 후원함으로써


Red Hat Linux의 연장선상에 있는 Fedora를 배포하고 있다.


Fedora는 상용인 Red Hat Enterprise Linux의 새로운 기능을 적용해보는데 사용된다.

위험하지만 새로운 기능을 무료로 사용하는 장점이 있다.


Fedora는 Fedora Core라는 이름과 Fedora Extra라는 이름으로 나눠서 배포됬는데 Fedora 7부터 하나로 통합됬다.



3


다양한 Linux 배포판을 흔히들 Red Hat 계열, Devian 계열로 구분하는것 같다.


구분하는 기준 중 대표적인 것이 Package를 어떻게 관리하느냐? 이다



1) Red Hat 계열 (Fedora / CentOS / Red Hat / etc... )


Red Hat에서 배포하는 것들은 RPM(RedHat Package Manager)을 통해 Package를 관리한다.


RPM은 rpm이라는 확장자를 가지는 바이너리 파일을 시스템에 설치 / 관리 / 제거를 도와준다.


(당연하지만, RPM을 사용하지않고 소스코드를 가져다가 컴파일해서 설치하는것도 가능하다)


이러한 RPM을 약간 씩 수정해서 가져다 쓴 배포판들을 Red Hat 계열이라고 한다.


안타깝게도 RPM은 의존성이 있는 Package들을 완전하게(유연하게) 처리하지 못 한다.


즉, Package하나 설치하는데에 필요한 다른 라이브러리들을 일일이 찾아내서 설치해야된다는 것이다.


물론 YUM(Yellowdog Updater Modified) 같은 Tool을 이용해 이와같은 단점을 극복하고 있다.


(YUM이 RPM과 별개는 아니고 RPM을 잘 사용하기 위한 Tool)



2) Devian 계열 (Devian / Ubuntu / Knoppix / MINT)


RPM이 아닌 deb라는 Package 관리자를 사용하고


이 Package를 관리하는 Tool(dpkg, apt, dselect)을 가지고 설치 / 관리/ 제거할 수 있다.


(물론 RPM을 사용못하는것은 아니다)


RPM과는 달리 의존성이 걸린 Package들을 알려주며 일일이 설치해주는 기능을 가진다.


※ 막상 적어보니 별 차이점이 없다 물론 많은걸 적진 않았지만.. 일단 접해봐야알것같다.


h


다음은 GNU/Linux의 배포판 Timeline


크게 Devian / SlackWare / Red Hat이 있는걸 볼 수 있다.


http://futurist.se/gldt/





반응형

블로그의 정보

정윤상이다.

담배맛구마

활동하기