콘텐츠로 건너뛰기
Home » [칼럼] 리눅스를 좋아하는 이유!

[칼럼] 리눅스를 좋아하는 이유!

왠 뜬금없는 펭귄그림이라고 하실수 있겠지만, 위의 펭귄그림은 리눅스의 마스코트인 턱스(Tux)입니다. 바로 저 펭귄이 리눅스를 상징한다고 볼수 있습니다. 이번 포스트에서는 제가 리눅스를 좋아하는 이유에 대하여 끄적거려볼까 합니다.^^

왜 리눅스인가?

저는 현재 임베디드 리눅스 시스템을 개발하고 있습니다. 리눅스를 접한지 10년이 넘었지만 아직도 리눅스에 대하여 알아둬야 할께 많은거 같습니다. 초창기에 시커면 검은 화면에 달랑 콘솔창에서 접했던 리눅스가 제 인생에 많은 영향을 줄지는 몰랐었네요.ㅋ 그만큼 많은 부분을 배우고 익히고 해야 하는 리눅스지만 그만큼 장점이 많은 운영체제 중에 하나가 바로 리눅스입니다. 지금도 흥미로운 운영체제라고 생각하고 있는데요, 과연 왜 제가 리눅스를 좋아하는지 몇가지 이유를 설명해 보겠습니다. 

가장 큰 이유, 바로 무료(Free)

리눅스는 모든게 무료입니다. 자신의 PC나 각 기업, 공공기관, 학교 등등의 모든 컴퓨터 시스템에 사용해도 무료로 사용할수 있습니다. 최근 가장 인기있는 우분투(Ubuntu) 배포판도, 우분투 홈페이지에 들어가서 최신버전을 다운로드 받아서 별도의 비용을 들일필요 없이 무료로 설치를 할수 있습니다.

반면 전세계 PC의 대부분을 사용하고 있는 마이크로소프트의 Windows는 사용하려면 별도의 비용을 지불해야 합니다. 또한 Windows의 가격이 꽤(?) 비싸서 일반 개인이 구입하여 사용하기 비싼 금액이기도 합니다.(물론 정품사용은 꼭 해야 합니다.^^) 이런 이유로 리눅스가 큰 매력이 있는거 같습니다. 

오픈소스(OpenSource)이다!

이 부분 또한 아주 큰 장점중에 속합니다. 운영체제중 커널의 소스가 공개되어 있는 운영체제는 리눅스가 유일하다고 볼수 있습니다. 따라서 누구라도 리눅스의 커널소스를 분석하고 수정할수 있으며, 자신의 PC에 컴파일하여 동작시켜볼수 있습니다.

이러한 점은 리눅스가 폭팔적으로 성장하는데 기여를 하였으며, 많은 개발자들과 해커들로 인하여 리눅스가 지속적으로 발전하는 요인이라고 볼수 있습니다.

커널뿐만 아니라 많은 디바이스의 드라이버와 어플리케이션들이 오픈소스 형태로 제공이 되는 부분은, 개발자들 입장에서는 매우 행복한 부분이라고 할수 있습니다. GPL라이센스로 이루어진 수많은 오픈소스들은 시스템을 개발하는 저의 입장으로써는 너무나 고마운 부분이라고 할수 있습니다.  

네트워크에 최적화 되어있다.

리눅스는 다른 운영체제(OS)보다도 네트워크 기술에 많은 유틸리티와 오픈소스를 제공을 하고 있습니다. 수많은 가정에서 사용하는 인터넷 공유기 아시죠? 바로 이 인터넷 공유기가 바로 리눅스로 만들어진 대표적인 장치입니다.

작은 셋탑박스 크기의 공유기에 여러대의 PC나 모바일 장치에서 인터넷을 사용할수 있게 도와주는 언터넷 공유기 즉 라우터는 리눅스의 커널에서 제공해주는 기술중에 하나입니다.

