리눅스 공부 이유 - linugseu gongbu iyu

게시물ID : programmer_16834짧은주소 복사하기
작성자 : rumingTURTLE
추천 : 1
조회수 : 4373회
댓글수 : 10개
등록시간 : 2016/04/21 01:09:56

프로그래머를 지망하는 학생입니다. 분야는 게임, 보안이구요.

프로그래밍 공부를 조금씩 하다가 대학교 가면서 프로그래밍 공부를 시작했습니다. 도움을 얻으려고 오늘의 유머에 프로그래밍 관련 질문을 올리니 리눅스를 잘 사용할 줄 알면 도움이 된다고 한 댓글을 보았어요. 하지만 저에게는 리눅스가 너무 어렵습니다. 예전에 리눅스를 한번 설치해서 gcc를 써본적이 있지만, 윈도우의 비주얼 스튜디오보다 사용법이 약간 복잡했고, 게다가 cui환경은 어떻게 공부해야 할지도 모르겠어요. 러닝 리눅스라는 책을 샀었지만, 책을 샀을 때와 책의 내용의 거리가 너무 멀다고 느껴졌고, 결국 공부를 포기했습니다. 사실 리눅스를 공부해야 할 이유도 잘 모르겠어요. 오유에 잘하시는 분들 꽤 많은 걸로 아는데, 리눅스를 왜 공부해야 하고, 어떻게 공부해야 하는지 알려주실 수 있나요?

새로운 댓글이 없습니다.

지난 시간 우리는 TUI 환경의 우분투 서버, x windows를 사용하는 우분투 데스크톱, 그리고 우분투 플레이버인 쿠분투를 설치하는 방법에 대해서 알아보았다.

하지만 우리는 의문을 갖는다.
윈도우즈라는 운영체제는 지금까지 많이 사용되어 왔고 꽤나 안정된 버전을 출시하고 있으나 왜 우리는 리눅스를 배우고 사용해야 할까?

오늘은 그 해답을 찾아보는 시간과 함께 다음 시간에 배울 리눅스 명령어의 구조에 대해서 잠깐 알아보도록 하겠다.


리눅스를 사용해야할 10가지 이유

  1. 높은 보안성
  2. 안정된 구조
  3. 유지보수의 용이성
  4. 어떤 하드웨어에서도 동작하는 이식성
  5. 무료
  6. 오픈소스
  7. 쉬운 조작법
  8. 커스터마이징
  9. 교육
  10. 지원

높은 보안성

리눅스 공부 이유 - linugseu gongbu iyu
wikipedia

위키피디아에 나와있는 데스크톱 게임 사용량을 보면 거의 100%에 수렴하는 수치가 윈도우에서 이용되고 있다고 봐도 과언이 아니다.

물론 게임이라는 한정된 특성이 존재하겠지만, 그 말은 더 이상 컴퓨터는 전문가에 전유물이 아니게 된 현대 시점에서 일반인들이 가장 많이 접하는 플랫폼은 바로 게임이다.

그로 미루어 보았을 때 게임을 하는 일반인들을 대상으로 하는 각종 공격들이 탄생하고 있고 그 만큼 많은 공격 루트가 생겨날 것이다.

하지만 이에 반해 리눅스는 상대적으로 윈도우보다 더 안전한 환경에서 바이러스나 멀웨어를 신경쓰지 않고 개발과 응용 프로그램을 사용할 수 있게 된다.

또 다른 이유로는 리눅스가 오픈소스 이기 때문에 더욱 안전하다는 이야기가 있다.

리눅스는 오픈소스로 많은 시간동안 개발자들에게 소스 코드가 공유되어 왔다.

그럼 누군가는 "많은 사람들이 코어를 확인할 수 있으니 더 위험한게 아닌가요?"라고 할 수 있지만 현실은 다르다.

많이 노출되어 있는 특성덕에 시스템에 부족한 부분과 보안 취약성을 여러 사람들이 파악할 수 있게 되고 그에 따라 반응이 빠른 특성으로 높은 보안성이 리눅스를 사용해야할 이유중 하나가 되었다.

안정된 구조

리눅스는 매우 안정적이며 충돌이 잘 발생하지 않는다.

리눅스 서버의 가동 시간은 매우 높고 가용성은 약 99.9% 라고 한다.

윈도우와 달리 매 업데이트 또는 피치 후에 리눅스는 재부팅할 필요가 없어서 인터네셍서 실행되는 서버 수가 가장 많다.

리눅스 공부 이유 - linugseu gongbu iyu

위는 윈도우 서버와 리눅스 서버의 사용량에 대한 통계이다.

