Ошибка «Не удалось найти шаблон распространения»

15

Когда я пытаюсь установить что-либо с помощью apt-get, я получаю следующую ошибку:

Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 60, in <module>
    sp = SoftwareProperties()   
  File "/usr/lib/python2.6/dist-packages/softwareproperties/SoftwareProperties.py", line 90, in __init__
    self.reload_sourceslist()
  File "/usr/lib/python2.6/dist-packages/softwareproperties/SoftwareProperties.py", line 538, in reload_sourceslist
    self.distro.get_sources(self.sourceslist)    
  File "/usr/lib/python2.6/dist-packages/aptsources/distro.py", line 90, in get_sources
    raise NoDistroTemplateException("Error: could not find a "
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template

Есть идеи, что это значит и как решить?

Райан Л. Уотсон
источник
Можете ли вы показать точную команду, дающую этот ответ?
энзотиб
Попробуйте использовать aptitude.
amra

Ответы:

23

Легко исправить Просто сделай это

gksudo gedit /etc/lsb-release

Затем отредактируйте открываемый файл так, чтобы он выглядел следующим образом

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu Karmic Koala"

Не забудьте указать, какую версию Ubuntu вы используете. Я использую кармическую коалу, поэтому я вставил это.

Вы можете получить список здесь внизу
http://en.wikipedia.org/wiki/Ubuntu_%28operating_system%29

Затем вернитесь в терминал после того, как вы сохранили файл lsb-release, и вы сможете добавить add-apt-repository

Джошуа Робисон
источник
Просто наблюдение: будьте осторожны с прописными и строчными буквами!
4
Вы определенно не должны этого делать. Этот файл является частью пакета base-files и не должен редактироваться. Вместо этого вы должны понизить или обновить пакет соответствующим образом (и закрепить другой пакет, который вызвал изменение базовых файлов).
Тамас Селеи
Звучит здорово @fish, не могли бы вы написать простое пошаговое объяснение того, как это сделать, и опубликовать его здесь в качестве ответа?
Джошуа Робисон
Вот отличный ответ, который в значительной степени охватывает все этапы: askubuntu.com/a/135472/3449
Тамас Селеи,
5

Содержание /etc/lsb-releaseнедействительно. Вам нужно будет переустановить base-filesпакет, чтобы восстановить его содержимое. К сожалению, вы не можете просто использовать apt-getдля работы. Вместо,

  1. перейдите по адресу https://launchpad.net/ubuntu/+source/base-files и найдите раздел для вашей версии Ubuntu,

  2. загрузите самую последнюю версию пакета, доступную для вашей версии и архитектуры,

  3. бегать:

    sudo dpkg -i /your/path/to/base-files_*.deb
    
  4. Сделайте пробный запуск с

    sudo apt-get install --reinstall base-files
    
Дэвид Фёрстер
источник