IT/Network

[ Linux 마스터 2급 ] 리눅스 디렉토리 명령어와 부트로더

pandada 2019. 7. 11. 17:39
반응형

리눅스 디렉토리 명령어와 부트로더

 

리눅스의 부트로더

  - 정의 : 커널이 올바르게 부팅되기 위해 필요한 작업을 수행하고 최종적으로 운영체제를 부팅시키는 역할 담당

  - GRUB : 리눅스의 기본 부트로더(GNU에서 만든 부트로더)

  - LILO : MBR이나 파티션의 시동섹터 안에 위치

 

LILO의 특징

  - Redhat 계열의 배포판에서만 제공된다.

  - LILO를 사용하면 다양한 OS를 선택하여 사용할 수 있다.

  - LILO외에도 GRUB(Grand Unified Bootloader)등의 부트로더가 있다.

  - 설정파일인 etc/lilo.conf의 각 특징

    = boot=/dev/hda : LILO가 설치될 위치
    = map=/boot/map : LILO에 의해서 자동으로 생성되는 파일

    = install=/boot/boot.b : 부트 섹터 위치 정보를 가진 파일

  - GRUB보다 먼저 개발되었다.
  - 컴퓨터바이오스(BIOS)의 정보를 참조하지 않는다.

 

 

GRUB의 특징

  - LILO에 비해 설정 및 사용의 편리성

  - 부트 정보가 올바르지 않더라도 부팅시 이를 바로 수정하여 부팅 가능

  - 윈도우 계열 및 기타 운영체제를 지원하므로 멀티 부팅이 가능

  - 메뉴 인터페이스 환경을 지원하며 대화형 모드로 부트 정보 설정 가능

  - 네트워크상에서 부트로더의 설정수정 가능

  - 커널의 물리적 위치를 기록하지 않고도 커널 파일명과 커널이 위치하고 있는 파티션의 위치만 알고 있으면 시스템 부팅 가능

  - GRUB은 IDE 하드디스크를 장착한 순서대로 인식한다.

  - GRUB의 장치 이름은 블록 디바이스 표기법과 다르게 파티션 순서를 알파벳이 아닌 숫자로 표기

  - ex) HDA,HDB...->hd0(첫번째 하드 디스크),hd1

null

  - Default : 멀티부팅일 경우 기본으로 부팅할 운영체제의 레이블 번호(0부터 시작)

  - Timeout : 정해진 시간이 경과 후 default에 설정된 운영체제로 부팅

  - splashimage : 배경 그림 경로 설정

  - Title : GRUB에 나타나는 운영체제 이름 설정

  - boot : 부팅할 운영체제가 설치된 파티션을 설정

  - Kernel : 운영체제 부팅시 읽어올 커널 파일 지정

  - Initrd : 초기 램디스크 즉, 부팅 시 초기화에 필요한 루트디스크의 이미지 파일을 지정

 

 

GRUB환경 설정 파일(명령어)

  - boot : 지정한 장치와 커널 명령어로 부팅(boot)

  - cat 파일명 : 파일의 내용을 확인(cat/boot/grub.conf   Grub.conf 설정파일 내용을 보여줌)

  - Clear : 화면을 클리어(Clear)

  - find 파일명 : 지정파일이 위치하는 장치명 검색(Find/boot/grub/stagel)

  - kernel[커널파일명] : 부팅에 사용할 커널 이미지 파일의 경로를 지정(Kernel/boot/vmliauz-2.6.19-204.el5 root .....)

  - Makeactive : 루트디스크에 존재하는 GRUB의 루트디바이스를 부팅 가능한 파티션으로 지정(makeactive)

  - root[장치명] : 지정한 장치를 부트파티션으로 지정 (root(hd0,0)  프라이머리 마스터의 첫 번째 파티션을 부트파티션으로 지정)

  - Rootnoverify[장치명] : Root와 비슷하나 파티션을 마운트 하지 않음. 주로 grub에서 지원하지 않는 파일시스템 부팅시 사용               (Rootnoverify(hd0,0))

  - Setup[장치명] : 지정장치로 grub 자동 설치(Setup(hd0))

 


리눅스 실행 레벨(runlevel)

  - 0 : halt(Do NOT set inditdefault to this)

  - 1 : Single user mode

  - 2 : Multiuser, without NFS

  - 3 : Full multiuser mode

  - 4 : unused

  - 5 : X11(그래픽 사용자 모드)

  - 6 : reboot

 

Shutdown

  * 시스템을 종료하거나 재부팅할 때 사용

  * shutdown[옵션][시간][메시지]

  * -r :시스템 재부팅

  * -f : 다음 부팅 시 파일 시스템 검사를 하지 않음

  * -h : 셧다운 시 halt작업(시스템 종료) 실행

  * -c : 예약되어 있는 shutdown 작업을 취소

  * -t n : 경고 메시지 부낸 후 n초 후에 kill 시그널 전송

  * ex) shutdown -r now : 시스템을 즉시 재부팅

  * ex) shutdown -h now : 시스템을 즉시 종료

  * ex) shutdown -r 1 : 1분 후 시스템 재부팅

 

