"리눅스"의 두 판 사이의 차이

잔글
1번째 줄: 1번째 줄:
 +
{{ㅊ|이쪽이 [[윈도우]]보다 긴건 기분탓}}
 
[[분류:리눅스]]
 
[[분류:리눅스]]
 
[[File:Tux.svg|thumb|right|200px|리눅스의 마스코트 턱스(Tux)]]
 
[[File:Tux.svg|thumb|right|200px|리눅스의 마스코트 턱스(Tux)]]

2015년 9월 23일 (수) 17:45 판

이쪽이 윈도우보다 긴건 기분탓

리눅스의 마스코트 턱스(Tux)

1 개요

Linux. LINUX Is Not UNIX.

Unix-like 하고 POSIX 호환인 오픈 소스 커널 중 하나.

최신 커널 버전은 여기서 확인할 수 있다.

2 역사

2.1 초기

당시 헬싱키 공대 대학생이었던 리누스 토르발즈1991년 미닉스를 보고 이를 약간 개량할 겸해서 파스타를 먹으면서 자신의 컴으로 끄적이던 터미널 에뮬레이터에서 시작되었다. 미닉스를 쓰면서 마음에 안드는 점이 있을 때마다 이것저것 터미널 에뮬레이터에 기능을 추가했고, 어느 새 운영체제에 가까울 정도로 기능이 늘어났다. 리누스는 이 터미널 에뮬레이터를 처음 릴리스 할 때, 무료이니 'free', 자신이 이상한 놈이니(...) 'freak', 그리고 UNIX와 유사하니 'X'를 조합해 'Freax'라고 부르길 원했다고 한다. 무슨 지거리야 그러나 FTP 서버에 소스 파일을 업로드한 아리 렘케는 차라리 리누스가 개발했으니 '리눅스'라고 부르는 게 낫겠다 싶어 리누스의 허락 없이 이름을 '리눅스'로 바꿨고, 리누스도 이 이름이 마음에 들어 새 운영체제의 이름은 리눅스로 확정됐다.

그래 놓고서 리누스는 93년도에 "이름 빼고, BSD가 아니라 리눅스를 써야 하는 이유가 있나요?"라는 질문에, "아니, 그것뿐입니다. 이름이 멋지다는 거. 우리는 모두에게 어필할 수 있는 이름을 지어내기 위해 열심히 노력했고 그 덕을 많이 보고 있어요. 386BSD는 이름에 쓸데없이 약자랑 숫자를 넣는 실수를 해서 사용자들이 겁을 먹고 피하고 있어요." 라는 쌩구라 농담을 하기도 했다.(...) [1]

1996년 마스코트 턱스(Tux)가 만들어졌다. 왜 펭귄이 리눅스의 마스코트인고 하니, 어느 동물원에서 리누스가 "존나 거대하고 시속 100마일 이상으로 달리고 펭귀니티스라는 희귀병을 앓는 펭귄에게 공격당한 후부터 펭귄을 좋아하게 되었다 카더라M???"...라는 이야기가 있지만, 이건 사실이 아니고, 그냥 리누스가 좋아하는 동물이라고 한다. 게다가 펭귄은 전형적인 기업 이미지와는 백만광년 정도 떨어진 동물이라는 판단도 한몫했다고.[2]

2.2 발전

