Является ли редактирование sources.list хорошей идеей?

10

Это сомнение поражает меня уже 2-3 дня, поэтому я решил проверить это сам. Я установил Ubuntu 16.04.4 в VMWare, отредактировал /etc/apt/sources.listи заменил xenialна bionic:

sudo sed -i 's/xenial/bionic/g' /etc/apt/sources.list

Потом я побежал

sudo apt-get update && sudo apt-get upgrade 

Мне удалось обновить до 18.04, подтверждено с помощью lsb_release -a. Однако я столкнулся с некоторыми проблемами, такими как:

  • У apt нет стабильного интерфейса CLI. Используйте с осторожностью в сценариях.

  • неудовлетворенная зависимость python3-aptdaemon.pkcompat

  • Выпуск 'bionic-backports' для 'appstream' не найден

  • Сломанное единство

Я решил все ошибки и установил gnomeи gdm3.

Итак, я просто хочу знать, это хорошая идея для редактирования sources.list? Я знаю, что моя система может сломаться, но есть ли другая конкретная причина не использовать это.

Примечание : я проверил это на Ubuntu 16.04 в VMWare, чтобы очистить только мои сомнения.

Kulfy
источник
1
Вы должны запустить sudo apt-get dist-upgrade(или лучше sudo aptitude dist-upgrade), чтобы включить новые зависимости в процесс обновления. Предупреждающее сообщение об apt в скриптах является нормальным, оно существует как 16.04, так и 18.04.
Nrrbert
@ N0rbert Я знаю, что dist-upgradeэто был бы лучший вариант, но опять же, sudo apt-get install -fустановит зависимости?
Кульфи
Обычно да. Но наверняка я рекомендую использовать обе команды.
Nrrbert
Если я рассмотрю зависимости, будет ли это иметь значение?
Кульфи
3
Пока вы знаете, что делаете и используете правильный формат в файле, это нормально
Сергей Колодяжный

Ответы:

11

Редактирование /etc/sources.list- это один шаг для перехода к следующему выпуску в Debian ... но не в Ubuntu. Вы все еще можете использовать его, но это не рекомендуется, потому что большинству пользователей не нужно иметь дело именно с проблемами, с которыми вы столкнулись.

Вместо этого Ubuntu предоставляет инструмент ( do-release-upgradeкоманду), который будет корректно изменять исходные коды, загружать и устанавливать обновление, а также удалять сирот, и все это предсказуемым и воспроизводимым способом, чтобы предотвратить проблемы в заглавных случаях. Этот инструмент является рекомендуемым способом обновления до новой версии Ubuntu.

user535733
источник
2
Но иногда do-release-upgradeне работают. Итак, в этом случае это следует рассматривать как вариант, если пользователь просто хочет проверить свои программы?
Кульфи
2
Обычно лучше узнать, почему do-release-upgradeне работает. Многие из тех же причин также приведут dist-upgradeк неудаче.
user535733
1
Если do-release-upgrade не работает, обновление пути Debian является полностью приемлемым. менеджер обновлений ubuntu после этого выполняет некоторую подготовку и очистку, о которых типичный пользователь ubuntu не знает. Но, в конце концов, основным шагом остается «apt-get upgrade && apt-get dist-upgrade». Не стесняйтесь использовать apt, это только не рекомендуется в сценариях.
алло
1
@Kulfy Вы говорите о do-release-upgradeнеработающем сейчас? Если это так, Canonical еще не выпустила обновление для него. В примечаниях к выпуску говорится, что он будет доступен в течение нескольких дней после выпуска 18.04.1 в конце июля. Просто продолжай проверять.
Терренс
@ user535733 согласился.
Кульфи
3

Я буду использовать термин «исходная версия» для версии, которую вы использовали до обновления, и «целевой версии» для версии, которую вы использовали после обновления.

Способы обновления версий Ubuntu:

Первый способ: редактирование sources.list

Обычно называемый способ обновления Debian или, иногда, метод грубой силы .

Сюда:

  • Делает вашу систему снабженной пакетами целевой версии.
  • Некоторые сторонние репозитории могут не иметь канала для целевой версии, поэтому вы иногда сталкиваетесь с проблемой неудовлетворенных зависимостей, и во всех случаях вы не можете обновить пакеты до более новой версии. (Например,wine-hq хранилище только недавно добавлена ​​поддержка Bionic).
    • Вы не сможете завершить обновление своего репозитория без удаления сторонних репозиториев, так как у вас возникнет 404 Not foundошибка.

Некоторые примечания: Отключить стороннее хранилище.

Работает: работает или нет.

Уровень рекомендации: слишком низкий.

Второй способ: делать do-release-upgrade:

Обычно называемый Ubuntu способ обновления:

Сюда:

  • Для репозиториев:
    • Переключение на sources.listновые записи репозитория
    • Автоматически удаляет устаревшие записи
  • Для пакетов:
    • Удаляет возможные сломанные пакеты
    • Индекс обновлений пакетов (эквивалент sudo apt full-upgrade)
    • Система обновлений (эквивалентно sudo apt full-upgrade)
    • Удаляет старые пакеты:
      • Старые ядра
      • Пакеты существовали в исходной версии Ubuntu, но не существовали в целевой версии.
    • Сделки с водителями Nvidia.
  • Выпуск определенных заданий:
    • Играет с некоторыми конфигурациями
    • Запускает выпуск определенных скриптов:
      • Например, заменяет Unity Desktop на Gnome Desktop.

Тем не менее, многие люди испытывают проблемы с do-release-upgrade:

Работает: работает ... с ошибками.

Уровень рекомендации: между низким и средним.

Третий способ: чистая установка

Это наиболее рекомендуемый способ обновления вашей системы .

Примечание № 1: не забудьте сделать резервную копию.

Примечание № 2: Скорее всего, вы потратите равное время на исправление ошибок, вызванных вышеупомянутыми методами. Если так, то почему не решаетесь делать чистую установку?

Работает: всегда работает.

Уровень рекомендации: очень высокий.

Olimjon
источник