将 Debian HDD 从 32 位移植到 64 位笔记本电脑

将 Debian HDD 从 32 位移植到 64 位笔记本电脑

好吧,我的旧 32 位笔记本已经老旧坏掉了。
我保留了旧硬盘(带有可启动的 Debian 操作系统)。
我买了一台较新的 64 位笔记本,并将旧硬盘给了它。
它运行了很长时间,现在仍然如此。
我遇到的问题是sudo apt-get dist-upgrade

user@Debian:~$ sudo apt-get dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libc-dev-bin : Depends: libc6 (< 2.14) but 2.19-18 is installed
 libc6-dev : Depends: libc6 (= 2.13-38+deb7u8) but 2.19-18 is installed
 libc6-i686 : PreDepends: libc6 (= 2.13-38+deb7u8) but 2.19-18 is installed
 locales : Depends: libc-bin (> 2.19) but 2.13-38+deb7u8 is installed
E: Unmet dependencies. Try using -f.  

运行sudo apt-get -f install会返回类似的错误。
我觉得这些错误一定是由于架构变化引起的。
我该如何指定使用i386或者amd64包而不是i686?

答案1

我认为您的问题不是由于更换笔记本电脑造成的。您的 64 位笔记本电脑上仍装有 i386 Debian - 没问题。因此不应该出现任何问题。

您唯一的问题是您正在从 wheezy 升级到 jessie,但一些依赖关系没有解决。这种情况会发生,但这不是什么大问题。

删除那些有问题的软件包,然后升级。如果你确实需要它们,可以稍后再安装它们。

libc-dev-binlibc6-dev是开发二进制文件、库和头文件。您需要它们来编译软件包,但在升级过程中肯定不需要它们。

locales一旦删除了其他内容,升级可能就会顺利完成。

libc6-i686不是另一种架构 - 它是 i386 的一部分,但这些库针对 i686 机器进行了优化。您可以毫无问题地删除它们。

因此,请删除libc-dev-binlibc6-dev然后libc6-i686尝试再次升级 - 它应该可以工作。

答案2

apt-get始终会下载适合您所安装操作系统的正确版本。您无法从 32 位升级到 64 位,您需要执行全新安装。备份您的/home文件夹并执行全新安装,然后将您的/home文件夹复制回来。

答案3

正如 Thomas 所说,升级问题与你的笔记本电脑更换无关(尽管我个人会选择跨级,适合熟悉 Debian 管理的人员)。

您可以通过切换到 aptitude 来处理升级错误。aptitude 将提供许多安全升级的解决方案。将 apt-get 调用替换为 aptitude 调用:

sudo aptitude dist-upgrade

如果第一个解决方案删除了​​许多软件包,请键入 n 跳过它,直到找到一个仅删除少数 -dev 包的解决方案。

相关内容