리눅스 시작하기
1. 리눅스란
리눅스에 대해 이해하기에 앞서 운영체제가 무엇인지 간략히 짚고 넘어가자.

인간은 논리, 추론, 추상화 등 다양하고 복잡한 사고 과정을 거친다. 반면 컴퓨터 기기 자체는 0과 1로 이루어진 전기신호만을 이해할 수 있다. 운영체제는 컴퓨터와 인간 사이의 간극을 메우고, 우리의 의도대로 컴퓨터를 사용할 수 있도록 하는 중간 매개체 역할을 한다.

리눅스는 이러한 운영체제 중 하나로, 강력한 서버 운영체제로서 널리 사용된다.
리눅스의 가장 큰 특징 중 하나는 무료로 제공되며, 오픈소스라는 점이다. 이러한 특징에 대해 이해하기 위해서는 컴퓨터의 역사에 대해 알 필요가 있다.
1950년대에 들어서면서 현재 우리가 사용하는 것과 비슷한 유형의 컴퓨터가 개발되기 시작했다. 컴퓨터를 사용하기 위해서는 필연적으로 소프트웨어가 필요했고, 따라서 이 때 당시에는 모든 소프트웨어가 공개적으로 개발되었으며, 이 시기에는 소스코드가 모두 공개되었다.
1960년대에 들어서면서 유닉스 운영체제가 만들어지면서 밀접하게 연결되어 있던 소프트웨어와 하드웨어를 구분할 수 있게 되었다. 처음 유닉스가 만들어졌을 당시에는 유닉스의 모든 소스코드가 공개되었다. 하지만 얼마 지나지 않아 프로그램의 상품화의 중요성이 대두되기 시작하였고 80년대 들어서면서 유닉스를 포함한 많은 프로그램이 제품화되어 유통되기 시작한다.

이에 1984년도에 GNU 프로젝트가 시작되게 된다. GNU 프로젝트의 목적은 ‘모두가 공유할 수 있는 소프트웨어를 만드는 것’ 으로, GNU프로젝트에서 제작한 소프트웨어를 지원함으로써 컴퓨터 프로그램의복제, 변경, 소스코드의 사용에 대한 제한을 철폐하고자 하였다. 이러한 배경 아래에서 리눅스가 등장하게 되었다.
리눅스는 무료 버전의 유닉스라고 보면 된다. 리누스 토르발스가 1991년에 0.01 버전을 최초로 작성하고, 이후 92년도에 0.02 버전을 공개하면서 시작되었다.
리눅스는 커널만 제공하기 때문에 이를 쉽게 사용하기 위해서는 쉘 스크립트를 사용하게 된다.
리눅스에는 다양한 배포한이 존재한다. 유명한 배포판으로는 데비안(Debin)과 우분투(Ubuntu)가 있다. 우분투 배포판은 우분투 데스크톱과 우분투 서버 두 가지가 존재한다.
2. 리눅스 가상머신 생성
2.1. 우분투 설치
윈도우에서 우분투를 설치하는 방법은 크게 두 가지로 나뉜다. 첫 번째 방법은 우분투 홈페이지에 들어가 우분투를 설치하는 방법이고, 두 번째 방법은 MS store에서 우분투를 설치하는 방법이다.
하지만 MS store에서 설치하는 우분투는 단순히 윈도우에서 우분투를 더 쉽게 사용할 수 있도록 하는 하위 시스템일 뿐이지, 윈도우 운영체제를 우분투로 바꾸어 주는 것은 아니다.
따라서 가상 컴퓨터에 우분투를 운영체제로 설치하기 위해서는 우분투 홈페이지에 올라와 있는 iso 이미지 파일을 설치해야 한다.
방법 1. 우분투 홈페이지에 접속하여 최신 버전을 다운로드하자. Download {버전}이라 적힌 초록색 박스를 클릭하면 우분투 이미지가(iso파일) 자동으로 설치된다.

방법2. 우분투 릴리즈 버전들을 모아둔 페이지에서 원하는 버전을 선택 후 desktop버전 iso 이미지 파일을 설치한다.

