리눅스

자유인사전 - 자유인들의 백과사전
이동: 둘러보기, 검색
리눅스 허쉴?
Recommend.png
리눅스 해 보시길 정중히 권유합니다.


유해한 동물

대하여[편집]

운영체제의 커널의 종류 중 하나. 리누스 토르발스가 학부생 시절에 배운 Minix에 감명받아 유닉스 시스템을 모방하는 것을 목표로 시작되었다. 이런 걸 보면 운영체제가 꼭 개발기간이 오래 걸린다던가 만들기 너무너무나 어려운 것 만은 아닌 것 같다. 물론 운영체제를 만들기 위한 지식과 기술이 어느 정도 있다고 할 때 지만. 현재 리누스 토르발스가 주도하여 개발되고 있으며, 모듈화 하이브리드 모놀리식 커널로 설계되어있고 GPL을 따른다. 이 커널로 만들어진 리눅스 배포판들이 있으며 많은 사람들이 이걸 리눅스라고 부르곤 한다. 왠지 모르게 가볍고 안전하고 공짜인 본격 완벽 운영체제라고 생각하는 사람들이 많은데 현재 우분투나 페도라같은 프로젝트를 보면 딱히 가벼운 것도 아닌듯 하다.

역사[편집]

핀란드에 살던, 늙어서 대머리가 될 운명의 공대생이 집에서 놀다 심심한데 대학교재 미닉스나 뜯어볼까? 하고 만들어졌다. 근데 좀 많이 대박이 났나보다. 1991년에 386 아키텍처용 커널이 최초공개 되었다. 말 그대로 당시에 대학 등에서 유닉스를 경험해본 엔지니어들이 꿈꾸던, '우리 집에서 내 컴퓨터에 유닉스를 돌린다'의 실현이였다. 가장 초기에는 이런 유닉스 딸잡이들이 직접 쉘과 컴파일러, 명령 바이너리와 편집기 등을 전부 붙여서 쓰는 게 당연했고, 당연히 일반적인 PC 유저는 손도 못대던 것인데, 1992년 5월에 피터 맥도널드가 거의 최초의 배포판인 Softlanding Linux System(SLS)을 배포한 후, 1993년에 슬랙웨어 리눅스데비안 GNU/LINUX, 그 다음 해 SUSE 리눅스 등의 배포판이 나오기 시작하면서 일반 사용자들이 자유 소프트웨어를 간편하게, 고급적인 지식 없이도 이용할 수 있게 되었다.

처음에는 개인용 컴퓨터에서 쓰도록 한, MS-DOS나 다른 DOS계열 운영체제 등 보다 훨씬 유능한 유닉스 시스템이였다. 지금은 온갖 장치들의 펌웨어와 드라이버들을 포함하고 있고 새로운 하드웨어 드라이버 추가에 총력을 기하고 있는 리눅스이지만, 당시만 해도 키보드 하나, 모니터 하나 잡기 위해서 피똥을 싸야했던 리눅스는 윈도우즈의 강력한 사용자 편의성에 완전히 밀렸다. 분명 시작은 PC용 유닉스 였다. 그러나 유닉스 라는 게 애초에 서버(메인프레임)를 사용하기 위해 만들어진 운영체제였기 때문에, 유닉스의 멀티태스킹과 멀티유저 기능을 그대로 갖고 있으면서, 소스가 심층적인 문서화와 함께 공개되어 무료로 사용하고 수정할 수 있기 때문에 진작에 서버용 칩셋에 맞는 리눅스 커널이 나와, 서버용 OS로 압도적인 각광을 받게 된다.

GNU 프로젝트의 핵심 프로젝트로 커널의 소스는 열려있고, 모두가 버그를 리포팅하고 고칠 수 있으며, 쓰는 것 또한 GPL 라이센스를 따라주면 얼마든지 자유다. 가정에서 유닉스와 매우 유사한 환경을 꽁짜로 이용 할 수 있으니 인류의 축복이라 하겠다. 음 이건 GNU에서 자세히 보자.

타넨바움-토르발스 논쟁[편집]

