Почему название моей версии Linux читается как Linaro вместо Xubuntu и как я могу это исправить?
У меня установлен Xubuntu 12.04. Когда я запускаю какие-либо обновления или установки, я получаю странные предупреждения, касающиеся "Linaro", и софт-центр не может работать со следующей ошибкой:
:~$ software-center
ERROR:root:DebFileApplication import
Traceback (most recent call last):
File "/usr/share/software-center/softwarecenter/db/__init__.py", line 4, in <module>
from debfile import DebFileApplication, DebFileOpenError
File "/usr/share/software-center/softwarecenter/db/debfile.py", line 25, in <module>
from softwarecenter.db.application import Application, AppDetails
File "/usr/share/software-center/softwarecenter/db/application.py", line 27, in <module>
import softwarecenter.distro
File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 194, in <module>
distro_instance = _get_distro()
File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 169, in _get_distro
module = __import__(distro_id, globals(), locals(), [], -1)
ImportError: No module named Linaro
WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-9MI6cW/pkcs11: Adresář nebo soubor neexistuje
Traceback (most recent call last):
File "/usr/bin/software-center", line 140, in <module>
from softwarecenter.ui.gtk3.app import SoftwareCenterAppGtk3
File "/usr/share/software-center/softwarecenter/ui/gtk3/app.py", line 50, in <module>
from softwarecenter.db.application import Application
File "/usr/share/software-center/softwarecenter/db/application.py", line 27, in <module>
import softwarecenter.distro
File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 194, in <module>
distro_instance = _get_distro()
File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 169, in _get_distro
module = __import__(distro_id, globals(), locals(), [], -1)
ImportError: No module named Linaro
А на загрузке есть "Linaro", а не "Xubuntu". Я предполагаю, что это изменение произошло, когда я сменил стабильное ядро на текущее ядро, когда мое ядро конфликтовало с расширенным драйвером nvidia. Все остальное работает хорошо.. так что это не большая проблема, просто странно.
Я думал, что дистрибутив Linaro ориентирован на процессоры ARM. Как название этого дистрибутива пришло ко мне, я не знаю. Что я могу сделать, чтобы вернуться к имени дистрибутива Xubuntu?
Добавлено:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Linaro
Description: Linaro 12.11
Release: 12.11
Codename: precise
$ python -c 'import platform; print platform.linux_distribution()'
('Linaro', '12.11', 'precise')
Я почти уверен, что у меня установлена 12.04 Xubuntu...
$ more /etc/lsb-release
DISTRIB_ID=Linaro
DISTRIB_RELEASE=12.11
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Linaro 12.11"
$ dpkg-query -W base-files
base-files 6.5ubuntur6linaro12.11
$ apt-cache policy base-files
base-files:
Instalovaná verze: 6.5ubuntur6linaro12.11
Kandidát: 6.5ubuntur6linaro12.11
Tabulka verzí:
*** 6.5ubuntur6linaro12.11 0
500 http://ppa.launchpad.net/linaro-maintainers/overlay/ubuntu/ precise/main amd64 Packages
100 /var/lib/dpkg/status
6.5ubuntu6.5 0
500 http://cz.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
6.5ubuntu6 0
500 http://cz.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
Вы правы, похоже, у меня есть их ядро linakro, что решило мою проблему с ядром-nvidia, но было добавлено кое-что еще... Но у меня нет других проблем, кроме неправильно функционирующего программного центра, так что это серьезно не запутано.
2 ответа
Достаточно было отредактировать /etc/lsb-release в исходное содержимое:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Xubuntu 12.04"
А также sudo apt-get dist-upgrade
пошел наконец хорошо. Я всегда опускаю его, потому что компьютер должен работать ежедневно. Это была моя последняя попытка перед решением переустановить или попытаться это исправить. Так что это было наконец исправлено так легко.
У вас установлена накладная накладка Linaro PPA (ppa:linaro-сопровождающие / накладка), которая обеспечивает замену base-files
пакет, который заменил сообщаемое имя дистрибутива вашей системы на Linaro.
Если вы хотите устанавливать только определенные пакеты из оверлея для целей, не связанных с целью оверлея, вы можете использовать apt pinning для предотвращения автоматического обновления пакетов из PPA. Например: вы можете создать файл с именем /etc/apt/preferences.d/linaro-overlay-pin
со следующим содержанием:
Package: *
Pin: release o=LP-PPA-linaro-maintainers-overlay
Pin-Priority: 400
Это остановит автоматическое обновление пакетов, когда PPA предоставит для них более свежие номера версий. Затем вы можете установить пакеты из PPA, который вам нужен, указав их номера версий:
sudo apt-get install foo=1.2-1
Но так как вы уже обновили base-files
из PPA без закрепления, я не уверен, что еще вы могли бы обновить, и что вам нужно будет понизить вручную.