본문 바로가기

Server

CH1. 유닉스/리눅스 이해, 리눅스 개요와 환경설정

반응형

CH1. 유닉스/리눅스 이해, 리눅스 개요와 환경설정

01 유닉스/리눅스의 개요

1-1. 유닉스와 리눅스

  • 유닉스 Unix
    • 리눅스가 탄생하기 이전 운영체제
    • 지금도 많이 사용되는 운영체제 중 하나이지만 높은 비용 지불 필요
    • ex. IBM의 AIX, HP의 HP/ UX, 오라클의 Solaris
    • 포털이나 대기업 서버 → 보안성 good
  • 리눅스 Linux
    • 무료 유닉스 개념 (무료 소스코드)
    • 유닉스와 거의 동일한 운영체제이면서 무료, 어떤 면에서는 유닉스보다 뛰어남

1-2. 유닉스

  • 유닉스 시스템의 역사
    • 1969
    • : AT&T 산하의 벨 연구소에서 켄 톰슨데니스 리치가 개발
    • 1973
      • 상용 유닉스 (시스템V) 계열BSD 계열로 분리하여 각각 발전
    • : C언어 이용해 재개발 → 고급언어로 작성한 최초의 OS
    • 1989→ 현재 사용하는 대부분의 유닉스 기반
    • : AT&T와 썬마이크로시스템즈가 두 계열의 장점을 결함해 SVR4(System V)를 공동개발
  • 특징
    • 대화형 시스템
    • 다중 작업용 시스템 (Multi-Tasking)
    • 다중 사용자 시스템 (Multi-User)
    • 계층적 파일 시스템
    • 높은 이식성, 확장성, 개방성
    • 가상 메모리
    • 부가적 기능 제공이 다양
  • 구조
    • 커널 (Kernel)
    • 컴퓨터 자원 관리 (프로세스, 메모리, 파일, 통신, 주변장치 관리)
    • 셸 (Shell)
    • 사용자 인터페이스 제공, 사용자의 명령을 입력 받아 처리한 후 결과 출력
    • 유틸리티&응용프로그램
    • 각종 프로그래밍 개발 도구, 문서 편집도구 등등

1-3. 리눅스의 탄생

  • 커널 kernel
    • 리누스 토발즈가 MINIX(교육용 OS) 참고해 리눅스 커널 0.01 버전을 작성
    • 인터넷에 소스 코드 공개 → 리눅스의 시초
    • 통상적인 리눅스는 토발즈가 만든 커널에 컴파일러, 셸, 기타 프로그램이 조합된 배포판
    • 배포판은 전 세계적으로 수백 가지가 넘지만, 모두 토발즈가 제작한 커널을 사용
      • → 대표적인게 우분투 리눅스

1-4. GNU 프로젝트

  • 대표적인 리눅스 대표판
    • openSUSE
    • debian
    • lubuntu
    • ubuntu
    • xubuntu
    • archlinux
    • fedora
    • kubuntu
  • GNU 프로젝트의 목표, FSF
    • 모두가 공유할 수 있는 소프트웨어를 만드는 것이 목표
    • 1985년 스톨먼은 GNU 프로젝트에서 제작한 소프트웨어를 지원하면서 누구든 소프트웨어를 자유롭게 사용할 수 있도록 자유소프트웨어재단(Free Software Foundation, FSF) 설립
  • GPL(General Public License)
    • FSF에서 제공하는 자유 소프트웨어 대부분의 수정 및 공유를 보장하는 가이드
    • GPL은 소프트웨어 사용/수정/재배포/수익 창출에 대한 자유의 개념 내포
      • → 수정한 소프트웨어로 수익 창출 시, 소스 코드를 공개해야 함