1992년, 당시 네덜란드 암스테르담 대학의 교수 엔드루 타넨바움은 자신의 교보재이자 미니멀 커널 UNIX 계열 OS인 미닉스를 사용해 리눅스를 만들었다는 것에 예민해져, 리눅스에 대한 비판을 했다. 비판점은, 모놀리식 커널은 유지보수가 힘들며, 이식성이 낮고, 구시대적인 구조라고 했다. 토르발스의 의견은 달랐다. 리눅스는 이식성이 높은 API로 설계되어 있으며, 체계적인 설계 규칙에 따라 설계를 간단히 할 수 있다고 했으며, 토르발스의 인성 어디 안가게, 미닉스의 기능 자체를 비판했다.

이름에 대한 일화[편집]

사실 Linux라는 이름을 지은 것은 리누스가 아니다. 리눅스의 초기 버전을 개발할 때 리누스는 자유의 'free', 자신이 이상한 놈이라 'freak', 그리고 유닉스의 'x'를 붙여 Freax라는 이름으로 불렀고, 리눅스라는 이름을 고려하긴 했지만 너무 자뻑하는 것 같아서 그만뒀는데 FUNET ftp 서버에 파일을 업로드했을 때 Ari Lemmke라는 동료 관리자가 Freax라는 이름이 좋지 않다고 생각했고 멋대로 Linux로 이름을 바꿨다. 리누스는 나중에 이 이름에 만족하고, 지금까지 사용되고 있다.

유해성[편집]

굉장히 유해하다. 윈도우에선 당연히 되야 할것들이 리눅스에선 문서를 찾아보고 수정하고 해야만 한다. (분명 하드웨어가 윈도우 위주로 개발되서 그런거긴 한데) 그렇게 하다가 결국 새벽을 넘기기 일수다. 이러면서 폐인이 되고 어린 학생들은 시험문제에 나오지도 않는 리눅스와 프로그래밍에 심취되어 심각한 피로와 대인관계의 어려움, 성적 하락, 심리적인 불안감에 시달리게 된다.

중독성[편집]

야구에 심취해있거나 심취해 본적이 있는가? 어려운 룰을 이해하고 여러가지 전략 등을 다 거의 알게 되었을때 야구를 시청하는 재미는 두배가 된다. 마찬가지로 리눅스는 리눅스를 꽤 자유자제로 사용하게 되었을때 그 즐거움이 배로 증가한다. 이로써 어린 학생들은 밤을 새게 되고 헛된 꿈을 안고 상업계, 정보산업고 고교등에 진학하려고 하고 실제로 진학하지만 결국 인생은 망가져 있다. 리눅스 자격증을 따던가 해야지 원

차별[편집]

원래 다른 나라도 리눅스를 제3세계로 치부하지만 대한민국에선 특히 더한데, 리눅스 기반 모바일 운영체제인 안드로이드보다 못한대접을 받고 있다. 특히 대한민국 사이트에서 리눅스로 결제가 되는 경우는 전무한 데 반해, 안드로이드는 적극적으로 결제시스템을 개발하고 있으며, 네이버의 프로야구 생중계조차 안드로이드는 잘 지원해주는데 리눅스 계열 OS는 중계서비스 5년간 전혀 지원하지 않는다. 사용자가 적어서라는건 핑계다. 스트리밍 서비스를 윈도우에서만 되게 하는거 자체가 문제다. 오히려 안드로이드, iOS환경은 독립적인 시스템으로 적극 개발하고 있는데 오히려 OS간 극복이 유리한 PC환경에서 윈도우, 리눅스계열, OSX 모두 가동이 가능하도록 개발하지 않는건 하기싫어서 안하고 있는게 맞다.

최근은 스포티비에서 유튜브 등으로 제공하는 프로야구 생중계를 볼 수 있다.

그렇기 때문에 한국에서 쓰기엔 그다지 좋지 않다고 하는데 반은 맞되 반은 틀리다. 사실 인터넷환경을 제외한 응용프로그램의 빈약함이난 문제점은 외국인들에게도 당연히 불편한 것이다. 원래 리눅스는 일반 사용자가 쓰기 그다지 좋지 않은것이 맞는 것일지도 모른다. 문서가 영어로 되어있어서 불편하다고 하면 할 말은 없다. 리눅스 유저들이 번역을 그다지 하지 않는것 또한 문제다. 인터넷 환경(그것도 결제나 네이버 야구중계나 금융부문에서만)만 아니라면 문제는 외국과 똑같다.