리눅스는 거의 공개 직후부터 가히 폭발적인 성장세를 보인다. 여러 가지 원인들이 겹친 결과였다. BSD가 소송에 휘말리면서 대체품에 대한 관심이 커진 것도 큰 역할을 했다.. 극성 BSD빠들 중에서는 그 소송만 없었다면 리눅스는 존재하지도 않았을 거라고 주장하는 사람도 있을 정도. 정신승리 또한, GPL 라이선스를 선택하고, 현재 오픈소스 개발 모델의 모체가 된, 소스 공개와 공개적 개발 모델을 선택한 것도 매우 유효했다. 이전에는 오픈 소스 소프트웨어라도 핵심 개발자 집단이 개발 과정을 독점하고, 릴리스할 준비가 되었다고 판단될 때에야 소스를 공개하는 방식을 사용했다. 그런데 리누스는 누구나 소스를 읽은 후 패치를 작성해 보낼 수 있도록 했다. 패치가 받아들여지면 그 패치를 보낸 사람은 기여자가 되어 다름 릴리스 노트에 이름이 박혔다. 에릭 레이먼드의 "시장과 성당"의 표현을 빌리자면, 이는 사람들의 과시욕을 충족시키는 방식이었고, 사람들은 돈을 받지 않고도 커널 버그 수정과 기능 추가에 매달렸다. 위키니트들이나 똑같다...위키질 대신 개발을 했을 뿐.

초기 리눅스는 기능이 불완전한 운영체제였다. 그러나 자체 커널 개발에 난항을 겪고 있던 GNU 프로젝트가 리눅스 커널에 관심을 가졌고, 리눅스 커널과 GNU 유틸리티가 결합하면서 비교적 완전한 운영체제로 거듭났다. 18개월여만인 1994년에는 리눅스 1.0 버전이 나왔고, 최초의 배포판인 레드햇이 등장했다. 이후 Sun, IBM 등의 대기업들이 리눅스 개발을 지원하기 시작하는 등, 리눅스가 IT 세계에서 가지는 입지는 빠르게 탄탄해졌다.

2.3 현재

상당수의 웹 서버모바일 장치(안드로이드, 미고 등…)를 구동하는 운영체제이다. 특히 서버 쪽에서 리눅스의 지위는 엄청나다. 무료인 데다가, 리눅스에 익숙한 인력도 많고, 안정성도 높은 편이니 서버 운영체제로서는 최적인 셈. 서버용 프로그램들 대부분이 리눅스를 지원하거나, 리눅스 상에서 개발되고 있다. 모바일 시장에서 안드로이드의 위상이야 더 말할 필요가 없을 정도이고...

물론 데스크탑에서 사용하는 사람들도 많다! 다만 서버와 모바일(안드로이드) 운영체제로서의 입지가 엄청나게 탄탄한 데 비해서 데스크탑에서의 존재감은 미미한 편이다.active X 쓰는 웹사이트에서 맥 사용자만 우는 거 아니다. 리눅스 사용자들도 운다. ㅠㅠ 실제로 리누스 토르발즈2014년 "전 아직도 리눅스 데스크탑을 원합니다"라며 리눅스의 데스크탑 운영체제로서의 점유율에 아쉬움을 드러낸 바 있다. 리눅스가 애초에 데스크탑 운영체제로 시작했음을 생각하면 데스크탑에서 리눅스의 미약한 입지는 아이러니하다 할 수 있다. 그렇지만 KDE, GNOME 등의 데스크탑 환경들이 지속적으로 발전하여 사용성과 안정성이 꽤 높아진 데다가 리눅스 데스크탑용 소프트웨어의 수가 지속적으로 늘고 있으며, SteamOS의 등장으로 리눅스에 게임도 많이 포팅되고 있다. 리눅스를 데스크탑에서 사용하기에는 지금만큼 좋은 때가 없는 셈.

3 특징

3.1 오픈 소스

리눅스 커널은 GPL v2 라이센스 하에 소스 코드가 공개되어 있다. 소스 공개는 많은 잉여개발자들의 참여를 가능케 했고, 이는 리눅스가 지금의 위치까지 성장하게 된 큰 힘이 되었다.

3.2 배포판

리눅스의 배포판

리눅스 커널과 시스템 어플리케이션(init, systemd, udev, syslogd, etc..), 그 외 일반 유저 어플리케이션들을 묶어서 배포하는 형태. 리눅스는 커널일 뿐이다. 배포판들은 커널 위에 이것저것을 얹어서 실사용이 가능한 상태로 만들어서 주는 것이라고 할 수 있다. 리눅스 시스템이 동작하기 위해서 설치해야 하는 것들은 기본적인 시스템 어플리케이션에서 미들웨어, 사용자가 직접 다루는 UI 등 수백 개에 달한다. 이를 사용자가 하나하나 선택/컴파일한다고 생각해보라. 그럴 수는 없기에 배포판이 등장했던 것이다.

