运行后我看到一些关于丢失文件的奇怪错误消息
sudo apt-get update && sudo apt-get install -y flashplugin-installer
具体来说,/boot/
缺少一些配置文件。这让我很担心:
Setting up nvidia-304 (304.125-0ubuntu0.0.1) ...
dpkg: warning: version '*-*' has bad syntax: version number does not start with a digit
update-initramfs: deferring update (trigger activated)
Traceback (most recent call last):
File "/usr/bin/quirks-handler", line 26, in <module>
import Quirks.quirkapplier
File "/usr/lib/python2.7/dist-packages/Quirks/quirkapplier.py", line 26, in <module>
import XKit.xutils
ImportError: No module named XKit.xutils
dpkg: error processing package nvidia-304 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up flashplugin-installer (11.2.202.457ubuntu0.14.04.1) ...
Processing triggers for initramfs-tools (0.99ubuntu13.5) ...
update-initramfs: Generating /boot/initrd.img-3.2.0-74-generic
grep: /boot/config-3.2.0-74-generic: No such file or directory
Errors were encountered while processing:
nvidia-304
E: Sub-process /usr/bin/dpkg returned an error code (1)
我应该怎么办?
编辑 1:这可能与我的新问题 Unity 失败和 TTY1 声称未安装有关,也可能无关。
编辑 2:Unity 似乎放假了,所以我只有 Firefox(因为当它全部崩溃时它是打开的,然后 alt+ctrl+F1 进入硬壳。我宁愿不重新启动,直到我知道我可以让整个事情再次运行,也因为我不应该这样做,恕我直言。有人建议我摆脱旧的,linux-image
但linux-header
我知道这样做的唯一方法是进行大量的复制和粘贴,远远超出了我能记得在 tty1 中再次输入的任何内容。
编辑 3:根据 uname -a,我的内核版本是 3.2.0-74-generic,这可能是也可能不是正确的版本(我对此一无所知)。但是缺少配置文件表明有些地方出了问题。
编辑 4:关注https://help.ubuntu.com/community/Lubuntu/Documentation/RemoveOldKernels我发现有大量 2.6 映像,尽管 apt-get remove 似乎主要报告相同的文件缺失。根据评论,升级可能没有 Ubuntu 让我理解的那么顺利。所以我可能也需要找到一种方法来解决这个问题。
编辑 5:我尝试了do-release-upgrade -d
一下,一开始一切顺利,但最后却出现了错误消息。错误消息让我看到了以下报告:https://bugs.launchpad.net/bugs/1363703这并没有告诉我太多信息。
我降级到 tty2,它让我升级到 12.04.5。我照做了,lsb_release -cd
它说我使用的是 14.10 / utopic,尽管 shell 告诉我新版本 14.04.1 可用,我应该使用do-release-upgrade
它来获取它,但运行时它说没有什么可升级的。我正式失去了想法、线索和任何计划。
编辑 6:显然我曾尝试升级到 14.10,但很笨拙。我遇到的几乎毁掉一切的问题是一个死掉的配置文件:什么是 virtuoso-nepomuk,卸载它会造成多大的危害?现在我遇到了原始问题(参见上面的某个地方,启动 Unity 时出现段错误)。段错误可能是另一个问题。
编辑7:NVidia 问题可能是众所周知的:无法更新 Nvidia 驱动程序,安装即将结束时出现错误我正在调查此事。
编辑 8:在设法获得大多数升级之后,“问题包”列表会变得更大一些。
答案1
这是根据我保存的日志得出的,因此有一些错误和猜测。不过我认为我已经解决了这个问题,但这离不开对这个问题的评论以及许多其他问题及其答案的帮助。
根据问题的许多更新,尽管我因为愚蠢的错误意外地从 14.04 LTS 升级到了 14.10,但我还是进展缓慢。我的 UI 坏了(没有 Unity 和不完整的 Compiz),这给了我一个只有 FireFox 和 TTY1 的 UI(还有 2 和 3,top
并保持 Compiz 运行)。然后我误解了我正在阅读的一篇文章并触发了重启。现在我的坏 UI 消失了,我只在 Root shell 中。
这就是我修复该问题的方法。
其中大部分灵感来自于https://askubuntu.com/a/510830/145472并且通常需要sudo
在每个命令之前
所以我在 root 中。我将所有内容都设置为读/写,然后开始认真起来。我正在使用我那台古老的 Windows 笔记本电脑来访问网络。
我尝试了dhclient eth0
几次,但都出现了错误,似乎没有成功。我没有记录下所有的错误,也没有记录下它们何时开始发生变化。
我移至了/var/cache/apt/archives/
,否则它将在 之前加前缀*
。上述答案的想法基本上是推动事物发展,直到它们变得松散。
dpkg -i *.deb
apt-get install -f
后果:旧问题消失,新问题出现
dpkg --configure -a
结果:问题列表又发生了一些变化
dpkg -i *.deb
这比上次取得了更大的进步……
dpkg --configure -a
仍然报告了相当多的依赖性错误。问题软件包列表比以往更大。超出屏幕范围。
apt-get install -f
现在可以使用它apt-get
来获取新包,因此无论我做了什么,我都可以通过网络恢复,因此它可以正常工作。(正如我提到的)
结果:问题软件包列表现在小了很多。NVidia 不再是问题软件包列表。因此我尝试:
dpkg --configure -a
有点儿太忙了。所以我又咯咯地笑了一会儿,
apt-get update
apt-get upgrade
然后按照链接中的答案返回:
dpkg -i *.deb
dpkg --configure -a
此时似乎没有什么进展了,所以我重启了……差不多。九个小时后(我去睡觉了),我放弃了,按下了重置按钮。
结果:GUI 现在可以加载,但是当我尝试登录时,出现“无法创建会话”的情况。有进展但还不够。
所以我降到 TTY1 并以此方式登录。
看到几条systemd-logind failed to start unit
消息似乎是一个已知的错误:https://bugs.launchpad.net/ubuntu/+source/systemd-shim/+bug/1359439
sudo apt-get update && sudo apt-get upgrade
没有做太多的事。
于是我sudo apt-get autoremove
按照它的建议运行。结果删除了旧包并处理了触发器。
就在那时,我意识到 apt 没有建立连接并成功运行,sudo dhclient eth0
这意味着我首先看到的问题已经得到解决,所以我做对了。
sudo apt-get update && sudo apt-get upgrade
档案中有 2 个新包。
sudo apt-get install --reinstall liblapack3
(这是最顶层的包报告的错误)
然而这给了我一个错误信息。
E: 内部错误,没有 liblapack3:amd64 的文件名
我不知道这意味着什么,但我知道有些事情需要大力推动。
sudo dpkg --force-depends -r liblapack3:amd64
这导致了我见过的最极端愤世嫉俗和讽刺的消息,就好像我自己的电脑在说“WTF,你这个白痴。我希望你知道自己在做什么”。这是我最近见过的最有趣的事情(至少对我来说)。
我曾希望 sudoapt-get install --reinstall liblapack3
可以解决问题,但是没有。没有什么改变。
注意到大多数问题都在等待 python-numpy,我尝试了
sudo dpkg --force-depends -r python-numpy
sudo apt-get install -f
这没有帮助
但是 dpkg -i *.deb 给出了一些非常明显的错误消息,包括一些快速滚动的软件包冲突。
sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
(另一个人建议)似乎修复了一些问题,但效果并不好……不过,它可能有用,也许,也许。实际上,我不知道我是否只是对风格不做任何改变……
dpkg -i *.deb
dpkg --configure -a
错误列表... 不同。有些是新的,有些是旧的。
sudo apt-get -o Debug::pkgProblemResolver=yes install python-numpy
不确定是否有帮助
然后我开始怀疑我遗漏了什么错误。我记得有一种方法可以让你的输出重定向到一个文件中,但我不记得我必须再次使用搜索引擎并找到这个: http://www.linuxquestions.org/questions/linux-software-2/bash-how-to-redirect-output-to-file-and-still-have-it-on-screen-412611/ 这让我看到了我没注意到的错误信息。在我因为自己的笨拙操作让一切变得更糟之前,我可能应该看到这些错误信息。
update-alternatives:错误:替代 liblapack.so.3gf 不能成为 liblapack.so.3 的从属:它是一个主替代
这显然是一个已知的错误:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660607
通过谷歌搜索我发现了这篇博客文章:https://aweirdimagination.net/2015/03/27/fixing-broken-alternatives/ 它建议:
sudo update-alternatives --remove-all liblapack.so.3gf
sudo apt-get install -f
问题解决了。
dpkg -i *.deb
dpkg --configure -a
sudo apt-get update && sudo apt-get upgrade
再检查一下。一切顺利。没有错误。
sudo reboot
这次重启成功了,我看到的所有错误都消失了。对我来说,可能还有一种不那么痛苦的方法。