하나의 공인IP로 여러개의 사설 IP를 라우팅 시켜주는 라우터를 비롯하여, 방화벽(Firewall), QoS, Switch장치등의 기술을 리눅스에서 제공을 합니다. 이러한 기술들은 Windows나 다른 OS에서는 구성하기가 다소 어려운반면에, 리눅스에서는 손쉽게 구성할수 있게 해줍니다.

이런점들은 매우 매력적이며, 네트워크 서버 및 네트워크 장치등에 리눅스가 필수적으로 들어가는 요소가 되고 있습니다. 

해커가 될수 있다!

이 부분은 주관적인 부분이 될꺼 같습니다만, 저는 개인적으로는 해커가 되려면 리눅스를 배우고 다룰줄 알아야 한다고 생각합니다. 리눅스는 위에서 언급한 것처럼 네트워크에 최적화 되어 있고, 네트워크 관련 기술들을 습득하려면 필연적으로 리눅스를 다룰줄 알아야 합니다.

또한 수많은 오픈소스(해킹)들과 문서들은 리눅스 기반하에 제공이 되므로, 본인이 해커를 꿈꾸는 사람이라면, 리눅스를 필시 다뤄봐야 할껄로 생각됩니다. 암호화 관련 툴, 웹서버(아파치 등), 데이터베이스, 보안 툴들이 리눅스 기반의 서버로 동작을 하고 있고, 시스템의 최적화나 성능 향상을 위해서면, 리눅스 커널 소스를 분석하고 수정할줄 알아야 합니다.

이런 부분들이 리눅서들이 해커가 되는 지름길이라고 볼수 있습니다. 물론 악의적인 크래커는 되지 말아야 겠죠?^^

C를 알면 리눅스를 제대로 다룰수 있다.

리눅스의 커널, 수많은 디바이스 드라이버와 어플리케이션들이 C언어로 개발이 되었습니다. 따라서 C를 다룰수 있으면 리눅스를 잘 다룰수 있다는 뜻이됩니다.

Windows같은 경우는 C로 어플리케이션을 개발하기엔 한계가 있지만, 리눅스는 C로 커널을 비롯한 드라이버, 어플리케이션등 모든 리눅스의 구성요소들을 본인이 직접 분석 및 수정하고, 개발을 할수 있습니다.

물론 리눅스의 어플리케이션중에 C++로 개발된 어플리케이션들도 존재하지만, 주로 C로 개발되었다고 보시면 됩니다. 만약 당신이 리눅스 시스템을 개발하고 싶다면 C를 알면 됩니다. C를 를 가지고 리눅스를 좀더 강력하게 하는 데에 일조할수 있다고 보시면 됩니다. 

안드로이드도 리눅스 커널을 사용한다.

이 부분은 장점이라기 보다는, 리눅스의 활용도에 대한 부분일꺼 같습니다. 현재 스마트폰 OS중 안드로이드가 전 세계적으로 차지하는 비중이 거의 80%에 육박하는데, 그 수많은 스마트폰의 OS가 리눅스 커널이라는걸 아시나요? 리눅스의 활용도가 이미 우리들의 실생활에 깊숙이 자리잡고 있다고 보시면 됩니다.

사실 리눅스는 개인 데스크탑 PC나 노트북에는 잘 보급이 되지 않았는데, 그 이유는 사용상의 어려움과 어플리케이션들이 공급 부족등이 었습니다. 이런 상황에서 안드로이드는 리눅스 커널을 선택하여 OS를 개발하는데 사용하였습니다. 그 결과 PC보급률보다 훨씬 높은 스마트폰의 주요 OS의 구성원이 되었습니다.

주제와는 약간 벗어난 이야기긴 하지만, 리눅스의 활용도에 대한 부분을 강조하고 싶네요. 그만큼 활용도가 높은 리눅스라고 말씀드리고 싶습니다.

개발자들에게 유리하다.

