01. 리눅스 일반 - 2

castlehi·2022년 2월 24일
1

LinuxMaster Level2

목록 보기
2/12
post-thumbnail

02. 리눅스의 설치

Section 1 : 리눅스 설치 및 유형

배포판 설치

  • 사용자 지정 설치를 제외한 다른 유형은 자동으로 하드디스크를 재구성하므로 기존 자료가 모두 삭제된다
  • 플러그 앤 플레이(Plug and Play) 기능을 이용하여 자동으로 하드웨어를 검색

Section 2 : 리눅스 부트

부트 매니저(Boot Manager)

  • 필요로 하는 운영체제를 선택하여 부팅하는 기능

리눅스 부팅 과정

단계진행 과정설명
1단계ROM-BIOS- POST(Power On Self Test) 과정 후 하드웨어 이상 유무 검사한 후 에러 발생 시 알림
- 부트 로더 로딩
2단계부트 로더- 커널 로딩 후, 스와퍼 프로세스 호출
- LILOGRUB가 있음
3단계스와퍼 프로세스-장치들의 드라이버 초기화
- 'init' 프로세스 실행
4단계'init' 프로세스- '/etc/inittab' 파일 읽음
5단계부트 레벨 결정- 부트 레벨 결정
6단계'rc.sysinit' 스크립트 실행- 'etc/rc.d/rc.sysinit 스크립트 실행하여 시스템 초기화 작업 진행
7단계'rcx.d' 스크립트 실행- 'etc/rcx.d' 스크립트 실행하여 해당 부트 레벨 스크립트 순차적으로 진행
8단계'X윈도 실행'- 부트 레벨이 5일 경우 X-Window환경으로 부팅

부트 로더(Boot Loader)

  • 부트스트랩 로더(Bootstrap Loader)의 약어
  • 하드디스크에 저장된 운영 체제를 주기억 장치에 적재해 주는 프로그램
  • 운영체제 실행 전 미리 실행
  • 하나의 시스템에 여러 개의 운영체제가 설치되어 있을 경우, 선택하여 부팅할 수 있는 멀티 부팅 지원

부트 로더 종류 및 특징

LILO(Linux Loader)GRUB(Grand Unified Bootloader)
리눅스 운영체제에서만 사용 가능
반드시 'MBR(Mater Boot Record)'에 설치되어야 하는 것은 아니다
다양한 운영체제를 선택해서 사용할 수 있다
그래픽 로그인일 때 Linux와 다른 운영체제가 보인다
'text'로그인일 때 tab키를 누르면 사용 가능한 운영체제를 볼 수 있다
/etc/lilo.conf파일을 수정하여 LILO를 설정할 수 있다
GRUB보다 먼저 개발되었다
다르 운영체제와 리눅스를 동시에 부팅 가능하게 해주거나, 여러 버전의 커널로 부팅이 가능하게 해주는 프로그램이다
리눅스 운영체제 외에도 사용 가능
'LILO'의 단점을 보완
대화형 모드로 부팅, 설정 가능
IDE 하드디스크를 장착한 순서대로 인식한다
부트 디스크를 통한 부팅을 지원하지 않는다
리눅스의 명령어를 설치하기 위한 프로그램이다
리눅스의 설치에 필요한 크기를 확보하기 위한 프로그램이다
리눅스 부트 디스크를 만들기 위한 프로그램이다

/etc/lilo.conf
-LILO 설정 파일
-boot = /dev/hda : 'LILO'가 설치될 파일
-map = /boot/map : 'LILO'에 의해서 자동으로 생성되는 파일
-install = /boot/boot.b : 부트 섹터 위치 정보를 가진 파일
-timeout = 50 : 키보드 입력이 없을 시 자동 부팅시간 '5초'로 설정

grub 환경설정 파일 내용

[root@localhost ~]# cat /boot/grub/grub.conf
default = 0
timeout = 5
splashimage=(hd0.0)/grub/splash.xpm.gz
password --md5 $1$6h8Y01$HIA5xjCDV9VznbBAZw05o1
hiddenmenu
title CentOS (2.6.18-308.el5)
			root (hd0,0)
            kernel /vmlinuz-2.6.18-308.el5 ro root=LABEL=/
            initrd /initrd-2.6.18-308.el5.img