배포판 시스템은 리눅스를 처음 접하는 유저들에게 적지 않은 혼란을 줄 때가 있다. "아니, 나는 리눅스라는 운영체제를 써보고 싶었을 뿐인데, 우분투는 또 뭐고, 페도라는 또 뭐고, ... 에라 모르겠다!" 와 같은 생각을 하는 것이다. "왜 리눅스라는 운영체제가 수백 개가 있느냐"라고 질문하는 경우도 있었다. 리눅스 자체는 커널일 뿐이다. 리눅스 커널 기반의 운영체제들이 많다고 생각하면 되겠다. 이런 현상이 나타나는 근본적 이유는 리눅스가 오픈 소스이기 때문이다.기존에 사용하고 있던 배포판에 마음에 들지 않는 부분이 있으며, 자신이 새로운 배포판을 개발할 역량이 있다면 누구나 마음대로 새로운 배포판을 만들어낼 수 있는 것이다. 그러다보니 우분투 기반의 배포판만 수십~수백 개에 달한다.(...)

배포판 선택에 혼란을 겪는 사용자라면, 우분투나 민트 등을 선택하여 감을 먼저 익히는 것이 좋다. 우분투와 민트가 국내/국외 커뮤니티 지원이 빠방하기 때문이다. 우분투나 민트를 사용하면서 리눅스에 익숙해지면, 그 후에 자신의 입맛에 따라 다른 배포판으로 갈아타면 된다.

3.2.1 대표적인 배포판들

알파벳 순 영문 이름 -> 가나다순 한글 이름으로 기재. 자세한 것은 리눅스 배포판 항목을 참고하자.

  • 데비안 계열
  • 레드햇 계열
  • 기타
    • Linux From Scratch (배포판보다는 매뉴얼에 가까운 물건. 완전한 바닥에서 출발해서 시스템을 쌓아올리는 방법을 담고 있다.)
    • 아치 리눅스 LFS와 비슷한 철학을 가지고 있지만, LFS만큼 하드코어하지는 않고, 패키지 관리자를 포함한 기본적인 시스템을 구성해서 준다. 롤링 릴리스 배포판.
    • 안드로이드 (Android/Linux - 리눅스 커널을 쓰지만, 일반적 GNU 라이브러리를 사용하지 않아 GNU/Linux 와는 ABI 가 호환되지 않는다.)
    • 오픈수세
    • 젠투 리눅스 (소스 컴파일 식 배포판. GNU/Linux 혹은 µClibc/Linux 두 설정 중 하나로 시스템 구성이 가능하다.)

3.3 무한한 선택 가능성

리눅스 사용자는 자신이 원하는 환경을 구축하기 위하여 운영체제의 거의 모든 요소를 취사선택할 수 있다. 정말로. 일반 데스크탑 사용자의 입장에서 예를 들자면, 사용 가능한 데스크탑 환경이 매우 다양하다. GNOME, KDE, Cinnamon, MATE, Xfce, LXDE 등의 완전한 데스크탑 환경을 선택할 수 있을 뿐 아니라, Openbox나 Awesome, Xmonad 등 단일 창 관리자를 데스크탑 환경으로 사용하는 것도 가능하다. 데스크톱 환경을 여러 개 설치하여 사용하는 것도 가능하다. 더 깊이 들어가자면 NetworkManager이나 Wicd같은 시스템 관리 도구부터 부트로더, init 시스템까지 마음대로 선택해서 변경할 수 있다!