1-5. 커널

  • 커널의 버전 체계 & 릴리즈
    • 안정 버전 (Stable Version)
    • : 이미 검증된 안정적인 개발 완료 코드로 구성
    • 메인라인 버전 (Mainline Version)개발 중인 최신 커널 트리로, 리누스 토르발스가 직접 관리프리패치 버전이 메인라인 버전에서 나옴
    • 안정 버전이 나오기 전에 추가된 기능을 미리 접하고 싶을 때 사용
    • : 토르발스가 개발 중인 버전
    • 프리패치 버전 (Prepatch Version)메인라인이 다음 안정 버전으로 넘어가기 전에 선공개되는 버전
    • : 안정 버전이 나오기 전에 추가된 기능을 미리 접하고 싶을 때 사용
    • 장기 지원(LTS, Long-Term Support) 버전서버나 임베디드 시스템 등 장기적인 안정성이 중요한 환경에서 주로 사용
    • 특정 안정 버전 중에서 커뮤니티가 장기적으로(2년 이상, 어떤 경우엔 6년 이상) 유지·보수를 하는 버전
  • 커널 버전 표기

##.##.##

- ##: 주버전 (Major Version)
- ##: 부버전 (Minor Version)
- ##: 패치 버전 (Patch Version)

- 2025년 3월을 기준으로 가장 최신 커널은 6.13.6 버전
- 파일 이름에 붙은 숫자 6.13.6의 6은 주버전 (Major Version), 13은 부버전 (Minor Version), 6은 패치 버전 (Patch Version)을 의미
  • 커널 버전 업그레이드: 배포판에 포함된 기본 커널을 사용자가 직접 최신 커널로 업그레이드 가능
  • = 커널 업그레이드/컴파일

 

02 우분투 리눅스 배포판

2-1. 데비안 리눅스와 우분투 리눅스

  • 데비안 리눅스
    • 유명한 리눅스 배포판 중 하나
    • 1993년에 이언 머독(Ian Murdock)이 창시한 데비안 프로젝트(Debian Project)에서 제작
    • 데비안 리눅스의 정식 버전은 1996년 1.1 버전(코드명 Buzz)으로 시작, 2019년 10 버전 발표
    • 패키지의 설치와 업그레이드가 상당히 단순
    • apt 프로그램을 이용하여 소프트웨어 설치나 업데이트가 자동으로 진행됨
  • 우분투 리눅스
    • 데비안 리눅스를 기초로 유니티(Unity) 데스크톱 환경을 사용하는 리눅스 배포판
    • 첫 버전을 출시한 이후 계속 업그레이드되며, 인기 리눅스 배포판 중 하나
    • 기본적으로 우분투 데스크톱 & 우분투 서버를 배포
    • 쿠분투(Kubuntu), 우분투 킬린(Ubuntu Kylin), 루분투(Lubuntu), 주분투(Xubuntu) 등 다양한 배포판 개발, 이를 통틀어 ‘우분투 플레이버스(Ubuntu Flavours)’라고 부름

2-2 우분투 18.04 LTS 설치에 필요한 하드웨어

  • 우분투 리눅스 버전 주기
    • 일반 버전은 약 6개월마다
    • LTS(장기, 5년) 버전2년마다 새로운 버전 발표
    • ex.
      • 우분투 15.10: 2015년 10월에 발표한 일반 버전
      • 우분투 18.04 LTS: 2018년 4월에 발표한 장기 지원 버전
  • 최소/권장 하드웨어 사양
    • CPU: 2GB 이상의 듀얼코어 프로세서
    • 하드디스크의 여유 공간: 25GB 이상 (추가 설치에 따라 달라질 수 있음)
    • 메모리: 2GB 이상
    • 그래픽 카드: 1024×768 이상의 해상도 지원

2-3 우분투 18.04 LTS에서 사용되는 주요 패키지

‘Ubuntu’는 남아프리카 어느 부족의 말로, ‘너가 있으니 나도 있다’라는 뜻

03 가상머신의 개요

3-1. 가상머신 개념

  • VM 가상머신= 가상머신 소프트웨어
  • = 가상머신 프로그램
  • : PC 1대만으로 여러 대의 PC를 운영하는 것처럼 만드는 방법
  • 실습에서 사용할 환경 안내원래 PC에 설치된 윈도우까지, 총 4개의 운영체제가 PC 1대에서 가동되는 것과 같은 원리
  • PC 1대에서 리눅스 3대를 구동(리눅스 서버, 리눅스 서버(B), 리눅스 클라이언트)