사실 자료 조사를 하면서 리눅스 서버가 99퍼센트를 차지한다는 이야기도 봤지만 증거 자료가 없엇서 30 : 70으로 하자..

이를 통해 알 수 있는 것이 서버의 특성상 안정성이 중요한 요점이라는 대목을 지지해주는 자료이다.

유지보수의 용이함

위에서 말 했듯이 리눅스의 업데이트는 시스템을 재부팅하지 않고도 가능하다는 점이 유지보수의 용이함에 큰 힘을 실어 주었다.

대표적으로 윈도우의 업데이트는 리눅스에 비해 쉽지가 않고 모든 타사의 소프트웨어를 윈도우에서는 개별적으로 관리를 해야한다는 점이 있다.

어떤 하드웨어에서도 동작하는 이식성

윈도우는 새로 출시가 될 때마다 기술 사양이 더이상 최신의 os를 실행하기에 적합하지 않다고 한다.

일렬적인 예로 보자면 필자가 대학에서 실습실 컴퓨터를 windows7 버전을 사용하고 있었지만 대학 방침에 따라 windows 10으로 업데이트를 해야 했던 상황이 있다.

그 과정에 우리는 windows7에만 적합한 프로그램들이 업데이트가 되며 더 이상 쓸모없게 되어 새로 구매해야하는 상황이 왔던 경험이 있었던 것을 미루어 보아 본인이 직접 겪은 하드웨어 이식성 특성이다.

리눅스 공부 이유 - linugseu gongbu iyu

또한 Space X 은 우주 비행선의 운영 체제로 리눅스를 사용한다는 발표를 했었던 것으로 리눅스의 하드웨어 이식성과 종속성에 대해 다시 한 번 놀라는 계기가 되었다.

무료와 오픈소스

우리가 가장 일반적으로 느낄 수 있는 장점이지 않을까 싶은 점이다.

리눅스는 완전 무료 정책으로 어떠한 금액도 필요로 하지 않다.

그에 따라 당연하게 오픈소스라는 태그가 따라 붙게 되는데, 이 오픈소스라는 점이 위에 나오는 보안에 대한 장점을 만드는데 큰 일조를 하였다.

리눅스 공부 이유 - linugseu gongbu iyu
India Boss Linux OS

만약 한 기업에 종속되는 운영체제라면 그 운영체제를 지키기 위한 다른 노력이 수반되어야 하지만 오픈소스인 리눅스 덕에 많은 나라들이 자체적으로 리눅스 기반의 OS를 만드는 노력을 전쟁을 대비하여 하고있다는 소식이 있다.

사용 편의성과 교육 그리고 지원에 대한 부분은 사실 어떠한 운영체제에도 해당하는 부분이 존재하기 때문에 따로 포스팅을 하지는 않겠다.

오늘은 이렇게 리눅스를 배워야할 10가지 이유에 대해서 알아보았고 이를 통해 이야기하고 싶은 핵심은 바로 개발자라면 리눅스를 꼭 알아야 한다는 것이다.

여러 분야에서 리눅스가 사용되고 있다는 소리는 그 생태계가 아주 강력하고 잘 정돈되어 있다고 이야기할 수 있다.

특히나 웹 개발자라면 배포와 컨테이너등의 기술이 모두 리눅스를 토대로 이루어지고 있다는 점이 가장 매력적인데 우리는 앞으로 이 리눅스를 하나 하나 파악해보며 다양한 분야로 (Docker, Kubernetes, AWS EC2, ECS, Lambda, Jenkins) 발전할 수 있는 초석이 되길 바란다.

왜 우리는 리눅스(Linux)를 배워야 하는가

- 프로그래머 ( 또는 개발자 ) 로써 리눅스를 배워야 하는가?

아직 리눅스를 경험해 보지 못하였기 때문에 꼭 배워야 하나? 라는 궁금증을 항상 가지고 있었습니다. 그렇지만 좀더 개발자 역량의 업그래이드(?) 를 하기 위해 알고 있는 것과 모르는 것은 차이가 크게 난다 생각합니다. 그러하여 리눅스는 배울 가치가 있어 보이고 경력이 높아질수록 필요할 것 개인적으론 배우는 게 좋다고 생각이 드네요~

- 현재 가장 많이 사용되는 운영체제들 우리는 어떤 OS를 사용하고 있나.

리눅스 공부 이유 - linugseu gongbu iyu

현재 가장 많이 사용되는 운영체제들 우리는 어떤 OS를 사용하고 있나.

- Unix 

