Skip to content

UNIX History

서문

최근 들어 이 글에 유입이 많아졌습니다. 한국에서 리눅스에 관심을 갖는 분들이 많아졌다는 의미로 알고 기쁜 마음으로 글을 확장/수정하였습니다.

리눅스를 처음 접하는 분들은 리눅스가 무엇인지, 왜 이렇게 종류는 다양한지 궁금한 점이 많다는 점을 잘 알고 있습니다. 따라서, 하나의 글을 편하게 읽음으로써 이해하실 수 있도록 정리 문서를 작성하였습니다. UNIX의 역사로 시작하여, BSD의 등장과 최초 리눅스 배포판들의 등장을 시간순으로 진행하다가, 리눅스 시점부터는 계열 별로 진행하도록 하겠습니다.

UNIX 역사에 대해서는 따로 궁금하지 않으신 분들은 바로 리눅스 배포판의 역사 개요 파트로 이동하시면 됩니다.

Note

글에서 소개하는 배포판은 GNU/LINUX 배포판들 중 일부입니다.

UNIX

UNIX?

UNIX(유닉스)는 The Open Group의 공식 상표입니다. 이는 제 7 차, 오픈 그룹 기본 제원 (POSIX.1-2008 또는 IEEE Std 1003.1 - 2008)에 부합하는 컴퓨터 운영 체제 및 도구를 가리킬 때 사용됩니다.

- UNIX®

UNIX(이하 '유닉스')의 역사를 설명하기 위해서는 1960년대 중반까지 거슬러 올라갑니다. 당시 MIT, AT&T의 벨 연구소, GE(제너럴 일렉트릭)은 GE-645 메인프레임에서 사용하기 위한 Multics(이하 '멀틱스')라는 실험적인 시-분할 운영 체제(현대에 당연한 다중 동시 사용자, 멀티 태스킹이 가능한 운영 체제의 조상) 개발에 참여 중이었습니다. 멀틱스의 크기나 복잡도에 실망한 벨 연구소는 차츰 연구에서 손을 떼기 시작했습니다만, 마지막까지 연구에 관심을 갖던 켄 톰슨, 데니스 리치, 덕 매킬로이, 조 오산나는 그렇지 않았습니다. 넷은 시기적으로 일렀을 뿐이라는 판단 아래, 조금 더 작은 규모로 실험을 계속 해보고자 했습니다.

1969년 켄 톰슨은 거의 사용되지 않던 DEC(Digital Equipment Corporation)사의 PDP-7을 연구소에서 발견합니다. 이 PDP-7을 통해 톰슨, 리치 등이 계층 파일 시스템(Hierarchical File System)을 구현합니다. 이것이 유닉스 계열 운영 체제에 아직도 전해져내려오는 /, /bin, /usr, /etc 등이 됩니다. 거기서 멈추지 않고 컴퓨터 프로세스, 디바이스 파일(/dev 아래), 커맨드 라인 인터프리터, 어셈블러, 에디터, 쉘 등을 개발해냅니다. 마지막으로 더글라스 매킬로이가 TMG 컴파일러-컴파일러를 PDF-7 어셈블리어로 포팅하며 최초의 유닉스 고레벨 언어를 탄생시킵니다. 톰슨은 이 도구를 활용해 B 프로그래밍 언어의 첫 버전을 개발합니다.

이렇게 탄생한 첫 운영 체제는 벨 연구소의 지원으로 개발된 것도 아니었고, 멀티 태스킹이 가능하지도 않았으며, 이름마저도 없었습니다. 단지 기술자들이 이루고자 했던 목표를 달성하기 위해 밤낮을 가리지 않고 노력한 결과물일 뿐이었습니다. 처음 지어진 이름은 Unics(Uniplexed Information and Computing Service; 유넉스로 읽음)였지만, 이후 "어차피 아무도 기억 못할테니까"라는 농담을 덧붙이며 브라이언 커니건이 유닉스(UNIX)라는 이름의 출처가 본인이었다고 주장합니다. 데니스 리치와 덕 매킬로이도 나중에 커니건에게 작명의 공을 돌렸습니다.

이제 PDP-7보다 더 큰 하드웨어에서 멀티태스킹까지 가능한 운영체제를 만들어보고자 했던 컴퓨터 연구원들은 당시 법률 관련 부서에서 문서 편집기가 필요하다(당시 벨 연구소는 수많은 특허 출원을 위해 변호사/변리사들의 특허 관련 서류 작성량이 어마어마했다고 알려짐)는 점을 알고, PDP-11을 사주면 문서 편집을 위한 환상적인 소프트웨어를 제작해 줄 것임을 약속하여 재정 지원을 받아냅니다.

1970년 처음으로 PDP-11/20을 받게 된 연구원들은 순식간에 roff로 알려진 문서 양식 편집 소프트웨어를 만들고 문서 에디터까지 추가합니다. 이 프로그램들은 모두 PDP-11/20 어셈블리어로 작성되었습니다. 벨 연구소에서는 이 프로그램들을 활용해 편리하게 특허 관련 서류들을 작성하기 시작했습니다. (roff는 금방 troff로 진화함)

