우리나라에선 개발자가 아닌 이상 마이크로소프트사에서 제작한 Windows라는 운영체제를 많이 이용한다. 요즘엔 애플사에서 제작한 Mac OS도 많이 상용화되었다. 여러분이 컴퓨터에 Windows를 설치하고 사용하면서 Windows라는 것을 정확히 인식하고 사용하는 사람이 얼마나 될까?
사실상, 사용하면서도 운영체제가 어떤 기능을 하고 어떤 역할을 하는지 모르고 그냥 사용하는 사람이 대부분일 것이다.
이러한 이야기들을 하는 이유는 리눅스(Linux)도 이와 같은 운영체제이기 때문이다. 리눅스는 굉장히 가벼운 운영체제일 뿐만 아니라 오픈소스(Open Source)이기 때문에 돈을 지불하지 않아도 된다. 유료 서비스를 제공하더라도 평가판을 제공하도록 되어있다. 리눅스의 기본 신념이 오픈소스이기 때문이다. 또한 여러분이 개발자라는 영역에 뛰어든 이상 어떤 방향으로든 리눅스는 어디서든 마주하게 될 것이기 때문에 개인적으로 꼭 배워야 한다고 생각한다.
리눅스가 만들어진 배경, 역사 이런 것은 처음 배우는 입장에서 그다지 와닿지 않기 때문에 소개하지 않으려 한다. 나 또한, 누구에게 배운 것이 아니라 흥미가 생기고 자연스럽게 알게 되었기 때문에.
이쯤되면 어느 정도 아는 분이라면 ‘그럼 같은 운영체제인데 어떻게 환경을 갖추지?‘라는 의문을 가진 분이 있을 것이다. 여러분이 사용하는 Windows를 포맷하고 Linux라는 운영체제를 컴퓨터에 설치할 수는 없지 않은가?
하나의 컴퓨터로 하는 방법은 2가지가 있다. 2개의 운영체제를 한 컴퓨터에 돌리는 방법이 있고, 가상머신을 이용하는 방법이 있다.
첫 번째 방법을 Multi Booting이라고 하고 두번 째 방법을 Virtual Booting이라고 한다.
Multi Booting을 사용하면 컴퓨터의 하드 용량의 반을 리눅스가 잡아먹기 때문에 여러분이 Windows를 사용하면서 불편할 수 있다. 그래서 후자인 Virtual Booting방식을 사용할 것이다. 이 방식은 가상 머신을 작동시킬때만 용량을 잡아먹기 때문에 Linux를 이용할 때가 아니면 평소와 같이 컴퓨터를 사용할 수가 있다.
물론, 여유가 된다면 Linux용 데스크탑을 하나 정도 두면 굳이 가상머신을 설치할 필요가 없이 좀 더 쾌적하게 Linux를 접할 수 있을 것 같다.
즉, Windows라는 운영체제가 가상 머신을 작동시키고 가상머신이 작동될 때만 그 위에서 Linux라는 운영체제를 작동시키는 것이다. JAVA에서 JVM의 개념과 비슷하다.
그렇다면 가상머신(Virtual Machine)은 어떤걸 써야 할까?
그리고 Linux는 오픈소스다 보니 여러가지 OS가 있는데 Redhat 계열의 CentOS를 사용할 예정이다.