Debian как обновить систему

Обновлено: 05.07.2024

6 июля 2019 года вышло очередное обновление популярного linux дистрибутива Debian. Это уже 10-й выпуск Debian под кодовым названием Buster. Я подробно расскажу, как выполнить обновление с предыдущего выпуска Debian 9 Stretch до Debian 10 Buster. Процесс обновления не сложный, выполняется штатными средствами с помощью apt.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

Обновление системы выполнить не сложно, справится практически любой пользователь, используя данное руководство. Проблемы могут возникнуть в отдельных пакетах и зависимостях. Но тут уже готовых советов не дать, нужно разбираться по месту. По моему опыту, чаще всего все проходит нормально, можно обновляться, выполнив соответствующую подготовку.

Подготовка сервера к обновлению

Будем обновлять следующую систему:

Для нее мы проведем обновление до 10-й версии Buster.

Первым делом перед любым обновлением нужно сделать бэкап всей важной информации и файлов конфигураций. В каждом конкретном случае это будет свой набор данных, так что сами решайте, какие данные для вас являются важными, и копируйте их куда-нибудь.

Я рекомендую сделать резервную копию папок: /etc, /var/lib/dpkg, файла /var/lib/apt/extended_states. Сохраните вывод команды:

Подготовка debian 9 к обновлению

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

Теперь обновим текущую систему Stretch:

Обновляем список доступных пакетов для нового выпуска:

Обновление debian

Обновление debian с 9 до 10

Обновление системы будем делать в 2 этапа. Сначала минимальное обновление, потом полное. Если будете работать по ssh, обязательно выполняйте обновление через screen или tmux, чтобы обрыв связи не помешал обновлению. В противном случае вы можете получить неработающий сервер. Прерывать обновление очень опасно. Я сам не раз натыкался на это и потом тратил время на восстановление сервера.

Делаем минимальное обновление:

Это приведет к обновлению только тех пакетов, которые можно обновить без необходимости удаления или установки других пакетов. Перед началом установки вам будет представлен список изменений нового выпуска. Можно его пролистать вниз, либо сразу нажать клавишу q, чтобы закрыть информацию и продолжить установку.

Во время обновления у вас спросят разрешение на перезапуск некоторых служб. Надо дать разрешение.

upgrade stretch to buster

После завершения минимального обновления debian, запускаем полное:

Эта команда произведёт полное обновление системы, установив последние доступные версии всех пакетов и разрешит все изменившиеся между выпусками Stretch и Buster зависимости. При необходимости будут установлены новые пакеты и удалены все вызывающие конфликты устаревшие пакеты.

Во время обновления пакетов вам могут быть заданы вопросы по поводу конфигурационных файлов. Это зависит от конкретного набора софта. Я рекомендую сохранять старые конфиги. Если с ними будут какие-то проблемы, то потом в ручном режиме их исправлять. Мне кажется так проще, чем переносить конфигурацию со старого файла в новый.

После завершения работы команды apt dist-upgrade обновление завершено. Можно перезагружаться:

Проверяем версию после загрузки:

Обновление Debian 9 Stretch до 10 Buster

Обновление stretch прошло успешно. На выходе имеем последнюю версию Debian 10.0 Buster. У меня не возникло проблем во время обновления, надеюсь у вас будет так же. Если вам нужно поставить систему с нуля, то используйте статью - Как скачать и установить Debian 10 Buster.

Ни для кого не секрет, что операционные системы не совершенны, при их разработке могли быть допущены те или иные ошибки, а теперь из-за этого в них постоянно находят уязвимости и даже очень стабильный Debian от этого не застрахован. Поэтому важно вовремя обновлять систему чтобы не дать злоумышленникам и вирусам никакой возможности проникнуть на ваш компьютер или сервер.

В этой статье мы рассмотрим как выполнять обновление Debian 9, как настроить систему чтобы обновление выполнялось автоматически и как все делать правильно, чтобы ничего не сломать.

Обновление Debian 9 через терминал

Давайте сначала рассмотрим несколько способов обновления, которые вы можете использовать. Самый простой из них - это через терминал. Перед тем как что-либо обновлять, вам нужно убедиться, что с вашими репозиториями все хорошо. Например, вы могли подключить репозиторий testing для установки одного из пакетов, а потом забыли его отключить и если вы сейчас обновите из него систему, то точно не выйдет ничего хорошего. Поэтому смотрим содержимое файла /etc/apt/sources.list:

Здесь не должно быть никаких testing, sid, backports, если только вы не уверены, что желаете обновить из них свою систему. Только официальные репозитории вашей версии, в нашем случае stretch, репозиторий обновлений и обновлений безопасности. Также вы можете посмотреть установленные репозитории с помощью графической утилиты "Программы и обновления":

Здесь, на вкладке "Other software" мы видим что у нас включены репозитории Backports, их нужно отключить, сняв галочки. Как и в Ubuntu, сначала вам нужно обновить списки пакетов из репозиториев, для этого выполните:

sudo apt update

После того как утилита скачает индексные файлы репозиториев, вы сможете посмотреть какие пакеты будут обновлены:

sudo apt list --upgradage

А затем, для запуска обновления наберите:

sudo apt upgrade

Вам нужно будет только согласиться с тем, что будет установлено определенное количество обновлений. Процесс обновления может занять довольно продолжительное время, это зависит от мощности вашего компьютера, скорости интернета и того, как давно вы обновляли систему. Вот, теперь вы знаете как обновить Debian 9 через терминал.

Обновление в графическом интерфейсе

Та же самая утилита, "Программы и обновления" позволяет выполнить обновление системы через графический интерфейс. Для этого на вкладке "Обновления" нужно включить ежедневную проверку обновлений и вывод уведомления, если обновления были найдены:

Тогда утилита будет сама проверять обновления и спрашивать вас нужно ли их установить. Или здесь же можно включить ежедневную проверку и автоматическую загрузку и установку обновлений. Тогда обновления будут устанавливаться автоматически каждый день. Программа "Центр приложений" тоже позволяет устанавливать обновления. Для этого просто запустите программу из главного меню и перейдите на вкладку "Обновления":

Тут вам нужно нажать значок "Обновить" в левом верхнем углу, чтобы синхронизировать список пакетов. Дальше вам будет достаточно нажать "Обновить все".

Еще один способ обновить систему в графическом интерфейсе - использовать пакетный менеджер Synaptic. По умолчанию программа не установлена, но вы можете установить ее командой:

sudo apt install synaptic

Далее, вы можете найти программу в главном меню. Нужно сказать, что если стандартный центр приложений не хочет работать, то Synaptic работает почти всегда. Сначала в программе нажмите кнопку "Обновить", чтобы синхронизировать все списки пакетов из репозиториев.

Затем нажмите кнопку "Отметить все обновления" для того, чтобы добавить все доступные обновления в очередь установки:

В процессе утилита покажет какие пакеты будут обновлены:

Далее, осталось нажать на кнопку "Применить" и затем начнется обновление, которое может занять некоторое время.

Автоматическое обновление Debian

В Debian, как и в Ubuntu существует возможность выполнять обновление Debian 9 для обновлений безопасности автоматически. И я сейчас не говорю про сторонний инструмент ucare-systemcore. Это инструмент unattended-upgrades и он встроен в систему. Но на всякий случай можете попытаться установить его:

$ sudo apt install unattended-upgrades apt-listchanges

Сначала откройте файл /etc/apt/apt.conf.d/50unattended-upgrades и добавьте в блок Unattended-Upgrade::Origins-Pattern такую строку:

dpkg-reconfigure -plow unattended-upgrades

Сначала согласитесь что нужно устанавливать обновления, затем просто нажмите "Далее":

После этого убедитесь, что в файл /etc/apt/apt.conf.d/20auto-upgrades были добавлены такие строки:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Все, теперь ваши обновления Debian будут устанавливаться автоматически и вы не пропустите никакой заплатки от новой уязвимости.

Выводы

В этой статье мы рассмотрели как выполняется обновление пакетов Debian 9 до самой новой версии чтобы обезопасить вашу систему от взломов и других неприятных вещей. Как видите, это совсем не сложно. Правда, обновление нужно выполнять регулярно или настроить автоматическое обновление. Если у вас остались вопросы, спрашивайте в комментариях!

​How to Upgrade Debian 9 Stretch to Debian 10 Buster

В этом руководстве мы покажем вам, как обновить систему Debian 9 Stretch до Debian 10, Buster.

Как обновить Debian 9 Stretch до Debian 10 Buster

После более чем двух лет разработки 6 июля 2019 года была выпущена новая стабильная версия Debian, Debian 10 под кодовым названием Buster, и она будет поддерживаться в течение 5 лет.

Этот выпуск поставляется с множеством новых пакетов и крупными обновлениями программного обеспечения. Debian 10 buster поставляется с ядром Linux 4.19 LTS, использует фреймворк nftables в качестве бэкэнда iptables по умолчанию, поддерживает безопасную загрузку UEFI и по умолчанию использует AppArmor.

