Как восстановить репозитории по умолчанию?

138

Теперь при обновлении возникают ошибки, и я не могу установить большинство программ из-за повреждения

/etc/apt/sources.list

файл. Можно ли скачать копию, чтобы заменить ее?

Файл будет для Ubuntu 12.04 (Final Beta) в Соединенных Штатах.

Энди Кастилль
источник
Вы пробовали приложение с графическим интерфейсом "Software Sources"? Я не запускаю 12.04, но в прошлом именно здесь вы могли выбрать местоположение хранилища и отредактировать, какие из них использовать из этого места.
Марти Фрид
Я сделал, и ни одна из перечисленных ошибок не была в этом. Я просто хочу найти копию файла sources.list, как это было, когда я недавно установил Ubuntu.
Энди Кастил
Вы должны иметь возможность перейти на вкладку «Другое программное обеспечение» и удалить дублирующиеся записи. Или, если вы не уверены, вы можете снять несколько и посмотреть, решит ли это проблему. Кроме того, вы запускали "sudo apt-get update", как это было предложено?
Марти Фрид
Да. Это дает мнеW: Failed to fetch http://ppa.launchpad.net/pmcenery/ppa/ubuntu/dists/precise/main/source/Sources 404 Not Found W: Failed to fetch http://ppa.launchpad.net/pmcenery/ppa/ubuntu/dists/precise/main/binary-amd64/Packages 404 Not Found W: Failed to fetch http://ppa.launchpad.net/pmcenery/ppa/ubuntu/dists/precise/main/binary-i386/Packages 404 Not Found E: Some index files failed to download. They have been ignored, or old ones used instead.
Энди Кастилль
Все из них с ppa.launchpad.net должны быть перечислены на вкладке «Другое программное обеспечение» и могут быть отключены или удалены. На самом деле, я считаю, что все из них с URL-адресами http: // могут быть отключены и будут потеряны, если вы замените файл на файл по умолчанию. Если вы зайдете на « ppa.launchpad.net» , вы увидите большой список, который включает в себя такие вещи, как «pmcenery», я проследовал за ним до ppa / ubuntu / dists и увидел, что последняя версия была natty, так что нет никакого iriric или Точное, что нужно иметь. Вот почему вы получаете ошибку 404 (не найдена).
Марти Фрид

Ответы:

120

Вы можете использовать этот трюк. Откройте терминал (Нажатие Ctrl+ Alt+ T) и выполните эти

  • Переместите поврежденный в безопасное место

    sudo mv /etc/apt/sources.list ~/
    

    и воссоздать его

    sudo touch /etc/apt/sources.list
    
  • Открытое программное обеспечение и обновления

    software-properties-gtk
    

    Откроется software-properties-gtkбез выбранного хранилища.

Затем измените сервер на Главный сервер или любой другой сервер по вашему выбору. Вы должны включить некоторые репозитории из нового окна, чтобы создать новый sources.listфайл в /etc/apt/.

Вкладка Ubuntu-Software из Software-Properties-GTK

  • После включения некоторых источников на вкладке программного обеспечения Ubuntu вы можете включить обновления. Для этого перейдите на вкладку « Обновления » и выберите один или несколько каналов обновлений. Я рекомендую выбирать каналы безопасности и обновления как минимум. (Это изображение позже добавлено из Ubuntu xenial, поэтому могут быть некоторые различия)

    вкладка обновлений software-properties-gtk


Обновлен со встроенным контентом

Это sources.listфайл для 12.04 Precise Pangolin.

###### Ubuntu Main Repos
deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse 

###### Ubuntu Update Repos
deb http://archive.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse 
deb-src http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse 

###### Ubuntu Partner Repo
deb http://archive.canonical.com/ubuntu precise partner
deb-src http://archive.canonical.com/ubuntu precise partner

###### Ubuntu Extras Repo
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main

Если вы используете другой выпуск, вам нужно заменить preciseслово на название вашего выпуска Ubuntu. Вы можете увидеть, какое имя вы должны использовать с этой командой:

