安装 Brasero 会删除 100 多个软件包并损害互联网和显示管理器

安装 Brasero 会删除 100 多个软件包并损害互联网和显示管理器

我原本以为 Paraview 已经解决了一个问题,但是 Brasero 却带来了更大的问题。

  1. 几天之前我想安装 Paraview (amd64)在我的计算机(x68_64,Ubuntu 12.04 LTS)中,Google-Earth 和 Skype 等都使用了 i386 库。这种代际冲突导致 apt-get 要求删除那些较旧的软件包和相关库。(感谢斯尼特舍尔感谢你向我指出这一点。)最后,我设法帕拉维尤Skype谷歌地球运行后正确安装并正常运行apt-get -f install,这是对损坏的依赖关系的全面检查。我根据 apt-get 本身的建议这样做了。
  2. 然而,当apt-get -f install我处理它的任务时,我注意到一些应用程序从桌面菜单中消失了。我认为这是正常的,因此我继续重新安装它们。女妖第一次尝试很顺利(我不记得是用 apt-get 还是 dpkg)。布拉塞罗乐趣来了。
  3. 在执行完命令后apt-get install brasero,apt-get 要求我删除另外大量的库,大约有数百个。我错误地认为这些应用程序加上并让我继续。在这种自身免疫性兴奋的狂欢结束时,第一个证据是浏览器无法再连接到 URL——因此互联网连接被关闭。然后我给重启一个机会。系统无缝地通过了 POST,然后它挂在 Ubuntu 启动屏幕上。
  4. 长话短说,我设法重启了恢复模式并进入响应式命令行终端。随着 POST 进行检查,我发现它在启动 LightDM Display Manager 时失败了(但也许是我错过的其他地方)。

现在恢复模式命令行的状态为:

  • ping产生“用户未知”
  • xterm产生“显示未设置”
  • lightdm产生gdm“当前未安装”
  • dpkg-reconfigure lightdm产生“损坏或未完全安装”
  • apt-get install lightdm出现“无法获取”的提示,可能是因为互联网已被切断(已检查电缆是否到位)
  • 我可以看到外部驱动器!

因此,我考虑通过在其中一个驱动器上保存 deb 文件的桥头堡,然后从命令行运行dpkgapt-get运行它们来绕过互联网断网。显然,我不太赞成重新安装整个操作系统。

这对你有意义吗?如果有意义,那么问题是

  1. 哪些包和依赖项可以恢复互联网连接?
  2. 由于依赖项的数量很容易达到数十甚至数百个,那么有没有地方可以方便地将它们压缩/打包成一个包?当然,我不能依赖远程获取。
  3. 假设我设法恢复了互联网连接,那么我将能够获取远程存储库。我应该运行哪些命令来确保所有“损坏的部分”都得到挽救和恢复?
  4. Brasero 到底为什么要删除 100 多个必不可少的库包?我觉得这实在是太过分了!

感谢您耐心阅读这篇长文。我期待您的回答和评论。

更新:要求的输出

答案1

  1. 启动到恢复然后进入 shell
  2. 检查可用的网络接口。

    ifconfig -a
    

    如果您没有看到 IP 地址(x.x.x.x),请运行 DHCP 查询来获取 IP,然后将其更改eth0为您的 IP。

    dhclient eth0
    
  3. 确认连接

    ping -c3 ubuntu.com
    

    你应该得到类似这样的输出:

    3 packets transmitted, 3 received, 0% packet loss
    
  4. 检查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
    
  5. 更新包列表

    apt-get update
    
  6. 跑步

    apt-get install ubuntu-desktop
    
  7. 如果仍然收到“未满足的依赖项”消息,请运行aptitude

    aptitude
    
    • 按下/搜索,ubuntu-desktop然后写入Enter
    • 然后使用n直到ubuntu-desktop选择,NOTubuntu-desktop:i386
    • +标记它以进行安装
  8. 此时,底部应该有一个带有数字的红色条[1/..],指示来自许多其他可能的解决方案的当前解决方案。

    • 按下e检查,它显示当前解决方案将要做什么。
    • .使用/翻阅所有其他解决方案,
    • 你会看到一些解决方案,它们倾向于继续安装软件包而不进行安装ubuntu-desktop。选择删除较少软件包并进行安装的那个ubuntu-desktop

      这并不总是完美的解决方案,因此请仔细检查然后再选择。每个案例都是特定的。有关当前案例,请参阅这个相关的聊天室

    • !然后申请g,再检查g一次以确认。
  9. 如果一切顺利,请重新启动。

  10. 然后安装您需要的其他工具,这些工具可能已被删除。

    笔记:这些是我的个人经历,所以我可能错了。所以如果有人有其他经历,请分享。

    • 避免.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删除残留物(自动安装的i386arch 依赖项)。安装amd64您想要的包,然后尝试重新安装已删除的i386工具。

      这是为什么呢?如果你尝试安装一个i386工具,它的所有依赖项也会被安装i386,即使是amd64可用的并且可以工作的依赖项。稍后,如果你尝试安装另一个amd64具有至少一个重叠依赖项的工具,就会发生冲突。

      Aptitude 看起来像是删除了软件包,但实际上它是i386用相应的软件包替换了一些软件包amd64

      看看这个展示案例,Ubuntu 14.04,安装 gstreamer1.0-libav 时出现问题,未满足依赖关系

相关内容