В течение примерно двух лет Debian остается относительно неизменным.
Версии и функции программы остаются неизменными в течение этого времени.
Исправления безопасности возвращаются.
Иногда исключения делаются для редких ситуаций, когда пакет может нуждаться в новых функциях.
Например, драйвер может быть обновлен, чтобы добавить поддержку большего количества оборудования.
Но это случается редко.
Постоянство вещей имеет свои преимущества.
Это делает операционную систему надежной.
Вы почти никогда не сталкиваетесь с ошибками.
Вещи почти никогда не ломаются после обновления пакетов.
Отсутствие новых функций также означает отсутствие неожиданных сюрпризов / поведения.
Но каждые два года (примерно) выпускается новая версия Debian.
И это часто приносит значительные улучшения и новые функции, которые вы можете захотеть или нуждаться.
Хотя операционная система часто описывается как «надежная» по причинам, упомянутым выше, процесс обновления также является надежным.
В чистой системе обновление с одной основной версии на другую происходит так гладко, потому что вы просто обновили несколько неважных пакетов.
Перед обновлением очистите sources.list
Некоторые пользователи сталкиваются с проблемами при попытке обновления.
Они получают неразрешимые конфликты пакетов, удаление важных программ и так далее.
В итоге они предпочитают просто удалить старую установку и заново установить новую версию.
Тем не менее, в большинстве случаев это не вина Debian.
Причина, по которой они сталкиваются с проблемами, часто заключается в том, что они сделали одно или несколько из этих действий, чтобы сломать свою операционную систему.
То, что он работает, не означает, что менеджер пакетов не будет молчать.
Поэтому перед продолжением рекомендуется удалить любую ссылку на стороннее программное обеспечение из ваших файлов «sources.list».
Откройте файл для редактирования:
sudo nano /etc/apt/sources.list
Удалите все ссылки на программное обеспечение вне официальных репозиториев Debian. В этом файле нужно всего три строки.
Если вам нужен шаблон, скопируйте приведенный ниже пример и измените его в соответствии с вашими потребностями.
Очень важно сохранить текущее кодовое имя вашего выпуска Debian! Итак, если это 2021 год, и вы работаете с Debian Buster, замените stretch на buster, или на то, что вам подходит.
deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian stretch-updates main deb http://deb.debian.org/debian-security/ stretch/updates main
Кроме того, сохраните слова, завершающие строки.
В этом примере строка заканчивается строкой «main».
Но если ваши текущие строки «sources.list» оканчиваются на «main contrib non-free», то добавьте «contrib non-free» в конце каждой строки.
В этом случае ваш конечный результат может выглядеть так:
deb http://deb.debian.org/debian stretch main contrib non-free deb http://deb.debian.org/debian stretch-updates main contrib non-free deb http://deb.debian.org/debian-security/ stretch/updates main contrib non-free
Чтобы сохранить файл, нажмите Ctrl + X, затем y, а затем Enter.
Обновите информацию о пакете:
sudo apt update
Обновите ваши пакеты:
sudo apt upgrade
Если появляется журнал изменений, похожий на следующий рисунок, после его прочтения вы можете выйти, нажав q.
Удалите ненужные пакеты:
sudo apt autoremove
Подготовьте sources.list для обновления
Стоит отметить, что вам следует перейти только с одной основной версии на другую.
Пример: вы должны обновить Debian с 7 до 8 или с 8 до 9, но не с 7 до 9.
Снова отредактируйте исходный файл программного обеспечения.
sudo nano /etc/apt/sources.list
Замените кодовое имя вашего текущего выпуска Debian на кодовое имя следующего.
Вы можете найти кодовые имена на странице списка выпусков Debian.
Например, чтобы обновить Debian 9 до Debian 10, вы должны изменить это:
deb http://deb.debian.org/debian stretch main contrib non-free deb http://deb.debian.org/debian stretch-updates main contrib non-free deb http://deb.debian.org/debian-security stretch/updates main contrib non-free
На вот это:
deb http://deb.debian.org/debian buster main contrib non-free deb http://deb.debian.org/debian buster-updates main contrib non-free deb http://deb.debian.org/debian-security buster/updates main contrib non-free
Сохраните файл и обновите информацию о пакетах:
sudo apt update
Обновите Debian
Если вы делаете это на рабочем столе, выйдите из графического интерфейса.
В какой-то момент процесс обновления перезапустит ваш графический стек, что приведет к потере доступа к терминальному приложению.
Войдите в текстовую консоль.
Нажмите ALT + CTRL + F2 или ALT + CTRL + F3, войдите в систему со своим пользователем и паролем и введите команды на этом экране.
Сначала выполните «безопасное обновление».
Система попытается обновить все пакеты, не удаляя ничего.
sudo apt upgrade
Обратите пристальное внимание на наличие конфликтов, приводящих к удалению необходимых пакетов.
Это и следующая команда важны так как в некоторых системах такие вещи, как графический стек, могут быть полностью удалены.
Однако это не должно происходить в чистых системах, где вы никогда не устанавливали вещи вне репозитория Debian.
Некоторые из новых пакетов поставляются с новыми файлами конфигурации. Вам будет задан вопрос, хотите ли вы сохранить старую конфигурацию или обновить ее до новой.
Если вы внесли изменения в файл конфигурации, вы можете либо сохранить его, либо обновить его, а затем повторно добавить настройки.
Однако, если вы никогда не касались файла, выберите для извлечения новую конфигурацию (введите Y).
В нем могут быть важные улучшения, исправления безопасности или необходимые изменения для работы программного обеспечения. Вот почему рекомендуется, чтобы вы «устанавливали версию сопровождающего пакета» как можно чаще.
Теперь выполните «полное обновление».
Это обновит остальные пакеты, которые не могли быть обновлены предыдущей командой.
Это потому, что они конфликтуют со старыми пакетами или устаревшими программами, которые есть в вашей системе.
Полное обновление удалит некоторые старые пакеты, чтобы освободить место для новых.
sudo apt full-upgrade
После этого обновление завершено. Вы можете очистить ненужные пакеты :
sudo apt autoremove
Наконец, перезагрузите компьютер / сервер:
sudo systemctl reboot
Заключение
В большинстве случаев это должно работать без проблем.
Но если вы добавили сторонние программные источники в менеджер пакетов или установили сторонние пакеты (такими командами, как dpkg -i something.deb), вы можете столкнуться с конфликтами.
В таких случаях вам придется решить их вручную, сначала удалив поврежденные пакеты (sudo apt autoremove badpackage).