시스템 관리 · 4 min read · Dec 05, 2025
Debian Lenny (Debian 5.0)에서 Squeeze (Debian 6.0)로 Xen VPS에서 업그레이드하는 방법
Debian Lenny (Debian 5.0)에서 Squeeze (Debian 6.0)로 Xen VPS에서 업그레이드하는 방법
이 튜토리얼은 Xen 기반 가상 사설 서버(VPS)에서 Debian Lenny (Debian 5.0) 설치를 Squeeze (Debian 6.0)로 업그레이드하는 방법을 보여줍니다. 여기에는 커널 업데이트, 의존성 기반 부팅 시퀀스 및 UUID로의 변환이 포함됩니다.
일반적인 Debian 방식으로 apt-get dist-upgrade를 사용하면 부팅할 수 없는 시스템이 될 가능성이 높습니다. 이는 주로 grub 업데이트가 실패하기 때문입니다.
제한 사항: grub을 업데이트할 수 없습니다. 대신 이전 grub 버전을 유지해야 합니다. 이 튜토리얼은 이를 달성하는 방법을 보여줍니다. 이 문제에 대한 해결책을 찾은 분은 댓글을 남겨주세요. 그러나 언제든지 댓글과 비판은 환영합니다!
면책 조항: 이 방법의 모든 단계가 신중하게 테스트되었지만, 작동할 것이라는 보장을 하지 않습니다! 자신의 책임하에 진행하세요. 프로덕션 환경에서 시도하지 마세요. 단계를 되돌릴 수 있는 직렬 콘솔에 접근할 수 없다면 시도하지 마세요. 데이터를 백업하거나 미리 스냅샷을 만들어 두세요! 부팅할 수 없는 시스템이 될 수 있습니다!
0 선택적 단계
다음 단계는 Squeeze로 업그레이드하는 데 필요하지 않지만, 일부 사용자에게 유용할 수 있습니다.
0.1 스왑 파일 추가 (선택 사항)
저와 같이 RAM과 스왑 공간이 매우 적은 VPS를 운영하는 경우 (<512 MB) 스왑 공간을 확장하는 것이 좋거나 필요할 수 있습니다.
다음 명령은 루트 디렉토리에 swapfile이라는 이름의 2GB 스왑 파일을 생성하고, 포맷하고 활성화합니다:
dd if=/dev/zero of=/swapfile bs=1024 count=2097152 && mkswap /swapfile && swapon /swapfile부팅 시 스왑 파일을 자동으로 활성화하기 위해 /etc/fstab에 다음 줄을 추가합니다:
echo “/swapfile none swap sw 0 0” >> /etc/fstab
0.2 셸 프롬프트 색상 지정 (선택 사항)
이 명령은 /root/.bashrc에 항목을 추가하여 다음 로그인 후 root@host: /etc #와 같은 색상 프롬프트를 제공합니다:
echo "PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '" >>/root/.bashrc1 Debian Squeeze (Debian 6.0)로 시스템 업그레이드
모든 단계를 주의 깊게 따르시기 바랍니다. 이 방법을 끝까지 완료할 때까지 다른 작업을 하지 마세요. 특히, 완료할 때까지 재부팅하지 마세요!
1.1 sources.list 업데이트
/etc/apt/sources.list에 다음 항목을 사용하세요:
vi /etc/apt/sources.listus를 가까운 미러로 대체해야 합니다. 이 줄 이후에 필요에 따라 추가 소스를 포함할 수 있습니다.
#squeeze
deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free
# squeeze release replacement mirrors for volatile sources
deb http://mirrors.kernel.org/debian squeeze-updates main contrib
deb-src http://mirrors.kernel.org/debian squeeze-updates main contrib
#security-squeeze
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free다음 명령을 실행하세요:
apt-get update1.2 로케일 설치 / 업데이트 / 구성
이 단계는 설치 중에 “로케일을 설정할 수 없음”과 같은 성가신 오류 메시지를 없애기 위해 미리 수행합니다. $LC_* 및 $LANG가 올바른지 확인하세요:
apt-get install localesGNU libc 라이브러리 업그레이드를 위해 재시작할 서비스:
[…]
<확인>
dpkg-reconfigure locales사용자에게 적합한 로케일을 선택하세요. 이 예에서는 en_DK.UTF-8입니다:
생성할 로케일:
[…]
[*] en_DK.UTF-8
[…]
기본 로케일 설정:
시스템 환경의 기본 로케일:
en_DK.UTF-8
1.3 grub 자동 업그레이드 방지
다음 명령은 apt가 grub, grub-common 및 grub-pc(설치된 경우)를 업그레이드하지 않도록 구성합니다:
echo "grub hold" | dpkg --set-selections && echo "grub-common hold" | dpkg --set-selections && echo "grub-pc hold" | dpkg --set-selections1.4 dist-upgrade 실행
이제 실제 업그레이드를 다운로드하고 설치할 준비가 되었습니다. 마지막 업데이트에 따라 다운로드하고 설치할 항목이 많을 수 있습니다. 설치 중에 여러 중요한 질문이 있을 것이니 모든 내용을 주의 깊게 읽으세요. 다음 명령을 실행하세요:
apt-get dist-upgrade1.3 단계에서 모든 것이 제대로 작동하는지 확인하기 위해 다음 줄을 확인하세요:
업그레이드 계산 중… 완료
다음 패키지가 제거됩니다:
[…]
다음 새 패키지가 설치됩니다:
[…]
다음 패키지가 보류 중입니다:
grub grub-common
다음 패키지가 업그레이드됩니다:
[…]
계속하시겠습니까 [Y/n]? Y
dash를 사용할지 여부는 상관없습니다. 업그레이드 프로세스에 영향을 미치지 않습니다:
기본 시스템 셸로 dash를 사용하시겠습니까 (/bin/sh)?
<예>
PAM 라이브러리 업그레이드를 위해 재시작할 서비스:
[…]
<확인>
의존성 기반 부팅 시퀀스로 마이그레이션:
레거시 부팅 시퀀스를 의존성 기반 시퀀스로 마이그레이션하시겠습니까?
<예>
장치 이름 대신 UUID 사용:
시스템 구성에서 디스크 장치 ID를 업데이트하시겠습니까?
<예>
디스크 장치 ID에 대한 구성 변경 사항을 적용하시겠습니까?
<예>
1.5 /etc/fstab 편집
vi /etc/fstab/etc/fstab에서 /dev/pts 및 /dev/shm의 주석을 제거하세요. 그렇지 않으면 시스템이 부팅되지 않습니다:
[...]
# none /dev/pts devpts gid=5,mode=620 0 0
# none /dev/shm tmpfs defaults 0 0
[...] 1.6 grub 구성
마지막으로 grub을 장치 이름 대신 UUID를 사용하도록 구성해야 합니다.
cat /etc/fstab루트 파티션의 UUID를 찾아 복사하세요. 중요: 이 예제의 UUID가 아니라 당신의 fstab에서 UUID를 복사하세요:
[...]
# /dev/sda1 / ext3 defaults 1 1
UUID=your-uuid-here / ext3 defaults 1 1
[...] 현재 menu.lst를 백업하세요:
mv /boot/grub/menu.lst /boot/grub/menu.lst.backupmenu.lst를 재구성하세요:
update-grub/boot/grub/menu.lst를 편집하세요:
vi /boot/grub/menu.lst모든 root=/dev/…의 발생을 UUID=…로 바꾸세요. 이전에 당신의 /etc/fstab에서 복사한 UUID 문자열을 사용하세요:
[...]
## ## 기본 옵션 종료 ##
title Debian GNU/Linux, kernel 2.6.32-5-xen-amd64
root (hd0)
kernel /boot/vmlinuz-2.6.32-5-xen-amd64 root=UUID=your-uuid-here ro
initrd /boot/initrd.img-2.6.32-5-xen-amd64
title Debian GNU/Linux, kernel 2.6.32-5-xen-amd64 (single-user mode)
root (hd0)
kernel /boot/vmlinuz-2.6.32-5-xen-amd64 root=UUID=your-uuid-here ro single
initrd /boot/initrd.img-2.6.32-5-xen-amd64
[...] UUID=라는 단어와 숫자를 포함하는지 다시 확인하세요. UUID 자체만 포함하지 마세요!
1.7 정리 (선택 사항)
더 이상 필요하지 않은 자동으로 설치된 패키지를 제거할 수 있습니다. 더 이상 필요하지 않다고 확신하는 경우:
apt-get autoremove2 새 시스템으로 재부팅
위의 모든 단계를 주의 깊게 따랐고 오류 메시지가 없었다면 이제 새 시스템으로 재부팅할 시간입니다. 다시 한 번: 시스템이 부팅될 것이라는 보장을 하지 않지만, 행운을 빕니다! ;-) 모든 것이 실패하면 VPS의 직렬 콘솔 에뮬레이션에 접근하여 단계를 되돌리거나 백업 또는 스냅샷을 복원해야 합니다!
rebootDebian 6.0 Squeeze를 즐기세요! 댓글과 비판은 환영합니다!
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.