더보기
올해안에 리눅스 마스터 2급 따기를 목표로 '세종사이버대학교 컴퓨터공학과·AI공학과' 유튜브 채널의 컴퓨터·AI공학과 리눅스마스터2급 자격증 특강 강의를 듣고 내용을 정리한 것입니다.
* 오타나 내용 오류시 댓글 남겨주시면 감사하겠습니다!
01. 리눅스 일반
1. 리눅스의 이해
(1) 리눅스 개요
(2) 리눅스 배포판의 특징
(3) 오픈소스 라이선스
2. 리눅스 설치
(1) 리눅스 설치
(2) 파티션과 파일시스템
(3) 부트 매니저
01. 리눅스 일반 - 2. 리눅스 설치
(1) 리눅스 설치
▶ 리눅스 설치의 개요
- 해당 배포판의 홈페이지에서 설치 파일 다운로드, 배포판에 따라 설치 환경 및 과정이 다름
- 리눅스 설치 유형
- Minimal(필수 패키지만)
- Desktop(개인용패키지, 문서작성 SW 등)
- Server(기본서버, DB서버, Web서버)
- Laptop(노트북용 패키지)
- 가상 호스트(KVM, XEN)
- Software Development Workstation(소스코드 컴파일, 개발 도구)
- 사용자 설정 시스템 - 디스크 파티션 시 모든 파일 삭제 → 설치 전 모든 파일 백업 필요
- 부팅 드라이브 다시 파티션 → 부트로더 재설치, 운영체제 전체 재설치
▶ 리눅스 설치 위한 하드웨어 정보와 호환성 점검
- 하드웨어 정보: CPU, Memory, HDD/SDD 및 Interface, 네트워크 장치 및 주소 설정 값, 모니터, 프린터, 키보드, 마우스 등
- 하드웨어 호환성: 장치 웹사이트(장치 드라이버, 설명서, 호환성 목록), PNP 기능 동작하지 않을 경우 대비
- 네트워크 설정 정보: 호스트명, 도메인명, IP주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소, 무선 네트워크 SSID/보안키
▶ 리눅스 설치 단계
- ① 설치 초기화면 (기본)
◦ Install CentOS7
◦ Test this media & install CentOS7 (파일 이상여부 체크 후 설치)
② 설치 초기화면 (Troubleshooting)
◦ Rescue a CentOS System
◦ Run a Memory test
◦ Boot from local drive
③ 언어선택: 한국어, 영어
④ 설치요약 확인:
- 현지화(시간, 언어,키보드)
- SECURITY
- 소프트웨어 (설치소스, 소프트웨어 선택)
- 시스템(파티션, 네트워크)
⑤ 날짜와 시간: 수동 설정, NTP(Network Time Protocol) → 시간 동기화 (일치) 필요 (장애대응, 분석/로깅 등에 필수)
⑥ 설치소스: 저장소(Repository) 서버 주소 (선택사항), yum이 업데이트 파일을 다운받기 위한 저장소 서버 주소
⑦ 설치 대상: 설치 시 사용할 특수 저장장치 (선택사항), SAN / FCoE / iSCSI, Multipath 등
⑧ 수동으로 파티션 설정: 기본 저장 장치 HDD/SDD 파티션 설정 (필수사항), 자동 혹은 수동 파티션 → 루트(/)와 swap (RAM의 2배)
⑨ 소프트웨어 선택: 리눅스 사용 목적에 따른 환경 결정, 최소 설치 / 인프라 서버 / 기본 웹 서버 / 가상화 호스트 / GNOME 데스크톱 등 패키지 그룹 결정
⑩ K DUMP 설정
◦ 커널 충돌(Crash) 발생 시 정보 수집 위한 데이터 저장 및 확인, 물리적 메모리 설정
⑪ 네트워크 설정 및 호스트명 지정
◦ 고정 주소 / 유동 주소, IP 주소, 서브넷 마스크, 게이트웨이 주소, DNS 서버 주소
⑫ 사용자 설정
◦ ROOT 암호
◦ 사용자 생성(암호지정)
(2) 파티션과 파일 시스템
▶ 파티션(Partition)의 개요
- 파티션: 물리적 디스크 → 여러 개의 논리적 디스크로 분할
- 독립적 파일 시스템 → 관리 효율성 (부팅 시간, 오류 점검 시간, 백업/복구), 관리 안정성 (시스템 손상 시 영향 최소화)
- 상태 정보 확인: /proc/partitions
▶ 파티션(Partition)의 구분
주 파티션 | ◦ 부팅이 가능한 기본 파티션 ◦ 하나의 하드디스크에 최대 4개의 주 파티션 분할 가능 ◦ 하드디스크를 4개 이상의 파티션으로 사용해야 할 때 하나의 확장 파티션을 설정하여 확장 파티션 안에 여러개의 논리 파티션을 분할하여 데이터 저장 |
확장 파티션 | ◦ 주 파티션 내에 생성, 하나의 물리적 디스크에 1개만 생성 ◦ 파티션 번호는 1~4번이 할당 ◦ 데이터 저장 영역을 위한 것이 아니라 논리 파티션을 생성 |
논리 파티션 | ◦ 확장 파티션 안에 생성되는 파티션 ◦ 논리 파티션은 12개 이상 생성하지 않는 것을 권고하며 5번 이후의 번호가 붙여짐 |
스왑 파티션 | ◦ 하드디스크의 일부를 메모리처럼 사용하는 영역 ◦ 주 파티션 또는 논리 파티션에 생성 ◦ 프로그램 실행 시 부족한 메모리 용량을 하드디스크로 대신, 리눅스 설치 시에 반드시 설치되어야 하는 영역 ◦ 스왑 영역의 크기는 메모리의 2배를 설정하도록 권고 |
▶ 디스크와 장치명
- 파티션 이름: 디스크의 장치 파일명 + 숫자
- 디스크와 장치명의 예: /dev/hda3 → /dev + /hd + a + 3
◦ /dev: 시스템 디바이스 파일들이 저장되는 디렉터리
◦ /hd: IDE 혹은 ATA(AT Attached) 방식
/sd: SCSI(Small Computer System Interface) 혹은 USB 방식
◦ a: 하나의 케이블에 연결된 디스크의 우선순위
◦ 3: 파티션 번호
1~4: primary 혹은 extended 파티션
5~ : logical 파티션 - 마운트(mount)시 지정된 장치명을 사용: 예) /dev/fd0, dev/hda 등
▶ 파일 시스템 (File System)의 개요
- 파일 시스템: 디스크의 파티션에 파일을 사용할 수 있도록 구성해 놓은 것 혹은 구성 방식 → 규칙, 구조
- 파일 시스템의 유형
◦ 리눅스 전용: ext1, ext2, ext3, ext4
◦ 저널링 파일 시스템: JFS, XFS
◦ 네트워크 파일 시스템: SMB, NFS
◦ 클러스터링 파일 시스템: GFS
◦ 장치 파일 시스템: IS9660, UDF
◦ 운영체제별 파일 시스템: (Windows) FAT32, NFTS, (Mac OS) HPFS
▶ LVM (Logical Volume Manager)
- LVM의 개요
◦ LVM: 다수의 물리적인 하드디스크를 논리적으로 통합하여 하나의 파일 시스템으로 구성하여 사용하는 방식
→ 큰 용량의 저장장치, 파티션 구성에 유연성
◦ LVM 구성 볼륨의 종류
- 물리 볼륨: 개별 물리적인 디스크
- 볼륨 그룹: 여러 개의 물리 볼륨을 하나의 그룹으로 구성
- 논리 볼륨: 볼륨 그룹의 일부를 논리 그룹으로 나누어 사용
▶ RAID (Redundant Array of Independent Disks)
- RAID의 개요
◦ RAID: 여러 개의 물리적 디스크를 하나의 논리적 디스크로 구성하여 사용하는 방법
→ 데이터 분할 저장, 데이터 중복 저장, 오류 관리 → 고용량, 신뢰성, 성능 향상
◦ RAID 구성 방식 (RAID 0 ~ RAID 6 등)
- RAID 0: 스트라이핑, 디스크에 나누어 저장 → 고용량, 빠른 I/O, 고장에 취약
- RAID 1: 미러링, 디스크에 중복 저장 → 결함 허용, 2배의 저장 공간 필요
- RAID 0 + 1: 스트라이핑 후 미러링, 빠른 I/O, 느린 복구 시간
- RAID 1 + 0: 미러링 후 스트라이핑, 손실된 데이터의 빠른 복원
▶ fdisk - 파티션 관리 명령어
- 주요 기능: 파티션의 생성, 수정, 삭제
- 기본 사용법: fdisk 장치명 → fdisk sdb
◦ a: 부팅 파티션 설정
◦ l: 지원하는 파티션 목록 표시
◦ n: 새로운 파티션 생성
◦ t: 파티션 종류 변경
◦ w: 파티션 정보 저장
◦ p: 파티션 정보 확인
◦ q: 종료
(3) 부트 매니저 - 리눅스 부팅 과정
▶ 리눅스 부팅 과정의 주요 순서
- ① ROM-BIOS: POST(Power On Self Test), 부트로더(LILO, GRUB) 로딩
② 부트로더: 리눅스 커널 선택 및 로딩, 커널에 의한 부팅 시작, 스와퍼 프로세스 호출
③ 스와퍼 프로세스: 장치 드라이브 초기화, init 프로세스 수행
④ init 프로세스: /etc/inittab의 내용에 따라 필요한 프로세스를 실행
⑤ 부팅 레벨 결정
⑥ rc.sysinit 스크립트: /etc/rc.d/rc.sysinit 스크립트 실행 → 시스템 초기화 작업
⑦ rcX.d 스크립트: /etc/rc.d/rcX.d 스크립트 실행 → 부팅 레벨에 따른 스크립트 순차 실행
⑧ X 윈도우: 부팅 레벨이 5일 경우 X 윈도우 실행 (GUI)
▶ 부트로더(bootloader, bootstrap loader, boot manager)의 개요
- 운영체제를 주기억장치로 적재하는 프로그램 → 필요한 초기 작업, 운영체제(멀티부팅)를 주 메모리로 복사, 운영체제 실행
- 임베디드 시스템 부트로더: PC BIOS와 OS Loader 기능 수행
- 부트로더의 저장 위치: MBR(Master Boot Record), 하드디스크의 첫번째 섹터 (부트 섹터), 512bytes, 주 파티션마다 고유의 부트 섹터가 할당됨.
▶ 부트로더의 종류
- LILO(Linux Loader): 리눅스 전용
- GRUB2(Grand Unified Bootloader version 2)
◦ 편리한 설정 및 사용, 대화형 UI, /boot/grub2/grub.cfg 읽기전용 설정파일 (/etc/grub2.cfg로 링크)
◦ /etc/default/grub과 /etc/grub.d로 환경 설정 → grub2-mkconfig로 적용
◦ 부팅 시 부트 정보 수정 지원, 멀티부팅, 파일 시스템과 커널 실행 형식 인식 후 부팅
▶ 런레벨(Run Level)의 개요
- 서비스(프로그램)의 실행을 단계별로 구분, 0~6의 총 7개의 레벨로 구성 → /etc/inittab에 설정, init 프로세스가 참고
◦ 런레벨 0: Halt, 시스템 중지, 기본값으로 설정 불가 (init 0과 동일)
◦ 런레벨 1: Single User mode, 네트워크 등 사용하지 않음, 시스템 복구 등 관리 목적, root 계정으로 로그인
◦ 런레벨 2: Multi-User, without NFS, 네트워크를 사용하지 않음
◦ 런레벨 3: Full Multi-User, CLI, 일반적인 다중 사용자 모드
◦ 런레벨 4: Unused, 사용자가 정의해서 사용
◦ 런레벨 5: X11, GUI 다중 사용자, 최근 리눅스의 기본값
◦ 런레벨 6: Reboot, 시스템 재 부팅, 기본값으로 설정 불가 (init 6과 동일) - /etc/inittab 형식
◦ id(코드/이름) : runlevel : action(프로세스 실행 지시어) : process(실행 프로세스) → runlevel 명령으로 레벨 확인
▶ 리눅스의 로그인
- 로그인 과정
① 패스워드 확인 → /etc/passwd의 패스워드 필드
② Shell 설정 실행 → PATH 경로, Terminal 설정, 환경변수, 로그인 시 실행 명령, 로그인 메시지 출력
③ 로그인 Shell 실행 → /etc/passwd의 마지막 필드 - 로그인 메시지 설정 파일
◦ /etc/issue (로그인 전 콘솔 접속 시), /etc/issue.net (로그인 전 원격 접속 시)
◦ /etc/motd (로그인 후 메시지) - Shell의 종류와 프롬프트
◦ sh (본셸, $), csh (C셸, %), ksh (콘셸, $), bash (배시셸, $)
◦ Shell 프로그램 저장 위치: /bin/
▶ 리눅스의 로그아웃
- 로그아웃 방법: logout, exit, CTRL+D
- 전체 사용자 로그아웃 타임아웃: /etc/profile의 TMOUT 값 설정 (초)
특정 사용자 로그아웃 타임아웃: ~/.bashrc의 TMOUT 값 설정 (초)
→ source 명령으로 설정 값 적용
728x90
'Operating System(OS) > 리눅스 마스터 2급 이론 정리' 카테고리의 다른 글
리눅스마스터 2급 자격증 이론 내용 정리 / 02. 리눅스 기본 명령어 - 4. 기타 명령어 (0) | 2024.08.04 |
---|---|
리눅스마스터 2급 자격증 이론 내용 정리 / 02. 리눅스 기본 명령어 - 3. 리다이렉션과 정규 표현식 (0) | 2024.08.04 |
리눅스마스터 2급 자격증 이론 내용 정리 / 02. 리눅스 기본 명령어 - 2. 디렉터리 및 파일 관련 명령어 (0) | 2024.08.04 |
리눅스마스터 2급 자격증 이론 내용 정리 / 02. 리눅스 기본 명령어 - 1. 사용자 생성 및 계정 관리 (0) | 2024.08.04 |
리눅스마스터 2급 자격증 이론 내용 정리 / 01. 리눅스 일반 - 1. 리눅스의 이해 (0) | 2024.08.02 |