리눅스 배포판 종류

약간의 역사 이야기

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

이후 Richard Stallman(리처드 스톨먼)의 ‘GNU(GNU is Not Unix)‘의 유틸리티를 내장하며 명실상부 운영체제(OS)로써 자리잡습니다.

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

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

Linux? LinuxOS? GNU/Linux?

리눅스는 언제나 커널(Kernel)만을 의미합니다.

흔히 ‘리눅스’ 혹은 ‘리눅스 OS’라고 표현하는 것은 ‘GNU/Linux’가 올바른 표현이라는 주장이 있습니다!

”Let me interject for a moment. What you guys are referring to as Linux, is in fact, GNU/Linux …(후략)”

→ Richard M. Stallman

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 환경)에서 처리가 가능하고 설치도 용이합니다.

민트

우분투 기반으로 제작됨(최근에는 데비안 베이스도 활발히 개발 중; LMDE). Windows와 유사한 데스크탑 환경을 갖고 있어 많은 사랑을 받고 있습니다. 초보자가 설치, 유지 관리하기에도 부족함이 없습니다.

페도라

Red Hat 사 로고에 등장하는 Shadowman의 모자인 페도라에서 이름을 따왔습니다. 픽스드 릴리즈의 특성상 새로운 배포판이 나오면 업데이트를 진행해야 합니다. 많은 발전으로 업데이트 도중 문제가 생기는 경우가 현저히 줄어들었습니다. 또, ‘가장 완벽에 근접한 오픈 소스 철학을 실현하고 있다’고 주장합니다. 따라서, 공식 레파지토리에는 철저히 오픈 소스의 철학을 가진 패키지들이 실립니다. 하지만, proprietary(개인이나 단체가 소유권을 가지는, 오픈 소스가 아닌) 패키지를 설치하고자 한다면 그것도 가능합니다. 유명한 RPM 패키지 매니저(Fedora: ‘DNF package manager’ / Red Hat: ‘YUM package manager’)를 사용합니다.

레드 햇의 주요 파생 배포판 중 하나입니다. 레드 햇 리눅스(현 RHEL과 다름)가 중단(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’로 생각할수도 있지만, 지금과 같은 형태의 배포판으로써는 슬랙웨어가 확실히 최초라고 알려져 있습니다. 패키지 매니저는 pkgtoolslackpkg가 있습니다. 의존성을 직접 체크, 컴파일해야하는 패키지 매니저와 현대적인 의존성 체크와 바이너리 인스톨을 가능하게하는 패키지 매니저 둘 모두를 지닌 매력적인 배포판입니다. 데비안과 마찬가지로 올드한 패키지들을 보유하고 있습니다. 한 번쯤, 경험해보면 좋을 배포판입니다.

기타 - 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)로써 리눅스 사용자가 더욱 더 많아지기를 기대합니다!