아치 리눅스

틀:운영체제2


개요

리눅스 배포판 중 하나. 롤링 릴리스 배포판 가운데에서 매우 빠른 패키지 업데이트 주기와 KISS(Keep It Simple, Stupid.)철학에 따른 매우 미니멀한 디자인이 특징이다. 역시 미니멀한 CRUX에서 영향을 받아 시작되었지만, 의존성 자동 해결이라든가, 매우 빠른 업데이트 주기라든가 하는 부분에서 차이를 보인다.

특성

미니멀리즘

아치 리눅스는 이미 언급한 KISS 철학에 입각해, 배포판 자체에서 제공하는 부분을 최소한으로 맞춘다. 사용자가 아치 리눅스라는 작은 기반 위에 자신이 원하는 시스템을 구축해나가야 하는 것. 일단 설치매체를 구운 후에 부팅하면, 아무것도 없는 루트 터미널이 뜬다. 우분투, 오픈수세, 페도라 등의 배포판과는 다르게 이 터미널 창에서 사용자가 직접 설치 과정에 필요한 작업들을 수행해 나가는 방식이다. 이 때문에 설치 및 사용이 어렵다는 이야기를 많이 듣는 배포판이다. (사실 Beginner's Guide문서대로 따라하면 그렇게까지 어렵지는 않다. 그러나 최대한 사용자가 자신의 시스템을 구축할 수 있도록 하는 철학이 반영된 부분이라고 할 수 있겠다.) 설치 직후에도 마찬가지인데, Beginner's Guide대로만 설치를 완료한 후 재부팅을 하면, 역시 텅 빈 터미널 화면만이 당신을 반길 것이다. 그러다보니 우분투, 오픈수세 등 사용자 친화적인 배포판을 쓰다가 넘어온 사람들은 낯설어한다. GUI도구 따위는 따로 설치해주지 않으면 제공되지 않고, 이것저것 설정을 직접 수동으로 해야 하는 것이 낯선 것. 이런 이유로 아치 리눅스는 어느 정도 리눅스에 대한 경험을 쌓은 후에 사용하는 것이 좋다. 특히 명령줄 사용에 어느 정도 익숙해진 후에 도전해보자.

업데이트 정책

롤링 릴리스 배포판이다. 즉 주기적인 새로운 판이 나오는 게 아니라, 그냥 제때제때 업데이트를 설치해주면 최신의 아치리눅스로 업데이트된다. 롤링 배포판 가운데에서도 아치 리눅스는 업데이트가 매우 빠르기로 유명하다. 아치 리눅스는 업스트림 업데이트가 있으면 자체 패치를 거의 하지 않고 곧바로 패키지를 생성하여 업데이트로 제공한다. 버그가 있다면 업스트림에서 수정하겠지 라는 식. 그러다보니 사용자가 버그에 노출되는 일이 조금 잦은 편이다. 이 때문에 아치 리눅스 사용자라면 일주일에 삼십분에서 한시간 정도는 업데이트를 적용하고 시스템을 관리하는 데에 사용하는 것이 권장된다. https://archlinux.org 에 자주 접속해서 공지사항을 읽는 것도 권장된다. 그게 귀찮다면 아치 리눅스 공지사항을 이메일로 받아보거나 RSS 피드로 구독할 수도 있다. 결론은 시스템 망치고 싶지 않으면 그냥 귀찮아하지 말고 업데이트할 때마다 공지사항 정도는 확인하자.

업데이트만 빠른게 아니라 아직 널리 쓰이지 않는 최신버전을 메인으로 바꿔버리는것도 빠르다. 예를 들어, 아직까지는 대다수의사실상 거의 모든 메이저 소프트웨어가 파이썬 3 대신 파이썬 2를 사용하고 있기에 대부분의 배포판은 python 2를 기본으로 두고 있다. 하지만 아치 리눅스는 파이썬 3를 기본값으로 올려버렸다. python 명령어를 실행하면 python 3 런타임이 실행되고, 파이썬 2는 python2 명령어를 사용해야 하는 것. 다른 예로는 php 패키지가 있다. php도 버전별로 차이가 있어 대부분의 배포판에서는 최대한 천천히 버전을 올려주지만, 아치에서는 php 업스트림에 업데이트가 뜨는 순간 최신 버전을 기본 패키지로 설정한다.

이런 특징으로 인해 아치를 서버용으로 사용하는 것을 자살행위 비판적으로 보는 입장도 있다. 하지만 어느 서버든, 특히 업무용 서버라면 보안 업데이트를 제외하고는 최신 업데이트를 하지 않는 것이 일반적이다. 서버에서 작동하는 특정 서비스가 버전에 따라 동작하지 않을 수 있기 때문이다. 즉 단순히 최신버전을 빠르게 채택한다고 서버용으로 적합하지 않다는 것은 넌센스다. [1] 물론 안정성을 최우선으로 하는 데비안이나 레드햇의 든든한 지원을 받는 RHEL(또는 CentOs)에 비하면 서버용으로 최적화된 배포판은 아니다. 하지만 데비안이나 RHEL과 비교하면 어떤 배포판이든지간에 이들보다 서버용으로 사용하기 낫다고 할 순 없을 것이다. 유독 아치 리눅스에 한해서만 서버용으로 적합하지 않다는 비판이 가해지는 것은 부당하다.

아치위키

https://wiki.archlinux.org/

아치 리눅스는 리눅스 배포판 가운데에서 최고의 문서화 수준을 자랑한다. 사용자 친화적 인터페이스를 지닌 모 리눅스 배포판보다는 당연히 설명이 더 충실하다! 다만 특유의 롤링 릴리즈로 인하여 계속 내용이 변해서... 그럼 맨날 확인하면 되잖아? 아치위키는 리눅스판에서 정말 독보적일 정도로 많은 정보를 수록하고 있다. 심지어 다른 배포판을 사용하고 있더라도 아치 위키의 문서를 참고하게 되는 일이 많다. 특히 아치위키의 장점은 철저하게 사용자의 관점에서, 매우 실용적인 정보를 담고 있다는 것. 한 가지 작업에 대해서도 그 작업을 하는 여러 방법들을 소개하고 있는 경우가 많고, 특정 패키지나 명령어의 사용법을 검색해봐도 매우 친절한 문서들을 만날 수 있다. 심지어 여러 노트북 모델들 위에 아치 리눅스를 올려서 쓰려면 이런 저런 패키지를 설치하라라든가, 아치 리눅스와 그 노트북과의 호환성이라든가까지 문서화되어 있다.

... 다만 국내 사용자들에게는 큰 장벽이 있으니, 바로 영어로 되어 있다는 것. 한국어 번역 위키가 있기는 한데, 매우 불완전하고 영어 위키 수정 속도를 절대 따라갈 수 없다. 역시 리눅스 사용자라면 영어를 잘 해야 해


적극적 커뮤니티

아치 리눅스 커뮤니티는 매우 활발하고 열성적이다. 아치위키를 만들어낸 커뮤니티다. 더 이상의 자세한 설명은 생략한다. 아치 리눅스 사용자 수에 비해서 아치 포럼 갱신 속도 역시 매우 빠르다. 그렇지만 문제가 없는 것은 아니다. 아치 리눅스 커뮤니티는 콧대가 쓸데없이 높은 것으로 악명이 높다. 뉴비가 포럼에 질문을 올리면 "위키 검색이나 해보고 질문 올리세요."하는 식의 답변이 많다. 아니면 기초적인 질문을 올리면 "그 정도도 모르면서 아치를 사용하려고 했나?"라고 답변하는 사용자들도 있다.(...) 하지만 위키 문서로만은 해결할 수 없는 문제를 올렸다면, 매우 빠른 속도로 해결책을 찾아주는 커뮤니티이기도 하니, 조금 조심하되 너무 경계하지는 말자.

사실 엄청난 속도로 업데이트되는 아치위키의 위키니트들이 대거 상주해있는곳이기도 하다. 아치위키대로 했는데 안되서 포럼에 질문을 올리고 해결방법이 등장할 경우, 그걸 보고있거나 답변을 달고있던 해당파트 작성자가 광속으로 수정을 해놓는식.

패키지 관리

pacman -S package

package manager을 줄인 말이다.

사용자 입장에서 처음 pacman을 접하면 낯선 느낌이 들 수 있는데, 다른 패키지 관리자들과는 다르게 install, remove와 같은 이해하기 쉬운 옵션들 대신 -s, -R 등의 정체불명의 플래그들을 사용하기 때문. 하지만 일단 익숙해지고 나면 굉장히 유연한 패키지 관리가 가능하다는 걸 깨닫게 된다. 아치위키의 Pacman 문서 참조. 으악 영어다! 이 형아 무서워. 왜 혼자 이래(...)

이스터 에그로 /etc/pacman.conf 에서 Misc 항목 아래에 'ILoveCandy'를 입력하면 작업을 수행할 때 나타나는 ### 표시 대신 팩맨('C')이 사탕('o')을 먹는 모습으로 변경된다.

AUR, ABS

아치 리눅스 최대의 장기로 꼽히기도 하고, 최대의 단점으로 꼽히기도 하는 게 바로 AUR이다. AUR이란 Arch User Repository의 약어로, 아치 리눅스 사용자들이 정규 저장소에 없는 패키지들을 아치용으로 생성하기 위한 스크립트들을 올려놓은 것이다. 그저 나비 입력기를 깔기 위한 것이다.저렇게 생각하고 있는 사람도 있지만, AUR 덕에 우분투를 제외하면 아치 리눅스만큼 패키지 호환성이 좋은 배포판이 거의 없다는 것을 부정하기는 어렵다. 예를 들어 우분투용으로 패키지되었던 게임이나 앱들을 아치 리눅스 환경에서 구동시키는 패키지나, 각종 폰트 패키지, 아니면 사용자수가 적어서 정규 저장소에 올라가지 못한 패키지들을 죄다 AUR에서 찾을 수 있으니... AUR 많이 사용하는 사람 입장에서는 AUR이 없어서 다른 배포판으로 못 넘어간다는 이야기까지 나온다. 하지만, 패키지 메인테이너가 잠수를 탄다거나(...) 관심이 적다거나 하는 등의 이유로 업데이트 주기가 엄청나게 느린 패키지들도 있고, 계정만 있으면 누구나 패키지를 올릴 수 있다보니 아무래도 보안 문제가 우려되는 부분도 있으니 주의해서 사용하자. 그래봤자 대부분의 패키지들은 잘만 업데이트된다...

기본 pacman으로는 AUR에서 설치한 패키지들을 업데이트 및 관리하기가 어렵다보니 각종 AUR 도우미들이 등장했다. 대표적인 것들은 Yaourt, packer, pacaur, cower 등. AUR 도우미들을 사용하면 pacman을 통한 패키지 관리는 물론, AUR 패키지 검색, AUR 패키지 설치 및 업데이트 등이 매우 쉬워진다. 다만 yaourt를 선택했다면 어디 포럼에서 yaourt쓴다고 말하지 말자. 쓸데없이 빡쳐하는 커뮤니티 멤버들이 있다....

ABS란 Arch Build Service의 약자로, 정규 패키지 저장소 안에 있는 패키지들을 생성할 때 쓴 스크립트들을 모아둔 것이다. AUR을 사용할 때처럼 ABS에서 스크립트를 받고 이리저리 수정을 가해 자신이 원하는 기능들을 추가하여 컴파일, 설치하는 데에 사용할 수 있다. 역시 사용자가 원하는 환경을 조성할 수 있게 하는 것을 최우선으로 하는 아치 리눅스다운 기능.

변형판

  • Antergos: GNOME, Cinnamon, Razor-QT, Xfce 등, 6개의 데스크탑 환경 중 하나를 선택하여 설치할 수 있다. 그리고 우분투의 Ubiquity와 유사한 GUI 설치기를 사용할 수 있다. 별도의 저장소를 이용하는 대신 공식 아치리눅의 저장소를 사용하여 패키지를 설치한다.
  • Archbang: 아치리눅스에 Openbox 데스크탑 환경을 올린 배포판. 설치 스크립트를 제공하기 때문에 설치가 단순하다.
  • Chakra: KDE 배포판. 아치 기반이기는 하지만 상기한 두 배포판과는 다르게 아치 리눅스와는 다른 저장소를 사용하고 AUR과도 결별하는 등, 이제는 아치 리눅스에서 독립한 배포판이다. 물론 아직도 Pacman을 패키지 관리자로 쓰는 등 아치 리눅스의 영향은 분명하다.
  • Manjaro: 이쪽도 Chakra와 유사하게 아치 리눅스로부터 독립한 상태. 커뮤니티 에디션까지 합치면 xfce, KDE, LXDE, GNOME, Enlightenment, MATE, Cinnamon, Fluxbox 등 매우(!) 다양한 데스크탑 환경들을 지원한다. 아치 리눅스 기반 배포판 중에서는 가장 먼저 GUI 설치기를 제공한 배포판이기도 하다.
  • Papyros: 구글 머티리얼 디자인을 적용한 아치 기반 배포판이다. QT 기반의 데스크탑 환경을 사용하지만, GTK 어플리케이션도 통일성 있는 테마를 적용하고 있다. 아직 공식 배포는 시작되지 않았다.
  • Evo/Lution: 엄밀히 말하면 배포판은 아니다. 설치가 어려운 아치 리눅스를 Ncurses 기반으로 편리하게 사용할 수 있도록 해 준다. 설치된 아치 리눅스는 커뮤니티에서 배포하는 아치 리눅스와 완전히 동일하다. 어지간히 리눅스에 대해 잘 아는 유저라도 아치 리눅스를 설치할 때 두세시간이 걸리지만 Evo/Lution을 사용하면 설치 시간을 30분 내외로 줄일 수 있다. 물론 설치시간만 줄여준다. 사실 대부분의 경우 설치 이후 환경설정에 더 많은 시간이 들어간다는 것은 비밀