벨 연구소의 다른 부서에서 DEC PDP-11을 구매하게 되었을 때는 이미 DEC에서 제공하는 자체 운영 체제가 아니라 유닉스를 활용하기로 결정합니다. 유닉스의 복잡성은 계속 커져가는데 사용하고자 하는 부서와 연구팀은 증가하면서 매뉴얼의 필요성이 대두됩니다. 이로써 1971년 11월 3일 유닉스 프로그래밍 매뉴얼이 만들어집니다. 현재까지 사용되는 man 명령어의 시작이 이때였습니다.

1973년 유닉스 버전 4가 고레벨 언어인 C로 다시 쓰입니다. 이로써 어셈블리어 자체는 버전 8 까지도 살아남았으나, 소프트웨어의 이식성(다른 명령어 세트를 가진 컴퓨터에서도 컴파일을 통해 쉽게 사용할 수 있는 기능)이 제시됩니다. 같은 해, AT&T의 유닉스 버전 5가 출시되면서 교육 기관에 라이선스를 제공하게 됩니다 (기업에는 1976년 유닉스 버전 6부터 라이선스가 제공됨 - 상업 라이선스는 미화 2만달러, 2020년 가치로 96,190$로 알려짐). 외부에 제공되기 시작한 버전 5, 버전 6를 통해 라이언이 쓴 소스 코드를 포함 UNIX 버전 6 주석이라는 전설적인 책을 남길 수 있게 됩니다.

BSD

애초에 BSD는 유닉스 복사본도, 심지어 확연히 다른 버전인 것도 아니었습니다. 단지 AT&T가 소유하는 소스 코드 위에 몇 개의 추가적으로 도움이 될 유틸리티를 추가했을 뿐이었습니다.

1975년 켄 톰슨은 휴식차 벨 연구소를 떠나 방문 교수겸 버클리, 캘리포니아 대학에 옵니다. 이 때 유닉스 버전 6의 설치를 돕고 시스템에 파스칼을 이식하기 시작했습니다. 대학원생이었던 척 해일리와 빌 조이는 톰슨의 파스칼을 개선하는 한편 향상된 텍스트 에디터인 ex를 개발합니다. 이런 개선 사항에 관심이 생긴 주변 대학들이 생기자 조이는 첫 번째 버클리 소프트웨어 배포판(1BSD)를 제작하여 1978년 3월 9일 처음으로 배포합니다. (1BSD는 유닉스 버전 6의 애드온 정도였으며 하나의 독립적이고 완전한 형태의 운영 체제가 아니었습니다.)

2BSD는 1979년 5월 발매됩니다. 1BSD로부터 업데이트를 하였고 2개의 신규 프로그램을 포함하였습니다. 하나는 조이가 쓴 vi 텍스트 에디터이고 다른 하나는 C 쉘이었습니다.

유닉스 전쟁

서막

유닉스를 만든건 AT&T였으나, 1980년대에 들어서자 캘리포니아 대학, 버클리 컴퓨터 시스템 연구소가 비상업적 유닉스 개발자들을 이끌고 있는 형국이 되었습니다.

1984년, System V를 기준으로 만들고자 AT&T가 노력하던 시점에 일부 제조사들이 모여 X/Open Standard(X/열린 표준)를 구성하면서 본격적으로 갈등으로 전환됩니다. X/Open Standard는 유닉스의 통일성을 더욱 증대시키고자 BSD 유닉스의 리드 아래에 썬 마이크로시스템즈 등이 함께 통일된 시스템 구축을 위해 시작되었습니다. 문제는 현재까지 네트워크 기술의 기준으로 자리잡고 있는 TCP/IP등이 System V에서는 구현이 안되어 있었으나 BSD 4.2에는 이식되어 있었다는 점입니다.

1985년, AT&T는 System V Interface Definition(SVID; 시스템 5 인터페이스 정의) 기준을 정립합니다. 그리고 다른 유닉스 기반 운영 체제들이 System V를 기준으로 브랜드화 하기를 요구합니다.

1988년 IEEE는 POSIX 제원을 설립하여 BSD와 System V 플랫폼 간의 호환성을 위한 기준들을 규정합니다. POSIX는 미 정부에 의해 다양한 시스템의 기준으로 강제되었습니다. X/Open Standard에 썬 시스템(SUN Microsystems)이 참여했고, 썬 시스템의 라이선스가 두려웠던 일부 제조사들은 따로 모여 Open Software Foundation(OSF; 자유 소프트웨어 재단)을 설립합니다. 이에 뒤질세라 1988년 AT&T는 UNIX International(UI; 국제 유닉스)를 만듭니다. 그리고 AT&T는 썬과 협업을 불사하며 다른 배포 버전보다 앞서나가기 위해 공격적인 전략을 펼칩니다. (그런데 썬이 System V.4로 독자노선..)

고소

