업그레이드 중 Debian 업그레이드 실패

업그레이드 중 Debian 업그레이드 실패

나는 매우 심각한 문제에 직면해 있습니다. 내 노트북을 Debian 7.0에서 현재 베타 배포판으로 업데이트하고 있습니다. 패키지( veusz.helper) 종속성이 누락되어 업그레이드 프로세스를 계속할 수 없습니다. 그러나 거의 1,000개의 소프트웨어 패키지가 제거되었습니다. 그리고 시스템이 막혔습니다.

그래서 재부팅해야 하는데 문제는 시스템도 언마운트 되어 있어서 vmlinuz그럽 initrd.gz이 리눅스 볼륨을 인식하지 못한다는 겁니다. 그리고 새로 다운로드한 패키지는 여전히 존재합니다 /var/apt/cache/archives.

업그레이드 프로세스를 계속하고 종속성 문제를 식별할 수 있는 방법이 있습니까?

답변1

grub 메뉴에 사용 가능한 다른 커널이 있으면 그 중 하나를 부팅해 보세요. 오류가 없을 때까지 dpkg --configure --pending, apt-get -f install및 를 반복적으로 실행하여 apt-get dist-upgrade시스템을 복구 할 수 있습니다 .

그렇지 않은 경우 복구 CD 또는 USB 스틱에서 부팅해야 합니다. 제가 가장 좋아하는 Clonezilla는 64비트 및 32비트 버전으로 제공됩니다. 대부분의 다른 버전은 32비트 전용이므로 64비트 시스템으로 루트를 변경할 수 없습니다.

복구 CD를 부팅하는 경우 노트북의 루트 파일 시스템(예: /mnt)을 마운트하고 /mnt 아래에 /proc, /sys 및 /dev를 바인드 마운트해야 합니다. 별도의 /boot 파티션이 있는 경우 /boot를 /mnt/boot로 마운트해야 합니다. 그런 다음 /mnt로 루트할 수 있습니다.

예를 들어, rootfs가 /dev/sda1이고 /boot가 /dev/sda2인 경우 복구 CD를 부팅하고 루트 셸을 가져와 다음과 같은 작업을 수행합니다.

mount /dev/sda1 /mnt
mount /dev/sda2 /mnt/boot
for i in proc dev sys dev/pts ; do mount -o bind /$i /mnt/$i ; done
chroot /mnt

dpkg --configure --pending이제 위에서 설명한 대로( 오류가 없을 때까지 반복적으로 실행하여) 시스템을 복구할 수 있습니다 .

완료되면 커널이 설치되어 있고 initramfs가 있는지 확인하고 파일 시스템을 마운트 해제하고(설치된 순서와 반대로) 재부팅합니다.

예를 들어

exit   # exit from the chroot.
for i in dev/pts sys dev proc /boot / ; do umount /mnt/$i ; done
sync
shutdown -r now

이것은 sync실제로 필요하지 않습니다. 신비한 역사적 이유로 인해 기분이 좋아졌습니다. 요그 소토스(Yog Sothoth) 및 스코 유닉스(Sco Unix)와 같은 끔찍한 공포에 대한 신비한 방어책입니다.

관련 정보