옵션설명
default초기 부팅화면에서 메뉴를 선택하지 않았을 경우, 기본 부팅 메뉴선택
timeout대기 시간을 단위로 설정
대기 시간 동안 메뉴를 선택하지 않았을 시, 기본 부팅 메뉴로 부팅
splshimage초기 부팅 화면의 배경 이미지 설정
password부팅 시 GRUB모드로 들어가기 위한 패스워드
패스워드 항목이 존재하지 않을 시 패스워드 없이 진입 가능
title초기 부팅화면의 메뉴에 나타나는 제목
root루트 장치 설정
'root'(하드디스크 장치명, 부트 파티션명)
ex) 'root (hd0,0)'의 의미는 첫번째 하드디스크의 첫번째 파티션이 루트 장치라는 의미
kernel커널 이미지 파일의 경로 지정
initrdSCSI 하드디스크를 사용할 경우 반드시 지정해야 하는 항목
지정하지 않을 시 'kernel panic' 오류 발생

런 레벨(Run Level)

  • 리눅스 부팅의 마지막 단계에서 모든 프로세스의 부모 프로세스init이 생성
  • 부팅 시 init 프로세스가 참조하는 것이 런 레벨

런 레벨 실행 스크립트 파일

[root@localhost ~]# pwd
/etc/rc.d
[root@localhost rc.d]# ls -l
drwxr-xr-x. 2 root root 70 1016 2019 init.d
-rw-r--r-rr. 1 root root 473 1031 2018 rc.local
drwxr-xr-x. 2 root root 45 1016 2019 rc0.d
drwxr-xr-x. 2 root root 45 1016 2019 rc1.d
drwxr-xr-x. 2 root root 45 1016 2019 rc2.d
drwxr-xr-x. 2 root root 45 1016 2019 rc3.d
drwxr-xr-x. 2 root root 45 1016 2019 rc4.d
drwxr-xr-x. 2 root root 45 1016 2019 rc5.d
drwxr-xr-x. 2 root root 45 1016 2019 rc6.d
파일설명
init.d서비스를 시작, 종료, 재시작하는 스크립트 파일 저장
rc.local부팅시 자동으로 명령어 스크립트 파일 수행
rc0.d~rc6.d런 레벨별로 실행해야하는 서비스들의 디렉터리

####런 레벨 설정

[root@localhost ~]# cat /etc/inittab
id:runlevels:action:process
[id:3:initdefault:]

[root@localhost ~]# runlevel
N 3

런 레벨 운영 모드

런 레벨운영 모드설명
0Halt시스템 종료
1Single User Mode단일 사용자 모드(CLI)
2Multi User Mode
(Without Networking)
다중 사용자 모드(CLI)
(네트워크 사용 불가)
3Multi User Mode
(Only Console Login)
다중 사용자 모드(CLI)
4Not Used사용하지 않음
5Multi User Mode
With Display Manager
다중 사용자 모드(GUI, X-Window)
6Reboot재시작

로그인 및 로그아웃

로그인

  1. 로그인 과정
  • 로그인 프롬포트에서 아이디(ID)/패스워드(password)를 입력한다.
    -> 입력한 패스워드와 '/etc/passwd' 파일 비교 후 일치하면 로그인을 허용한다.
  1. 프롬포트 종류
  • 'root' 사용자 로그인 프롬포트
[root@localhost ~]#
  • 일반 사용자(test) 로그인 프롬포트
[test@localhost ~]$
  1. 로그인 메시지 출력
출력 파일설명상태
/etc/issue로컬 접속 시 메시지 출력로그인 전
/etc/issue.net원격 접속 시 메시지 출력로그인 전
/etc/motd로컬, 원격 접속 시 로그인 성공 후 메시지 출력로그인 후

motd : message of the day

로그아웃

  1. 명령어 종류
[root@localhost ~]# logout
[root@localhost ~]# exit
  1. 자동 로그아웃 설정 (일정 시간 지난 후)
    300초 후에 로그아웃
[root@localhost ~]# cat /etc/profile
....
export TMOUT=300
....

시스템 종료 명령어

  1. shutdown
  • 시스템을 종료하거나 재시작하는 명령어
  • 저장되지 않은 데이터를 안전하게 디스크에 저장하고, 모든 파일 시스템을 'umount'시킨 후 시스템 종료

1) 기본 형식

[root@localhost ~]# shutdown [옵션][시간][경고 메시지]

2) 옵션

옵션설명
-c예약된 종료 명령을 취소
-h시스템을 안전하게 종료
-k종료 명령을 수행하지 않고, 메시지만 전달
+m'm'분 후에 시스템 종료
-P시스템 강제 종료
-r시스템 재시작
-t지정 시간에 시스템을 종료하거나 재시작
-fshutdown 전에 실행되던 프로세스를 강제 종료하고, 시스템을 종료한다
  1. init
  • 시스템을 종료하거나 재시작하는 명령어

1) 기본 형식