이런 다툼이 1990년대까지 그대로 이어집니다. 그런데 BSD는 별 신경 쓰지 않고 본인들 운영 체제 개발에만 몰두합니다. 운영 체제를 POSIX 규격에 맞게 변형하기 시작하고 네트워크 관련 코드를 더 깔끔하게 정리합니다.

그런데, 돈 실리, 마이크 카렐스, 빌 졸리츠, 트렌트 하인 등 BSD 개발자들이 캘리포니아 대학을 나와 버클리 소프트웨어 디자인(BSDi)를 설립합니다. BSDi는 인텔 플랫폼을 위해 제작된 BSD 유닉스의 상업 버전을 팔기 시작합니다. 이때, AT&T의 무료 코드인양 홍보를 합니다.

1992년 결국, AT&T가 BSDi + 다른 BSD 관계자들을 고소합니다.

캘리포니아 대학이 맞고소를 하였습니다.

빌 졸리츠는 BSDi를 떠나 386BSD를 개발하고자 떠났고, 이 386BSD가 현재 FreeBSD, OpenBSD, NetBSD의 조상격입니다.

1994년 1월 버클리 측의 판정승으로 소송이 종료됩니다. 합의 조건은 "AT&T측이 다가오는 4.4BSD 출시와 관련해 버클리측이나 사용자, 배포자들을 더 이상 고소하지 않을 것"입니다.

Linux Torvalds, 1993

"리눅스 개발을 시작할 당시 386BSD가 있었다면, 아마도 리눅스는 생겨나지 않았을지도 모릅니다"

결과

소송으로 인해 BSD의 개발 속도가 둔화되었음은 따로 설명하지 않아도 당연한 부분입니다. 거기에 그치지 않고 잠재적 소비자가 될 수 있었던 많은 고객들이 추가적인 소송에 직접 휘말리거나 별 의미 없는 피해를 볼 것이 두려워 많은 점유율을 확보하는데 실패하였습니다.

와중에 1991년 라이너스 토르발즈라는 핀란드의 대학원생이 리눅스라는 커널을 개발하였습니다. 사용자들도 소송으로 시끄러운 BSD를 떠나 리눅스 커널을 들여다보기 시작합니다. 리눅스가 우연하다면 우연한 계기로 큰 부분을 점유하기 시작합니다.

마이크로소프트 기밀 메모, 1998

"리눅스는 종국에 x86 유닉스 시장을 차지할 궤도에 올랐다. (중략) 가까운 미래에 NT 보다는 오히려 리눅스가 SCO사의 가장 큰 위협이 될 것이라고 본다"

BSD 종류

개요

BDS '배포판'??

사실, BSD 진영에서는 '배포판'이라는 말을 싫어합니다. 아래에서도 적었지만 BSD는 하나의 전체 운영 체제를 개발하여 배포하기 때문입니다. BSD 진영에서는 계속해서 '운영 체제'로 부를 것을 요구합니다.

BSD는 리눅스 배포판들과는 다르게 하나의 운영 체제를 모두 제작합니다. 다시 말하면, 각종 소프트웨어 제작자의 패키지를 다운 받아 배포판 위에 설치할 수 있는 패키지 매니저를 제공하는 리눅스 배포판의 개념과 다릅니다. BSD는 설치할 수 있는 공식 레파지토리에 적극적인 검토 과정을 거쳐 안정적이라고 판단되는 패키지들을 모두 포함하여 배포됩니다. (슬랙웨어를 생각하시면 편합니다.)

BSD 계열은 현재까지 명맥을 이어가는 배포판을 꼽아보면 굵직한 삼형제가 가장 유명합니다. FreeBSD, NetBSD, OpenBSD가 바로 그것입니다.

삼형제로 갈라지게된 이유는 운영체제 개발의 목적이 달랐기 때문입니다. FreeBSD는 일반 사용자에게 적합한 BSD로 나아가고자 했고, NetBSD는 그 어떤 하드웨어에서도 실행 가능한 BSD로, OpenBSD는 호환성을 조금 포기하더라도 가장 안전한 BSD로 가고자 했습니다.

시기상으론 NetBSD가 제일 먼저 386BSD로부터 포크되어 나왔습니다. 거의 동시에 FreeBSD가 386BSD의 느린 개발 속도에 불만을 품은 사용자들로부터 개발되었습니다. 조금의 시간이 지나고 Theo de Raadt가 NetBSD 개발진과의 목표, 의견차이를 좁히지 못하고 OpenBSD로 포크해 나옵니다.

물론, 위의 3개의 배포판만 있는 것이 아니라 다양한 소규모 배포판이 있습니다. 예를 들어, DragonFlyBSD, GhostBSD, NomadBSD, FuryBSD 등입니다. 각각 일반 사용자 편이성 확대, 그래픽 환경 설치 편이성 확대, 보안을 위한 USB용 운영 체제, 일반 사용자 편이성 확대를 위해 제작되었습니다.

그리고 각종 서버 특화 운영 체제를 개발할 때, 안정성에 방점을 찍는 BSD 계열을 적극적으로 활용합니다. 예를 들어, pfSense, TrueNas, OPNsense 등이 BSD 계열로부터 제작되었습니다.