3-2. 가상머신 SW 개념

  • 가상머신 소프트웨어
    • 컴퓨터에 설치된 운영체제(호스트 OS) 안에 가상의 컴퓨터를 만들고 이 가상의 컴퓨터 안에 또 다른 운영체제(게스트 OS)를 설치·운영할 수 있도록 제작된 소프트웨어
    • 호스트 운영체제(host operating system) = 호스트 OS
    • : PC에 설치되어 있는 윈도우
    • 게스트 운영체제(guest operating system) = 게스트 OS
    • : 가상머신에 설치한 운영체제
  • 일반적인 환경과의 비교호스트 컴퓨터에는 윈도우가 설치되어 있고, 기존에 설정된 IP주소를 이용하여 네트워크 카드를 통해 인터넷에 접속 가능
  • com 1대, OS 1대로 구성된 환경

3-3. 가상머신 실습 환경

  • 가상머신 실습 환경
    • 가상머신(게스트 컴퓨터) 3대를 만들고 리눅스 3대 설치
    • 가상머신 3대에는 가상 IP 주소를 할당하고, 가상 라우터를 통해 가상머신 3대를 하나의 네트워크로 묶어 동일한 네트워크 환경으로 사용
    • → 윈도우(호스트 OS) 1대와 리눅스 3대로 이루어진 환경이 만들어짐

3-4. 가상머신 소프트웨어의 종류

  • 대표적인 가상머신 소프트웨어
    • VMware Workstation Pro
    • VMware Workstation Player
    • → 실습에서는 사용 기간에 제한이 없는 VMware Workstation Player 사용

04 VMware 설치

4-1. VMware 설치 전 준비 사항

  • VMware 설치 전 준비 사항
  • 준비 사항

실습

  • [실습 1-1] VMware Workstation Player 설치하기
    • VMware Workstation Player 다운로드하기
    • VMware Workstation Player 설치하기

05. 가상머신의 생성

5-1. 가상머신의 겉모양

  • 가상머신 생성 후 미리보기
    • 가상머신의 이름은 Ubuntu Linux, 컴퓨터는 꺼져 있고(Powered Off) 가상머신에 설치할 게스트 OS는 Ubuntu 64-bit
    • [Edit virtual machine settings]를 클릭하면 가상머신의 하드웨어 환경 세부사항 확인 가능
    • [Hardware] 탭에서 가상머신에 장착된 메모리, CPU 개수, 하드디스크, CD/DVD, 플로피 디스크, 네트워크 카드, USB 장치, 사운드 카드, 프린터, 모니터 등 가상의 하드웨어 장치 확인
    • 가상머신에서 사용할 메모리(RAM) 2GB 설정 확인 → ‘가짜’라는 점을 제외하면 완전한 컴퓨터와 마찬가지

5-3. 가상머신 생성

  • VMware 프로그램으로 가상머신 생성
    • 앞으로 만들 가상머신은 *.vmdk라는 확장명을 포함한 몇 개의 관련 파일로 존재
    • 가상머신을 생성할 때마다 각각의 가상머신이 지정한 폴더에 생성될 예정
  • [실습 1-2] VMware로 가상머신 생성하기
    • 3가지 가상머신 생성하기
    • Server, Server(B), Client 폴더 생성
    • 가상머신을 새로 만드는 방법 3가지
      1. [VMware 초기 화면에서 왼쪽의 Home 아이콘] - [Create a New Virtual Machine]
      2. VMware 메뉴에서 [Player]-[File]-[New Virtual Machine] 선택
      3. VMware 초기 화면에서 왼쪽의 Home 아이콘을 선택한 후 마우스 오른쪽 버튼 클릭, [Create a View VM] 선택
      가상머신 “Server” 생성하기
    • 메모리 할당량 변경하기
      • 메모리 할당량 2048MB
      • CPU를 여러 개 할당한다고 해도 가상머신의 성능에는 큰 의미가 없으니 1로 유지
      • HD는 20GB로 충분
      • Device status의 ‘Connect at power on’에 체크 표시
      • 기본 설정인 NAT 방식 사용
      • USB 컨트롤러, 사운드 카드, 프린터 각각의 장치 선택한 후 클릭하여 제거
    • 설치된 파일 확인하기
    • C:\Linux\Server\ 폴더 확인, ***.vmdk**가상 하드디스크 파일이며 최대 20GB까지 확장 가능
    • 가상 머신 제거하고 다시 불러오기
      • C:\Linux\Server\Server.vmx를 열기
      • 메뉴에서 [Player]-[File]-[Open] 선택
    • 가상머신 부팅하는 방법 4가지
      1. 오른쪽 창에서 Play virtual machine 아이콘 클릭
      2. 메뉴에서 [Player]-[Power]-[Power On] 선택
      3. 마우스 오른쪽 버튼을 클릭하여 ‘Power On’ 선택
      4. 메뉴 중 초록색 아이콘(▶) 클릭
    • 마우스 포인터 움직이게 하는 방법
    • Ctrl + Alt ****를 눌렀다 떼면 → 마우스 포인터가 보임
    • 가상머신 전원 끄기
    • [Player]-[Power]-[Shut Down Guest] 선택
    • 나머지 가상머신 하드웨어 준비하기

