ElementaryOS Luna에서 KeyError: 'CODENAME'으로 인해 소프트웨어 센터가 즉시 충돌합니다.

ElementaryOS Luna에서 KeyError: 'CODENAME'으로 인해 소프트웨어 센터가 즉시 충돌합니다.

소프트웨어 센터를 열려고 하면 즉시 충돌이 발생합니다. 터미널에서는 다음과 같습니다.

software-center
2014-08-29 17:44:29,262 - softwarecenter.fixme - WARNING - logs to the root logger: '('/usr/lib/python2.7/dist-packages/gi/importer.py', 51, 'find_module')'
2014-08-29 17:44:29,262 - root - ERROR - Could not find any typelib for Gst
2014-08-29 17:44:29,324 - softwarecenter.ui.gtk3.app - INFO - setting up proxy 'None'
2014-08-29 17:44:29,329 - softwarecenter.db.database - INFO - open() database: path=None use_axi=True use_agent=True
2014-08-29 17:44:29,489 - softwarecenter.backend.reviews - WARNING - Could not get usefulness from server, no username in config file
2014-08-29 17:44:29,559 - softwarecenter.ui.gtk3.app - INFO - show_available_packages: search_text is '', app is None.
2014-08-29 17:44:29,561 - softwarecenter.db.pkginfo_impl.aptcache - INFO - aptcache.open()
Traceback (most recent call last):
  File "/usr/bin/software-center", line 176, in <module>
    app.run(args)
  File "/usr/share/software-center/softwarecenter/ui/gtk3/app.py", line 1422, in run
    self.show_available_packages(args)
  File "/usr/share/software-center/softwarecenter/ui/gtk3/app.py", line 1352, in show_available_packages
    self.view_manager.set_active_view(ViewPages.AVAILABLE)
  File "/usr/share/software-center/softwarecenter/ui/gtk3/session/viewmanager.py", line 154, in set_active_view
    view_widget.init_view()
  File "/usr/share/software-center/softwarecenter/ui/gtk3/panes/availablepane.py", line 171, in init_view
    self.apps_filter)
  File "/usr/share/software-center/softwarecenter/ui/gtk3/views/catview_gtk.py", line 238, in __init__
    self.build(desktopdir)
  File "/usr/share/software-center/softwarecenter/ui/gtk3/views/catview_gtk.py", line 511, in build
    self._build_homepage_view()
  File "/usr/share/software-center/softwarecenter/ui/gtk3/views/catview_gtk.py", line 257, in _build_homepage_view
    self._append_banner_ads()
  File "/usr/share/software-center/softwarecenter/ui/gtk3/views/catview_gtk.py", line 372, in _append_banner_ads
    scagent.query_exhibits()
  File "/usr/share/software-center/softwarecenter/backend/scagent.py", line 119, in query_exhibits
    lang=get_language(), series=self.distro.get_codename())
  File "/usr/share/software-center/softwarecenter/distro/__init__.py", line 92, in get_codename
    self._distro_code_name = distro_info['CODENAME']
KeyError: 'CODENAME'

참고: 이 문제가 발생하기 얼마 전에 논의한 대로 업데이트가 실패하는 몇 가지 문제가 있었습니다.여기. 거기와 다른 곳에서는 일부 ppa의 "luna"를 "precise"로 변경해야 한다는 제안이 있었습니다. 파일을 편집하는 것이 아니라 소프트웨어 센터를 통해 이 작업을 수행했습니다. 소프트웨어 센터의 문제가 이로 인해 발생한 것으로 의심됩니다. 그러나 /etc/apt/sources.list.d/elementary.list 및 /etc/apt/sources.list.d/patches.list에서 "precise"를 "luna"로 다시 변경해도 소프트웨어 센터가 다시 작동하지는 않습니다. 업데이트 문제가 발생합니다.

답변1

다음을 수행하여 문제가 해결되었습니다.

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install --reinstall base-files=6.5ubuntu6.7+elementary8~ubuntu0.2.1

전문가가 아니라서 설명은 못하지만 해결책은 찾았네요여기. /etc/os-release 및 /etc/lsb-release와 관련이 있는 것 같습니다. 제 경우에는 위의 해결 방법을 시도하기 전에 파일이 다음과 같았습니다.

cat /etc/os-release
NAME="Ubuntu"
VERSION="12.04.5 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.5 LTS)"
VERSION_ID="12.04"

cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"

그러면 그들은 다음과 같이 보입니다:

cat /etc/os-release
NAME="elementary OS"
VERSION="0.2.1 Luna"
ID="elementary OS"
ID_LIKE=ubuntu
PRETTY_NAME="elementary OS Luna"
VERSION_ID="0.2.1"

cat /etc/lsb-release
DISTRIB_ID="elementary OS"
DISTRIB_RELEASE=0.2.1
DISTRIB_CODENAME=luna
DISTRIB_DESCRIPTION="elementary OS Luna"

게다가 ppa를 추가할 때 겪었던 또 다른 문제도 해결되었습니다!

관련 정보