리눅스라는 커널이 굉장히 작은 기반을 마련해 주고, 사용자는 그 커널 위에 자신이 원하는 환경을 구축할 수 있는 것이다. [3] 이와 같은 선택 가능성이 극단적으로 드러나는 것이 바로 Linux From Scratch. 말 그대로 커널과 GNU 유틸부터 모든 것을 자신이 컴파일하여 밑바닥부터 리눅스 시스템을 짜는 것이다. 자신의 시스템의 구성 요소를 사용자가 정말 하나하나 선택할 수 있다. 물론 LFS를 설치하고 사용 가능한 리눅스 시스템을 구축하는 데에 드는 시간은 매우 길다.

3.4 중독성

리눅스의 중독성을 매우 적절하게 보여주는 XKCD 456화 Cautionary.

진입장벽이 없는 것은 아니지만, 일단 리눅스 환경에 익숙해지면 리눅스는 매우 훌륭한 장난감으로 변신한다. 위에서 말했듯, 시스템의 거의 모든 요소를 사용자가 선택할 수 있다는 게 마치 레고처럼 이것저것 선택하는 재미를 제공한다. 또한 명령줄, 그러니까 CLI 사용에 익숙해지면 GUI 사용을 귀찮아하고 웬만한 작업에 명령을 직접 치거나, 아예 쉘 스크립트를 작성하고 있는 자신을 발견할 수 있을 것이다.

특히 윈도우에서 건너온 사용자라면 이 중독성이 강렬하게 다가온다. 윈도우는 사용자에게 내부 작동 방식을 보여주는 데에 인색한 반면, 리눅스는 사용자에게 모든 것을 보여주기 때문이다. 게다가 윈도우나 에서는 마음에 들지 않는 부분이 있어도 그것을 고치는데 한계가 있는 반면, 리눅스에서는 그걸 어떻게든 해결하거나 수정할 방법이 존재하는 경우가 대부분이다. 정말 희한하게도, 리눅스를 사용하다보면 문제가 생겨 트러블슈팅을 하는 것을 매우 재미있게 느끼고 있는 자신을 발견하게 되는 경우가 많다. 훌륭한 M

4 대중화 방해 요인

4.1 하드웨어 드라이버 문제

윈도우에 비해 하드웨어 드라이버의 지원이 부족한 느낌이 들고, 특히 노트북의 무선랜 드라이버는 정말 지원이 부족하다는 느낌이 든다. 드라이버 관련 문제를 최소화 하기 위한 한 가지 팁을 주자면, 레드햇에서는 레드햇 리눅스가 잘 돌아가는지 테스트한 Red Hat Certified Product를 공개한다. [4] 여기 올라와 있는 노트북은 일단 호환성 문제가 생길 가능성이 매우 낮으니, 리눅스가 지원하는 하드웨어에 대해 잘 모른다면 이 리스트를 확인해 보고 구매를 결정하는 것이 현명하다. 추가적으로 데스크탑의 Cpu는 Intel, Gpu는 Nvidia (또는 Intel)이라면 드라이버 문제가 거의 발생하지 않으니 안심하고 사용해도 된다. 고통받는 amd 사용자...

5 대체 가능한 프로그램들

  • MS Office - LibreOffice, OpenOffice.org. 아웃룩 기능은 Mozilla Thunderbird 혹은 Evolution 등의 메일 클라이언트가 있다.
  • MS IE - Firefox, Google chrome
  • Adobe photoshop - Gimp
  • Visual Studio - Vim, Emacs, gnome builder, kdevelop, Eclipse
  • 와인 - 윈도우의 프로그램을 리눅스에서 돌아가게 하는 요술단지

6 같이 보기

7 각주

  1. 해당 포럼 포스트
  2. The Story Behind Tux the Penguin
  3. 물론 배포판을 선택하면 그 변경의 폭이 약간 제한되지만, 관리도구나 데스크탑 환경, 부트로더 변경을 지원하지 않는 배포판은 없다. 다만 위에서 설명한 init 시스템 선택은 Linux From Scratch를 사용하지 않은 이상 쉬운 일은 아니다.
  4. https://hardware.redhat.com/laptop