그러나 많은 분들이 불편해하시는대로 BSD는 일상용 운영 체제로는 극히 일부 결함이 있습니다. 현재로서 가장 대표적인 것은 DRM 지원 불가로 인한 넷플릭스 시청을 할 수 없다는 점 (정작 넷플릭스 서버 시설은 FreeBSD를 활용하는 것으로 잘 알려져있다고...), 최신 출시 하드웨어 지원이 적다는 점 등이 있습니다.

개인 의견

FreeBSD

패키지 관리자 명령어

'BSD는 실제 UNIX 계보이다', 'FreeBSD는 리눅스 배포판과 달리 전체 OS의 형태로 배포된다' 등의 자주 듣는 이유를 벗어나, FreeBSD의 패키지 관리 명령어가 말그대로 'pkg'라는 점에서 가장 큰 매력을 느꼈습니다. apt, apt-get, dnf, yum, emerge, pacman, xbps-install, eopkg, zypper, nixpkg, cards 등 결국 유사하거나 같은 기능을 하는 것들임에도 온갖 미사여구 스타일의 이름을 사용하는 것에 어느 순간 환멸이 들어, 가장 간단한 패키지 매니저 명령어를 찾는 것을 기준으로 배포판 옮겨다니기를 멈추기로 했습니다. (Alpine Linux의 'apk'도 고려해볼만 합니다. 다만, 데스크탑 환경 운영체제로 사용하기에 아직 무리가 많아 보입니다. 컨테이너 이미지 용도로 자주 씁니다.) OpenBSD의 'pkg_add' 명령어도 좋지만, 한 술 더 뜨는 FreeBSD의 pkg 명령어가 단연코 가장 아름답고 UNIX 철학에 부합한다고 생각합니다.

NetBSD

NetBSD가 필요할만큼 다양한 하드웨어를 일반인이 접할 기회가 적어서, 굳이 오래 사용해본적이 없습니다.

OpenBSD

우선, 제가 기기를 운용하는 목적의 제 1 목표가 '보안'인 것은 아닙니다. OpenBSD는 보안적인 측면에서 강한 매력을 가진 것이 사실입니다. 추가적인 매력으로는 다른 모든 BSD 계열 혹은 리눅스 배포판들과 달리, 새로운 유저를 유입하기 위해 홍보를 하는데도 관심이 없고, 포럼 등에서도 유저들에게 친화적이기를 강제하지도 않습니다. 너무 단순하거나 쉬운 질문의 경우 드러내놓고 무시하는 경향이 보일 정도입니다.

다시 말해서, OpenBSD는 철저히 관심사가 동일한 '괴짜(Geek)'들이 모여 개발하는 BSD 입니다. (그래서 NetBSD의 창립자 중 하나였던 De Raadt가 같은 창립자들의 마지막 결재 하에, 쫓겨났을지도; -94년 12월) 그러한 경향성의 문제로 ZFS 같은 혁신적인 파일시스템도 아직 포팅이 되지 않고 있습니다.

Note

ZFS 포팅 관련해서는 내부적으로 다른 의견이 있습니다. 일부 리눅스 배포판에서도 겪고 있듯이, 인력 부족을 이유로 들기도 합니다. ZFS의 경우 엄청난 양의 소스 코드를 자랑하는데 이를 OpenBSD 기준의 코드 검사를 충족하려면 지금 공헌하는 인원수로는 엿부족인것도 사실이긴 합니다.

리눅스 배포판의 역사 개요

Linux? LinuxOS? GNU/Linux?

리눅스는 언제나 커널(Kernel)만을 의미합니다. 흔히 '리눅스 OS'라고 표현하는 것은 'GNU/Linux'가 올바른 표현이라는 주장이 많습니다!

1991년 Linus Torvalds(라이너스 토르발즈)가 'Linux Kernel, ver.0.01'을 발표합니다.

이후 Richard Stallman(리처드 스톨먼)의 'GNU(GNU is Not Unix)'의 유틸리티를 포함하며 OS로 자리잡습니다.

1991년 H. J. Lu의 '부트 루트'가 리눅스 커널을 포함하는 디스크 이미지로 탄생합니다.

1992년 2월, MCC 인터림 리눅스가 공개되어 다운로드 가능해집니다.

극 초기(91-92년)의 어려운 설치 과정, 패키지 관리 등의 한계를 보완하고자 'SLS(Softlanding Linux System)'가 등장합니다. X 윈도우 시스템을 통해 그래픽 환경을 포함합니다. 현재까지 이어지는 배포판 형태의 첫 등장이라고 할 수 있습니다.

1992년 12월, 이그드라실 리눅스/그누/X(Yggdrasil Linux/GNU/X)가 상업 배포판으로 출시됩니다.

