12.04 安装 toolchain-test-ppa 后报告自己为 quantal?

Kil*_*nDS 8 12.04

我今天升级到 12.04(64 位),到目前为止一切顺利,一切都很好,直到我尝试做一些更高级的东西。

当我尝试添加toolchain-test ppa 时,我发现分发不匹配。尝试或 4 次后,这改变了并将我链接到此错误报告。到目前为止一切顺利,这是一个奇怪的错误,但我不是唯一的错误,它会得到修复吗?

但我发现这是一个非常奇怪的错误,我还注意到其他一些(自定义)应用程序在我的发行版中表现得很奇怪。所以我试图找出我正在运行的版本,这些是我得到的结果:

>:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu quantal (development branch)
Release:    12.10
Codename:   quantal

>:~$ cat /etc/issue
Ubuntu quantal (development branch) \n \l
Run Code Online (Sandbox Code Playgroud)

现在我想知道:我在安装时做错了什么吗?我是不是每晚不小心下载了一些奇怪的东西,设置了错误的存储库,......?或者这只是系统某个小部分中的一个错误,导致报告错误并且可能会混淆一两个应用程序?

现在,无论是什么原因:有没有一种简单的方法可以再次将此发布信息设置为正确的版本?

Mic*_*ild 12

我有同样的问题。就我而言,这是因为我启用了ppa:ubuntu-toolchain-r/test并且即使仅precise列为系列,其中的base-files包似乎属于quantal. 要找出错误base-files包的安装位置,请使用以下命令:

$ apt-cache policy base-files
Run Code Online (Sandbox Code Playgroud)

找到版本与已安装版本匹配的行并检查为该版本报告的 URL。

如果您想保持启用 PPA(例如,因为您想要/必须使用 gcc-4.7 编译器),您可以使用apt-pinning强制系统保留 base-files 包,同时允许您安装 gcc-4.7。/etc/apt/preferences.d/base-files使用以下内容创建文件(确保不要在名称中使用任何点):

Package: base-files
Pin: release o=Ubuntu
Pin-Priority: 1001
Run Code Online (Sandbox Code Playgroud)

这将base-files在下次升级时强制将软件包降级到其默认版本(来自主 ubuntu 存储库)。

要格外小心印刷错误,尤其是空格和大写。

文件到位后,用于apt-cache policy base-files确定Candidate版本。它应该与默认 Ubuntu 存档旁边列出的版本相对应。最后,开始降级:

$ sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

当被问及你是否真的想降级(大写不是我的......)时,用y+回答Enter