2.2. VM ware 설치
리눅스 설치 및 실행은 VMware workstation Pro 17을 통해 실행할 것이다. 해당 프로그램은 유료이므로 30일 무료 평가판을 사용하자.
VMware 홈페이지에 접속하여 Workstation 17 Pro를 설치한다.
2.3. 가상 서버 생성
성공적으로 VMware Workstation 17 Pro를 설치했다면 이제는 가상 서버를 생성할 차례이다.
-
VMware Workstation을 열면 좌측 바를 확인할 수 있다. 여기서 마우스 우클릭하여 New Virtual Machine… 을 클릭한다.
-
Typical을 선택한다.
-
이전에 설치한 리눅스 iso파일로 설치한다.
이후 쭉 기본설정을 따라가며 설치를 진행하면 된다.
2.4. 원격 서버 접속
원격으로 서버를 접속하는 방법은 여러가지가 있다. 대표적인 방법은 푸티를 사용하는 것이나, 본문에서는 VS코드를 사용하여 원격 서버로 접속하는 방법을 알려줄 것이다.
-
VS코드의 좌측 바에는 Extension 아이콘이 있다. 해당 아이콘을 클릭하여 익스텐션 라이브러리로 들어간다.
-
ssh를 입력하여 맨 위에 나오는 Remote-ssh를 설치한다.
-
설치 이후 VScode의 좌측 하단에 생긴 파란 버튼을 클릭한다. 상단에 창이 생긴다. 이 창에서 Connect to Host… Remote-ssh 를 클릭한다.
-
Add New SSH Host를 선택한다.
-
계정명@IP 를 입력한다.
-
맨 상단의 버튼을 클릭한다.
-
config파일을 열어 port번호와 Host명을 수정해준다.
-
이후 다시 좌측 하단에 있는 파란 버튼을 누른 뒤 Connect to Host -> 추가한 ip주소 를 클릭하면 외부 서버 접속이 완료된다.
만약 실행이 되지 않는다면 .ssh 디렉토리 안의 known_hosts파일을 삭제하면 될 것이다.
3. 리눅스 디렉토리 구조
윈도우에서 C 드라이브에 들어가면 다음과 같은 사진을 볼 수 있다.

Windows 디렉토리에는 윈도우 운영체제, Programs Files는 사용자가 설치한 프로그램들, User는 사용자가 설치한 파일이나 프로그램이 존재한다. 즉, 각 디렉토리별로 그 용도나 성격이 다른 프로그램 및 파일들이 저장된다.
리눅스도 각 디렉토리 별로 용도가 다르다. 이 디렉토리의 구조와 용도에 대해 파악하면 추후 시스템 리소스나 파일을 쉽게 관리하고 유지할 수 있다.
리눅스는 다음과 같은 구조를 가진다.

| 디렉토리 | 설명 |
|---|---|
| / | 루트 디렉토리. 리눅스의 최상위 디렉토리이다. |
| bin | 실행파일 및 명령어들이 모여있다. |
| boot | 커널 및 부트로더. 부팅할 때 필요한 정보들이 저장되어 있다. |
| dev | 윈도우로 치자면 드라이버들이 모여있다고 볼 수 있다. 디바이스(사운드카드, 하드디스크드라이버 등)들이 저장되어 있다. |
| etc | 설정파일들이 저장된다. ex)웹서버 설치 후 웹서버 설정을 변경하고 싶으면 etc 디렉토리 아래에 있는 파일을 수정한다. |
| home | |
| lib | 리눅스에는 dll파일 대신 아카이브 파일, so 파일과 같은 파일이 존재한다. 이는 lib로 시작하는데, 이러한 lib파일들이 저장되는 디렉토리이다. +)dll이란? 공통된 제어부분이 호출될 때 사용되는 파일. 윈도우로 치자면 시스템에 대해 사용되는 공용 라이브러리들이 Windows System32라는 디렉토리에 저장되는데, 이와 용도가 같다. |
| media | 미디어 관련한 마운트 포인트 |
| mnt | media와 동일. |
| opt | 프로그램을 추가 설치할 때 opt라는 디렉토리 아래에 추가 설치된다. 하지만 항상 그렇지는 않다. 이는 패키지마다 살짝씩 다르다. usr/bin에 설치되기도 한다. |
| usr | 사용자 설치 프로그램이 설치된다. usr/local을 제일 많이 쓴다. 사용자가 어떤 패키지를 설치한다면 opt 혹은 usr/local/bin이나 usr/local/… 아래에 저장된다. |
| sbin | 크리티컬하여 따로 관리가 필요한 명령어들이 sbin 아래에 모이게 된다. |
| srv | 잘 안쓴다 |
| tmp | 임시 파일이 저장된다. 버퍼나 임시 데이터로 사용된다. 컴퓨터가 꺼지면 다 날아갈 수도 있다. |
| var | 로그파일이나 데이터 파일이 저장된다. |
| root | 관리자계정(root) |
| proc | 프로세스 정보들이 저장된다. 내가 지금 몇 번 프로세스를 사용하고 있다 를 알려준다. |
| run | 현재 돌아가고 있는 프로그램이 저장된다 |
이번 글에서는 리눅스의 개념에 대해 이해하고 이를 설치한 뒤 각각의 디렉토리에 대해 알아보는 내용을 다뤘다. 다음 글에서는 리눅스를 실제로 사용하는 방법에 대해 설명할 것이다.