lsb_release -c -s

Чтобы заменить слово, вы можете использовать эту sedкоманду (при условии, что вы скопировали содержимое источников /etc/apt/sources.list):

sudo sed -i "s/precise/$(lsb_release -c -s)/" /etc/apt/sources.list

Примечание 1: слово debи deb-srcотносится к формату хранилища. debдля бинарных пакетов и deb-srcдля исходных пакетов.

Примечание 2: Использование #в начале строки делает эту строку комментарием. aptбудет игнорировать его, поэтому любые репозитории, упомянутые в этой строке, будут отключены.

Примечание 3: Есть репозиторий линии , которая включает все четыре компонента: main, universe, restricted, multiverse. Вы можете отключить один или несколько из них, удалив слово.

Примечание 4: Вы можете найти некоторые объяснения репозиториев в этом моем другом ответе

Анвар
источник
11
А если бы я был на сервере Ubuntu ?!
Dr.jacky
2
Это не сработало для меня - новые источники. Список не был создан.
гидроксид
1
Я проверил это снова сейчас, он генерирует новый. Вы должны включить некоторый репозиторий, такой как main, вселенная и т. Д.
Anwar
Спасибо, другие места, которые я посмотрел, не упоминали раздел обновления. Это было необходимо для меня, чтобы установить вещи сapt
Даррел Холт
Спасибо, ты спас мою операционную систему, rs
Диого Энрике Фрагозо де Олив
101

Перейдите на https://repogen.simplylinux.ch .

Выберите свою страну и релиз Ubuntu.

Для набора репозиториев по умолчанию вам необходимо включить эти репозитории.

  • Все репозитории Ubuntu Branches.
  • Безопасность - важные обновления безопасности.
  • Хранилище источников безопасности
  • Обновления - рекомендуемые обновления
  • Обновление источников информации

Если вы хотите установить программное обеспечение из репозиториев партнеров Canonical (программное обеспечение с закрытым исходным кодом), включите репозитории партнеров Ubuntu (оба).

Включите любой сторонний репозиторий, который вы хотите включить.

Теперь нажмите кнопку «Создать список» внизу этой страницы, и вы увидите созданный вами список sources.list.

Замените старый sources.list новым

Выполните следующие команды в терминале.

sudo mv /etc/apt/sources.list /etc/apt/sources.list.old
gksudo gedit /etc/apt/sources.list

Скопируйте / вставьте весь текст из недавно созданного списка sources.list в этот файл. Сохраните его и закройте Gedit.

Теперь обновите кв.

sudo apt-get update

Это обновит ваш индекс репозитория текущим sources.list, а затем вы сможете установить любое программное обеспечение, используя Software Center, Synaptic или apt-get.

SirCharlo
источник
Когда- то в прошлом вы добавляли ppa.launchpad.net/pmcenery/ppa/ubuntu/dists/precise/main/source/… в свой список. У вас была последняя версия natty до бета-версии? Я подозреваю, что обновитель изменил natty на точный, но нет точной версии для этого пакета. Я бы удалил его из "Другое программное обеспечение". Кстати, ошибка ни в чем не вредит.
Марти Фрид
21

По умолчанию резервная копия для вашего файла sources.list находится в том же каталоге.

sudo cp /etc/apt/sources.list.save /etc/apt/sources.list

Ответ на аналогичный вопрос здесь: https://askubuntu.com/a/465210/150936

Дэвид Кеннеди
источник
7
cp: not stat `/etc/apt/sources.list.save ': нет такого файла или каталога
Dr.jacky
Я на 18.04.1. У меня не было /etc/apt/sources.list.save, но у меня был /etc/apt/sources.list.curtin.old. Это эквивалент?
Джобобинс
Стоит отметить, что если вы только что обновили дистрибутив и продолжали иметь ошибки при установке apt-get, то вместо sources.list.save скопируйте sources.list.distUpgrade
MaKiPL