리눅스 마스터 2급 - 리눅스의 역사
2.1 리눅스의 탄생과 역사
운영체제의 현대: 유닉스(UNIX)
유닉스는 1969년 미국의 AT&T사(당시 미국 최고의 통신 회사)의 벨(Bell) 연구소에서 연구원으로 근무하고 있던 켄 톰슨(Ken Tompson) 및 데니스 리치(Dennis Ritchie)(C언어 개발한 사람)에 의해 만들어졌다.
렌 톰슨은 DEC사에서 만든 PDP-7(B언어-기계어)이라는 컴퓨터에서 프로그램을 개발하는 데 편리한 운영체제를 새로이 개발하면서 Multics(시분할 시스템)라는 OS를 참고로 하여기 때문에 유닉스(UNIX)라는 이름을 붙여 주었다.
그 후 AT&T에서 무료로 여러 연구소 및 대학교 등에 OS를 소스(Source)와 함께 보급하여 여러 버전의 유닉스가 등장하였고,
대표적인 것으로는 System V계열과 BSD계열이 있다.
System V계열은 주로 상업적인 목적을 가진 업체들인 IBM, HP(Hewlett-Packard), Sun Microsystems, SGI 등이 있다.
BSD 계열에는 NetBSD, FreeBSD, OpenBSD, SunOS, NextStep, Mac OS X, GNU/Linux 등이 속한다.
유닉스의 주요 특징으로는 다중 사용자(Multi-User) 및 다중 작업(Multi-Tasking) 지원, 강력한 네트워크 지원, 뛰어난 이식성 및 확장성, 계층적 파일 구조, 가상 메모리 및 공유 라이브러리 지원 등이 있다.
유닉스 계열(Unix-like) 운영체제의 이름
유닉스는 리눅스를 비롯하여 현존하는 많은 운영체제의 효시가 되는 운영체제라 할 수 있다.
그러나 유닉스라는 이름은 상표권이 설정되어 있어서 해당 이름을 임의로 사용할 수가 없었기 때문에 각 업체들은 독자적인 이름을 부여하였다.
예) IBM의 AIX, HP의 HP-UX, Sun Microsystems(현 Oracle)의 SunOS(현재는 Solaris로 통합), SGI의 IRIX 등
리눅스의 탄생과 역사
1987년, 네덜란드의 암스테르담 자유대학교에 재직하던 앤드루 스튜어트 타넨바움(Andrew Stuart Tannenbaum) 교수는 운영체제 디자인을 가르치기 위해 만든 교육용 유닉스인 미닉스(Minix)를 개발하였다.
1991년, 핀란드 헬싱키 대학의 대학원생인 리누스 토발즈(Linus Torvalds)는 미닉스를 접하게 되었는데,
미닉스의 기능이 만족하지 못하고 새로운 운영체제를 개발하고자 했다.
토발즈는 포직스(POSIX)에 호환되는 운영체제 커널을 만들기로 하고,
리눅스의 첫 번째 버전인 0.01을 1991년 9월 17일에 인터넷에 공개하였다.
첫 공식버전인 0.02는 같은 해 10월에 발표한 이후로 전 세계 많은 개발자와 전문가의 도움을 받아 지속적으로 개발을 진행하게 되었다. 그 후 개발자들은 몇 년 동안 리눅스를 GNU 프로그램에 적용시키는 작업을 수행하였다.
1994년 리눅스 커널 버전 1.0을 발표하였고, 1996년 리눅스 커널 버전 2.0을 발표하였다.
1990년대 중반에 접어들면서 데비안, 칼데라와 같은 리눅스 배포판들이 전 세계로 퍼져 나가기 시작했고,
그 이후 순수 비영리 배포였던 데비안이 GUI(Graphic User Interface)를 탑재하여 배포되기 시작했다.
1999년에 레드햇에서 리눅스 커널 버전 2.2 기반의 서버를 제작 판매함으로써 순수 개인용이나 교육 및 학습용으로 사용되던 리눅스가 서버 시장에까지 진출하게 되었다.
2001년 리눅스 커널 버전 2.4가 발표되면서 리눅스가 본격적으로 엔터프라이즈 서버로 사용될 수 있는 면모를 보였고,
2003년 리눅스 커널 버전 2.6이 발표되면서 한층 더 높은 차원으로 발전하게 되었다.
2011년 7월에 리눅스 커널 3.0이 발표되었고, 2017년 5월 현재는 리눅스 커널 4.11.2가 배포되고 있다.
리눅스 커널은 소스가 공개되어 있어 누구나 커널을 수정할 수 있는 특징으로 약 300여개 이상의 리눅스 배포판이 만들어졌다.
현재 리눅스는 데스크톱이나 서버뿐만 아니라, 구글에서 만든 모바일 운영체제인 안드로이드에도 사용되고 있으며,
자동차에 장착되는 IVI(In-Vehicle Infotainment)에도 사용할 만큼 다양한 분야로 영역을 넓혀가고 있다.
2.2 리눅스의 계보
리눅스 배포판의 분류
1992년 5월에 등장한 최초의 리눅스 배포판인 SLS는 리눅스 커널과 다량한 GNU 프로그램,
기본적인 유틸리티와 X 윈도 시스템까지 탑재하여 하나의 운영체제로 탄생하였지만 크고 작은 버그들이 존재하였습니다.
버그도 문제지만 사용자들이 운영체제를 사용함에 있어 필수요소라 할 수 있는 응용 프로그램의 설치 및 제거, 업데이트, 검증 등의 패키지 관리에 문제점이 있었습니다.
최초의 리눅스 배포판인 SLS 등장 이후에 수많은 리눅스 배포판들이 등장하고 있지만, 이러한 배포판들은 패키지 관리 기법에 따라 크게 슬랙웨어, 데비안, 레드햇과 같이 3종류로 분류할 수 있습니다.
슬랙웨어는 소프트웨어를 최상단에서 최대한 수정되어 배포되는 형식으로 사용자들이 내장된 프로그램을 사용하기에는 편리하나 패키지를 새롭게 적용하거나 수정하기는 힘들다는 담점이 있습니다.
슬랙웨어 계열에 속하는 배포판에는 SuSe,Porteus, Vector, Linux, Salix O 등이 있습니다.
데비안은 dpkg 및 apt라는 독자적인 패키지 관리 도구를 사용합니다. 이 계열에 속하는 리눅스에는 Knoppix, Corel, Lindows, Ubuntu, Linux Mint, Elementary OS 등이 있습니다.
또한 정보 보안을 테스트하기 위해 해킹과 관련된 도구와 설명서 등을 내장한 백트랙과 칼리도 이 계열에 속합니다.
백트랙은 2006년 2월에 배타 버전이 발표되었는데 초기에는 Knoppix를 기반으로 만들어졌습니다.
2012년 8월 13일에 우분투 기반으로 BackTrack 5 R3 버전이 마지막으로 출시된 이후로 현재는 지원이 종료되었고,
칼리 리눅스로 이어지고 있습니다.
칼리 리눅스는 백트랙의 후속 버전 형태로 데비안 기반으로 만들어진 배포판입니다.
2016년 2월 기준으로 Armitage, nmap, Wireshark, John the Ripper, Burp suite 등 300개 이상의 해킹 및 보안 도구를 내장하고 있다.
레드햇 리눅스는 RPM 및 YUM이라는 패키지 관리 도구를 제공한다.
레드햇 계열 배포판에는 상용판인 RHEL(Red Hat Enterprise Linux)를 비롯하여
CentOS, Fedora, Oracle Linux, Scientific Linux, Asianux, Mandriva Linux, Mandrake 등이 있다.
새로운 계파의 리더(Leader)
위에서 제시한 리눅스 배포판의 3대 계보 분류에 속하지만,
특정 계파의 리더(Leader) 역할을 수행하는 배포판으로는 수세(SUSE)와 우분투를 손꼽을 수 있다.
수세의 최초 배포판은 슬랙웨어를 그대로 가져다가 얼마나 수정해서 배포하는 형식이어서 패키지 관리에 많은 제약이 있었는데,
이러한 단점을 보완하기 위해 YaST 및 Zypper라는 독자적인 패키지 관리 도구를 사용하게 되었다.
수세 리눅스 계파에 속하는 배포판에는 SUSE Linux Enterprise, Open SUSE, Gecko Linux, Linkat 등이 있다.
우분투는 데비안의 패키지 관리 기법인 dpkg 및 apt를 그대로 사용한다.
따라서 패키지 관리 기법으로 하나의 계파를 형성한 것이 아니라 X 윈도우 기반이 되는 데스크톱 환경(Desktop Environment)과
관련이 있다.
우분투는 사용자의 편의성에 초점을 맞춰서 등장한 배포판으로 초기 버전에서는 GNOME 기반의 그래픽 쉘인 유니티를 제공하였다. 개인용 데스크톱이나 노트북 사용자들에게 인기를 끌면서 다양한 데스크톱 환경을 사용하는 우분투 배포판이 등장하기 시작하였다.
GNOME 기반의 본판인 GNOME, GNOME 2 기반의 MATE를 탑재한 Ubuntu MATE, KDE 기반의 쿠분투(Kubuntu), Xfce 기반의 주분투(Xubuntu), LXDE 기반의 루분투(Lubuntu) 등이 있다. 우분투는 데스크톱 환경에 따른 변형판 이외에도 아키텍처(Architecture)를 다양하게 지원하면서 수많은 배포판이 등장하고 있습니다.