카테고리 없음

[리눅스 마스터 2급] 리눅스 일반 - 리눅스 설치

햄스타배 2025. 8. 4. 00:07
- 기본 설치 및 유형
- 파티션과 파일 시스템
- Boot Manager

 

 

리눅스 설치

리눅스 설치의 개요

배포판에 따라 설치 환경 및 과정이 다름

  • 리눅스 설치 유형
    • Minimal: 필수 패키지만
    • Desktop: 개인용 패키지, 문서 작성 SW 등
    • Server: 기본서버, DB서버, Web서버
    • Laptop: 노트북용 패키지
    • 가상 호스트: KVM, XEN
    • Software Development Webstation: 소스코드 컴파일, 개발도구
    • 사용자 설정 시스템
  • 디스크 파티션 시 모든 파일 삭제 → 설치 전 모든 파일 백업 필요
  • 부팅 드라이브 다시 파티션 → 부트로더 재설치, 운영체제 전체 재설치
  • 부팅 드라이브: OS를 탑재, 로딩해서 실행하게 함

리눅스 설치 위한 하드웨어 정보와 호환성 점검

  • 하드웨어 정보
  • CPU, Memory, HDD/SDD 및 Interface,네트워크 장치 및 주소 설정값, 모니터, 프린터, 키보드, 마우스
  • 하드웨어 호환성 장치 웹사이트(장지 드라이버, 설명서, 호환성 목록), PNP 기능 동작하지 않을 경우 대비 PNP(plug and play): 컴퓨터에 하드웨어를 연결했을 때 운영체제가 자동으로 장치를 인식하고 필요한 드라이버를 설치하여 사용자가 별도의 설정 없이 바로 사용할 수 있게 해주는 기능
  • 네트워크 설정 정보: 호스트명, 도메인명, IP주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소, 무선 네트워크 SSID/보안키

리눅스 설치 (CentOS)

  1. 설치 초기 환경(기본)
    1. install CentOS7
    2. Test this media & install CentOS7 (파일 이상여부 체크 후 설치)
  2. 설치 초기 화면(Troubleshooting)
    1. Recuse a CentOS System
    2. Run a Memory test
    3. Boot from local drive
  3. 언어 선택
  4. 설치요약 확인 : 현지화(시간, 언어, 키보드), SECURITY, 소프트웨어(설치소스, 소프트웨어 선택),시스템(파티션, 네트워크)
  5. 날짜와 시간 : 수동 설정, NTP(Network Time Protocol) → 시간 동기화(일치) 필요(장애대응, 분석/로깅 등에 필수)
  6. 설치소스 : 저장소(Repository) 서버주소(선택사항), yum이 업데이트 파일을 다운받기 위한 저장소 서버 주소
  7. 설치대상 : 설치 시 사용할 특수 저장장치(선택), SAN / FCoE / isCSI, Multipath 등
  8. 수동으로 파티션 설정 : 기본 저장 장치(HDD/SDD 파티션 설정(필수), 자동 혹은 수동 파티션 → root&swap(RAM 2배 권장)
  9. 소프트웨어 선택 : 리눅스 사용 목적에 따른 환경 결정, 최소 설치/인프라 서버/기본 웹 서버/가상화 호스트/GNOME 데스크톱 등 패키지 그룹 설정
  10. K DUMP 설정
  11. : 커널 충돌(Crash)발생 시 정보 수집 위한 데이터 저장 및 확인, 물리적 메모리 설정
  12. 네트워크 설정 및 호스트명 지정
  13. : 고정주소 / 유동주소, IP 주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소 등
  14. 사용자 설정
  15. ROOT 암호, 사용자 생성(암호지정)

파티션과 파일 시스템

파티션의 개요

파티션: 물리적 디스크를 여러 개의 논리적 디스크로 분할한 것

독립적 파일 시스템은 관리 효율성(부팅 시간, 오류 점검 시간, 백업/복구), 관리 안전성(시스템 손상 시 영향 최소화)면에서 장점이 있다.

상태 정보 확인: /proc/partitions

 

파티션의 구분

 

파티션과 파일 시스템

디스크와 장치명

  • 파티션 이름: 디스크의 장치 파일명 + 숫자
  • 디스크와 장치명 예: /dev/hda3 → /dev + /hd + a + 3
    • /dev : 시스템 디바이스 파일들이 저장되는 디렉터리
    • /hd: IDE 혹은 ATA(AT Attached) 방식
    • /sd: SCSI(Small Computer System Interface) 혹은 USB 방식
    • a: 하나의 케이블에 연결된 디스크의 우선순위
    • 3: 파티션 번호
      • 1~4: primary or extended
      • 5~: logical
  • 마운트(mount)시 지정된 장치명을 사용 ex) /dev/fd0, /dev/hda

파일 시스템(File System)의 개요

파일 시스템: 디스크의 파티션에 파일을 사용할 수 있도록 구성하는 방식 → 규칙, 구조

파일 시스템의 유형

저널링: 파일시스템에 오류 발생시 복구가 가능하도록 관리

네트워크: 다른 PC에 있는 파일 시스템을 마운트해서 사용(remote)

장치 파일 시스템: CD ROM, DVD와 관련

운영체제별: 윈도우(FAT32, NFTS), MAC(HPFS)

 

LVM(Logical Volume Manager)

물리적인 HDD를 어떻게 활용하는가? → 논리적으로 재구성!

LVM의 개요

LVM: 다수의 물리적인 하드디스크를 논리적으로 통합하여 하나의 파일 시스템으로 구성하여 사용하는 방식

→ 큰 용량의 저장장치, 파티션 구성에 유연성