SLS의 단점(시스템 전반에 걸친 버그)을 보완하고자 1993년 Slackware(슬랙웨어-패트릭 볼커딩)가 나타나더니, 이안 머독이 지금까지 유명한 Debian(데비안)을 출시하게 됩니다. 데비안을 기점으로 Ubuntu(우분투) 등 엄청난 양의 배포판이 쏟아져 나오기 시작했고, 뿐만 아니라, 독립 진영에서도 Red Hat(레드 햇), Arch Linux(아치 리눅스), Gentoo Linux(젠투 리눅스) 등 다양한 배포판이 출시되게 됩니다.

리눅스는 구분을 하는 기준이 크게 세 가지 존재합니다.

첫 번째로는 계열입니다. 이에 따른 기준으로 나누면 데비안/우분투/민트로 이어지는 부류와 레드햇/페도라/센트OS/최근의 로키 등, 그리고 독립 계열인 아치리눅스, 젠투리눅스, 보이드리눅스 등으로 구분할 수 있습니다.

두 번째로는 패키지 매니저입니다. 사용하는 패키지 매니저인 apt, rpm/yum/dnf, pacman, emerge, zypper, xbps, pkg, eopkg와 같은 구분도 유용하지만 바이너리 패키지 매니저인지 소스 패키지 매니저인지도 유용합니다. 현재 99%의 배포판은 바이너리 패키지 매니저를 활용하여 매우 빠른 설치를 돕습니다. 그러나, 젠투 리눅스, CRUX 리눅스, LFS 등, 그리고 BSD 계열에서 port를 사용하는 경우 소스 코드를 다운로드 받아 직접 컴파일 하는 패키지 매니저도 있습니다.

마지막으로 출시 방식입니다. 최근에는 기술적 한계를 많이 보완하게되어 '롤링 릴리즈'가 매우 빠른 성장을 거듭하고 있습니다. 이는 정해진 버전이 없이, 평소에 하는 시스템 업그레이드 만으로 컴퓨터를 최신 상태로 유지하는 방식입니다. 따라서, 일정한 업데이트/업그레이드를 해주기만 한다면 모두가 같은 버전에서 사용하고 있는 것입니다. 일반적으로 롤링 릴리즈의 대명사로 알려진 리눅스는 '아치 리눅스'입니다. 롤링 릴리즈 배포판들의 경우 각 패키지 개발자들이 출시하는 것들을 매우 빠르게 가져오는 경향이 있습니다. '픽스드 릴리즈'로 불리는 고정형 출시 방식은 우분투가 대표적입니다. 연도.월로 이루어진 버전으로 통상적으로 정해진 시기에 새 버전이 출시될 것임을 짐작할 수 있습니다. 그리고 일정한 기준에 따라 LTS(Long Term Support; 장기 지원 버전)라고 하여, 일반적인 버전들의 지원 기간보다 훨씬 긴 버전을 제공하여 서버 등에서 활용하기에 유리한 면이 있습니다.

아래에서는 출시 방식을 기준으로 정리하였습니다.

롤링 릴리즈(Rolling Release)

정기적인 배포판이 존재하기 보다는, 언제든지 새로운 버전이 출시되면 업데이트가 가능한 배포판의 종류입니다. 'Bleeding Edge' 라고 하는 특징을 가지고 있습니다. 'Bleeding Edge'란 흔히 '첨단 기술'로 번역되곤 합니다. 항상 최신 버전의 패키지(소프트웨어)를 사용하고 싶은 유저들이 애용하고 있습니다. 고정형 버전 방식(Fixed Release)나 장기 지원 버전(LTS; Long Term Service) 타입의 경우, 새로운 버전이 출시되면 다시 다운로드 받아 설치하고 본인에게 맞는 환경 설정을 해야하는 부담이 있지만, 롤링 릴리즈 타입의 OS가 설치된 PC라면 누구라도 최신 버전의 커널과 패키지들을 항상 유지 관리할 수 있다는 장점이 있습니다. 안정성이 충분히 검증되지 않은 최신 기능과 특징을 설치하고 운용하는 롤링 릴리즈 자체가 갖는 특성상 간혹 문제를 일으키는 경우도 발생합니다.

아치 리눅스

설치 과정이 난해하기로 악명이 높습니다(하지만, 잘 정돈된 가이드가 있다면 어떨까요?). 부팅 가능한 매체로 부팅이 성공하면 CLI(커맨드라인 인터페이스)에 던져지고, 유저가 직접 드라이브의 파티션, 포맷, 베이스, 부트로더 등을 설치합니다. 유저가 PC의 모든 빌드를 직접 진행할 수 있는 만큼 자유도가 높습니다.

패키지 매니저로는 PACMAN(PACkage MANager)을 사용합니다. C로 설계된 PACMAN은 다른 배포판들의 패키지 매니저와 비교하여 속도와 유연함 면에서 앞선다고 생각합니다. AUR(Arch User Repository)의 존재 덕분에 소스를 다운로드 받아 직접 빌드해 사용하는 것도 가능합니다.