리눅스부심[편집]

리눅스를 쓰는걸 자부심으로 여겨, 윈도우나 맥 유저를 악덕회사의 노예들이라고 본다던지, 컴맹으로 본다던지 하는 경우의 리눅스 유저가 많다. 리눅스는 데스크탑에서나 잘 안 쓰일 뿐이고, 데스크탑보다 서버나 임베디드에 윈도우나 맥보다 훨씬 많이 쓰이며 그 이유 역시 명확하다. 따라서 남이 쓰는 OS를 업신여길 필요는 없다. 오히려 그런건 안좋다. 이런 린부심 유저들은 깔기도, 사용도 쉬운 우분투유저가 대다수이며 배시 스크립트 한 줄 짜지도 못하는 경우도 많은데다 Vi도 못쓰는 새끼들이 태반이다. 물론 우분투가 나쁜 OS라는 뜻은 아니고, 그 사용자들의 수준이 낮다고 치부할 수도 없다. 그런 기능을 쓰지 못해도 우분투를 쓰는 이유는 린부심이 아니라도 여러가지 일 수 있기 때문이다. 그리고 고수준의 사용자들도 린부심을 부리기도 한다.

OS는 그저 같은 한 바다에서 헤엄치는 물고기들 중 한 마리 한 마리일 뿐이다. 매운탕을 먹고싶은가, 회를 뜨고 싶던가는 전적으로 낚시꾼에게 달려있을 뿐이다. 게다가 최근에는 이 물고기들이 하나같이 살이 통통하고 각각의 맛이 있어, 참치가 좋다, 참돔이 좋다, 광어가 좋다, 해삼이 제일 맛있다? 할 수 있는 상황도 아니다. 이런 상황에서 윈도우를 쓰는 사람에게 리눅스를 강요하거나 맥 유저를 공격하는 행동은 나찌나 인종주의자, 종교주의자 같은 사람들이나 할 일들이다. 만약 여러분들이 리눅스 디스트리뷰선을 쓰면서 부심을 부리고 싶다면, 리눅스에 코드 한 줄이라도 기여하던가, 아얘 디스트리뷰션을 만들어 쓰는 등 리눅스를 쓰는 자신의 기술에 대해 먼저 자부심을 가져라. 절대 남에게 강요는 있어서 안된다.

그리고 이러한 리눅스 유저계의 사상이 다른 OS유저들의 리눅스 진입을 막고 있다는 사실을 기억해야 한다.

애석하게도[편집]

리눅스 배포판마다도 부심의 차이가 있다. 예를 들면 젠투 리눅스 유저라면 커널 컴파일도 못해본 리알못 새끼들이 우분투 쓰면서 부심부리고 싶냐면서 우분투페도라를 깔볼 수 있다. 실제 있던 일은 아니지만 이런 상황이나 인식이 의외로 만연해있다. 물론 우분투 사용자가 많아 서드파티 지원이 우분투 쪽으로 많이 쏠린다 해도, 선택은 지가 한거지 누가 아치 리눅스 쓰라고 강요 안했다....라고 하면 독과점에 대한 옹호 같네...

여튼 그러지 말자.

누가 사용하는가[편집]