Прежде чем приступить

Операция обновления должна выполняться с правами суперпользователя. Вам необходимо войти в систему как пользователь root или как пользователь с привилегиями sudo .


Сделайте резервную копию ваших данных

Прежде всего, убедитесь, что вы сделали резервную копию своих данных, прежде чем начинать серьезное обновление вашей операционной системы. Если вы используете Debian на виртуальной машине, лучше всего сделать полный снимок системы, чтобы вы могли легко восстановить свою машину в случае, если обновление пойдет не так.


Обновить установленные пакеты

Перед началом обновления выпуска рекомендуется обновить все установленные в данный момент пакеты до последних версий.

Пакеты, отмеченные как задержанные, не могут быть автоматически установлены, обновлены или удалены. Это может вызвать проблемы в процессе обновления. Чтобы проверить, есть ли в ваших системах задержанные пакеты, запустите:


Если есть on hold пакеты, вы должны либо снять их с удержания, sudo apt-mark unhold package_name либо убедиться, что пакеты не будут мешать процессу обновления.

Обновите индекс пакетов и обновите все установленные пакеты:


Запустите, apt full-upgrade который выполнит обновление до основной версии установленных пакетов и может удалить некоторые ненужные пакеты:


Удалите все автоматически установленные зависимости, которые больше не нужны ни одному пакету:


Обновление Debian 9 Stretch до Debian 10 Buster

Первый шаг - перенастроить файлы исходного списка APT.

Для этого можно либо открыть /etc/apt/sources.list файл с текстовым редактором и заменить каждый экземпляр stretch с buster или использовать sed команды ниже. Если у вас есть другие файлы списка источников, /etc/apt/sources.list.d вы также должны обновить эти источники.

Кроме того , вы можете использовать следующие sed команды , которые будут обновляться , stretch чтобы buster во всех файлах исходного списка:


После этого обновите индекс пакетов:

Начните обновление системы, обновив установленные пакеты. Это обновит только те пакеты, которые не требуют установки или удаления других пакетов:


Вас спросят, хотите ли вы, чтобы службы автоматически перезапускались во время обновления.

Во время процесса обновления вам также могут быть заданы различные другие вопросы, например, хотите ли вы сохранить существующий файл конфигурации или установить версию сопровождающего пакета. Если вы не вносили никаких изменений в файл, введите его безопасно, Y иначе сохраните текущую конфигурацию N .

Обновление может занять некоторое время в зависимости от количества обновлений и скорости вашего Интернета.

Затем выполните apt full-upgrade команду execute, которая выполнит полное обновление системы, установит новейшие версии пакетов и устранит изменения зависимостей между пакетами в разных выпусках. Это обновит все пакеты, которые не были обновлены с помощью предыдущей команды.

Приведенная выше команда может установить некоторые новые пакеты и удалить конфликтующие и устаревшие пакеты.

После этого удалите ненужные пакеты с помощью:


Наконец, перезагрузите компьютер, чтобы активировать новое ядро, набрав:


Подтвердите обновление

Подождите несколько секунд, пока ваша система загрузится, и войдите в систему.

Вы также можете проверить версию Debian , используя следующую команду:

Вот и все, теперь вы можете наслаждаться своим новым Debian 10 Buster.

Заключение

В большинстве случаев обновление с Debian 9 Stretch до Debian 10 Buster должно быть относительно простым и безболезненным.

Если вы столкнулись с какой-либо ошибкой, посетите страницу Обновления с Debian 9 (stretch), на которой описаны известные проблемы, которые могут возникнуть во время обновления до Debian 10 Buster.


В течение примерно двух лет Debian остается относительно неизменным.

Версии и функции программы остаются неизменными в течение этого времени.

Исправления безопасности возвращаются.

Иногда исключения делаются для редких ситуаций, когда пакет может нуждаться в новых функциях.

Например, драйвер может быть обновлен, чтобы добавить поддержку большего количества оборудования.

Но это случается редко.

Постоянство вещей имеет свои преимущества.

Это делает операционную систему надежной.

Вы почти никогда не сталкиваетесь с ошибками.

Вещи почти никогда не ломаются после обновления пакетов.

Отсутствие новых функций также означает отсутствие неожиданных сюрпризов / поведения.

Но каждые два года (примерно) выпускается новая версия Debian.

И это часто приносит значительные улучшения и новые функции, которые вы можете захотеть или нуждаться.