한국 아치 리눅스 위키, 아치 리눅스 홈페이지, 아치 리눅스 포럼 등을 기반으로 하는 거대하고 강력한 커뮤니티는 아치 리눅스의 또다른 자랑거리중 하나입니다. 아치 리눅스를 사용중 문제가 발생하였을 경우 구글 검색어 앞에 'arch'를 붙여 검색하면, 다양한 해결 방법이 검색됩니다. 검색 결과가 마음에 들지 않거나, 내 상황에 맞는 해결 방법이 없을 경우에는 위의 커뮤니티에 접속해서 질문을 하면 커뮤니티 유저들이 기꺼이 도와줄 겁니다. 설치 과정에서 GUI 인스톨러의 부재로 인해 Manjaro(만자로), Antergos(중단->EndeavourOS로 포크) 등이 탄생하게 됩니다.

설치는 CLI(커맨드 라인 인터페이스)로 진행하며, 기본 설치가 완료되어도 베이스만 설치되어있을 뿐, Xorg와 데스크탑 환경이나 윈도우 매니저도 직접 설치하여야 합니다. 따라서, 본인이 성공적으로 데스크탑을 완성하더라도 이 것이 어느정도나 안정적이고 보안에 취약한지는 확신할 수가 없습니다. 일반적으로 커뮤니티에선 "작동한다면 된거다"라고 하지만 완벽을 추구하는 성격인 분들은 상당히 성가신 부분일 수 있습니다. 롤링 릴리즈타입으로 특정 버전이 존재하지 않으며, 지속적으로 업데이트를 하면서 굴려 나가는 배포판입니다. 따라서, 롤링 릴리즈가 아닌 배포판들이 갖는, 메이저 버전 업데이트 때의 충돌 위험 등을 고려하면 상당히 마음 편한 배포판입니다.

해외 포럼에서는 아치 리눅스가 수동 설치라는 점 때문에 아치 리눅스 사용자임을 은근히 드러내고자 하는 사람이 많음을 비꼬아 'BTW I Use ARCH(참고로 나는 아치를 씀)' 밈을 사용합니다. 근데 사용자 본인들도 씁니다.

젠투 리눅스

젠투 리눅스는 보통 아치 리눅스보다 설치 과정이 더 어렵기로 유명합니다. 젠투 리눅스 사용자는 커널까지도 직접 컴파일하여 빌드합니다. 따라서 매우 유연하고, 본인이 가진 하드웨어에 최적화된 리눅스를 만드는 것이 가능합니다. PC의 연산 속도(CPU의 성능)가 떨어질수록 빌드 시간이 오래 걸린다는 단점이 있습니다. 패키지 매니저의 경우도 소스를 컴파일 하는 방식이다 보니 시간이 조금 더 걸리는 단점이 있습니다. 하지만, 본인이 리눅스의 깊은 곳까지 직접 관리하고 싶거나 혹은, 직접 쌓아올리는 OS에 호기심과 매력을 느낀다면 사용해볼만한 가치가 충분합니다.

젠투도 롤링 릴리즈입니다. 심지어, 아치와 마찬가지로 모든 설치는 CLI에서 진행하며, 설정도 직접 해주셔야 합니다. 아치보다 더 나아가 모든 패키지는 소스 코드를 다운 받아 직접 컴파일 합니다. 재밌는 점은 하드웨어가 받혀준다면 사용하는데 큰 문제는 없다는 것입니다. USE플래그를 활용하여 각 패키지별로 본인이 사용할 기능과 그렇지 않은 기능을 포함/미포함하여 컴파일 할 수 있습니다. 개인적으로, CPU가 워크스테이션 급이 아닌 분들은 한 번쯤 사용은 해보시되 바이너리 배포판(젠투를 제외한 대부분의 일반 배포판)을 사용하시는 것을 추천합니다.

픽스드 릴리즈(Fixed Release)

이 배포판들은 일정 시기를 기점(Fixed Release)으로 새로운 배포판이 출시 됩니다. 지난 배포판이라 할지라도 아직 서비스 지원 기간에 속한다면 사용하면서 지원을 받을 수 있습니다. 사용자들은 신규 배포판 출시 때 업그레이드와 관련해 많은 어려움이 있었지만, 레드햇 등의 회사에서 다양한 방법으로 해결을 시도하였고 실제로 그런 불편함은 많이 해소되었습니다. 꼭 출시 직후의 새로운 기능과 특징을 사용해 보고 싶은 욕심이 없고, 안정적인 배포판을 사용하고 싶은 유저들이 사용하고 있습니다.

데비안

현대적 리눅스 배포판들 중의 원조라고 생각합니다. 90년대 초반 SlackWare(슬랙 웨어) 등과 함께(엄밀히 말하면, 슬랙웨어가 먼저 등장하였습니다.) 등장한 데비안은 아직까지도 그 단단한 기반에 많은 유저들을 확보하고 있습니다. 오래되고 가장 인기있는 OS 중 하나로 군림하다보니 패키지의 양도 굉장히 많습니다. 다만, 너무 안정적이려는 특성 때문에 새로운 배포판 출시까지의 기간이 길고 서버에서 주로 쓰이는 특징이 있습니다. 우분투라는 유명한 아들 배포판을 배출해 냈습니다.

