[Linux]Linux를 시작하며

이지IT
|2023. 2. 28. 20:40
반응형

 

이번에 좋은 기회가 생겨 클라우드에 대한 전반적인 공부 기회가 생겨 이를 정리해보려고 한다. 하지만 난이도에 비해 시간은 6개월 밖에 되지 않아 깊이가 없을 수 있다는 점이 아쉽다. 이 글을 봐주러 오시는 분들은 그런것은 관심이 없을테니 바로 본론으로 들어가겠다.

 


Linux

리눅스는 윈도우나 Mac 같은 운영체제이다. 리눅스는 무료로 사용이 가능하고 소스 코드가 공개되어 있어 개인이나 기업에서 자유롭게 수정 및 배포할 수 있게 되었다. 이는 UNIX 운영 체제에서 영감을 받아 개발되었는데, 리눅스는 커널(kernel)이라는 핵심 부분과, 그 외의 유틸리티 및 라이브러리 등으로 구성된다. 또한 다양한 프로그래밍 언어를 지원하며, X Window system을 통해 그래픽 사용자 인터페이스(GUI)를 제공한다.

 

이 OS는 안정성, 보안성, 확장성 등의 면에서 매우 우수한 운영 체제로 알려저 있으며, 웹 서버, 데이터베이스 서버, 라우터, 스위치 등 다양한 분야에서 널리 사용되고, 안드로이드 운영 체제에 기반이 되기도 했다.

 

리눅스는 다양한 배포판이 있고, 각 배포판은 다양한 기능, 인터페이스, 패키지 매니저 등을 제공한다. 대표적으로 Ubuntu, Debian, Fedora, CentOS, Red Hat 등이 있는데, 이번에 시작하게 된 강의가 Red Hat이 주체가 되어 있어 이것이 주가 되어 글이 작성될 것으로 생각된다.

 

위에서 말한 것 처럼 윈도우와 같은 운영체제이기 때문에 우리는 이를 설치할 하드웨어가 필요하다. 때문에 노트북과 같은 장비를 사거나 가상화 소프트웨어를 이용해 이를 사용할 수 있다.


가상화 소프트웨어

가상화 소프트웨어는 하드웨어 자원을 효율적으로 사용하고, 다양한 운영 체제(OS)나 응용 프로그램을 동시에 실행하기 위한 기술이다. 가상화 소프트웨어에는 여러 종류가 있으며, 대표적인 종류와 특징은 아래와 같다.

 

1. 하이퍼바이저 기반 가상화 (Type 1 hypervisor)

 

하이퍼바이저 기반 가상화는 호스트 OS 없이 직접 하드웨어와 상호 작용하여 가상 환경을 생성하는 방식이다. 이를 위해 하드웨어 위에 설치되는 하이퍼바이저 소프트웨어가 필요하다. 대표적인 하이퍼바이저 기반 가상화 소프트웨어로는 VMware ESXi, Microsoft Hyper-V, Citrix Hypervisor 등이 있다.

하이퍼바이저 기반 가상화는 높은 성능과 안정성을 제공하며, 가상머신들 간의 간섭 없이 실행될 수 있어 보안성이 우수하다. 하지만, 하이퍼바이저 소프트웨어를 직접 설치하고 관리해야 하므로 초기 설정과 유지보수에 대한 기술적 지식이 필요하다.

 

2. 호스트 기반 가상화 (Type 2 hypervisor)

 

호스트 기반 가상화는 호스트 OS 위에 가상 머신을 생성하는 방식이다. 이를 위해 호스트 OS에 설치되는 가상화 소프트웨어가 필요하다. 대표적인 호스트 기반 가상화 소프트웨어로는 VMware Workstation, Oracle VirtualBox, Parallels Desktop 등이 있다.

호스트 기반 가상화는 사용이 간편하고 가볍기 때문에 개인용 데스크톱 가상화나 개발 환경 등에 많이 사용된다. 하지만, 호스트 OS 위에서 동작하기 때문에 하이퍼바이저 기반 가상화에 비해 성능이 저하될 수 있다.

 

3. 응용 프로그램 가상화 (Application Virtualization)

 

응용 프로그램 가상화는 애플리케이션 자체를 하나의 독립적인 가상 환경으로 만들어서 실행하는 방식이다. 대표적인 응용 프로그램 가상화 소프트웨어로는 Microsoft App-V, Citrix Virtual Apps and Desktops 등이 있다.

응용 프로그램 가상화는 애플리케이션 간의 충돌 문제를 예방하고, 애플리케이션을 실행하기 위한 라이브러리 및 파일 등도 독립적인 가상 환경 내에 포함시켜 관리하기 때문에 애플리케이션의 배포 및 관리가 용이해진다. 또한, 사용자의 컴퓨터에 애플리케이션을 설치하지 않고도 실행할 수 있어, 보안성이 높아진다. 하지만, 응용 프로그램 가상화는 가상머신처럼 완벽한 운영 체제를 실행할 수는 없기 때문에, 애플리케이션 실행에 필요한 모든 기능을 가상 환경 내에 포함시켜야 한다.

 

4. 컨테이너 가상화 (Container Virtualization)

 

컨테이너 가상화는 운영 체제 레벨에서 가상화 기술을 적용하는 방식으로, 컨테이너라는 독립적인 실행 환경을 만들어 그 안에서 애플리케이션을 실행한다. 대표적인 컨테이너 가상화 소프트웨어로는 Docker, Kubernetes 등이 있다.

컨테이너 가상화는 하이퍼바이저 기반 가상화보다 빠르고 가볍다. 또한, 애플리케이션의 이식성이 용이하며, 컨테이너 이미지라는 패키지 형태로 배포가 가능하다. 하지만, 호스트 운영 체제와 컨테이너 내의 운영 체제가 동일해야 하기 때문에, 호스트 운영 체제의 제약이 존재한다.

각각의 가상화 소프트웨어는 다양한 용도와 장단점을 가지고 있다. 따라서, 사용 목적과 요구사항에 맞는 적절한 가상화 소프트웨어를 선택하여 사용하는 것이 중요하다.


이상으로 기초에 대해 간단히 정리해보았다. 앞으로 ChatGPT와 강의 내용을 조합해 내용을 정리하고 되도록이면 자주 일간 뉴스를 정리해서 올릴 계획이다.

 

IT산업의 중요도가 올라가면서 나와 마찬가지로 관련 대학을 나오지 않았다거나, 이제 막 관심을 가지기 시작한 사람들이 있을 것이다. 물론 어렵지만 불가능하지도 않다. 이 글을 읽는 여러분들도 IT를 시작해볼지 고민하다 난이도에 망설이고 있다면 국가 지원 사업에 참여해보라 권하고 싶다. 내일배움카드를 통해 무려 1천만원 가량의 강의를 무료로 들을 수 있다. 물론 그에 마땅히 6개월이라는 시간과 노력을 쏟아 부어야 한다. 하지만 이것이 아니라도 시작하지 않으면 이뤄지는 것도 없다.

 

앞으로의 세상에서 살아가기 위해, 다음 단계로 넘어가기 위해 한걸음 내딛는 여러분을 응원하고 함께 걸어나갈 것이다. 같이 힘내보자!

 

반응형