null

 

 

halt

  * 시스템을 종료할 때 사용

  * halt[옵션]

  * -f : 강제종료

  * -d : /var/log/wtmp 파일에 기록을 남기지 않음

 

reboot

  * 현재 시스템을 재부팅

  * 시스템을 shutdown한다.

  * 다중사용자 모드에서도 수행 된다.

  * 시스템 실행 수준(runlevel)을 3으로 변경시킨다.

 

init 

  * runlevel을 이용해서 시스템을 종료/재부팅 사용

 

디렉토리 관련 명령어

  - pwd : 현재 위치한 디렉토리의 절대 경로 표시

  - cd : 현재 위치에서 디렉토리 변경할 때 사용

    ex) cd .. :상위 디렉토리로 이동 // cd\ : 무조건 루트 디렉토리로 이동 // 

    cd~ : 어떤 위치에서든 현재 계정의 홈디렉토리로 이동

  - ls : 도스의 dir과 같은 명령으로써 파일명, 디렉토리 등을 화면에 출력하는 명령

    = ls[옵션][디렉토로티명]

    = -a : .로 설정된 숨김 파일을 화면에 보여줌

    = -l : 파일에 대한 정보(파일 허용권한, 소유자, 그룹, 파일크기, 파일 변경날짜) 등을 보여줌

    = -m : 파일을 쉼포(,)로 구분하여 가로로 출력하여 보여줌

    = -t : 가장 최근에 변경된 파일을 최근 순서대로 보여줌

    = -u : 최근에 액세스했던 파일목록을 보여줌

    = -R : 하위디렉토리 파일도 모두 보여줌

null

rw------ : 퍼미션  // root root : 소유자와 그룹 소유자  //  1 : 하드링크수1685 : 크기  //  Mar ~~~ : 마지막 변경 일자  //   anaconda~~ : 파일명

null

   - 두 개의 옵션을 합쳐서 사용 할 수 있다.

 

  - mkdir : 디렉토리를 생성하는 명령

    = mkdir[옵션] 생성할 디렉토리명

    = -m : 생성할 디렉토리에 권한(퍼미션)까지 지정

    = -p : 상위 디렉토리까지 생성

  - rmdir : 비어있는 디렉토리를 삭제

    = rmdir[옵션] 삭제할 디렉토리명

    = -p : 상위 디렉토리까지 삭제

 

 

/(root) 디렉토리

  - 시스템 근간이 되는 가장 중요한 디렉토리로 반드시 존재해야함

  - 모든 파티션, 디렉토리는 루트 디렉토리 아래에 위치

  - /Bin : 일반 사용자, 시스템 관리자들을 위한 시스템조작 관련한 기본 명령어들이 존재

  - /Boot : 부트로더와 부팅을 위한 파일들이 존재

  - /Dev : 장치 파일들이 존재

  - /Etc :시스템 혹은 프로그램들의 환경설정 파일들이 존재

    = /etc/fstab : 파일 시스템 관리

    = /etc/group :유저 그룹 관리

    = /etc/inittab : init 프로세스 관리

    = /etc/passwd :유저 관리

null

 

  x(암호):0(userID):0(groupID):root(사용자 정보):/root(사용자계정 홈디렉토리):/bin/bash(사용자계정 로그인 쉘)

 

null

 

shadow를 쓸 경우에 암호화 되어있는 것을 볼 수 있다.

  - /home : 사용자의 홈 디렉토리로써 로그인 하였을 때 처음으로 위치하게되는 디렉토리 의미

  - /Lib : 공유 라이브러리와 커널 모듈이 존재

  - /sbin : 시스템 관리 명령어들이 존재

  - /tmp : 임시 파일들이 저장되는 공간

  - /usr : 일반 사용자들을 위한 대부분의 응용 프로그램이 설치되는 공간

    = /usr/bin : 응용프로그램의 실행 파일이 존재

    = /usr/include : C언어의 헤더파일 존재

    = /usr/lib : 실행 파일들을 위한 라이브러리 저장

    = /usr/local : 일반적 프로그램을 설치

    = /usr/src : Rpm, 소스파일들을 저장하여 사용

  - /proc : 실행중인 프로세스의 정보와 cpu, 메모리등의 시스템 정보가 가상으로 저장

    = /proc/cpuinfo : CPU의 정보

    = /proc/devices : 현재 커널에 설정되어 있는 장치의 목록 표시

    = /proc/filesystems : 현재 커널에 설정되어 있는 파일시스템 목록 표시

    = /proc/interrupts : 현재 사용중인 인터럽트에 대한 정보 표시

    = /proc/loadavg : 시스템의 평균 부하량 표시

    = /proc/stat : 시스템 상태 표시

 

 

반응형