티스토리 뷰

728x90
반응형

리눅스의 구조

부트 매니저

  • 부팅을 도와주는 역할을 하는 프로그램
  • 선택하여 부팅할 수 있도록 해줌
  • 부트로더
  • 하드디스크의 맨 앞쪽 영역인 MBR(Master Boot Record)에 설치
  • MBR은 부트 섹터로 디스크의 첫 번째 섹터에 해당하고 크기는 512 바이트
  • 부트 섹터에 부트 매니저 프로그램과 파티션 정보가 기록
  • 리눅스에서 사용하는 대표적인 부트 매니저 프로그램에는 LILO(Linux Loader)와 GRUB(Grand Unified BootLoader)가 있음
  • LILO는 특정 파일 시스템에 구애받지 않고 플로피 디스크와 하드디스크를 이용한 부팅을 지원
  • 현재는 GRUB 씀.

GRUB

  • GNU 프로젝트에서 만든 부트로더
  • 다양한 파일 시스템 지원
  • 부팅 시에 커널 인자를 조정하여 동적인 부팅을 지원
  • 메뉴 인터페이스 방식을 기본으로 사용. Bash와 같은 명령행 인터페이스를 추가로 제공 .

GRUB의 부팅 모드

  • [a] : 매개변수를 추가. 맨 뒷부분을 입력할 수 있게 해줌.
  • [e] : 부팅 목록의 모든 항목을 직접 편집할 수 있음
  • [c] : 상호대화식으로 직접 입력할 수 있는 모드로 사용 방법은 명령어를 입력하는 환경이 Bash Shell과 비슷

GRUB의 환경 설정 파일

  • #boot=/dev/sda : 부팅이 되는 하드디스크를 지정. 하드 하나인 경우 주석처리
  • default : 전원을 켰을 때 기본적으로 부팅되는 운영체제를 설정하는 항목
  • timeout=10 : GRUB 메뉴 화면에서의 대기 시간.
  • splahimage=(hd0. 3)/boot/frub/splash.xpm.gz : GRUB 화면의 배경 이미지를 지정.

디렉터리 구조 및 역할

디렉터리의 개요

트리구조로 갖추어 계층적으로 관리

디렉터리 종류와 특징

  • /bin : 실행 파일. 명령어. 보통 PATH가 설정(cp, mkdir, rmdir, mv, rm, cat)
  • /boot : grub 관련 파일. 부팅 이미지 파일, 커널
  • /dev : 실제로 존재하는 물리적인 장치 등을 파일화하여 관리
  • /etc : 시스템 환경 설정 파일 및 부팅과 관련된 여러 가지 스크립트 파일
  • /lib : 각종 라이브러리가 저장. 커널 모듈
  • /mnt : 하드디스크, 네트워크 파일 시스템 등을 마운트할 때 포인터가 되는 디렉터리.
  • /misc : 자동 마운트 프로그램인 autofs에 의해 사용됨
  • /opt : 응용 프로그램들의 설치를 위해 사용됨
  • /proc : 가상 파일 시스템. 다양한 프로세스의 상태 정보, 하드웨어 정보 등
  • /sbin : 시스템 관리에 대한 명령어들이 들어 있는 디렉터리. root가 사용. 시스템 종료 명령, 네트워크 인터페이스 설정 명령. 시스템 점검과 복구 등의 명령어
  • /usr : 시스템 운영에 필요한 명령, 응용 프로그램들이 위치하는 디렉터리. 커널 소스, c언어 헤더 파일, mysql, php 등 이 디렉터리에 설치됨. /usr/bin,sbin은 응용 프로그램 명령어들이 있고, /usr/local에 설치됨.
  • /var : 운영 로그 파일과 스풀링과 같은 가변적인 데이터를 보관하는 디렉터리

부팅과 셧다운

부팅의 개요

하드디스크에 설치된 운영체제의 부팅과정

  1. 컴퓨터 전원을 켜면 바이오스는 컴퓨터에 장착된 하드웨어를 점검
  2. CMOS에 설정된 첫 번째 부팅 하드디스크를 확인
  3. MBR 영역에 있는 부트 매니저 프로그램을 실행
  4. 부트 매니저 프로그램은 관련 환경 설정 파일을 참고하여 운영체제 부팅을 시작

리눅스 부팅

리눅스 부팅의 하드웨어 인식단계

  • 부트 매니저 프로그램인 grub이 시작되면 리눅스 설치 시에 인식된 하드웨어 설정대로 부팅을 진행
  • 부팅 시 커널에 포함시킬 모듈들은 관련 환경 설정 파일을 읽어들여 관련 모듈을 커널에 적재하기까지가 하드웨어 인식 단계

리눅스 부팅의 소프트웨어 구동 단계

  • 루트 파일 시스템을 읽기 전용 형태로 마운트하고 검사 후 이상이 없으면 쓰기 가능 형태로 다시 마운트
  • 그 후 init 프로세스를 발생시켜 리눅스 부팅과 관련된 소프트웨어 구동은 init 프로세스에 위임
  • init은 /etc/init/ 디렉터리 안에 설정되어 있는 환경 설정 파일을 읽어 들여서 동작