존나 매니아를 추구하는 딸쟁이들이 쓴다. 우리 같은 딸쟁이들 말곤 솔직히 누가 시발 맥북프로에 리눅스 깔아서 쓰냐 이 딸쟁이들아.

  • 흐콰이엇 된 중딩 딸쟁이들
  • 게임을 하는 것 보다 게임을 틀기 위해 작업하는 걸 즐기는 딸쟁이들.
  • 데스크탑 이쁘게 꾸미겠다고 XFCE 소스코드 까지 커스텀하고, Xresources 스크립트 존내 덕지덕지 붙여놓고, 폰트, 아이콘 하나하나에 집착하고, 빔이랑 이맥스에 스크립트 싹 조져놓고 간지에 집착하는 딸쟁이들. 터미널은 반드시 투명에 GTK 윈도우 보더 없애야한다. 시발 딸쟁이들.
  • 네이티브 콘솔에서 한글, 한자, 일본문자 띄우겠다고 커널 수정하고 커널 모드 세팅하는 찐퉁 딸쟁이들. (사실 뭔 개지랄을 해도 불가능하다.)
  • 그 중에서도 남들 다 쓰는 X11 대신 wayland 써보겠다고 개지랄하고, 남들 다쓰는 크롬 말고 surf 한글 지원하도록 수정하는 딸쟁이들, 남들 다 쓰는 민트, 만자로 안쓰고 스크래치, 젠투 쓰는 딸쟁이들이 디 오리지널 딸쟁이들이다.
  • 이런 리눅스가 깔린 컴퓨터에 Tor가 깔려있다면? 이건 100% 혼모노 지옥에서 기어 처 올라온 딸쟁이들이다.
  • 매니악과 비주류를 즐기는 힙스터 딸쟁이들.
  • "전 숭고하게 GNU의 정신에 감명받아서 쓰면서 배우고 있습니다." 라고 말하는 사람 중에 이상의 항목에서 하나라도 걸리지 않는 딸쟁이들이 없다.
  • 그러니까 딸쟁이들끼리 싸우지마, 이 딸쟁이들아.

해킹툴?[편집]

이거만 설치하면 해킹할 수 있을 것 같은 느낌이 들 수 있는데, 아니다. 그렇게 믿고 입문했다가 접는 사람이 90%...정도 될 것이다. 에이 난 이걸로 해킹하는거만 배울건데영? 해봐라. 누가 가르쳐 주나. 칼리 리눅스 라는 해킹툴이 함께 설치된 배포판이 있는데, 딱히 그걸 갖고도 해킹을 잘 할 수 있다는 보장이 없다. 그냥 운영체제이다.

특징[편집]

커널에 아키텍쳐와 쉘 간 인터페이스는 물론 부팅에 필요한 MBR 제어(아얘 LILO가 안에 들어가게 되었다.), 각종 기초적인 장치 드라이버들이 커널에 한데 쑤셔박혀있다. 모놀리식 커널이라고 하는데, 아주 방대한 커널을 갖게 되어, 커널 컴파일 할 때 시간이 무진장 오래 걸린다. 대신 이로써 서버로서의 안정성은 확실하게 유지할 수 있게 되었다. 이런 이유로 젠투 리눅스는 설치할 때 필요 없는 장치의 드라이버를 제외하거나 자신의 CPU 아키텍처만을 남겨두고 설치할 수 있다. 물론 이런 일을 하려면 자신의 컴퓨터가 어떤 것인지 확실히 알고 설치 해야한다.

어떤 장치나 아키텍처에서도 돌아갈 수 있도록 지구상에 많은 해커들과 컴덕들이 지금도 열심히 각 기종의 커널을 개발하고 있다. 그리고 그 소스는 공개되어 여러 사람들이 가져다가 또 자신들의 기종에 맞는 리눅스로 만들 수도 있고, 위에 젠투리눅스처럼 필요하지 않은 장치의 드라이버를 제외하거나, 필요한 장치 드라이버를 직접 만들거나 할 수 있다. 그리고 이것은 FSF재단에서 지원하고 GNU에서 이 프로젝트를 관리해 프로젝트가 산으로 가지 않도록 막는다. 근데 사실 산으로 많이 가긴 했다. 소스가 너무 방대해졌다.

C로 쓰여있는게 가장 큰 특징으로, 코드들은 GNU프로젝트 스타일로 짜여 있어 가독성과 함수나 변수의 이름이 이해도가 높다. 그래도 많은 사람들이 참여하는 만큼 개인의 코딩 스타일이 있기 마련이라 그저 다른 사람들이 짠 소스를 GNU 코딩 스타일로 고치기만 하는 걸로 기여하는 사람들도 많다. 변수에 헝가리안 표기법을 절대로 쓰지 않는다. 특히 전역변수 같은 경우에는 foo나 aaa같은 미친 이름을 짓는 행위는 ㄹㅇ 병신짓이다. 간단히 GNU 스타일을 간단히 보여준다면 아래와 같다.

/*Pointer variable : fun_swp_a, fun_swp_b*/
/*주석에는 "//"를 쓰지 않는다*/
int swp(int *fun_swp_a, *fun_swp_b){
        int tmp;
        tmp = *fun_swp_a;
        *fun_swp_a = *fun_swp_b;
        *fun_swp_b = *fun_swp_a;
}

