我原本以为 Paraview 已经解决了一个问题,但是 Brasero 却带来了更大的问题。
- 几天之前我想安装 Paraview (amd64)在我的计算机(x68_64,Ubuntu 12.04 LTS)中,Google-Earth 和 Skype 等都使用了 i386 库。这种代际冲突导致 apt-get 要求删除那些较旧的软件包和相关库。(感谢斯尼特舍尔感谢你向我指出这一点。)最后,我设法帕拉维尤,Skype和谷歌地球运行后正确安装并正常运行
apt-get -f install
,这是对损坏的依赖关系的全面检查。我根据 apt-get 本身的建议这样做了。 - 然而,当
apt-get -f install
我处理它的任务时,我注意到一些应用程序从桌面菜单中消失了。我认为这是正常的,因此我继续重新安装它们。女妖第一次尝试很顺利(我不记得是用 apt-get 还是 dpkg)。布拉塞罗乐趣来了。 - 在执行完命令后
apt-get install brasero
,apt-get 要求我删除另外大量的库,大约有数百个。我错误地认为这些应用程序加上并让我继续。在这种自身免疫性兴奋的狂欢结束时,第一个证据是浏览器无法再连接到 URL——因此互联网连接被关闭。然后我给重启一个机会。系统无缝地通过了 POST,然后它挂在 Ubuntu 启动屏幕上。 - 长话短说,我设法重启了恢复模式并进入响应式命令行终端。随着 POST 进行检查,我发现它在启动 LightDM Display Manager 时失败了(但也许是我错过的其他地方)。
现在恢复模式命令行的状态为:
ping
产生“用户未知”xterm
产生“显示未设置”- 并
lightdm
产生gdm
“当前未安装” dpkg-reconfigure lightdm
产生“损坏或未完全安装”apt-get install lightdm
出现“无法获取”的提示,可能是因为互联网已被切断(已检查电缆是否到位)- 我可以看到外部驱动器!
因此,我考虑通过在其中一个驱动器上保存 deb 文件的桥头堡,然后从命令行运行dpkg
或apt-get
运行它们来绕过互联网断网。显然,我不太赞成重新安装整个操作系统。
这对你有意义吗?如果有意义,那么问题是
- 哪些包和依赖项可以恢复互联网连接?
- 由于依赖项的数量很容易达到数十甚至数百个,那么有没有地方可以方便地将它们压缩/打包成一个包?当然,我不能依赖远程获取。
- 假设我设法恢复了互联网连接,那么我将能够获取远程存储库。我应该运行哪些命令来确保所有“损坏的部分”都得到挽救和恢复?
- Brasero 到底为什么要删除 100 多个必不可少的库包?我觉得这实在是太过分了!
感谢您耐心阅读这篇长文。我期待您的回答和评论。
更新:要求的输出
答案1
- 启动到恢复然后进入 shell
检查可用的网络接口。
ifconfig -a
如果您没有看到 IP 地址(
x.x.x.x
),请运行 DHCP 查询来获取 IP,然后将其更改eth0
为您的 IP。dhclient eth0
确认连接
ping -c3 ubuntu.com
你应该得到类似这样的输出:
3 packets transmitted, 3 received, 0% packet loss
检查
dpkg
多架构设置$ dpkg --print-architecture amd64 $ dpkg --print-foreign-architectures i386 $ grep -ir arch /etc/dpkg/ /etc/dpkg/dpkg.cfg.d/multiarch:foreign-architecture i386
如果
i386
第二和第三个命令中没有显示,请设置:echo "foreign-architecture i386" > /etc/dpkg/dpkg.cfg.d/multiarch
更新包列表
apt-get update
跑步
apt-get install ubuntu-desktop
如果仍然收到“未满足的依赖项”消息,请运行
aptitude
。aptitude
- 按下/搜索,
ubuntu-desktop
然后写入Enter - 然后使用n直到
ubuntu-desktop
选择,NOTubuntu-desktop:i386
- +标记它以进行安装
- 按下/搜索,
此时,底部应该有一个带有数字的红色条
[1/..]
,指示来自许多其他可能的解决方案的当前解决方案。- 按下e检查,它显示当前解决方案将要做什么。
- .使用/翻阅所有其他解决方案,
你会看到一些解决方案,它们倾向于继续安装软件包而不进行安装
ubuntu-desktop
。选择删除较少软件包并进行安装的那个ubuntu-desktop
。这并不总是完美的解决方案,因此请仔细检查然后再选择。每个案例都是特定的。有关当前案例,请参阅这个相关的聊天室。
- !然后申请g,再检查g一次以确认。
如果一切顺利,请重新启动。
然后安装您需要的其他工具,这些工具可能已被删除。
笔记:这些是我的个人经历,所以我可能错了。所以如果有人有其他经历,请分享。
- 避免
.deb
使用 dpkg、debi 或 software-center 在本地安装二进制 Debian 软件包。尽可能使用存储库(Ubuntu 存储库、PPA 存储库、其他供应商存储库等)。 - 对于供应商软件包,请寻找本地架构
amd64
。在极少数情况下,构建源代码(如果可用)比构建外部架构更容易。 Software-center、synaptic、apt-get 和许多其他工具,对我来说,它们不完全支持多架构功能。它们只显示 1 个解决方案,并且(apt-get 除外)不显示每个包的架构。
如果您遇到任何冲突,请使用
aptitude
。它会显示其他解决方案,并清楚地显示所有可用架构中的所有软件包。如果您必须安装一些
i386
没有 amd64 选项的工具。请将它们留到最后安装。如果您已经安装了它们,并且正在尝试安装本机 archamd64
包,那么您将遇到冲突(基本上未满足依赖关系的消息)。让 aptitude 卸载这些i386
,然后运行 clean up 以apt-get autoremove
删除残留物(自动安装的i386
arch 依赖项)。安装amd64
您想要的包,然后尝试重新安装已删除的i386
工具。这是为什么呢?如果你尝试安装一个
i386
工具,它的所有依赖项也会被安装i386
,即使是amd64
可用的并且可以工作的依赖项。稍后,如果你尝试安装另一个amd64
具有至少一个重叠依赖项的工具,就会发生冲突。Aptitude 看起来像是删除了软件包,但实际上它是
i386
用相应的软件包替换了一些软件包amd64
。
- 避免