[root@localhost ~]# init [런 레벨]

2) 활용

  • 런 레벨을 '0'으로 지정할 경우 시스템 종료
[root@localhost ~]#init 0
  • 런 레벨을 '6'으로 지정할 경우 시스템 재시작
[root@localhost ~]#init 6
  1. halt
  • 시스템을 종료하는 명령어

1) 기본 형식

[root@localhost ~]# halt [옵션]

2) 옵션

옵션설명
-f시스템을 강제 종료(Power Off)

3) 활용

  • 옵션 없이 사용하면 모든 프로세스는 종료되지만 전원은 꺼지지 않는다.
[root@localhost ~]# halt
  • 옵션(-f)을 지정할 경우, 모든 프로세스가 종료되고 전원도 꺼진다.
[root@localhost ~]# halt -f
  1. poweroff
  • 시스템을 종료하는 명령어

1) 기본 형식

[root@localhost ~]# poweroff

시스템 재시작 명령어

  1. reboot
  • 시스템을 재시작하는 명령어

1) 기본 형식

[root@localhost ~]# reboot [옵션]

2) 옵션

옵션설명
-f시스템을 강제 재시작

Section 3 : 파일 시스템과 파티션

파일 시스템

  • 파일에 이름을 붙이고 저장이나 검색을 위하여 파일을 어디에 위치시킬 것인지를 나타내는 모든 조직체계

파일 시스템 기능

  • 파일에 대한 다양한 종류의 접근 제어 방법 제시
  • 파일의 생성, 수정, 삭제 관리
  • 파일의 무결성 유지보안 유지 기능을 제공
  • 데이터의 백업 및 복구기능 제공
  • 데이터의 효율적 저장과 관리를 위한 방법 제공

    무결성
    -데이터가 완전한 수명 주기를 거치며, 정확성과 일관성을 유지하고 보증하는 것
    -데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미

파티션

  • 하나의 물리적인 디스크를 여러 개의 논리적인 디스크로 분할하는 것을 의미
  • 파티션 상태를 확인하는 파일 : /proc/partitions
  • Disk Druid : 사용자가 좀 더 쉽게 파티션을 분할 할 수 있도록 지원하는 유틸리티

종류

파티션설명
기본 파티션- 4개의 파티션까지 분할 가능
- 4개 이상의 파티션이 필요할 경우 확장 파티션 내에 논리 파티션을 만듦
확장 파티션- 논리 파티션을 만들 수 있게 하는 공간
- 디스크 당 하나만 만들 수 있음
- 주 파티션을 3개 사용 후 선언 가능
논리 파티션- 확장 파티션 내에 생성됨
- 최대 12개까지 생성 가능
스왑 파티션- 하드 디스크 일부를 주기억장치처럼 사용하는 가상기억장치
- 기본 파티션 또는 논리 파티션에 생성
- 스왑 영역의 크기는 주기억장치의 2배로 설정

장점

  • 부팅시간 단축
  • 안정성
  • 백업과 업그레이드 편리

파티션 분할

  • fdisk 명령어로 디스크 파티션을 관리한다.

1) 기본 형식

[root@localhost ~]# fdisk [옵션][장치명]

2) 옵션

옵션설명
-a부팅 가능한 플래그로 지정
-l파티션 유형 목록 출력
-m목록 출력
-n새로운 파티션 생성
-t파티션 유형 변경
-w파티션 정보를 디스크 테이블에 기록
-p파티션 정보 확인
-q작업 종료 후 빠져나감

3) 디스크와 장치명

  • SCSI, S-ATA, SAS, USB 유형은 '/dev/sda', '/dev/sdb' 등을 사용
  • IDE(E-IDE)유형은 '/dev/hda', '/dev/hdb' 등을 사용
디스크 유형설명장치명
플로피 디스크첫 번째 플로피 디스크
두 번째 플로피 디스크
/dev/fd0
/dev/fd1
IDE 유형 디스크Primary Master
Primary Slave
Secondary Master
Secondary Slave
/dev/hda
/dev/hdb
/dev/hdc
/dev/hdb
SCSI 유형 디스크첫 번째 드라이브
두 번째 드라이브
/dev/sda
/dev/sdb
CD-ROMSCSI CD-ROM/dev/scd0 또는 /dev/sr0

/dev/sd a 2
-sd : 하드디스크 유형 (SCSI유형 하드디스크)
-a : 디스크 개수 (첫 번째 물리적인 하드디스크)
-2 : 파티션 번호 (두 번째 파티션)

디렉터리

  • 최상위 디렉터리(/) 아래로 계층적인 트리 구조로 이루어져 있다
