好吧,我的旧 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-bin
和libc6-dev
是开发二进制文件、库和头文件。您需要它们来编译软件包,但在升级过程中肯定不需要它们。
locales
一旦删除了其他内容,升级可能就会顺利完成。
libc6-i686
不是另一种架构 - 它是 i386 的一部分,但这些库针对 i686 机器进行了优化。您可以毫无问题地删除它们。
因此,请删除libc-dev-bin
,libc6-dev
然后libc6-i686
尝试再次升级 - 它应该可以工作。
答案2
apt-get
始终会下载适合您所安装操作系统的正确版本。您无法从 32 位升级到 64 位,您需要执行全新安装。备份您的/home
文件夹并执行全新安装,然后将您的/home
文件夹复制回来。
答案3
正如 Thomas 所说,升级问题与你的笔记本电脑更换无关(尽管我个人会选择跨级,适合熟悉 Debian 管理的人员)。
您可以通过切换到 aptitude 来处理升级错误。aptitude 将提供许多安全升级的解决方案。将 apt-get 调用替换为 aptitude 调用:
sudo aptitude dist-upgrade
如果第一个解决方案删除了许多软件包,请键入 n 跳过它,直到找到一个仅删除少数 -dev 包的解决方案。