我最近刚刚升级到 Ubuntu 11.10。我不是 Unity 的粉丝,所以我决定尝试 Linux Mint 的 MATE 桌面。我添加了 Mint 存储库,获取并安装了 MATE 软件包,然后删除了存储库,这样我就不用下载任何其他 Mint 软件包了。我确实遇到了一些软件包故障(缺少依赖项),但我修复了它。
正如其他用户所报告的那样,安装 MATE 会暂时破坏 Ubuntu 软件中心,因为 lsb_release 显示机器是 Linux Mint 而不是 Ubuntu。我可以按照说明修复它这个答案通过编辑 /etc/*release 和 /etc/*issue。
问题是,这只有在我重启机器之前才有效。每次我重启,/etc/lsb-release 和 /etc/issue 都会恢复到 Linux Mint,再次破坏软件中心,直到我再次编辑它们。
有人能帮我确定是什么在不断改变这些文件吗?非常感谢,谢谢。
重新表述问题的关键:/etc/lsb-release 和 /etc/issue 从哪里获取信息?什么会导致它们在重启时被修改?
答案1
我遇到了同样的问题,并决定将其付诸实践(一直这样做grep -r
直到我发现脚本改变了那些文件!)。
罪魁祸首是/usr/lib/linuxmint/mintSystem/mint-adjust.py
,它由 mintsystem 软件包(MATE 依赖该软件包)安装。显然它在启动时运行,并不断更改这些文件以提供基于 Mint 的信息。
正如您提到的,您可以通过在文件中输入正确的信息来恢复正常的 Ubuntu 软件中心行为:
/etc/issue
/etc/lsb-release
/etc/issue.net
(修复 issue.net 并不是真正需要修复软件中心的,但为了完整性,在这里进行修复。它保存在 telnet 会话开始时显示的系统信息,Mint 也将其系统信息写入那里)。
方便的是,Ubuntu 还将正确的当前系统信息写入 Mint 不会触及的一组单独的匹配文件中,因此您只需将它们复制过去:
/etc/issue.dpkg-dist
/etc/lsb-release.dpkg-dist
/etc/issue.net.dpkg-dist
我已经放弃了 MATE,因为我对在 Ubuntu 12.04 上运行的 Cinnamon 很满意,但一个解决方法就是注释掉这个脚本中有问题的行(您不必是 Python 极客就能找出问题所在!)
更完善的修复方法是使用 LinuxMint 覆盖系统(文件中解释/etc/linuxmint/adjustments/README
)来管理更正 - 但我想一旦相关文件更新(或您更新 Ubuntu 基础),这两种解决方案中的任何一种都将被破坏。
最好的解决方案是让 mintsystem 软件包维护者相信 Mint 是其自身成功的受害者 - 现在许多人都在安装 MATE,即使在 Ubuntu 上,它也不应该调用假定 LinuxMint 基础安装的 mintsystem 脚本。
但我会把这场战斗留给别人。据我所知,Cinnamon 不会触发此行为,所以希望我不会再遇到这个问题。:)。
编辑:对于那些有兴趣在 Ubuntu 上尝试 MATE 的人来说,这些说明似乎可以避免这个问题:
我犯的错误是进入 Mint 存储库(而不是特定的 MATE 存储库)并安装一堆标有“mate”的包,最终拉入该mintsystem
包,从而导致了问题。