유닉스(Unix)는 대부분의 현대적 컴퓨터 운영 체제의 원형이 된 OS이다. 현대의 윈도우 계열이 아닌 리눅스 , 안드로이드, macOS , IOS 등의 많은 운영체제가 유닉스를 그 뿌리로 하고 있다. 원래는 멀티유저용 서버 운영체제이나 현재는 개인용 데스크탑이나 임베디드용으로 많이 쓰인다.

- NT

마이크로소프트가 개발한 운영 체제의 커널, 혹은 그 커널을 기반으로 만든 제품군, 현재 사용 중인 MS Windows계 운영 체제들 모두 Windows 9x 커널을 쓰는 운영 체제는 Me를 끝으로 더 이상 나오지 않는다.

Windows NT란 처음에 MS-DOS 위에서 돌아가던 Windows 3.1의 성공으로 Windows 3.1의 GUI환경을 그대로 가져와 기업과 서버용으로 제작한 커널과 그 커널을 기반으로 만든 OS의 일종이다. 이때 작성된 커널은 MS-DOS를 기반으로 잡는 종전의 Windows보다 뛰어난 안정성으로, 지금까지도 기업용, 서버용 뿐만 아니라 가정용까지 MS-DOS를 버리고 이 커널을 사용하고 있다.

- 사용자는 운영체제를 사용하지 않습니다.

리눅스 공부 이유 - linugseu gongbu iyu

사용자는 운영체제를 사용하지 않습니다.

사용자는 내가 사용하는 소프트웨어 제품이 어느 OS에서 작동하는지가 중요하다.

게임을 구매했는데 그 게임이 Windows OS에서 지원한다면 우리는 Windows OS가 필요한 것이다.

그렇기 때문에 본인이 리눅스 소프트웨어를 사용해야 하는 사람이라면 굳이 Windows OS에서 다른 방법으로 사용하는 것보다 리눅스에서 바로 사용하는 게 더욱더 빠르고 효과적입니다.

- Desktop OS 점유율

리눅스 공부 이유 - linugseu gongbu iyu

Desktop OS 점유율

2017년 기준 Windows가 압도적으로 높은 점유율을 가지고 있습니다. 그에 반해 Linux는 1.79%로 저조한 점유율을 가지고 있습니다. 유닉스의 기반인 MacOS를 봐도 11.32% 두 개를 합쳐도 매우 낮은 점유율을 가지고 있습니다. 하지만 모든 사용자의 점유율은 Window가 압도적입니다.

- 슈퍼 컴퓨터로 사용되는 OS Top 500의 결과

리눅스 공부 이유 - linugseu gongbu iyu

슈퍼 컴퓨터로 사용되는 OS Top 500의 결과

슈퍼컴퓨터 시장에서는 리눅스의 점유율이 현재는 100%에 육박합니다.

- 모바일과 웹 클라이언트를 위한 사용률

리눅스 공부 이유 - linugseu gongbu iyu

모바일과 웹 클라이언트를 위한 사용률

Linux 기반의 Android + Unix 기반의 IOS 두개의 점유율을 합치면 거의 100%에 육박합니다. 그렇다면

개발에 관련된 OS는 Linux가 매우 강력하죠

- OS가 중요한 시대는 지나가고있다 하지만 OS의 존재는 불변

리눅스 공부 이유 - linugseu gongbu iyu

OS가 중요한 시대는 지나가고있다 하지만 OS의 존재는 불변

과거에부터 NT 또는 UNIX 두 가지의 OS를 가지고 소프트웨어를 만들었고 그것을 기반으로 만들어진 운영체제들 또한 많이 만들어졌습니다. 너무 많은 운영체제가 만들어지며 모든 OS에서 작동할수있는. NET , JAVA와 같은 플랫폼도 등장하였습니다. 하지만 요즘엔 HTML5로 소프트웨어를 만든다면 모든 OS에 상관없이 웹브라우저만 있다면 모든 디바이스 모든 OS에서 작동 가능하기 때문에 매우 강력합니다.

- 우리가 사용하는 소프트웨어는 무엇을 기반으로 만들어졌나

개발자 입장에선 Windows 기반보단 UNIX 기반의 소프트웨어가 많기 때문에 UNIX의 기능이 필요하기 때문에 UNIX 또는 LINUX의 기반을 배우는 것이 합리적인 개발을 할 수 있겠죠. 그렇기 때문에 배우자!

출처

https://dog-developers.tistory.com/31

https://www.youtube.com/watch?v=TZjB94sA3IU&list=PLq8wAnVUcTFU9zLWK-dHWrvTJ0PF8Y0Sf