위 처럼 포인터의 위치는 꼭 식별자 왼쪽에 붙여쓰고 들여쓰기는 8칸으로 넉넉하게 잡는다. 식별자는 간단히 축약하면서도 확실히 알아볼 수 있게 쓰는게 좋다. 주석은 "이것은 참조에 의한 호출입니다. tmp에 fun_swp_a를 넣고..." 같은 설명하거나 하는 멘트는 특이한 경우가 아니면 굳이 넣지 않는다. 다른 사람이 개발할 때 꼭 참고해야 만할 말만 적어야한다. 지구상의 많은 컴덕들이 참여하는 만큼 이것을 잘 지켜야한다. 그 외에도 뭐 중첩은 3개 미만으로 할 것으로 정하기도 하고, 여튼 정한 규칙이 많다.

커널? 배포판?[편집]

리눅스란 사실 그 시스템이 유닉스와 유사한 방식으로 아키텍쳐와 쉘 사이를 이어주고 제어하는 커널만을 의미한다. 그렇기 때문에 CPU 기종의 명령어에 맞는 커널을 선택해야 한다. 사람이 뇌만으로 살 수 없기 때문에 심장과 폐로 뇌에 혈액과 산소를 공급하듯이, 리눅스는 커널만을 의미하기 때문에 운영체제가 되려면 기본적으로 꼭 과 기초적인 명령어 바이너리, 컴파일러, 편집기가 있어야만 한다. 이것은 UNIX 시스템을 가져와서 BSD로 배포했을 때 부터도 존재했던 개념이다. GNU의 쉘 bash, 컴파일러 gcc, 편집기 vim과, 각종 GNU가 구현한 유닉스 명령어 바이너리 등을 엑조디아처럼 짜맞춰서 배포 할 수 있다는 것은, 그리고 그것들과 커널의 소스를 공개한 다는 것은 매우 의미있는 것이다. 물론 GNU프로젝트의 쉘이나 컴파일러가 아닌 다른 것들을 포함해 배포할 수도 있다.

위에서 말한 바와 같이 커널은 오픈소스이다. 그래서 커널은 다양한 목적으로 개조되어 이용된다. 로봇의 시스템, 각종 전자기기의 제어, 핸드폰 등 매우 다양한 아키텍처에서 구동이 되도록 지금 어느 곳에서도 개발이 되고 있다. 사실 그런 아키텍처 중 가장 먼저 개발된 것이 PC용 아키텍처인 i386. 지금처럼 서버나 임베디드에 더 활용도 높게 응용되는 이 리눅스 커널이, 유닉스 시스템을 개인용 운영체제로 쓰고자 개발했던 배경이 있다는 것이 참 아이러니한 일이다.

커널에 목적성을 더해 기본적인 쉘과 컴파일러, 시스템, Xorg 디스플레이서버, 여러 응용프로그램을 넣어서 내놓는데 고것이 배포판이로다. 배포판은 각각 자신만의 패키지 관리 시스템을 가지고 있는데 각각 자기가 좋은걸 과시하기 위해 간단한 명령과 자동화, 아주 예쁜 사용자 환경으로 무장하고 있는 경우가 대부분이다. 요즘은 UX의 개념이 대두되며 더욱 이쁜 GUI를 가진 리눅스들이 많아지고 있지만, 안드로이드나 미유아이같이 직접 UX쉘을 만들지 못한다면 그것들은 결국 매우 무거운 것들이 되기 마련이다. Xorg가 끊임없이 해결하려는 문제이자 한계이기도 하다.

그렇게 대단한 건 아니라 맘만 먹으면 쉽게는(허나 역시 노가다) 데비안, 레드햇에 기반해 배포판을 직접 만들 수도 있으며 그렇기 때문에 엄청 많은 배포판이 범람하고 있다. 이런 배포판은 GPL이 걸린 소프트웨어나 그 소스를 사용한 것이기에 이 또한 GPL 라이센스에 엮인다. GNU에 동참하는것 자체가 짜릿하지 않는가! 물론 커널만으로 배포판을 만드는 건 아아아주 어려운 작업이다.