LVM 구성 볼륨의 종류

  • 물리 볼륨: 개별 물리적인 디스크
  • 볼륨 그룹: 여러 개의 물리 볼륨을 하나의 그룹으로 구성
  • 논리 볼륨: 볼룸 그룹의 일부를 논리 그룹으로 나누어 사용

RAID

: 여러개의 물리적 디스크를 하나의 논리적 디스크로 작동하게 하는 기술

→ 데이터 분할 저장, 데이터 중복 저장, 오류 관리 → 고용량, 신뢰성, 성능 향상

RAID 구성 방식(RAID0 ~ RAID6)

  • RAID 0: 스트라이핑, 디스크에 나누어 저장 → 고용량, 빠른 I/O, 고장에 취약
  • RAIID 1: 미러링, 디스크 중복 저장 → 결함허용, 2배의 저장 공간 필요
  • RAID 0+1: 스트라이핑 후 미러링, 빠른 I/O, 느린 복구 시간
  • RAID 1+0: 미러링 후 스트라이핑, 손실된 데이터의 빠른 복원

 

fdisk: 파티션 관리 명령어

파티션의 생성, 수정, 삭제

기본 사용법: fdisk 장치명

a 부팅 파티션 설정 w 파티션 정보 저장
l 지원하는 파티션 목록 표시 p 파티션 정보 확인
n 새로운 파티션 생성 q 종료
t 파티션 종류 변경    

 

 

Boot Manager

리눅스 부팅 과정

  1. ROM-BIOS: POST(Power On Self Test), 부트로더(LILO, GRUB) 로딩
  2. 부트로더: 리눅스 커널 선택 및 로딩, 커널에 의한 부팅 시작, 스와퍼 프로세스 호출
  3. 스와퍼 프로세스: 장치 드라이브 초기화, init 프로세스 수행
  4. init 프로세스: /etc/inittab의 내용에 따라 필요한 프로세스 실행
  5. 부팅 레벨 결정
  6. rc.sysinit 스크립트: /etc/rc.d/rc.sysinit 스크립트 실행 → 시스템 초기화 작업
  7. rcX.d 스크립트: /etc/rc.d/rcX.d 스크립트 실행 → 부팅 레벨에 따른 스크립트 순차 실행
  8. X윈도우: 부팅레벨이 5일 경우 X윈도우 실행(GUI)

부트로더

부트로더(bootstrap loader, boot manager)의 개요

운영체제를 주기억장치로 적재하는 프로그램 → 필요한 초기 작업, 운영체제(멀티부팅)를 주메모리로 복사, 운영체제 실행

임베디드 시스템 부트로더: PC BIOS와 OS Loader 기능 수행

부트로더의 저장 위치: MBR(Master Boot Record), 하드디스크의 첫번째 섹터(부트 섹터), 512byte 주 파티션마다 고유의 부트 섹터가 할당됨

부트로더의 종류

  • LILO(Linux Loader): 리눅스 전용
  • GRUB2(Grand Unified Bootloader version 2)/etc/default/grub과 /etc/grub.d로 환경 설정 → grub2-mkconfig로 적용
  • 부팅 시 부트 정보 수정 지원, 멀티부팅, 파일 시스템과 커널 실행 형식 인식 후 부팅
  • 편리한 설정 및 사용, 대화형 UI, /boot/grub2/grub.cfg 읽기전용 설정파일(/etc/grub2.cfg로 링크)

런레벨(Run Level)

런레벨의 개요

서비스(프로그램)의 실행을 단계별로 구분, 7개 레벨(0~6) → /etc/inittab에 설정, init 프로세스가 참고

⭐ 런레벨0과 6은 기본값 설정 불가

런레벨0 Halt, 시스템 중지, 기본값으로 설정 불가(init 0과 동일)
런레벨1 Single User mode, 네트워크 등 사용하지 않음, 시스템 복구 등 관리 목적, root 계정 로그인
런레벨2 Multi User, without NFS, 네트워크 사용X
런레벨3 Full Multi User, CLI, 일반적인 다중 사용자 모드
런레벨4 Unused, 사용자가 정의해서 사용
런레벨5 X11, GUI 다중 사용자, 최근 리눅스의 기본값
런레벨6 Reboot, 시스템 재부팅, 기본값으로 설정 불가(init 6과 동일)

/etc/inittab 형식

  • id(코드/이름): runlevel : action(프로세스 실행 지시어) : process(실행 프로세스)

로그인과 로그아웃

리눅스의 로그인

  • 로그인 과정
    1. 패스워트 확인 → /etc/passwd의 패스워드 필드
    2. Shell 설정 실행 → PATH 경로, 터미널 설정, 환경변수, 로그인 시 실행명령, 로그인 메시지 출력
    3. 로그인 Shell 실행 → /etc/passwd의 마지막 필드
  • 로그인 메시지 설정 파일/etc/motd(로그인 후 메시지)
  • /etc/issue(로그인 전 콘솔 접속 시), /etc/issue.net(로그인 전 원격 접속 시)
  • Shell의 종류와 프롬프트sh(본셸, $), csh(C셸, %), ksh(콘셸, $), bash(배시셸, $)
  • Shell 프로그램 저장 위치: /bin/
  • shell: 사용자에게 명령어를 입력받아 커널에 처리를 요청하고 커널이 처리한 결과를 사용자에게 알려줌

리눅스의 로그아웃

  • 로그아웃 방법: logout, exit, CTRL+D
  • 전체 사용자 로그아웃 타임아웃: /etc/profile 의 TMOUT 값 설정(초)
  • 특정 사용자 로그아웃 타임아웃 ~/bashrc의 TMOUT 값 설정(초)

→ source 명령으로 설정 값 적용