우분투 리눅스는 너무 식상하다거나, 조금 더 자세히 알아보고 싶다고 생각하시는 분들은 데비안 리눅스를 추천합니다. 데비안 리눅스는 아직도 건재한 배포판입니다. 데비안에서 파생되어 나온 우분투 리눅스마저 큰 성공을 거두었습니다. 데비안 리눅스는 견고(solid)하기로 유명합니다. 상당히 체계적인 검토와 테스팅을 거쳐 레파지토리(패키지 모음)에 올려지기 때문에, 데비안에서 기본적으로 제공하는 레파지토리에서 설치 가능한 패키지라면 꽤나 신뢰하고 사용하셔도 무방합니다. 다만, 위와 같은 특징 때문에 타 배포판보다 훨씬 오래된 버전의 패키지들을 사용하게 될 수도 있습니다. 이 부분은, '/etc/apt/source.list'를 편집하여 testing 버전으로 사용시 롤링 릴리즈 배포판처럼 사용할 수 있습니다.

우분투

데비안에서 파생. 영국 '캐노니컬'이라는 회사의 지원을 받고 있는 제품으로, 윈도우나 맥OS사용자가 리눅스 계열을 처음 사용하고자 할 때 자주 추천을 받게 되는 배포판 중 하나입니다. 설치 과정이 간편하고, 사용도 직관적임에도 불구하고 중요 기능들에 있어서 부족함이 없는 훌륭한 배포판입니다. 각종 데스크탑 환경을 기반으로 Ubuntu Mate(Mate), Kubuntu(KDE), Xubuntu(XFCE), Lubuntu(LXDE)로 뻗어나갔습니다.

리눅스에 입문을 하시려는 분들은 우분투 리눅스나 혹은, 그 계열인 민트를 사용하시는 것을 추천합니다. 대부분의 사용은 GUI(그래픽 UI 환경)에서 처리가 가능하고 설치도 용이합니다.

민트

우분투에서 파생. 깔끔하고 Windows와 유사한 데스크탑 환경으로 많은 사랑을 받고 있습니다. 초보자가 설치, 유지 관리하기에도 부족함이 없습니다.

페도라

Red Hat 사의 로고에 등장하는 Shadowman의 모자인 페도라에서 이름을 따왔습니다. 픽스드 릴리즈의 특성상 새로운 배포판이 나오면 업데이트를 진행해야 합니다. 많은 발전으로 업데이트 도중 문제가 생기는 경우가 현저히 줄어들었습니다. 또, 가장 완벽에 근접한 오픈 소스 철학을 실현하고 있다고 주장합니다. 따라서, 공식 레파지토리에는 철저히 오픈 소스의 철학을 가진 패키지들이 실립니다. 하지만, proprietary(개인이나 단체가 소유권을 가지는, 오픈 소스가 아닌) 패키지를 설치하고자 한다면 그것도 가능합니다. 유명한 RPM 패키지 매니저(Fedora: 'DNF package manager' / Red Hat: 'YUM package manager')를 사용합니다. 레드 햇의 소중한 아들입니다. 레드 햇 리눅스가 중단(2003년)되면서 페도라가 공식적으로 시작되었고, 페도라를 베이스 라인으로 하는 RHEL(Red Hat Enterprise Linux)이 레드 햇의 유일한 공식 지원을 받게 됩니다(페도라는 커뮤니티 기반으로 운영됩니다. 이런 운영 방식의 배포판을 'community driven distribution'이라고도 합니다).  리눅스 진영에서의 혁신적인 시도를 자주 시행한 훌륭한 배포판입니다. 레드 햇 리눅스가 서버에서 압도적으로 많이 활용되고 있는 만큼, 서버 관련 업종에 종사하시거나, 종사할 계획이 있는 분들은 페도라 리눅스가 적합하다고 생각합니다. (간혹 인터넷 커뮤니티에서는 RHEL의 베타 테스팅 버전이라고 놀림을 받기도 함)

슬슬 블리딩 엣지(최신 기술, 첨단 기술)의 영역에 입장하고 계십니다. 여기까지도 엄밀히 Out of the Box 형태의 배포판이지만 최신 기능이나 패키지들을 탑재하기로 유명합니다. 페도라는 최신 패키지들을 적극적으로 공식 레파지토리에 올려두기로 유명합니다. 어느 정도 버그가 있을 순 있겠지만 사용자에게 가장 최신 버전의 패키지들을 사용가능하도록 제공합니다. Out of the Box 진영과 Bleeding Edge진영의 사이에서 정확한 스윗 스팟을 자극한 배포판으로 생각합니다. 리눅스 커널의 창시자이자 개발자인 Linus Torvalds가 과거 인터뷰에서 "데비안 설치는 너무 어렵고, 나는 개발자이지 배포판 설치 전문가가 아니라"면서 페도라를 사용하고 있음을 언급한 적이 있습니다. (토르발즈가 언급했던 어려운 설치 버전의 데비안은 아마도 '우디' 시절로 추정하며, 그 당시엔 GUI 인스톨러가 아니었습니다.) 개인적인 생각으로도 개발을 위한 환경까지 아울러, 리눅스에 경험이 어느정도 쌓였다면 최적화된 배포판이 아닐까 생각해봅니다.

