Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


unix-linux:debian:bullseye:in-place-upgrade-update-from-debian-10-buster-to-debian-11-bullseye

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

unix-linux:debian:bullseye:in-place-upgrade-update-from-debian-10-buster-to-debian-11-bullseye [21.09.2021 09:33] (текущий)
Алексей Максимов создано
Строка 1: Строка 1:
 +===== Oбновление Debian GNU/Linux 10 "Buster" до Debian 11 "Bullseye" (In-Place Upgrade) =====
 +
 +{{:unix-linux:debian:pasted:20171124-194401.png }} Перед началом процедуры обновления методом In-Place Upgrade с **Debian GNU/Linux 10 (Buster)** до **Debian 11 (Bullseye)** крайне желательно создать резервную копию обновляемой системы для возможности возврата системы в исходное состояние на тот случай, если после обновления возникнут проблемы.
 +
 +На этапе планирования обновления необходимо внимательно прочитать докумнет [[https://www.debian.org/releases/stable/amd64/release-notes/ch-information.ru.html|Что нужно знать о bullseye]]. Особенное внимание следует уделить таблице с проблемными пакетами в разделе [[https://www.debian.org/releases/stable/amd64/release-notes/ch-information.ru.html#rc-bugs|Known severe bugs]]. Сама процедура обновления и всё известные её особенности описаны в документе [[https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.ru.html|Обновление с Debian 10 (buster)]].
 +
 +----
 +
 +==== Обновление Debian 10 ====
 +
 +
 +Проверим текущую версию Debian:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># cat /etc/debian_version
 +</br><font style="color:#B2B2B2;">10.10</font></pre></HTML>
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># uname -a
 +</br><font style="color:#B2B2B2;">Linux WS01 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux</font></pre></HTML>
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># lsb_release -a
 +</br><font style="color:#B2B2B2;">No LSB modules are available.
 +Distributor ID: Debian
 +Description: Debian GNU/Linux 10 (buster)
 +Release: 10
 +Codename: buster</font></pre></HTML>
 +
 +Убедимся в том, что в конфигурации пакетного менеджера **apt** ''/etc/apt/sources.list'' подключены стандартные репозитории **Debian Buster**: [[:unix-linux:debian:buster:linux-how-to-add-debian-10-buster-default-repos|Как подключить стандартные репозитории Debian 10 Buster]]
 +
 +Выполним обновление всех доступных к обновлению пакетов из репозиториев **Buster**:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apt-get update
 +# apt-get upgrade
 +</pre></HTML>
 +
 +После обновления пакетов перезагрузим систему и проведём ещё ряд предварительных проверок.
 +
 +----
 +
 +==== Проверка пакетной базы ====
 +
 +Предварительно следует зафиксировать все пакеты, установленные не из официальных репозиториев Debian, так как с любым из этих пакетов могут возникнуть какие-либо проблемы при обновлении системы (возможно данные пакеты потребуют переустановки/обновления после обновления ОС). Получить список таких пакетов можно, например, с помощью **apt-forktracer**.
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apt install apt-forktracer
 +# apt-forktracer | sort
 +</br><font style="color:#B2B2B2;">hpmyroom (12.4.0.0294)
 +libsstp-api-0 (1.0.12-0ubuntu3)
 +network-manager-sstp (1.2.6-0ubuntu2)
 +network-manager-sstp-gnome (1.2.6-0ubuntu2)
 +sstp-client (1.0.12-0ubuntu3)</font></pre></HTML>
 +
 +\\
 +Рекомендуется найти и удалить все устаревшие конфигурационные файлы, оставшиеся в системе от предыдущих обновлений. Это поможет в дальнейшем избежать путаницы при анализе проблемных приложений. 
 +Найти такие устаревшие файлы можно например командой:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'</pre></HTML>
 +
 +
 +Перед обновлением рекомендуется отключить все неофициальные репозитории, чтобы избежать конфликтов в ходе обновления. Для этого получим список всех используемых в системе репозиториев командами типа:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># cat /etc/apt/sources.list
 +# cat /etc/apt/sources.list.d/*</pre></HTML>
 +
 +\\
 +Помимо этого следует проанализировать фиксированные (**Pinning**) пакеты APT. Перед обновлением желательно отключить все фиксации пакетов. Если один из участвующих в обновлении пакетов зафиксирован, обновление завершится неудачно. 
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># cat /etc/apt/preferences
 +# cat /etc/apt/preferences.d/*</pre></HTML>
 +
 +Независимо от способа обновления, рекомендуется сначала проверить состояние всех пакетов и убедиться, что всем пакетам разрешено обновляться. Следующая команда покажет пакеты установленные частично (**Half-Installed**), настройка которых не удалась (**Failed-Config**), а также все пакеты в ошибочных состояниях:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">
 +# dpkg --audit
 +# dpkg --get-selections | grep 'hold$'</pre></HTML>
 +    
 +
 +Для того, чтобы отменить фиксацию какого либо пакета, находящегося в статусе "hold", можно использовать команду типа:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># echo package_name install | dpkg --set-selections</pre></HTML>
 +
 + 
 +
 +----
 +
 +==== Подключение репозиториев Debian 11 ====
 +
 +В файле ''/etc/apt/sources.list'' отключим стандартные репозитории **Debian 10** (закомментируем строки) и подключим репозитории **Debian 11**: [[:unix-linux:debian:bullseye:linux-how-to-add-debian-11-bullseye-default-repos|Как подключить стандартные репозитории Debian 11 Bullseye]]
 +
 +Обновим кеш менеджера пакетов:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apt-get update</pre></HTML>
 +
 +
 +----
 +
 +==== Проверка доступного пространства для обновления ====
 +
 +Нехватка места при обновлении может привести к последующим дополнительным проблемам, которые может оказаться нелегко исправить. Поэтому перед запуском процесса обновления системы следует убедиться в том, что у нас достаточно места на диске. В ходе обновления все нужные для установки пакеты загружаются из репозиториев Debian в каталог ''/var/cache/apt/archives'', поэтому мы, как минимум, должны проверить место на разделе, который содержит ''/var/''.  
 +
 +Чтобы предварительно оценить то, сколько места потребуется для загружаемых пакетов, можно использовать команду "холостого" запуска обновления (эта команда только произведёт расчёт нужного места на диске, но не станет выполнять саму процедуру обновления):
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apt -o APT::Get::Trivial-Only=true full-upgrade
 +</br><font style="color:#B2B2B2;">Чтение списков пакетов… Готово
 +Построение дерева зависимостей       
 +Чтение информации о состоянии… Готово
 +Расчёт обновлений… Готово
 +Следующие пакеты устанавливались автоматически и больше не требуются:
 +  argyll argyll-ref ... xml-core zstd
 +Следующие пакеты будут обновлены:
 +  accountsservice acl ... zip zlib1g zlib1g-dev
 +Обновлено 2155 пакетов, установлено 399 новых пакетов, 
 +для удаления отмечено 79 пакетов, и 0 пакетов не обновлено.
 +Необходимо скачать 2 341 MB архивов.
 +После данной операции объём занятого дискового пространства возрастёт на 1 990 MB.
 +E: Запрошено выполнение только тривиальных операций, но это не тривиальная операция.</font></pre></HTML>
 + 
 +
 +----
 +
 +==== Минимальное обновление системы ====
 +
 +Чтобы легче было разбираться с возможными конфликтами при обновлении системы, обновление лучше выполнять в 2 этапа - сначала минимальное обновление, а затем полное обновление.
 +
 +Минимальное обновление приведёт к обновлению только тех пакетов, которые можно обновить без необходимости удаления или установки других пакетов. Минимальное обновление системы также может оказаться полезным, если на диске мало свободного места, и по этой причине запускать сразу полное обновление нежелательно. 
 +
 +Запускаем минимальное обновление:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apt upgrade --without-new-pkgs</pre></HTML>
 +
 +На запрос о необходимости перезапуска служб в процессе установки новых версий пакетов ответим утвердительно.
 +
 +
 +----
 +
 +==== Обновление системы ====
 +
 +<WRAP center tip 100%>Если обновление выполняется в удалённом режиме (SSH-сессия), то перед выполнением команды полного обновления, возможно, имеет смысл открыть дополнительную SSH-сессию к системе. Это позволит нам, не прерывая процесс обновления, сохранить свои конфигурационные файлы от ранее установленных пакетов, при обновлении которых возникли конфликты с конфигурационными файлами, поставляемыми в составе новых версий пакетов</WRAP>
 +
 +После выполнения предыдущих шагов запускаем команду полного обновления системы:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apt full-upgrade</pre></HTML>
 +    
 +
 +Эта команда произведёт полное обновление системы, установив последние доступные версии всех пакетов и разрешив всех изменившиеся между выпусками зависимости. При необходимости будут установлены новые пакеты (обычно, это новые версии библиотек или переименованные пакеты) и удалены все вызывающие конфликты устаревшие пакеты. 
 +
 +
 +Для пакетов, у которых ранее были изменены стандартные конфигурационные файлы, будет предложено выбрать вариант их обновления. Можно использовать опцию установки новых конфигурационных файлов (опция **Y**), а можно оставить свои ранее настроенные конфигурационные файлы (опция **N**), если мы понимаем, что принципиальных отличий в директивах конфигурации нет.
 +
 +По окончании процесса обновления перезагружаем систему
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># reboot</pre></HTML>
 +
 +После первой успешной загрузки системы проверяем версию загруженного ядра Linux:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># uname -a
 +</br><font style="color:#B2B2B2;">Linux WS01 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux</font></pre></HTML>
 +
 +Проверяем версию ОС:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># lsb_release -a
 +</br><font style="color:#B2B2B2;">No LSB modules are available.
 +Distributor ID: Debian
 +Description: Debian GNU/Linux 11 (bullseye)
 +Release: 11
 +Codename: bullseye
 +</font></pre></HTML>
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">$ cat /etc/debian_version 
 +</br><font style="color:#B2B2B2;">11.0</font></pre></HTML>
 +
 +
 +----
 +
 +==== Удаление устаревших пакетов ====
 +
 +После успешного окончания установки всей пакетой базы новой версии удаляем устаревшие файлы неиспользуемых пакетов:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;">
 +# apt-get autoremove</pre></HTML>
 +
 +
 +Чтобы получить список удалённых пакетов, чьи файлы настройки всё ещё остаются в системе, выполним:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># dpkg -l | awk '/^rc/ { print $2 }'</pre></HTML>
 +    
 +Чтобы вычистить все соответствующие остатки пакетов можем выполнить команду типа:
 +
 +<HTML><pre style="background:#5a5a62;color:#ffffff;padding:10px;border:0px;"># apt purge $(dpkg -l | awk '/^rc/ { print $2 }')</pre></HTML>
 +
 +
 +
 +
 +
 +----
 +Проверено на следующих конфигурациях:
 +^ Версия исходной ОС  ^ Версия целевой ОС  ^
 +| Debian GNU/Linux Buster 10.9 | Debian GNU/Linux Bullseye 11.0 |
 +
 +----
 +{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 21.09.2021 09:32
 +
 +{{tag>Linux Debian "Debian 10" "Debian Buster" "Debian 11" "Debian Bullseye" Upgrade APT Repository }}
 +
 +~~DISCUSSION~~
  

unix-linux/debian/bullseye/in-place-upgrade-update-from-debian-10-buster-to-debian-11-bullseye.txt · Последнее изменение: 21.09.2021 09:33 — Алексей Максимов