여러 종류의 배포판들[편집]

지금 어떤 곳에서도 연구를 위해, 배포와 공개, 자기자랑을 위해 리눅스 커널 기반 운영체제는 만들어지고 있다. 이 중 브랜드네임을 걸고, 소스를 배포하게 된다면 비로소 운영체제 GNU/LInux 배포판이 된다.

리눅스 자체도 색깔이 강한 프로젝트이기에 이를 사용한 배포판들도 아주 자기주장이 뚜렷한 것들 뿐이다. 사실 진짜 모습의 유닉스 같은것을 다루고 싶다면 BSD라이센스의 FreeBSD를 추천한다. 종류는 아래의 것들보다 훨씬 다양하게 존재한다. 여기서 여러 종류의 배포판을 둘러볼 수 있다.

리눅스에 기본적인 모듈과 바이너리들과 쉘만 얹어져 있다면 쓰기 매우 어려울 것이다. 최소한의 인터넷 브라우저 정도는 있어야 비로소 쓸만해진다. 리눅스는 현재도 웹에서 활발히 업데이트 되고 있으므로 데스크탑에서 리눅스는 네트웨크 연결이 매우 중요하다. 그래서 대부분의 배포판에는 인터넷 연결을 설정 할 수 있는 툴들과 최소 links 정도의 웹 브라우저 정도는 반드시 갖추고 있다. 저 슬랙웨어 리눅스 조차도 명령줄에서 실행할 수 있는 CUI기반 웹 브라우저와 netctl같은 네트워크 설정 도구를 포함하고 있다. 리눅스 커널 차원에서 각 이더넷카드의 아키텍처에 맞는 드라이버 모듈을 지원하고, 또한 각 배포판 저장소에 저장된 수 많은 프로그램들을 간단한 명령 등으로 다운받고 설치 할 수 있는 자신들만의 도구를 제공한다.

저런게 전혀 없던 UNIX시절에는 네트워크 연결과 패키지 설치를 위해 자료실에 있는 몇십, 몇백장의 팔랑이 디스켓을 가지고 컴파일러와 에디터, 파일 관리자 등을 설치하거나, 그 상황이 안된다면 직접만들었을 것이다. 언제 어디서든 인터넷 연결을 할 수 있는 우린 정말 좋은 세상에서 살고 있다.

데비안 계[편집]

apt로 패키지를 관리하는 공통점이 있다. 패키지는 deb를 쓴다. 아래 두 가지, 특히 우분투가 엄청난 수의 사용자를 거느리고있고, 지원하는 소프트웨어가 많기 때문에 여기서 파생한 배포판들은 셀 수 없이 많다.

레드햇 계[편집]

yum으로 패키지를 관리한다. rpm 패키지를 쓰는 공통점이 있다. 레드햇이라는 전통적인 오픈소스 기업의 탄탄한 지원으로 서버용으로 각광받고 있는 배포판들이다. 프론트엔드 사용자들에겐 데비안 계열의 요 십몇 년 사이 엄청난 성장으로 밀려난 상황.

꽤 본격적인 것들?[편집]

