본문 바로가기

Linux

리눅스(Linux) 란?

리눅스는 유닉스라는 운영체제를 대체하기 위해 만들어 졌다

 

유닉스는 리눅스가 만들어지기 전부터 사용하던 상용 소프트웨어이며 지금도 사용되고 있다

 

(유닉스도 여러 회사에서 각자 특성에 맞게 제작해 배포하고 있으며 IBM의 AIX , HP의 HP-UX ,

오라클(Oracle)의 솔라리스(Solaris) , DEC의 디지털 유닉스(Digital Unix) , SCO의 Unix등이 있다

 

유닉스는 비싸다 이것을 대체하기 위해 만들어진것이 리눅스이다

 

흔히 리눅스를 무료 유닉스라고도 한다

유닉스와 거의 동일한 기능을 가지고 있고 명령어도 비슷하다

 

 

리눅스의 시작

리눅스를 처음 만든 사람은 리누스 토르발스(Linus B, Torvalds)라는 사람이 1991년 8월에 리눅스 커널(Kenel) 0.01버전을 처음 만들었다

(커널이란 리눅스의 핵심이며 운영체제를 실행하기위한 최소한의 서비스를 제공한다)

 

1992년에 0.02버전을 만들어 인터넷에 소스 코드를 공개하였다

(리눅스라는 것을 리누스 토르발스라는 사람이 혼자 만든것이 아니라 리눅스의 핵심부분인 커널만 만들어 제공한것이고 현재의 리눅스의 지원하는 기능인 셸 , 응용프로그램등등은 포함하지 않았다)

 

이 커널을 가지고 여러 응용프로그램등을 조합해 배포한것이 지금의 리눅스가 되었다

 

리눅스의 커널은 지금도 업그레이드가 되고있으며 Linux Kernel Archives에서 항상 최신버전의 커널을 배포한다

https://www.kernel.org/

 

리눅스의 진화? 를 이해하기 위해서는 GNU 프로젝트를 알아야 이해가 쉽다

 

GNU 프로젝트

리누스 토르발스가 리눅스 커널을 개발하기 전인 1984년에 리쳐드 스톨먼(Richard Stallman)에 의해서 GNU프로젝트가 시작되었다

 

GNU프로젝트의 목표는 모두가 무료로 자유롭게 사용할 수 있는 소프트웨어를 만드는 것 이였고 1985년에 자유 소프트웨어 재단 FSF - Free Software Foundation을 설립한다

 

FSF의 목표는 GNU 프로젝트에서 만든 소프트웨어를 지원함으로써 프로그램의 복제,변경,소스 코드의 사용에 걸린 제한을 철폐하는 것이다 - 누구든지 자유롭게 소프트웨어를 사용하도록 하는 것

 

FSF에서 제공한 소프트웨어 대부분은 GPL(General Public License)이라는 라이선스를 따르도록 되어있으며 아래와 같은 자유가 있다

*소프트웨어의 사용에 대한 자유

*소프트웨어의 수정에 대한 자유

*소프트웨어의 재배포에 대한 자유

*수정된 소프트웨어의 이익을 전체가 얻을 수 있도록 배포

 

이러한 조항을 만든 이유는 무료로 소프트웨어를 팔면 무료로 얻은것을 유상으로 팔지는 않을 것이며 소프트웨어를 추가/항샹시킨 후에 판매할것이고 대신에 자신이 판매하는 소프트웨어도 GPL에 의해(FSF에서 제공하는 소프트웨어를 사용한 경우) 소스코드를 공개해야 된다

 

이러한 과정을 반복함으로써 소프트웨어가 반복적으로 발전하게 될 것이라 생각한것이다

 

*GUN 홈페이지

https://www.gnu.org/

현재의 리눅스

초기의 리눅스는 커널만 제공되며 일반적으로 사용자들이 커널만 가지고는 사용하기엔 어려움이 있다

그래서 여러 회사에서 다양한 기능을 추가해 배포한것이 현재의 리눅스가 되었다

 

대표적인것은 Red Hat Linux , Gentoo , Ubuntu Linux , Debian , Fedora등이 있다

 

각 회사는 유료 리눅스도 있자만 무료 리눅스도 같이 배포한다

 

회사에서 제공하는 리눅스 배포판은 FSF의 라이선스에 의해 무료로 배포할 의무가 있기 때문이다

 

예를들면 Red Hat 회사는 Red Hat Linux(유료) 와 Centos Linux(무료)버전을 배포한다

두가지의 차이점은 유료버전을 사용하면 리눅스의 설치,문제 해결등의 기술지원을 받을 수 있고 무료버전은 없다

'Linux' 카테고리의 다른 글

리눅스 디렉토리 구조  (0) 2019.06.30
리눅스의 런레벨 (RunLevel)  (0) 2019.06.30
자동종료,재부팅(리눅스)  (0) 2019.06.30