해당 포스팅은 2022학년도 동계 겨울방학 중 수강했던 "Linux 운영체제의 이해와 활용" 특강을 듣고 정리한 내용입니다.
1. Linux(리눅스) 개요
1-1. 리눅스의 정의
- 리눅스란, 컴퓨터 운영체제 커널의 일종인 리눅스 커널을 사용하는 오픈 소스 유닉스 계열의 운영체제를 의미합니다.
- 커널(Kernel) : 커널은 운영체제의 핵심 요소로써 하드웨어(자원) 관리, 프로세스 관리 등 시스템 전반을 통제하는 역할을 가지고 있습니다.
1-2. 리눅스의 특징
(1) 독립된 플랫폼
- 다양한 프로세서를 지원함에 따라 여러 플랫폼에서 리눅스를 사용할 수 있습니다.
(2) 오픈 소스 기반을 통한 활발한 커뮤니티
- 오픈 소스 기반 운영체제로 많은 커뮤니티에서 리눅스의 소스 코드를 변경, 재배포할 수 있는 특징을 가짐에 따라 시간이 지날수록 더욱 강력한 운영체제로 변화하고 있습니다.
(3) 강력한 네트워킹 지원
- 리눅스 시스템을 바로 서버 시스템으로 사용하기 위해 몇 가지 환경설정을 진행해 주면 바로 서버 사이드 형태로 네트워크를 운영할 수 있으며 안정적인 인터넷 연결이 가능하다는 장점이 있습니다.
- 현재 기술한 내용 외에도 많은 특징들이 리눅스에 존재합니다.
1-3. 리눅스가 현업에서 중요한 이유?
(1) IT 인프라의 핵심 요소로 작용
- 특정 프로그램이나 기능, 시스템들은 누군가의 요구 사항에 따라 개발 / 구현이 진행됩니다.
- 특정 요구사항에 맞게 계획을 수립하고 주어진 상황, 문제에 맞게 IT 인프라(Structure)를 구성하며 인프라를 구성하는 요소로는 하드웨어, 소프트웨어, 네트워크, 데이터베이스, 보안 솔루션 등이 존재합니다.
- 이때 이러한 요소들을 제어하고 관리할 수 있는 핵심 운영체제로 리눅스가 사용됩니다.
(2) 네트워크 서비스를 위한 운영체제
- 웹 기반 서버, 데이터베이스 서버, 응용 프로그램을 위한 서버를 운영하기 위해 리눅스를 사용합니다.
(3) 컴퓨터 시스템과 운영체제의 동작 원리를 이해하기 위해 사용
- 리눅스를 처음 접하고, 운영체제를 처음 배우는 입장에서 컴퓨터 시스템, 운영체제의 원리와 동작 구조에 대해 학습할 때 좋은 효과를 기대할 수 있습니다.
1-4. Windows 운영체제에서 리눅스를 사용할 수 있는 방법
- 가상화 프로그램(가상 머신)을 통해 리눅스를 사용할 수 있습니다.
(1) VMWare Workstation을 사용합니다.
(2) Virtual Box를 이용할 수 있습니다. (실습 환경)
(3) 만약 Mac을 사용하고 있다면 Mac Parallels 가상화 프로그램을 이용하여 리눅스를 사용할 수 있습니다.
(4) Windows 운영체제에서 지원하는 WSL2(Windows Subsystem for Linux v2)를 사용하여 리눅스를 실행할 수 있습니다.
1-5. 리눅스 배포판(Linux distribution)
- 리눅스 배포판은, 순수하게 리눅스 커널만을 사용하는 것이 아닌 각자의 목적에 맞게 특정한 프로그램들을 패키징한 리눅스들이 존재하며 이를 리눅스 배포판이라고 합니다. 배포판에는 아래와 같은 계열들이 존재합니다.
(1) 레드햇(Red Hat) 계열
- 패키지 관리자로 yum을 사용하며 서버 사이드에서 가장 많이 사용되는 리눅스 운영체제입니다.
- CentOS, Oracle Linux 등...
(2) 데비안(Debian) 계열
- 패키지 관리자로 apt를 사용합니다. 데비안 계열보다 레드햇 계열이 더 상용적인 경향이 높습니다.
- Ubuntu, Kali linux 등...
2. Virtual Box에 실습 환경 구성하기
2-1. Virtual Box 설치
https://www.virtualbox.org/wiki/Downloads
- 위의 경로로 접속하여 버전을 선택한 후 운영체제에 맞게 설치를 진행합니다.
2-2. Kali Linux, CentOS 가상 머신으로 부팅하여 사용하기
(1) Virtual Box를 실행하여 "파일" → "가상 시스템 가져오기"를 클릭합니다.
(2) 열린 가상화 형식 계열(.ova, ovf) 파일을 선택합니다.
- 실습 환경에서 제공된 CentOS, Kali Linux 파일을 각각 따로 선택해 주어 2개의 가상 환경을 구성해야 합니다.
(3) .ova 파일을 선택한 후 가상 시스템의 자원을 설정해 줄 수 있습니다 해당 페이지에서는 RAM의 크기를 최소한 2,048 MByte 크기로 설정해 주고 "Finish"를 클릭하여 설정을 완료할 수 있습니다
- 현재 CentOS를 선택했으며 Kali linux도 (1)번 과정을 반복하여 동일하게 생성할 수 있습니다.
2-3. Windows에서 Kali Linux 실습환경에 접속하기 - SSH 사용
- CentOS도 아래와 같은 방법으로 동일하게 접속 가능합니다.
(1) SSH(Secure SHell)의 정의
- SSH이란, 동일한 네트워크상의 다른 컴퓨터에 로그인하거나, 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로토콜 또는 응용 프로그램을 의미합니다.
(2) 커맨드 창을 열고 nano 명령어로 인터페이스 파일을 열어 네트워크 셋팅을 진행합니다.
※ 현재 포스팅에서는 모든 설정이 완료된 후 포스팅을 진행하는 부분이라, 윈도우 프롬프트 라인에서 커맨드 라인을 입력하였지만, 실제로 적혀진 내용처럼 리눅스 터미널에 입력하면 정상적으로 처리됩니다.
(2) nano 편집기 창이 열리면, 아래 캡쳐 화면과 같이 내용을 수정해 줍니다.
- 이후 Ctrl + O 단축키를 통해 저장하고, Ctrl+ X 단축키로 nano 편집기를 빠져나옵니다.
(3) ifconfig 명령어를 통해 해당 192.168.56.111 주소임을 확인합니다.
(4) Windows 커맨드 프롬프트에 접속하여 ssh root@192.168.56.111을 입력하고 명령을 내리면 아래와 같이 현재 루트 계정에 대한 비밀번호가 설정되어 있으므로 비밀번호를 묻는 텍스트가 나타납니다.
- 설정된 비밀번호를 입력하고 엔터를 누릅니다.
(5) Windows 프롬프트에서 Kali Linux에 정상적으로 접속된 것을 확인할 수 있었습니다.
(6)
- 리눅스 지금 종료 : shutdown -h now
- 리눅스 리부팅 : (sudo) reboot now
======================================================================
해당 포스팅에 대해 내용 추가가 필요하다고 생각되면 기존 포스팅 내용에 다른 내용이 추가될 수 있습니다.
개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있습니다.
이에 대해 지적해 주시면 감사하겠습니다.
'컴퓨터 과학(Computer Science) > Linux' 카테고리의 다른 글
[Linux] - 웹 서버와 WAS, HTTP 통신(Cookie, Session, JWT, 요청과 응답) (0) | 2023.01.06 |
---|---|
[Linux] - 암호화 개념과 해시 함수(Hash function), 대칭키 암호화, 공개키 암호화 방식, SSL (0) | 2023.01.05 |
[Linux] - 리눅스 파이프 명령과 리다이렉션, 디렉토리 구조, TCP/IP 네트워크, 정보 보안의 뜻 (0) | 2023.01.04 |
댓글