Linux Rescue mode 로 부팅하기
개요
Linux 가 부팅이 안 되거나 실수로 mount, yum, ssh 같은 필수 구성요소를 삭제했을때 복구 모드로 부팅해서 문제를 해결해야 한다. 들어갈 일이 거의 없어서 잊을것 같으니 절차를 정리해 둔다.
Booting into Rescue Mode
부팅
- CD/DVD USB 등의 media 를 넣고 부팅
- Boot 화면에서 rescue 선택
3rd party driver 등이 필요할 경우 tab 키를 누르고 kernel parameter 수정
If your system requires a third-party driver provided on a driver disc to boot, load the driver with the additional option dd:
linux rescue dd
- 언어 선택 (Korean 이 있으나 Text 모드이므로 선택이 불가하므로 English 를 선택)
- KeyBoard Type 선택
- Rescue Method 선택(DVD 부팅이므로 기본 Local CD/DVD 선택)
- Network 이 필요할 경우 Network 설정
- Rescue mode 선택. Local 에 설치된 linux 를 찾아서 /mnt/sysimage 에 마운트하며 시스템을 복구하려면 Read-Write로 마운트해야 한다. Continue 선택.
- rescue manager 에는 다음과 같이 3개의 메뉴가 표시됨. shell 을 선택하면 shell prompt 가 기동되어 복구 작업을 할 수 있음
복구
복구할 리눅스 시스템의 루트 암호를 변경하거나 패키지를 설치하는등의 복구 작업을 할 경우 해당 파티션이 root로 마운트 되어야 작업이 가능하므로 다음 chroot 명령어로 루트 파티션을 변경.
chroot /mnt/sysimage
chroot 를 수행했으면 yum 이나 passwd 등 시스템 변경은 복구 대상 시스템을 대상으로 이루어짐.
마운트할 파티션이 추가로 있을 경우 다음과 같이 수동 마운트
mount -t ext4 /dev/mapper/VolGroup00-LogVol02 /foo
- Volumn 을 모를 경우 다음 명령어로 볼륨을 확인
fdisk 사용
fdisk -l
view LVM volumn
pvdisplay vgdisplay lvdisplay
실수로 base 패키지들을 삭제해서 부팅이 안 되거나 mount, ls 등의 기본 명령어들이 안 먹을때 다음과 같이 base group 을 새로 install
yum groupinstall base
Booting into single user Rescue Mode
RHEL/CentOS 7, 8
- 시스템 부팅 후 tab 키를 눌러서 커널 선택 모드로 진입
- 부팅할 커널을 선택하고 e 키를 누름
- 부팅 옵션 화면에서 아래로 스크롤해서
linux 이나 linuxefi 로 시작하는 라인을 찾은 후에 해당 라인의 맨 뒤에 다음 내용 추가하고 Ctrl-x 를 눌러서 부팅
rd.break enforcing=0
rd.break : 부팅 프로세스의 초기 단계만 수행(initramfs 에서 실제 시스템으로 제어권을 넘기지 않고 부팅 종료)
enforcing=0 : SELinux 를 permissive mode 로 구동. (disable 하는 selinux=0 과는 다른 옵션)enforcing=0 은 생략 가능
파일 시스템을 read write 로 다시 마운트
mount –o remount,rw /sysroot
루트 파일 시스템 변경
chroot /sysroot
root 암호 복구가 필요하면 암호 변경
passwd
SELinux 를 사용할 경우 복구 모드에서 수정한 파일은 SELinux Context 가 없어서 재부팅시 문제가 될 수 있음. 다음 명령을 실행하면 재부팅시 자동으로 파일에 대해 SELinux context relabeling 을 수행함
touch /.autorelabel
fixfiles onboot
touch 명령은 파일명 오타를 내도 확인할 수 없으므로 실행 결과를 확인할 수 있는 fixfiles onboot 명령을 권장
복구가 끝났으면 exit 를 실행해서 재부팅
exit
CentOS 6
- 시스템 부팅 후 tab 키를 눌러서 커널 선택 모드로 진입
- 부팅할 커널을 선택하고 e 키를 누름
- 커널 파라미터 선택화면에서 e 키를 눌러서 파라미터 수정화면으로 진입
- 파라미터 수정. 싱글 유저로 진입하고 SELinux 를 끌 경우 다음 옵션 추가
- 수정후 엔터를 쳐서 파라미터 선택화면(3번) 으로 돌아온 후에 b 키를 눌러서 부팅