본인이 개발자라면 어떤 OS기반에서 개발을 하시나요? Windows? IOS? 리눅스 기반에서 개발을 하면, 정말 리눅스의 매력에 깊이 빠지게 될수 있습니다.

위에서 언급한 부분들을 종합하여 보면, 비용이 무료이고, 오픈소스로 제공되는 동시에 수많은 네트워크 기술이 제공되는 리눅스는 그 자체 만으로도 개발하는 엔지니어들에게 매우 유리합니다.

본인이 노력만 하면 수많은 소스들을 분석할수 있으며, 리눅스가 동작하는 원리는 알수도 있고, 상용 못지 않은 어플리케이션들의 구조를 볼수 있습니다. 또한 본인이 개발한 부분을 오픈소스로 제공하면, 또 다른 개발자들에게도 본인의 기술을 제공하고, 리눅스의 발전에 기여를 할수 있습니다.

이런 부분은 개발자의 보람과 성과 및 본인의 기술을 뽐내는데 많은 도움이 될수 있습니다. 

개발비용이 적게 든다.

자신이 소프트웨어나 시스템의 제조사라면 먼저 개발 비용에 대해 고민을 하지 않을수 없습니다. 만약 당신이 Windows기반의 어플리케이션이나 시스템을 개발한다면 개발하는데 필요한 IDE나 툴을 구입하는데 비용을 지불해야 합니다. 하지만 리눅스는 그 IDE나 툴조차도 무료입니다.

예를 들면, 리눅스 어플리케이션을 개발을 하려고 하면, 기본적으로 소스를 컴파일을 해야 하는 컴파일러가 필요한데, 리눅스는 GCC라는 GPL기반의 오픈소스 컴파일러가 제공이 되어 별도의 비용이 필요하지 않습니다. 즉 무료로 다운받아서 컴파일러를 사용하여 개발을 하면 됩니다.

기타 수많은 라이브러리나 툴들이 무료로 제공되기 때문에, 많은 기업들이 개발비용을 줄일수 있는 장점이 있습니다. 물론 요즘에는 Windows기반 툴들도 OpenSource형태로 제공이 되는게 많지만, 리눅스에 비교할바가 못되는거 같습니다. 

맺으며…

저는 대학교때부터 리눅스에 대해 관심을 가지다가, 어떤 운영체제인지 궁금해서 직접 집에 있는 PC에다가 리눅스와 Windows를 멀티부팅으로 설치하여서 사용을 해봤습니다. 물론 그때는 리눅스를 왜 사용하는지, 장점이 무었인지 별다른 느낌이 없었지만, 직장생활을 시작하고 리눅스를 본격적으로 접하게 되면서 리눅스의 매력에 흠뻑 빠져버런 1인입니다.  

리눅스는 위에 언급한 것처럼 매우 매력적인 운영체제 입니다. GPL라이센스 기반으로 모든것을 OpenSource형태로 제공해버린 리누스 토발즈의 마인드에 늘 존경을 표하고 있습니다. 그만큼 개발하는 사람 입장에서는 매우 흥미롭게 재미있는 운영체제인건 틀림없는 사실입니다.

덕분에 저도 현재 회사에서 먹고 살고 있습니다만, 다소 일반인들이 다루기 어렵고, PC기반에서의 리눅스는 아직까진 사용하기 까다로운 부분이 조금은 아쉬운 부분이 있습니다. 

대신에, 안드로이드라는 막강한 OS의 등장과, 네트워크 장치나 서버에서는 리눅스를 대체할만한 OS가 없다는건 분명한 사실입니다. 또한 향후에 로봇, 인공지능, 드론등의 시스템에서 리눅스가 입지는 점점 커지고 있기 때문에 리눅스의 가능성은 무한하다고 생각이 듭니다.  

자신이 로봇을 개발하고 싶은가요? 해커가 되고 싶으신가요? 그럼 리눅스를 추천드립니다. 리눅스에 세계로 한번 들어와보시기 바랍니다.

'정원딸린집'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!