이 부류의 배포본은 소스 코드에 많은 수정을 가하지 않으며 "생" 상태의 리눅스를 제공한다. Ports-like라는, BSD의 Ports라는 컴파일과 패키지화와 바이너리설치, 패키지 관리를 담당하는 소프트웨어의 아이디어를 따온 소프트웨어들로 패키지를 관리하는 배포판들이다.

  • 슬랙웨어 리눅스: 가장 유닉스 같은 유닉스를 지향한다. 자세히는 안 써봐서 모른다.
  • 아치 리눅스: 역시 Ports-like 소프트웨어인 ABS(Arch Build System)가 있지만, 아치 공식 저장소의 수억가지 소프트웨어를 pacman으로 바이너리의 패키지를 다운받아 설치 가능하다. 이 ABS가 빛을 발하는 것은 수 조 가지의 소프트웨어를 의존성 패키지까지 다 찾아서 컴파일 하고 패키지화 하고 설치하는 스크립트를 모아놓은 AUR(Arch User Repository)가 있다. 청정한 시스템에서 쉽고 빠르게 나만의 시스템을 쌓아가는 것을 원한다면 이것을 쓰는 게 좋다. 쉽고 빠르게 시스템을 쌓았더니, 문제점(주로 내 컴퓨터와 잘 맞지 않는 디폴트 설정)이 한 두 가지 아니기 때문에 어차피 밤을 샌다.
  • 젠투 리눅스: 이 또한 Portage라는 Ports-like 소프트웨어로 패키지를 컴파일 및 설치한다. 그러나 그 진가는 집요하게 자세한 설정 파일 수정 및 삽질에 있다. 처음에 모든 최적화를 맞추면 빠르게 사용할 수 있지만, 문제는 최적화에 끝이 없다는 것이다. 그렇게 패키지들을 설치하면 끝나는가, 그렇지도 않다. 제대로 내 컴퓨터 환경에서 동작 하는가를 체크해서 안되면 되게 하고...그냥 계속 설정 파일을 수정하고 추가하고, 공부하고, 삽질하고, 하는 것이다. 이게 재밌으면 이걸 써라. 아치리눅스에다가 모든 패키지를 소스로 받아서 컴파일해서 패키징하고 그 컴파일 및 패키징 설정을 수동으로 고르는 걸 추가로 하는...할 말이 없는 배포판. 야차와 사탄도 마주보다가 번갈아가면서 고개를 절레절레 흔들며 님비현상을 일으키는 변태들의 배포판.
  • 리눅스 프롬 스크래치(Linux From Scratch, LFS): 만약 여러분들 중 "아 그래서 뭐가 리눅스인데?!" 라고 하는 사람이 있다면 그 사람은 이걸 찾는거다...쓸 수 있느냐 없느냐는 상관 없이. 거의 리눅스 배포판을 만들 때 베이스로 쓰이는 것이다. 슬랙웨어보다 훨씬 날(生) 것이다.

수세 계열[편집]

yaST2 라는 안정적이고 능력있는 패키지관리도구로 유럽에서 인기있는 배포판이다. rpm을 주로 쓴다.


호칭에 관한 논란[편집]

리눅스는 커널만을 가리키는 말이고, 유저스페이스는 대부분 GNU 프로젝트의 것을 사용하므로 GNU/Linux라고 불러야 한다는 주장이 GNU 재단 관계자 및 추종자들에 의해서 주장되고 있으며, 이 주장을 하는 가장 대표적인 사람은 리처드 스톨만이다. 그러나 리누스는 이 주장에 동의하지 않으며, 수많은 사용자들 역시 이 OS를 어떻게 불러야 하는지에 대해 논의하고 때때로 싸우기도 한다.

[편집]

  • 리눅스/생활에서는 모양, 게이밍, 있으면 편한 패키지 등 리눅스의 개인용 컴퓨터용 생활 꿀팁을 다룬다.

설치 할 때 파티션 설정[편집]

리눅스에서 / 파티션과 /boot 파티션, /home 파티션 등을 따로 나누도록 하는 것을 권장하는 이유는 리눅스의 뿌리가 유닉스였고, 유닉스는 여러 사용자가 동시에 한 컴퓨터에 접속해 사용할 수 있도록 설계된 데에서 기인한다. 서버로 쓰지 않아도 /boot 파티션의 경우에는 UEFI 파티션을 사용하는 컴퓨터의 경우 /boot 디렉토리가 UEFI 파티션에 설치되도록 해야 한다. 또한 개인용 컴퓨터도 경우에 따라 /home 디렉토리의 파티션을 따로 잡아두면 하드디스크의 다른 파티션에 다른 운영체제를 깔 때, /home 디렉토리를 공유할 수 있어서 보다 효율적으로 하드디스크를 사용할 수 있다. 그러니까 시스템에 따라 / 파티션은 따로 두되, /home 파티션을 같이 쓸 수 있다는 것. 예를 들면,

파티션 구성
┌/ (아치 리눅스)      ┌/ (우분투)        ┌/ (젠투 리눅스)
├──────────┼/boot (공유)───┤
└──────────┴/home (공유)───┘

