アップグレード中のDebianアップグレードに失敗しました

アップグレード中のDebianアップグレードに失敗しました

私は非常に深刻な問題に直面しています。私のラップトップをDebian 7.0から現在ベータ版にアップデートしています。パッケージ(veusz.helper)の依存関係がないため、アップグレードプロセスを続行できません。ただし、ほぼ1,000個のソフトウェアパッケージが削除されました。そしてシステムが詰まった。

だから、再起動する必要がありますが、問題はシステムもアンマウントされているので、それはvmlinuzLinuxinitrd.gzボリュームを認識しないということです。そして、新しくダウンロードしたパッケージはまだ存在します/var/apt/cache/archives

アップグレードプロセスを続行し、依存関係の問題を特定する方法はありますか?

答え1

grubメニューに他の利用可能なカーネルがある場合は、それらのいずれかを起動してみてください。エラーがなくなるまでdpkg --configure --pendingapt-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などの恐ろしい恐怖に対する神秘的な防衛策です。

関連情報