환경 설정 파일

  • /etc/initab : 부팅과 관련된 실행 레벨이 정의
  • /etc/init/rcS.conf : 시스템 초기화와 관련된 내용이 설정. /etc/rc.d/rc.sysinit 스크립트를 실행 이 파일이 호스트명 설정, 시스템 점검, RAID 및 LVM 장치 홝성화, 쿼터 설정 활성화 등을 함
  • /etc/init/rc.conf : 부팅 시 각 레벨별로 진행되는 내용이 설정된 파일. /etc/rc.d/rc 스크립트 실행.
  • / etc/rc.d/rc.local : 사용자가 부팅 시에 필요한 서비스를 구동할 때 이 파일 안에 등록

실행 레벨

init 데몬에 의해 수행되어질 내용이나 시스템 초기화 등을 정의해둔 여러 가지 모드

0 : 시스템을 중지할 때 호출되는 레벨
1 : 관리자 모드
2 : 네트워크를 사용하지 않는 다중 사용자 모드
3 : 네트워크를 사용하는 다중 사용자 모드
4 : 사용자 정의
5 : X 윈도를 사용하는 다중 사용자 모드
6 : 시스템을 재부팅할 때 호출되는 레벨

로그인

  • 실행 레벨이 3인 경우 6개의 가상 콘솔을 통해 로그인
  • 실행 레벨이 5인 경우 X-Window 기반의 그래픽 로그인 창이 나타남
  • 실행 레벨 3에서는 getty라는 프로그램이 터미널이나 콘솔에 로그인 프로그램을 실행, 이 때 메시지 파일인 /etc/issue의 내용을 상단에 출력

로그인 메시지 관련 파일

  • /etc/issue : 'login:' 메시지 전에 출력되는 내용을 적는 파일
  • /etc/issue.net : 위와 같은데 텔넷을 통한 네트워크 접속 할 때 축력되는 메시지를 기록
  • /etc/motd : 'Message Of The Day'의 약어로 성공적으로 로그인되었을 때 접속된 사용자에게 보여주는 메시지

시스템 종료

shutdown

  • 시스템을 재시작하거나 전원을 종료하는 명령어. root만 가능

사용법
$ shutdown [option] 시간 [경고메시지]

옵션

  • -r : 시스템 재부팅(reboot)
  • -h : 시스템 종료(halt)
  • -c : 예약된 셧다운 명령을 취소
  • -k : 실제로 셧다운 하지 않고 경고 메시지만을 접속한 사용자들에게 전송

reboot

시스템을 재시작하는 명령어. 모두 사용 가능

사용법
$ reboot [option]

옵션

  • -w : /var/log/wtmp에 셧다운한 기록만을 저장

halt

시스템을 종료하는 명령어. 모두 사용 가능

사용법
$ halt [option]

옵션

  • -p : 시스템 종료하고 전원까지 끄는 경우에 사용하는 옵션

poweroff

시스템 종료 및 전원을 끔

init, telinit

실행 레벨을 변경할 때 사용

사용법
$ init 실행 레벨

파일 시스템의 개요

파일 시스템의 개요

운영체제가 파티션이나 디스크에 데이터를 저장화고, 읽고, 쓰고 찾기 위해 구성하는 일련의 체계를 의미

파일 시스템의 기능

  • 파일을 생성, 수정, 삭제할 수 있게 함
  • 사용자가 파일을 사용하기 적합한 형태의 구조로 구성
  • 파일을 공동으로 사용할 수 있는 적절한 제어 방법 제공
  • 판독 접근, 기록 접근, 수행 접근 등의 다양한 접근 제어 방법 제공
  • 백업 복구 기능 준비
  • 암호화, 복호화 기능
  • 인터페이스 및 명령어

리눅스 파일 시스템의 구조

  • 디스크 드라이브 이용 시에 파티션을 분할 하고 흔히 포맷이라고 부르는 작업을 통해 파일 시스템을 생성
  • I-list는 아이노드 번호의 목록
  • 저장되는 정보는 Directory Blocks and Data Blocks 영역에 저장.
  • 디렉터리 블록에는 아이노드 번호와 파일명이 저장
  • 데이터 블록에는 파일이 보관해야할 정보를 저장

ex2 파일 시스템

  • 부트 블록(부트 섹터), 블록 그룹으로 구성
  • 블록은 파일 시스템에서 기본적으로 데이터를 저장하는 단위
  • Super Block, Group Descriptor, Block Bitmap, Inode Bitmap, Inode Table, Inode Block, 데이터 블록으로 구성
  • 슈퍼 블록은 파일 시스템에 대한 전체적인 정보를 가지고 있음 주요 정보로 매직 넘버, 마운트 정보, 전체 아이노드 수 및 남은수, 전체 블록 수 및 남은 수, 블록 그룹 번호, 블록 크기, 그룹 당 블록 수 등이 있음.
  • 그룹 기술자는 각각의 블록 그룹을 기술하는 자료구조로서, 저장되는 주요 정보는 블록 비트맵, 아이노드 비트맵, 아이노드 테이블이 있음
  • 추가적으로 간접 블록은 추가적인 데이터 블록을 위한 포인터들이 사용할 동적으로 할당되는 공간.
728x90
반응형
댓글
반응형
250x250
글 보관함
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday
링크