私は非常に深刻な問題に直面しています。私のラップトップをDebian 7.0から現在ベータ版にアップデートしています。パッケージ(veusz.helper
)の依存関係がないため、アップグレードプロセスを続行できません。ただし、ほぼ1,000個のソフトウェアパッケージが削除されました。そしてシステムが詰まった。
だから、再起動する必要がありますが、問題はシステムもアンマウントされているので、それはvmlinuz
Linuxinitrd.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などの恐ろしい恐怖に対する神秘的な防衛策です。