디렉터리설명
/루트 디렉터리
/bin'System Binary'의 약어로 이진 파일이며, 기본 명령어가 저장된 디렉터리
/usr시스템에 사용되는 각종 프로그램이 설치되는 디렉터리
/etc각종 환경설정 파일과 디렉터리가 저장된 디렉터리
/sbin시스템 관리를 위한 명령어가 저장된 디렉터리
/lib라이브러리 파일이 저장된 디렉터리
/var동적인 파일을 저장하는 디렉터리
/tmp임시 디렉터리로, 스티키 비트가 설정
각 장치에 필요한 'socket 및 log' 파일들이 위치
/rootroot의 홈 디렉터리
/proc프로세서, 프로그램, 하드웨어 정보가 저장된 디렉터리
물리적인 용량을 가지지 않는 디렉터리
/dev장치 드라이버가 저장된 디렉터리
/home일반 사용자의 홈 디렉터리
/opt추가된 응용 프로그램 패키지가 설치되는 디렉터리

LVM(Logical Volume Manager)

  • 여러 개의 물리적인 하드디스크를 논리적인 디스크로 할당하여 유연하게 관리할 수 있도록 도와줌
  • 하나의 대용량 파일 시스템으로 만든다
  • 대용량 저장 공간이 필요할 때 주로 사용

볼륨설명
물리적 볼륨각각의 파티션을 'LVM'으로 사용하기 위해 형식을 변환시키 것 (/dev/hda1, /dev/hda2 등)
볼륨 그룹PV로 되어 있는 파티션을 하나의 물리적인 그룹으로 만듦
/dev/sda1을 하나의 그룹으로 만들 수 있고, /dev/sda1과 /dev/sda2를 하나의 그룹으로 만들 수 있음
논리적 볼륨사용자가 다루게 되는 부분
실질적인 파티션
크기를 확장 및 축소시킬 수 있음

RAID(Redundant Array of Independent Disks)

  • 여러 개의 물리적인 하드디스크를 하나의 논리적인 디스크로 인식하게 만드는 기술
  • 여러 개의 하드디스크에 동일한 데이터를 다른 위치에 중복해서 저장

종류

종류설명
하드웨어 RAID여러 개의 하드디스크로 만들어 공급
소프트웨어 RAID주로 운영체제 안에서 구현

RAID 레벨 구조

1) RAID 0

  • 스트라이핑 사용
  • 오류가 발생하면 모든 데이터를 잃어버릴 수 있음

    스트라이핑
    : 드라이브를 병렬로 사용할 수 있는 기술

2) RAID 1

  • 미러링을 통해 하나의 디스크처럼 사용
  • 사용할 수 있는 용량이 절반밖에 되지 않음
  • 미러링된 디스크를 통해 복구 가능

    미러링
    : 같은 데이터를 2개의 디스크에 저장하여 복사본을 만드는 기술

3) RAID 0+1

  • RAID 0RAID 1를 결합하는 방식
  • 2개씩 RAID 0으로 묶고 이것을 다시 RAID 1로 결합하는 방식

4) RAID 2

  • 오류 정정을 위해 해밍 코드를 사용하는 방식으로, 비트 단위에 해밍 코드를 적용

5) RAID 3/4

  • 하나의 디스크를 패리티 정보를 위해 사용하고, 나머지 디스크에 데이터를 균등하게 분산 저장하는 방식
  • 읽기 성능RAID 0과 비슷하나, 쓰기는 패리티 처리로 인해 성능 저하가 일어난다
  • 하나의 디스크에 오류가 발생하면 패리티 디스크를 통해 복구 가능
  • 모든 블록이 각 디스크에 균등하게 저장되진 않는다
  • 병목 현상이 발생하면 성능 저하가 발생할 수 있다

    패리티
    : 오류가 생겼는지를 검사하기 위해 추가되는 비트
    병목 현상
    : 용량이 하나의 구성요소로 인해 제한을 받는 현상

6) RAID 5

  • 3개 이상의 디스크를 하나의 디스크처럼 사용
  • 각각의 디스크에 패리티 정보를 가지고 있는 방식
  • 하나의 디스크에 오류가 발생해도 다른 두 개의 디스크를 통해 복구
  • 병목 현상이 발생하지 않는다

7) RAID 6

  • 하나의 패리티를 두 개의 디스크에 분산 저장
  • 두 개의 디스크에 오류가 발생해도 복구 가능
  • 쓰기 속도는 패리티를 10번 쓰기 때문에 느려지지만, 안정성은 높아진다
profile
Back-end Developer

0개의 댓글

관련 채용 정보