[리눅스 입문] 리눅스란 무엇이고, 왜 쓰며, 어떻게 쓰는걸까?
도깨비젤리
·2021. 6. 30. 23:52
들어가는 말
리눅스. 개발 물을 조금이라도 맛보셨으면 분명 어디선가 들어보셨을 단어입니다. 저는 처음에 리눅스라는 걸 알았을때 굉장히 띠용했습니다.
"아니 컴퓨터는 당근 빠따루 윈도우즈 아닌가? 다른 OS라고 해봤자 맥밖에 더 있나??..이 듣보잡은 뭐지??"
비록 이 세상에서 리눅스가 정말 새발의 피만큼의 지분을 차지하고 있지만, 그럼에도 불구하고 리눅스는 굉장히 중요하고, 장점이 많은 OS입니다.
가장 큰 장점으로는 역시 공짜라는 것이겠지요. 리눅스는 오픈 소스입니다. 즉, MS의 윈도우즈처럼 라이센스 비용을 지불해야할 필요가 없다는 것이죠. 또한, 모든 소스가 공개되어 있기 때문에, 취약점이 노출되어도 비교적 빠른 보안 업데이트를 진행 할 수 있습니다.
뿐만아니라, 리눅스의 기본 터미널 기능은, 다른 OS에 비해 우수한 성능을 가지고 있습니다. 모든 환경을 원하는대로 커스터마이즈 해서 사용할 수 있을 뿐만 아니라, 필요한 프로그램은 명령만 입력해서 실행할 수 있기에, 조작하는 방법만 안다면 굉장히 편리하다는 것이죠.
단점으로는, 역시 접근 장벽이 높다는 점입니다. 기본적으로 지원하는 시스템 장치가 윈도우처럼 쉽게 호환되지 않으며, 인터페이스 환경도 적응하기 어려운 면이 있기 때문이지요. 대부분 이 단점 때문에 리눅스를 포기하시는 분들이 많은걸로 알고 있습니다.
하지만, 엄청난 부자가 아닌 이상 리눅스를 배우셔야할 것입니다. 이게 멍게소리냐고요??? 여러분들이 앞으로 서버리스앱만 만드는게 아닌 이상, 반드시 한번쯤은 서버를 띄우실 것입니다. 근데 윈도우로 서버를 띄우면 상당한 비용이 나갑니다. 물리적 기계를 준비하지 않고, 단순 클라우드 컴퓨터를 이용하더라도 운영체제가 윈도우라면 호스팅 비용이 굉장히 비쌉니다. 얼마나 비싼지는 기억이 잘 안나는데, 아무튼 꽤나 띠용할 금액이였고, 진짜 전문적인 관리가 필요한 대기업들이 간혹 윈도우로 서버를 띄운다고 한 말도 기억이 납니다.
아무튼 그래서, 개발자라면 리눅스를 피할 수 없습니다. 앞으로 무진장 많이 접하게 될 것이니 피할 수 없다면 즐기자는 마음으로 편하게 저와 같이 리눅스를 시작해봅시다.
배포판이란??
사실 사람들이 말하는 리눅스는 리눅스 커널 그 자체를 말하는 것이 아닙니다. 설명을 위해 위키백과의 리눅스 내용을 일부 인용하겠습니다.
리눅스는 일반적으로 리눅스 배포판 안에 패키지 처리된다.
이 내용 대로라면, 리눅스란 리눅스 커널에 기반을 둔 운영체제를 의미합니다. 그렇기 때문에, 우리들이 실제 접하고, 사람들이 흔히들 말하는 리눅스는 사실 리눅스 배포판을 뜻하는 것입니다.
대표적인 배포판으로는 데비안, 페도라, 우분투, 레드펫등이 있습니다. 각각 다른 특색을 가지고 있지만, 이들은 모두 리눅스 커널을 사용한다는 공통점을 가지고 있습니다.
우리는 여기서 "우분투"를 설치해보겠습니다. 우분투는 현재 개인용 데스크톱 환경에서도 가장 인기 있으며, 서버 환경에서 사용하기에도 부족함 없는, 말 그대로 뉴비 친화적인 OS입니다.
우분투 개요
우분투는 영국 기업 캐노니컬이 개발하였고, 매 6개월 마다 새 버전이 출시된다는 특징이 있습니다. 이때, 버전 명의 앞부분은 출시 연도를, 뒷 부분은 숫자는 월을 의미합니다.
6개월마다 배포하지만 장기간 지원하는 버전은 짝수 해의 4월 버전을 지원합니다. 이것을 LTS(Long Term Support)라고 하는데, 주로 보안 업데이트가 이루어집니다. 이런 업데이트들이 지원이 되어야 서버측에서 문제가 덜 발생하며, 레퍼런스가 늘어납니다. LTS간에도 약간씩 다른 면이 있지만 보통 5년 이상 지원을 약속합니다.
우분투의 다양한 환경들
리눅스의 배포판이 다양했듯, 우분투의 데스크톱 환경도 매우 다양합니다. 솔직히 말하자면 선택지가 너무 많아서 열불이 뻗치는 지경에 이르렀습니다만, 그래도 오픈소스라는게 원래 이렇지 않습니까.. Windows 같은 경우는 MS 홀로 만들고 관리하는 운영체제이지만, 리눅스는 리누스 토발즈가 만들었지만 수많은 사람들이 자신만의 특색과 색깔에 맞게 리눅스를 관리해왔습니다.
대표적인 환경으로는 Unity와 Gnome이 있습니다. 둘 다 우분투 기능은 같지만, GUI가 다르고 미묘한 성능적인 차이가 있습니다.
특별히 익숙한것이 없다면, Unity로 우분투를 시작하는 것을 권하고 있으므로, 오스스메에 따라 저희도 유니티로 시작해봅시다.
Bash Shell
OS에 접근하여 사용자가 이런저런 요청을 할 수 있는 환경을 보통 쉘 (shell)이라고 합니다. 그 중 Bash 쉘은 기본적으로 설치되어있는 경우도 많은 환경이라, 뉴비들에게는 교과서 같은 환경이지만, zsh라는 알록달록한 쉘도 있으니 참고하면 좋겠습니다.
앞에서도 말했지만, 이런 CLI 환경이 거부감이 들 수 도 있겠습니다. 그러나, 익숙해진다면 GUI 환경보다 더 빠르고 편하게 개발을 할 수 있는 것이 CLI입니다. 이 말이 아직까지도 아리송할수도 있겠습니다만, 직접 경험하면서 CLI가 왜 좋은지 느껴보도록 합시다.
* 어떤 쉘을 선택하더라도 이에 익숙해지는데는 시간이 걸립니다! 천천히 인내심을 가지고 도전합시다 *
리눅스 머신 구하기
대략적으로 리눅스에 대해 알아보았고, 마음의 준비도 마쳤으니 이제 본격적으로 리눅스를 시작해봅시다. 낚시를 하려면 낚시대가 있어야 하듯, 리눅스를 시작하려면 먼저 리눅스가 설치된 머신을 구하던가, 하지만 사용하고 있는 PC에 리눅스를 설치해야합니다. 물론 리눅스를 서버용으로 사용하신다면, 전용 장비가 아닌 일반 PC를 사용한다는 점이 좀 깨름칙하실 수도 있겠지만, 이 정도 통찰력을 가지고 계신 분이라면 진짜 대규모의 서비스를 제공하는게 아닌 이상 별로 문제될 것이 없다는 것도 짐작하셨으리라 예상됩니다. 아까부터 다양한 면모를 보여주는 리눅스 답게, 리눅스를 사용하는 방법도 여러가지 입니다. 그 중 몇 가지를 소개해드릴테니, 마음에 드는 방법으로 리눅스를 시작하시면 되겠습니다.
1. PC에 우분투 설치
리눅스 머신을 구하기 위해 가장 기본적인 방법이라 할 수 있겠습니다. 그냥 지금 쓰고 있는 PC에 우분투를 처음부터 설치하여, PC를 우분투로 사용하는 것이죠. 단, 이 방법은 듀얼부팅을 써야하는 번거로움과(저도 몇 번 날려먹었습니다), 일부 PC부품이 우분투를 지원하지 않는 어려움에 봉착할 수도 있습니다.
2. WSL2
만약에 윈도우 10을 사용하고 있다면 몇가지 설정만으로 윈도우 내에서 또 하나의 작은 시스템으로 WSL (Windows SubSystem for Linux)를 사용할 수 있습니다.
MS가 리눅스의 다양한 면을 받아들이면서 나오게 된 시스템으로, 리눅스와 100% 동일하지는 않지만 굉장히 빠른 속도로 호환성을 높여갔으며, 일반적인 리눅스 학습에는 문제가 없습니다.
WSL2는 MS 공식문서를 보면서 설치하면 되는데, 주의할 점은 WSL1 을 먼저 설치한 후 2를 업데이트 하는 형태로 설치하면 됩니다.
3. 가상머신 (Virtual Machine)
또 다른 방법으로는 가상머신을 사용하는 것입니다. 가장 유명한 제품으로는 EMC의 VMWare 제품이 있습니다. 기업용 제품이 많이 있지만, Virtual Box와 같은 제품은 무료로 사용할 수 있습니다. 가상머신은 쉽게 말해서 에뮬레이터라고 생각하면 됩니다. PC에서 소프트웨어 적으로 컴퓨터를 만들고 거기에 OS를 설치하는 식으로 구성되는 것이죠. 에뮬레이터 방식이기에 속도에서 불이익이 많습니다.
그러나 과거부터 많은 사람들이 학습차원으로 사용했던 방법이기에, 별도의 비용없이 다양한 실험을 할 수 있다는 장점이 있습니다. 하지만 이 또한 하드웨어적인 단점이 있습니다. (CPU에서 가상화 기능을 지원하지 않는다는 등)
VirtualBox에서 우분투를 설치하는 방법은 너무나 많아서 Ubuntu Virtualbox template와 같은 것도 있습니다. 바로 그걸 다운받아서 설치해도 무방합니다.
4. 클라우드 컴퓨터 이용
사실 가장 추천하는 방법입니다. AWS를 이용하면 정말 쉽고 빠르게 우분투를 실행할 수 있습니다. 가장 많이 사용되어 충분히 안정적이며, 레퍼런스가 많아서 설치에 어려움이 없기 때문입니다.
이외에도 MS Azure, Google Cloud Platform에도 비슷한 서비스가 있으며, 국내에서는 Naver등에서도 클라우드 서비스를 제공합니다.
AWS에는 100여개 이상의 서비스가 있으며 이중 EC2(Elastic Cloud Compute)라는 서비스를 사용한다면 리눅스가 있는 서버 인스턴스를 사용할 수 있다. 클라우드는 유료이지만 Free Tier라는 무료 서비스를 이용할 수 있습니다.
마치며
이렇게 리눅스와 대표적인 리눅스 배포판인 우분투를 설치하는 방법에 대해서 알아봤습니다. 다음 포스트에서는 가장 추천하는 방법인 클라우드 컴퓨터를 이용해서 우분투를 직접 설치하는 과정을 알아보겠습니다.
'컴퓨터 공학 > 운영체제' 카테고리의 다른 글
[리눅스] 자주 쓰는 쉘 명령어들 (0) | 2021.12.13 |
---|