RHEL(Red Hat Enterprise Linux)

레드햇 기업 지원 유료 리눅스. Red Hat Cetification Program(RHCP)이라고 불리는 레드햇 국제 자격증 과정으로도 유명합니다. RHCP는 레드햇 서버 혹은 데스크탑 사용 자격이 있는가를 검증해주는 자격증 프로그램을 말합니다.

개발 목적으로 등록하는 경우 피지컬 머신 1대 가상 머신 16대까지 무료로 사용 가능합니다.

오픈수사

오픈수사는 오픈 '수사'로 읽습니다.. '수세', '수제'가 아닙니다.

유럽 발(독일) 리눅스 배포판. LEAP 버전은 Fixed Release이고, Tumbleweed 버전은 Rolling Release입니다.

엘레멘터리 OS

아름답기로 유명한 배포판. 맥 OS와 시각적 유사점이 많아서 맥 OS에서 리눅스 진영으로 넘어온 다수의 사용자를 흡수 하고 있는 것으로 보입니다.

슬랙웨어

슬랙웨어입니다. 리눅스의 역사에 더 매료되시는 분들은, 슬랙웨어를 추천합니다. 가장 오래된 배포판입니다. (사실 데비안과 3개월(?) 정도 차이밖에 나지 않습니다. 다만 데비안과 슬랙웨어를 제외하고는 당시 출시된 배포판은 대부분 소멸되거나 다른 방향으로 변화해왔습니다. 원래의 철학과 모습을 유지하는 배포판은 슬랙웨어와 데비안 뿐으로 생각합니다.) 엄밀히 말하면, 최초의 배포판을 'Boot Root'로 생각할수도 있지만, 지금과 같은 형태의 배포판으로써는 슬랙웨어가 확실히 최초라고 알려져 있습니다. 패키지 매니저는 pkgtool 과 slackpkg가 있습니다. 의존성을 직접 체크, 컴파일해야하는 패키지 매니저와 현대적인 의존성 체크와 바이너리 인스톨을 가능하게하는 패키지 매니저 둘 모두를 지닌 매력적인 배포판입니다. 데비안과 마찬가지로 올드한 패키지들을 보유하고 있습니다. 한 번쯤, 경험해보면 좋을 배포판입니다.

기타 - LFS(Linux From Scratch)

책의 형태로 존재하는 배포판입니다. 사실 배포판이라고 불러야 하는지 애매한 위치에 있습니다. 홈페이지에서 LFS 부터 시작합니다. LFS를 완성하고 나면 BLFS(Beyond LFS) , CLFS(Cross-compile LFS) 등 다양한 줄기로 더 심화된 빌드를 할 수 있습니다. 보통, 리눅스 시스템 학습용으로 매우 훌륭하다는 평가를 듣고 있습니다. 리눅스 기반의 호스트 PC에서 GCC 등 OS설치를 위한 기본 준비를 모두 마친 후에 리부트를 통해 설치 환경으로 진입합니다. 일반적인 환경에서 사용하기에는 한계가 많아 보입니다. 리눅스 시스템에 대한 전반적이고 깊은 이해를 필요로 하는 경우에는 충분히 참고하거나 공부해볼만한 배포판인 것 같습니다.

LFS는 완전히 학습용이라고 생각합니다. 설치 이미지(iso)파일도 제공되지 않고, 책을 보면서 설치합니다. 설치 환경 조성을 위해 '/mnt/lfs/tools' 디렉토리를 생성하여 그 곳에 GCC등의 필수 패키지를 컴파일(호스트 PC의 GCC와 다른 필수 패키지들의 설정과 버전 등을 신뢰할 수 없기 때문에) 해 놓은 후, /tools의 패키지들을 이용해 /mnt/lfs의 베이스(다시, GCC와 나머지 필수 패키지)를 설치하고나서, 추가로 필요한 패키지들을 베이스 시스템의 GCC를 이용해 컴파일합니다. 추후에, BLFS 등에서 Xorg와 데스크탑 환경 등 까지도 컴파일할 수 있습니다. 젠투를 위시한 여러 배포판들은 사실상 LFS와 BLFS, CLFS 등과 같거나 유사한 과정을 통해 탄생한 배포판 들 입니다. 배포판 제작에 관심이 있으신 분들은, LFS를 통해 공부,연구 하셔도 무방할 듯 합니다. 컴파일을 해야하다보니, 젠투처럼 CPU의 영향을 매우 크게 받습니다.

마치며

여기까지 굵직한 배포판들의 간략한 소개를 드렸습니다. 이 글을 통해, 여러분들이 사용하실 배포판 선택에 도움이 되었기를 바랍니다. 개인적인 소망이지만 대한민국에 일반 사용자(Daily Machine)로써 리눅스 사용자가 더욱 더 많아지기를 기대합니다!


Last update: November 4, 2021
Back to top