본문 바로가기
자격증/리눅스 마스터 1급

리눅스마스터_1급_1과목_리눅스의 구조

by 이민우 2021. 2. 7.
728x90
반응형

book.naver.com/bookdb/book_detail.nhn?bid=16317946

 

리눅스마스터 1급 기본서(2020)

떠오르는 신흥 강자! 리눅스마스터 1급 2020년 도서가 드디어 영진닷컴에서 출간되었습니다. 리눅스마스터 1급을 취득하기 위해 필요한 최대한의 것을 전부 제공해 드립니다. 시행처에서 발표한

book.naver.com

*해당 글은 학습을 목적으로 위의 도서 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다.

 상세한 내용 확인을 원하신다면 도서 구매를 추천드립니다.

 

 

부트 매니저 (부트 로더)

  • 보조기억장치에 위치한 운영체제를 주기억장치로 로드하기 위한 프로그램

 

동작 원리

  • 시스템이 켜지면 BIOS는 0번 섹터인 부트 섹터에서 MBR을 읽는다.
  • MBR은 크기가 제한되기에 IPL (Initial Program Loader)로 불리는 부트 로더의 일부가 먼저 실행된다.
  • IPL은 파티션 테이블을 검사해 부트 로더의 나머지 코드 위치를 알아내 실행한다.
  • 리눅스의 대표적 부트 매니저 프로그램은 LILO와 GRUB가 있다.

 

1) LILO (Linux Loader)

  • 모든 리눅스 배포판의 표준이자 가장 오래된 부트 로더
  • 리눅스 커뮤니티의 지속적인 지원을 받고 있다.
  • 설정 파일은 /etc/lilo.conf 파일에서 이루어진다.
  • 설정 파일 수정 시 lilo 명령을 반드시 수행해야 한다.

 

2) GRUB (Grand Unified Boot Loader)

  • GNU 프로젝트에서 만든 부트 로더
  • LILO와 달리 대화형 명령어 인터페이스와 네트워크 부팅을 제공
  • CentOS 6의 경우 /boot/grub/grub.conf 파일이 설정 파일이다.
  • 설정 파일 변경 후 별도의 명령어 수행의 필요가 없다.

 

2-1) GRUB 다루기

  • 부팅 시 아무 키나 누르면 GRUB 화면으로 진입한다.
  • e 키를 누르면 해당 목록의 부트 로더 설정 변경
  • /boot/grub/grub.conf 의 root, kernel, initrd 설정을 임시로 변경할 수 있다. (영구 반영 아님)
  • a 키를 누르면 부트 로더 설정 중 커널에게 인자 수정 가능
  • c 키를 누르면 명령 줄 모드 진입 가능

 


부팅 

  • 컴퓨터의 전원이 켜진 후 운용체제를 가동하는 절차 혹은 과정

 

부팅의 절차

  1. 시스템 시작 및 하드웨어 초기화 : 바이오스 및 시스템 시작. POST 기능 수행
  2. 부트 로더 1단계 : MBR의 ILP 시작
  3. 부트 로더 2단계 : ILP가 GRUB 부트 로더 시작
  4. 커널 : GRUB에게 제어권을 이어받아 INIT 프로세스 실행
  5. Init 프로세스 : 부팅을 위한 필요한 초기화 작업 수행
  6. 사용자 프롬프트

 

로그인

  • 리눅스는 멀티 유저를 지원하기에 아이디와 패스워드로 사용자를 식별해 독립적 실행환경 제공

*INIT 프로세스의 실행레벨에 따라 단일 사용자 모드(1), 멀티 유저 모드(2, 3), X 윈도우 멀티 유저(5)로 분할.

 

*Root 비밀번호 분실시 GRUB 부트 메뉴에서 a를 누르고 single을 입력하고 enter

*단일 사용자 모드로 부팅이 되면 passwd를 통해 비밀번호 변경 가능.

 

로그아웃

  • logout 또는 exit 명령어로 로그아웃 가능.
  • 단축키로는 CTRL + D

 

