“리눅스 꼭 배워야 하나요?”
프로그래밍을 막 시작한 사람들이 가장 많이 던지는 질문 중 하나입니다. 화면은 온통 검은 터미널에 명령어만 잔뜩 쳐야 하고, 마우스 클릭 몇 번이면 될 일을 왜 굳이 어렵게 하나 싶죠. 결론부터 말하면 그렇습니다. 배워야 합니다. 그것도 가능하면 빨리요.
이유는 단순합니다. 여러분이 앞으로 다루게 될 거의 모든 ‘진짜’ 컴퓨터가 리눅스로 돌아가기 때문입니다. 데이터를 보면 이건 취향의 문제가 아니라 그냥 현실입니다.
세상의 서버는 대부분 리눅스로 돌아간다
가장 먼저 알아야 할 사실. 우리가 매일 접속하는 웹사이트, 앱, 서비스의 뒤편에는 서버가 있고, 그 서버의 대부분은 리눅스입니다.
- 전 세계 상위 100만 개 웹사이트 중 약 96%가 리눅스 서버 위에서 운영됩니다.
- 운영체제를 식별할 수 있는 전체 웹사이트 기준으로도 약 60%가 리눅스입니다.
- AWS·구글 클라우드·마이크로소프트 애저 같은 주요 클라우드의 가상 머신 약 90%가 리눅스로 돌아갑니다.
재미있는 건 마이크로소프트조차 자사 클라우드인 애저에서 실행되는 가상 머신의 절반 이상이 리눅스라는 점입니다. 윈도우를 만든 회사의 클라우드에서 리눅스가 윈도우보다 많이 쓰인다는 건, 실무 현장이 어디로 향하고 있는지를 보여주는 가장 상징적인 장면입니다.
슈퍼컴퓨터는 예외 없이 100% 리눅스
여기서 더 극단적인 사례가 있습니다. 전 세계에서 가장 빠른 슈퍼컴퓨터 500대를 순위로 매기는 TOP500이라는 목록이 있는데요.
이 500대 중 리눅스가 아닌 컴퓨터는 단 한 대도 없습니다. 2017년 11월 이후로 계속 100%를 유지하고 있죠.
국가와 대학, 연구소들이 수백억 원을 들여 만든 최고 성능의 컴퓨터가 하나같이 리눅스를 선택했다는 사실. 이건 우연이 아닙니다. 안정성, 자유로운 커스터마이징, 비용 효율이라는 세 가지 이유가 규모와 상관없이 통하기 때문입니다. 그리고 이 논리는 슈퍼컴퓨터뿐 아니라 여러분이 월 몇천 원에 빌리는 작은 서버 한 대에도 똑같이 적용됩니다.
사실 당신은 이미 리눅스를 쓰고 있다
“난 서버 개발 안 할 건데?”라고 생각할 수도 있습니다. 그런데 여러분은 이미 리눅스를 쓰고 있습니다.
지금 주머니 속 안드로이드폰. 그 안드로이드의 심장부인 커널이 바로 리눅스입니다. 전 세계 스마트폰의 약 70% 이상이 안드로이드, 즉 리눅스 기반으로 돌아갑니다.
여기서 끝이 아닙니다.
- 스마트 TV(삼성 타이젠, LG webOS 등)의 상당수가 리눅스 기반입니다.
- 전 세계 수백억 대의 IoT 기기 중 절반 이상이 임베디드 리눅스를 씁니다.
- 자동차, 의료기기, 공유기, 스마트 가전 곳곳에 리눅스가 숨어 있습니다.
우리가 눈치채지 못할 뿐, 리눅스는 이미 일상의 인프라 그 자체입니다.
그래서 리눅스가 왜 이렇게 사랑받을까?
이쯤 되면 “대체 뭐가 그렇게 좋길래?”라는 궁금증이 생깁니다. 핵심은 네 가지입니다.
1. 공짜입니다 (오픈소스). 라이선스 비용이 없습니다. 서버를 100대, 1,000대 늘려도 운영체제 값을 따로 내지 않죠. 기업 입장에서 이건 어마어마한 비용 절감입니다.
2. 안정적입니다. 리눅스 서버는 재부팅 없이 몇 달, 몇 년씩 돌아갑니다. 24시간 멈추면 안 되는 서비스에 딱 맞는 성격이죠.
3. 자유롭게 뜯어고칠 수 있습니다. 소스 코드가 공개되어 있어 필요한 대로 최적화하고 수정할 수 있습니다. 슈퍼컴퓨터부터 손바닥만 한 IoT 기기까지 같은 커널을 쓸 수 있는 이유입니다.
4. 보안에 강합니다. 전 세계 개발자들이 코드를 함께 들여다보기 때문에 취약점이 빠르게 발견되고 고쳐집니다. 권한 관리 체계도 촘촘하죠.
개발자 취업·실무에서 리눅스는 ‘기본기’
정리하면, 리눅스는 배우면 좋은 ‘선택 과목’이 아니라 안 배우면 곤란한 ‘필수 과목’에 가깝습니다.
백엔드 개발, 데브옵스(DevOps), 클라우드, 데이터 엔지니어링, 서버 운영, 보안… 어느 분야로 가든 결국 리눅스 터미널 앞에 앉게 됩니다. 실제로 개발자 대상 조사를 보면 상당수가 주력 혹은 보조 환경으로 리눅스를 사용한다고 답합니다. 채용 공고의 ‘우대사항’이나 ‘자격요건’에 “Linux 환경 경험”이 빠지지 않고 등장하는 것도 같은 맥락입니다.
즉, 리눅스를 다룰 줄 안다는 건 ‘남들보다 특별한 능력’이 아니라 ‘개발자로서 당연히 갖춰야 할 기본 소양’이 되어버렸다는 뜻입니다.
어떻게 시작하면 좋을까?
부담 가질 필요 없습니다. 처음부터 컴퓨터를 갈아엎을 필요도 없어요. 가볍게 시작하는 방법을 추천합니다.
- 윈도우 사용자라면 WSL부터. 윈도우 안에서 리눅스를 바로 실행할 수 있는 기능입니다. 설치가 간단하고, 실제로 많은 개발자가 이 방식으로 리눅스를 씁니다.
- 가상머신(VirtualBox 등)으로 우분투 설치. 지금 쓰는 OS는 그대로 두고 안에 리눅스를 하나 더 얹는 방식입니다.
- 기본 명령어 20개부터.
cd,ls,mkdir,cp,mv,rm,cat,grep,chmod… 자주 쓰는 명령어 몇 개만 익혀도 세상이 달라 보입니다. - 작은 서버 하나 빌려보기. 월 몇천 원짜리 클라우드 서버를 빌려서 직접 만져보면 학습 속도가 확 빨라집니다.
마무리
리눅스는 화려하진 않습니다. 검은 화면에 흰 글씨뿐이죠. 하지만 그 조용한 화면 뒤에서 인터넷의 대부분, 세상에서 가장 빠른 컴퓨터 전부, 그리고 여러분 주머니 속 스마트폰까지 돌아가고 있습니다.
지금 당장 완벽하게 마스터할 필요는 없습니다. 다만 “언젠가 배워야지”를 “오늘 명령어 하나 쳐보기”로 바꾸는 순간, 여러분은 이미 진짜 개발자의 길에 한 발 들여놓은 겁니다.
검은 터미널, 생각보다 무섭지 않습니다. 오늘 한번 열어보세요.