[시스템] 철학이 있는 리눅스 설치 -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일간의 “철학이 있는 리눅스 설치” 의 모든 내용을 마치도록 하겠
습니다.