시스템 종료

  • shutdown -h now
  • halt
  • poweroff
  • init 0

 

시스템 재부팅

  • shutdown -r now
  • reboot
  • init 6

 


 

디렉터리 구조

 

리눅스 파일 시스템 표준 (File System Hierarchy Standard, FHS)

  • 리눅스 파일 시스템 표준은 BSD 파일시스템 계층 구조 기반의 리눅스 디렉터리 구조 표준이다.

 

주요 디렉터리

디렉터리 설명
/ 최상위 디렉터리
/bin/ 모든 사용자가 사용할 수 있는 주요 명령어
/boot/ 커널 파일, initrd, grub 등 부팅 관련 파일
/dev/ HDD, CPU, IO장치 등 디바이스 파일
/etc/ 시스템 환경 설정 파일 및 초기화 파일
/home/ 로그인한 사용자 전용 홈 디렉토리. 각 사용자 계정으로 폴더 생성.
/lib/ 시스템에 설치된 각종 라이브러리 저장
/media/ cd-rom과 이동식 디스크
/root/ 루트 사용자의 홈 디렉토리
/proc/ 메모리에 존재하는 모든 프로세스들이 파일 형태로 매핑.
/sbin/ 시스템 종료 명령어, 네트워크 인터페이스 관련 명령어, 시스템 관리 명령어
/tmp/ 각종 프로그램들이 임시 파일을 생성하는 디렉터리
/usr/ 사용자들이 사용하기 위해 설치한 명령어들
/usr/bin/ 대부분의 사용자 명령어
/usr/include/ c, c++ 프로그래밍 언어가 사용하는 헤더 파일
/var/ 로그, 스풀 파일 등 임시로 생성되거나 상황에 따라 생성, 삭제되는 데이터 저장.

 

 


 

파일시스템

  • 사용자의 데이터를 효율적으로 저장하기 위한 파일과 디렉터리를 조직화한 체계
  • 사용자의 데이터는 파일 단위로 관리되며, 디스크에는 레코드 혹은 블록 단위로 저장됨

 

ext2

  • 타임스탬프 기능, 아이노드 수정 기능 탑재
  • 쓰면 쓸수록 느려지는 조각화 이슈 해결
  • 부트 섹터와 블록 그룹들로 구성
  • 블록 그룹은 여러 개의 블록으로 구성된다.
  • 블록 그룹은 슈퍼 블록, 그룹 디스크립터 테이블, 블록 비트맵, 아이노드, 블록으로 구성
  • 슈퍼 블록 : 파일 시스템 전체 내용을 가진 블록
  • 그룹 디스크립터 테이블 : 블록 그룹 정보를 담고 있다.
  • 블록 비트맵 : 블록의 할당 여부를 비트로 표현 (사용중이면 1)
  • 아이노드 비트맵 : 아이노드의 할당 여부를 비트로 나타낸다.
  • 아이노드 테이블 : 연속된 블록으로 이루어져 있으며 각 블록은 미리 정의된 아이노드 개수를 포함
  • 아이노드 : 실제 파일과 디렉터리의 데이터 위치를 알고 있는 자료구조.

*아이노드는 Inode Number, 파일모드, 하드링크 수, 소유자 ID, 파일 크기, 마지막 접근, 마지막 수정, Inode 수정, 데이터 블록 수의 정보를 가지고 있다.

 

 

ext3

  • 저널링 파일 시스템으로 전원이 끊어져도 로그를 통해 복구가 가능하다.

 

ext4

  • 큰 파일 처리를 개선하고 단편화 현상을 줄이기 위해 extends 방식 사용
  • 파일시스템 손상 가능성을 줄이기 위해 저널 체크섬 기능 사용

 

btrFS

  • B-Tree 파일 시스템

 

Reiserfs

  • 독일의 한스 라이저가 개발한 저널링 파일 시스템.
  • 커널 2.4.1에 포함

 

