[시스템] 철학이 있는 리눅스 설치 -5 장 (발생 시 응급 복구 방법 )

5. 문제 발생 시 응급 복구 방법

파일 시스템이 깨졌거나 해킹등의 문제로 정상 부팅이 안되는 경우 복구 방법 입니다.

실제 리눅스 커널로 부팅을 하는 것이 가장 중요하다. 부팅을 해서 시스템 상태를 점검

해야 이 다시 설치를 할지 아님 일부 중요 파일의 백업을 이용하여 복구를 할지 결정이

가능하다. 먼저 시스템 부팅이 안된다. 이제 부팅을 시켜 보자

– 긴급 부팅 시키기

1장에서 설정한 bootloader 설정 내용도 참조하세요.

** Linux 배포 CD를 통한 부팅

단 이때는 기본적으로 시스템의 하드의 파티션 중 /  파티션의 디바이스 명을 알고

있어야 한다. 1장에서 언급한바와 같이 그래서 초기 셋팅 후 시스템 정보를 보관하

는것은 상당히 중요하다.

Linux Install CD 를 넣고 부팅 한다. boot 프롬프트에 다음내용을 기재한다.

boot : linux initrd= root=/dev/hda2   -> /dev/hda2 가 실제 / 파티션의 device name

이는 Linux Install CD 에 있는 기본 커널로 시스템을 부팅하여 현 시스템의

root mount point ( / ) 에 접근하는 것이다.

이경우는 IDE 하드에 리눅스가 설치 된 경우 주로 사용한다. SCSI 의 경우 Install CD

커널에 SCSI 모듈 정보가 포함안되어져 있어서 root device 를 못찾는다면서 실패할

가능성이 많다.

주로 Lilo 가 깨졌을때 많이 사용한다.

** rescue mode booting

역시 Linux Install CD 를 이용하여 부팅할때 boot 프롬프트에서 rescue 라는 옵션과

같이 부팅

boot : linux rescue

그럼 text 설치 과정과 비슷하게 넘어가다가  bash prompt ( # ) 바로 떨어진다.

하드디스크에 크게 문제가 없을 경우에는 /mnt/sysimage 폴더에 system root 파티션이

mount 되어져 있을것이다.

# chroot /mnt/sysimage

하면 마치 정상적으로 부팅 한것 처럼 mount 가 되어진다.

이상태에서 정검하면 됩니다. 진짜 중요한 파일에 문제가 있어 이것이 안된다고 하면

수동으로 mount 하여 중요파일의 손상 정도를 파악한다.

rescue 방식은 주로 SCSI 하드 디스크 일 경우 많이 사용함.

주로 Lilo 깨졌을때, 파일 시스템 깨졌을때, 완전히 망가 졌을 때

** single mode  로 부팅하기

파일 시스템에 문제가 발생하여 파일 시스템을 체크하기 위해 부팅하는 모드로 LILO

Prompt 가 뜨면 ..

Lilo : linux single

위와 같이 부팅한다. 그런 후 안정스럽게 파일 시스템을 점검 및 복구 한다.

이밖에 파일 시스템 복구 목적으로 긴급 부팅 하는 방법으로는

lilo: linux init=/bin/sh

도 있다.

– 부팅 디스켓 만들기

먼저 부팅디스켓으로 사용할 커널 이미지를 선택한다.

그리고 선택한 커널 이미지가 root 장치(root mount point)가 재대로 잡혀 있는지

확인한다.

# rdev /boot/vmlinuz

Root device /dev/hda1

만일 루트 장치가 현재 잡혀 있는거랑 틀리다면 아래와 같이 수정한다.

# rdev /boot/vmlinuz /dev/hda3

#

이제 깨끗한 플로피 디스켓 하나 준비하고 포맷한다.

# fdformat /dev/fd0

# dd if=/boot/vmlinuz of=/dev/fd0 bs=8192

– 일반유저에게 장치 mount 허가하기

특정 장치를 일반유저에게 mount/umount 하게 해주기 위해서는 /etc/fstab 에서

허가할 장치의 옵션에 user 이란 옵션을 추가 해 주어야 한다.

혹은 mount/umount 명령어의 퍼미션을 setuid 로 해주어도 가능하다.

– 파일 시스템 만들기

mkfs 명령어 사용

# mkfs -t ext2 /dev/hdb1

# mkfs -t ext2 /dev/fd0

플로피 파일 시스템 만들기

# fdformat /dev/fd0

# mkfs -t ext2 -c /dev/fd0 -v

-c : 블럭체크

-v : 진행과정 display

파일시스템 점검 수리

# fsck -t [type] [device]

fsck 파일 점검은 가능한 umount 한 후에 실행한다. 하지만 / 을 mount 하지 않은

면 당근 부팅이 제대로 될수 없기에 / 를 체크할때는 플로피로 부팅을 하던지 아님

single mode 로 부팅한후 체크 한다.

체킹후 mount -t -w -o remount /

해주면 된다.

– 긴급  스왑 메모리 추가 하기

# touch /swap

# dd if=/dev/zero of /swap bs=1024 count=8192

# sync

# mkswap -c /swap 8192

# swapon /swap

하면 8M 의 스왑메모리를 추가 할수 있다.

이밖에 여유공간에 파티션을 나누고 /etc/fstab 에 추가 해 주어도 가능하다.

– RPM 패키지 상태 초기화 하기

누가 해킹 혹은 실수로 RPM 패키지의퍼미션이나 권한등을 변경하여 정상적인 작동을 안할 경우

이를 설치 시 상태로 복구 하는 방법이다.

# rpm –setperms -a

이로써 장작 3일간의 “철학이 있는 리눅스 설치” 의 모든 내용을 마치도록 하겠

습니다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

2 Responses

  1. 2022년 6월 20일

    2apostate

  2. 2023년 1월 26일

    3enlightenment

페이스북/트위트/구글 계정으로 댓글 가능합니다.