대충 이런게 가능하다. 이렇게 /boot 파티션을 공유해 해놓으면 처음 깔았던 운영체제에서 부트 로더에 다른 시스템의 / 파티션의 UUID 등의 주소를 추가하고 이 것을 부팅 리스트에 추가해주면 되니까, 다른 배포판에서 굳이 부트 로더를 한 번 더 깔 필요도 없다.

스왑 파티션[편집]

스왑은 일종의 가상메모리로, 램이 실행하고 있는 프로그램보다 적거나 너무 아슬아슬한 경우에 하드디스크의 일부분을 메모리처럼 사용할 수 있게 한다. 사실 없어도 된다. 설치 된 램의 2배로 설정을 하라고 권고하고 있다. 이걸 생각해보면, 만약 내 컴퓨터의 램이 16GB라고 한다면 하드디스크에 32GB를 스왑으로 설정해 줘야 한다. 이건 서버를 운영하거나 무슨 천체 관측을 하는 게 아닌 이상 분명 하드디스크 낭비이다. 자기가 돌릴 프로그램의 크기를 생각해보고, 적당히 맞추는 게 중요하다. 참고로 리눅스에서 와인으로 리그 오브 레전드를 하고 있으면 1.8GB 정도의 램을 차지한다. 그렇다면 램의 크기가 작은 저사양 컴퓨터에서 스왑파티션이 과연 유효한가? 거기에 대해서는 서지스윈의 블로그를 참조하고 자신의 하드디스크의 사양 등을 고려해서 적당히 설정해주자.

스왑 사용 빈도는 sysctl.conf 파일의 vm.swappiness 의 값을 조정하는 것으로 가능하다. 보통은 60으로 되어있고, 너무 자주하면 오히려 느려지기 때문에 넷북 처럼 싸구려 하드디스크가 설치되어 있다면 적당히 낮게, 하드디스크는 나쁘지 않은데 램이 좀 적다 싶을 때는 더 높게 활성화 시켜준다. 램이 충분하다면 낮게 설정해주는게 속도면에서 도움이 될 것이다.

모르고 시스템 파일을 지워버림[편집]

주로 USB메모리 등의 외부 저장장치를 터미널로 수정 하는 중에 rm -r /bin 같은 사고를 쳐서 일어난다. 복구 하기가 매우 어려운 것들은 개인화된 문서들 등이 담겨져 있는 /etc, /home 등이겠지만, 의외로 /bin이나 /lib 같은 건 쉽게 복구가 가능하다. 다 리눅스의 패키징 덕분이다. /etc나 /var 등에 저장되어 있던 설치된 패키지의 목록 등으로 전부다 재설치 하면 되는 거다. 차라도 한 잔 마시면서 진정하고 천천히 해보자.

아치 리눅스[편집]

  1. 설치 미디어로 라이브 부팅 한다.
  2. 아치 리눅스가 설치된 파티션을 /mnt에 마운트 한다.
  3. # pacstrap /mnt base base-devel 로 기본 파일시스템을 재생성 해준 후.
  4. # arch-chroot /mnt 로 시스템으로 진입해서
  5. [[email protected] /] # pacman -Qnq | pacman -S -로 리스트의 모든 패키지를 재설치한다.
  6. 부트로더를 재설치 혹은 업데이트.
  7. chroot에서 나온 후 마운트 했던 파티션을 언마운트 해준다.
  8. 리부트 해서 되는 지 확인.

개발 커뮤니티[편집]

리눅스가 오픈소스 프로젝트인 만큼 모든 개인정보가 익명성을 가질 수 있고 결국 코딩 실력만으로 기여할 수 있는 것이다. 애초에 이 커뮤니티에선 여자도, 남자도, 게이와 레즈비언, 그외의 모든 성들이 자신의 성을 밝히거나 박해받지 않고 프로젝트에 기여할 수 있다. 근데 최근 페미니스트들이 행동규범 수정을 압박, 결국 수정했고, 이로인해 유명 기여자들이 페미니스트들에게 공격을 당했다. 주요 수정사항은 '모든 성을 차별하지 않는다' 는 조항이 신설 된 것인데, 문제는 어떤 행동이 차별인지 정해놓지 않아 일종의 가불기가 되었다. 이 규범의 수정을 철회하지 않으면 자신의 코드를 보이콧 하겠다는 기여자가 늘어나고 있다.

같이봐유[편집]

하위문서[편집]