XFS

  • 고성능 64비트 저널링 파일 시스템
  • 커널 2.4.20에 포함

 

JFS

  • IBM에서 개발한 64비트 저널링 파일 시스템
  • 커널 2.4.24에 포함

 

*커널 버전 x.y.z

*x : 커다란 변화 수

*y : 홀수면 개발버전, 짝수면 안정버전

*z : 패치 회수


 

클러스터 파일 시스템

 

1) Raw Partitions

  • 파일시스템이 설정되지 않은 상태로 파일시스템을 통하는 오버헤드가 없다.
  • 운영체제가 버퍼캐시를 사용하지 않아 고성능 입출력이 가능하다.

 

2) Oracle Cluster FileSystem (OCFS)

  • Raw Partitions의 다루기 어려운 문제를 해결하며 RAD의 사용 목적을 위해 설계
  • Raw Partitions보다 조금 느리다.

 


 

기타 리눅스 파일 시스템

 

  • vfat : 마이크로소프트의 FAT32 파일시스템을 호환
  • isois : ISO 기준을 따르는 표준 CD-ROM 파일시스템
  • nfs : 네트워크상에서 파일시스템을 공유하기 위한 파일시스템
  • proc : 프로세스 등 커널의 정보를 표현하는 리눅스의 가상 파일시스템
  • smb : SMB 프로토콜을 지원하는 네트워크 파일 시스템 (최근 CIFS로 확장)

 

 

 

 

 

 

 




 

 

1. Kernel - 2.4.5 에 대한 설명으로 옳은 것은?

1) 2번의 커다란 변화가 존재했다.
2) 4번의 패치가 있었다.
3) 5개의 파일로 구성되었다.
4) 개발 버전이다.

1

2. 리눅스의 시스템에 관한 각종 환경 설정에 연관된 파일과 디렉터리를 가진 디렉터리는?

/etc

3. 리눅스에서 곧바로 시스템을 재부팅할 때 사용하는 명령어는?

1) shutdown -h +10
2) shutdown -r +10
3) shutdown -h now
4) shutdown -r now

4

4. 다음은 부팅과 관련된 파일의 일부이다. 이를 설명한 내용 중 알맞은 것은?

-----------------------------------------------------------------------
default = 0
timeout = 10
splashimage = (hd0,1)/grub/splash.xpm.gz
title Linux (2.4.7-10)
root (hd0,1)
kernel /vmlunuz-2.4.25 root = /dev/hda3
initrd /initrd-2.4.7-10.img
title Linux (single user)
root (hd0,1)
kernel /vmlinuz-2.4.25 root=/dev/hda3 single
title Windows 2000
rootnoverift(hd0,0)
chainloader +1
-----------------------------------------------------------------------

1) 적어도 3개의 운영체제가 설치되어 있다.
2) 윈도우즈 2000이 기본 부팅 온영체제이다.
3) timeout=10이므로 10초 이내에 선택해야 부팅할 수 있다.
4) 윈도우즈 2000은 첫 번째 하드디스크의 첫 번째 파티션에 설치되어 있다.

4

5. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?

(ㄱ)은 전통적인 유닉스 계열 파일시스템에서 사용하는 일종의 자료구조로 각각의 파일은 하나의 (ㄱ)을 할당받아 관리된다.
저널링 기술은 기존의 (ㄴ)에 걸리는 시간을 단축하기 위해 데이터를 디스크에 쓰기 전에 로그에 데이터를 남겨 시스템의 비정상적인 종료에도 로그를 사용해 (ㄴ)보다 빠르고 안정적인 복구기능을 제공한다.

1) i-node, fsck
2) journaling, fsck
3) i-node, chkdsk
4) journaling, chkdsk

1

6. GRUB 환경설정 파일에서 default=1 설정은 무엇인가?

사용자가 아무런 선택을 하지 않을 때 몇 번째 운영체제를 사용할 것일까?

두 번째 운영체제를 사용한다.

728x90
반응형