06 VMware의 특징과 실습 준비

6-1. VMware 사용의 장점

  • VMware 사용의 장점
    • 컴퓨터 1대에 실무와 비슷한 네트워크 환경 구성
      • 실무 환경에서 사용되는 각종 리눅스 네트워크 서버 기능을 컴퓨터 1대에 구축 가능
    • 운영체제의 특정 시점을 저장하는 스냅숏 기능
      • 중요한 시점을 저장하는 기능, 필요시 언제든 저장 시점으로 돌아갈 수 있음
    • 여러 개의 하드웨어를 장착하여 테스트 가능
      • VMware에서는 사용자가 원하는 용량의 가상 하드디스크를 여러 개 장착 가능
    • 현재 상태를 저장했다가 추후에 이어서 작업하게 해주는 Suspend(일시 중지) 기능
      • Suspend 기능을 이용하면 현재의 가상머신 상태를 그대로 보관하여 우선 종료하고, 추후에 가상머신을 다시 가동하여 Suspend 상태부터 이어서 작업 가능
    • VMware를 사용하기에 적합한 경우
      • 실무와 비슷한 네트워크 환경을 구성하여 여러 대의 서버를 구축하려 할 때
      • 여러 가지 운영체제를 설치하여 학습하려 할 때
      • 새로운 시스템을 도입하기 전에 테스트해보려 할 때

6-2. 원활한 실습을 위한 사전 준비

  • VMware 핫 키(Hot Key)
    • 게스트 OS로 마우스 포인터(키보드 포함)를 이동하려면 가상머신 화면의 아무 곳이나 마우스로 클릭, 호스트 OS로 마우스 포인터를 다시 이동하려면 Ctrl + Alt를 누르면 됨
    • Ctrl + Alt + Del은 게스트 OS에서 누르더라도 호스트 OS에 영향을 줌
      • 게스트 OS에 적용하려면 Ctrl + Alt + Insert를 누르거나
      • VMware 메뉴에서 [Player] – [Send Ctrl + Alt + Del]을 선택
  • : 여러 가지 운영체제를 설치하여 학습할 때 유용
  • VMware Player 종료 시 옵션
    • 오른쪽 상단의 X를 클릭하면 가상머신의 현재 상태를 일시 정지(Suspend)하거나 종료(Power Off)할 수 있는 화면이 나타남
  • 전체 화면 사용
    • 게스트 OS를 전체 화면에 꽉 채워서 사용하고 싶다면 VMware 창의 최대화 아이콘을 클릭하거나 마우스 포인터를 VMware 내부로 옮긴 뒤 Ctrl + Alt + Enter를 누름
  • 여러 대의 가상머신 동시 부팅
    • VMware Player를 여러 개 실행하고(여러 개의 VMware Player 창을 각각 실행해야 한다는 의미) 각각 다른 가상머신을 부팅하면 됨

실습

  • [실습 1-3] VMware의 닫기 기능 확인하기
    • 가상머신 부팅하기
    • Suspend 기능 실행하기
    • Power off 기능 실행하기
  • [실습 1-4] 전체 화면 사용하기
    • 가상머신 부팅하기
    • [Player]-[Full Screen]을 선택해서 full screen으로 전환하기
반응형