Ubuntu 12.04 – Why Ubuntu 12.04 Reports Itself as Quantal After Installing Toolchain-Test-PPA


I upgraded to 12.04 (64 bit) today, so far so good, everything worked great, until I tried doing some more advanced stuff.

When I tried adding the toolchain-test ppa, I got a mismatch on distribution. After a try or 4 this changed and linked me to this bug report. So far so good, a weird error but I'm not the only one and it will get fixed right?

But I found it a very weird error, and I also noticed some other (custom) apps behaving weird concerning my distribution version. So I tried to find out what release I'm running, these are the results I got:

>:~$ 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

Now I'm wondering: did I do something wrong on installation? Did I accidentally download some weird nightly, set up wrong repositories, …? Or is this simply a bug in some small part of the system that does the reporting wrong and maybe will confuse an app or two?

Now, whatever the reason: is there a simple way I can set this release information to the correct version again?

Best Answer

I had the exact same problem. In my case it was due to the fact that I had the ppa:ubuntu-toolchain-r/test enabled and even though only precise was listed as the series, the base-files package in there seems to belong to quantal. To find out from where the misbehaving base-files package is installed, use the following command:

$ apt-cache policy base-files

Find the line where the version matches the installed version and inspect the URL that is reported for that version.

If you want to keep the PPA enabled (e.g. because you want/must use the gcc-4.7 compiler), you can use apt-pinning to force the system into keeping the base-files package while allowing you to install gcc-4.7. Create the file /etc/apt/preferences.d/base-files (make sure not to use any dots in the name) with the following content:

Package: base-files
Pin: release o=Ubuntu
Pin-Priority: 1001

This will force a downgrade of the base-files package to its default version (from the main ubuntu repository) on the next upgrade.

Be extra careful about typographical errors, particularly spaces and capitalization.

Once the file is in place, use apt-cache policy base-files to determine the Candidate version. It should correspond to the version that is listed next to the default Ubuntu archive. Finally, start the downgrade:

$ sudo apt-get upgrade

When asked whether you really want to DOWNGRADE (capitalization not mine...), answer with y+Enter.

Related Question