Хотя операционная система часто описывается как «надежная» по причинам, упомянутым выше, процесс обновления также является надежным.

В чистой системе обновление с одной основной версии на другую происходит так гладко, потому что вы просто обновили несколько неважных пакетов.

Перед обновлением очистите sources.list

Некоторые пользователи сталкиваются с проблемами при попытке обновления.

Они получают неразрешимые конфликты пакетов, удаление важных программ и так далее.

В итоге они предпочитают просто удалить старую установку и заново установить новую версию.

Тем не менее, в большинстве случаев это не вина Debian.

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

То, что он работает, не означает, что менеджер пакетов не будет молчать.

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

Откройте файл для редактирования:

Удалите все ссылки на программное обеспечение вне официальных репозиториев Debian. В этом файле нужно всего три строки.

Если вам нужен шаблон, скопируйте приведенный ниже пример и измените его в соответствии с вашими потребностями.

Очень важно сохранить текущее кодовое имя вашего выпуска Debian! Итак, если это 2021 год, и вы работаете с Debian Buster, замените stretch на buster, или на то, что вам подходит.

Кроме того, сохраните слова, завершающие строки.

В этом примере строка заканчивается строкой «main».

Но если ваши текущие строки «sources.list» оканчиваются на «main contrib non-free», то добавьте «contrib non-free» в конце каждой строки.

В этом случае ваш конечный результат может выглядеть так:

Чтобы сохранить файл, нажмите Ctrl + X, затем y, а затем Enter.

Обновите информацию о пакете:

Обновите ваши пакеты:

Если появляется журнал изменений, похожий на следующий рисунок, после его прочтения вы можете выйти, нажав q.

Удалите ненужные пакеты:

Подготовьте sources.list для обновления

Стоит отметить, что вам следует перейти только с одной основной версии на другую.

Пример: вы должны обновить Debian с 7 до 8 или с 8 до 9, но не с 7 до 9.

Снова отредактируйте исходный файл программного обеспечения.

Замените кодовое имя вашего текущего выпуска Debian на кодовое имя следующего.

Вы можете найти кодовые имена на странице списка выпусков Debian.

Например, чтобы обновить Debian 9 до Debian 10, вы должны изменить это:

Сохраните файл и обновите информацию о пакетах:

Обновите Debian

Если вы делаете это на рабочем столе, выйдите из графического интерфейса.

В какой-то момент процесс обновления перезапустит ваш графический стек, что приведет к потере доступа к терминальному приложению.

Войдите в текстовую консоль.

Нажмите ALT + CTRL + F2 или ALT + CTRL + F3, войдите в систему со своим пользователем и паролем и введите команды на этом экране.

Сначала выполните «безопасное обновление».

Система попытается обновить все пакеты, не удаляя ничего.

Обратите пристальное внимание на наличие конфликтов, приводящих к удалению необходимых пакетов.

Это и следующая команда важны так как в некоторых системах такие вещи, как графический стек, могут быть полностью удалены.

Однако это не должно происходить в чистых системах, где вы никогда не устанавливали вещи вне репозитория Debian.

Некоторые из новых пакетов поставляются с новыми файлами конфигурации. Вам будет задан вопрос, хотите ли вы сохранить старую конфигурацию или обновить ее до новой.

Если вы внесли изменения в файл конфигурации, вы можете либо сохранить его, либо обновить его, а затем повторно добавить настройки.

Однако, если вы никогда не касались файла, выберите для извлечения новую конфигурацию (введите Y).

В нем могут быть важные улучшения, исправления безопасности или необходимые изменения для работы программного обеспечения. Вот почему рекомендуется, чтобы вы «устанавливали версию сопровождающего пакета» как можно чаще.

Теперь выполните «полное обновление».

Это обновит остальные пакеты, которые не могли быть обновлены предыдущей командой.

Это потому, что они конфликтуют со старыми пакетами или устаревшими программами, которые есть в вашей системе.

Полное обновление удалит некоторые старые пакеты, чтобы освободить место для новых.

После этого обновление завершено. Вы можете очистить ненужные пакеты :

Наконец, перезагрузите компьютер / сервер:

Заключение

В большинстве случаев это должно работать без проблем.

Но если вы добавили сторонние программные источники в менеджер пакетов или установили сторонние пакеты (такими командами, как dpkg -i something.deb), вы можете столкнуться с конфликтами.

В таких случаях вам придется решить их вручную, сначала удалив поврежденные пакеты (sudo apt autoremove badpackage).

Читайте также: