Вики IT-KB

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

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

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


draft:aleksey-maksimov:draftn

Это старая версия документа!


Заголовок статьи

Краткое вступление …


Подзаголовок блока 1

На этапе планирования обновления необходимо прочитать https://www.debian.org/releases/stable/amd64/release-notes/ch-information.ru.html. Особенное внимание уделить таблице с проблемными пакетами в разделе 5.4. Known severe bugs

Процедура обновления и всё известные её особенности описан в https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.ru.html

# cat /etc/debian_version

10.10
# uname -a

Linux WS01 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux
# lsb_release -a

No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster

Предварительно проверить не-дебиан пакеты # apt install apt-forktracer

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

# apt-forktracer | sort hplip (3.20.9+dfsg0-4~bpo10+1) [Debian Backports: 3.20.9+dfsg0-4~bpo10+1] [Debian: 3.18.12+dfsg0-2] hplip-data (3.20.9+dfsg0-4~bpo10+1) [Debian Backports: 3.20.9+dfsg0-4~bpo10+1] [Debian: 3.18.12+dfsg0-2] hplip-gui (3.20.9+dfsg0-4~bpo10+1) [Debian Backports: 3.20.9+dfsg0-4~bpo10+1] [Debian: 3.18.12+dfsg0-2] hpmyroom (12.4.0.0294) libfreerdp2-2 (2.3.0+dfsg1-1~bpo10+1) [Debian Backports: 2.3.0+dfsg1-1~bpo10+1] [Debian: 2.0.0~git20190204.1.2693389a+dfsg1-1+deb10u2] libfreerdp-client2-2 (2.3.0+dfsg1-1~bpo10+1) [Debian Backports: 2.3.0+dfsg1-1~bpo10+1] [Debian: 2.0.0~git20190204.1.2693389a+dfsg1-1+deb10u2] libhpmud0 (3.20.9+dfsg0-4~bpo10+1) [Debian Backports: 3.20.9+dfsg0-4~bpo10+1] [Debian: 3.18.12+dfsg0-2] libsane-hpaio (3.20.9+dfsg0-4~bpo10+1) [Debian Backports: 3.20.9+dfsg0-4~bpo10+1] [Debian: 3.18.12+dfsg0-2] libsstp-api-0 (1.0.12-0ubuntu3) libwinpr2-2 (2.3.0+dfsg1-1~bpo10+1) [Debian Backports: 2.3.0+dfsg1-1~bpo10+1] [Debian: 2.0.0~git20190204.1.2693389a+dfsg1-1+deb10u2] network-manager-sstp (1.2.6-0ubuntu2) network-manager-sstp-gnome (1.2.6-0ubuntu2) printer-driver-hpcups (3.20.9+dfsg0-4~bpo10+1) [Debian Backports: 3.20.9+dfsg0-4~bpo10+1] [Debian: 3.18.12+dfsg0-2] printer-driver-postscript-hp (3.20.9+dfsg0-4~bpo10+1) [Debian Backports: 3.20.9+dfsg0-4~bpo10+1] [Debian: 3.18.12+dfsg0-2] remmina (1.4.10+dfsg-1~bpo10+1) [Debian Backports: 1.4.10+dfsg-1~bpo10+1] [Debian: 1.3.3+dfsg-2] remmina-common (1.4.10+dfsg-1~bpo10+1) [Debian Backports: 1.4.10+dfsg-1~bpo10+1] [Debian: 1.3.3+dfsg-2] remmina-plugin-rdp (1.4.10+dfsg-1~bpo10+1) [Debian Backports: 1.4.10+dfsg-1~bpo10+1] [Debian: 1.3.3+dfsg-2] remmina-plugin-secret (1.4.10+dfsg-1~bpo10+1) [Debian Backports: 1.4.10+dfsg-1~bpo10+1] [Debian: 1.3.3+dfsg-2] remmina-plugin-vnc (1.4.10+dfsg-1~bpo10+1) [Debian Backports: 1.4.10+dfsg-1~bpo10+1] [Debian: 1.3.3+dfsg-2] sstp-client (1.0.12-0ubuntu3)

Рекомендуется найти и удалить все устаревшие конфигурационные файлы, оставшиеся в системе от предыдущих обновлений. ЭТо поможет в дальнейшем избежать путаницы при анализе проблемных приложений. Найти такие устаревшие файлы можно например командой:

# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'

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

# cat /etc/apt/sources.list
# cat /etc/apt/sources.list.d/*

Помимо этого следует проанализировать фиксированные (pinning) пакеты APT.Перед обновлением желательно снять все фиксации с пакетов. Если один из значимых для обновления пакетов зафиксирован, обновление завершится неудачно.

# cat /etc/apt/preferences
# cat /etc/apt/preferences.d/*

Независимо от способа обновления, рекомендуется сначала проверить состояние всех пакетов и убедиться, что всем пакетам разрешено обновляться. Следующая команда покажет пакеты установленные частично (Half-Installed), настройка которых не удалась (Failed-Config), а также все пакеты в ошибочных состояниях:

# dpkg --audit
# dpkg --get-selections | grep 'hold$'

The «hold» package state for apt can be changed using:

# echo package_name hold | dpkg –set-selections

Замените hold на install, чтобы отменить фиксацию.

Подключаем репозитории Debian 11 и обновляем кеш APT

В файле /etc/apt/sources.list отключим стандартные репозитории Debian 10 (закомментируем строки) и подключим репозитории Debian 11: Как подключить стандартные репозитории Debian 11 Bullseye

Обновим кеш менеджера пакетов:

# apt-get update

Проверка доступного пространства для обновления

Перед обновлением всей системы, как описано в Раздел 4.4.5, «Обновление системы», убедитесь, что у вас достаточно места на диске. Сначала все нужные для установки пакеты скачиваются из сети и сохраняются в /var/cache/apt/archives (а на время скачивания, в подкаталог partial/), поэтому вы должны проверить место на разделе, который содержит /var/, так как туда будут временно записаны загруженные пакеты для установки. После загрузки вам, вероятно, понадобится дополнительное место в других разделах файловой системы для установки обновляемых пакетов (скорее всего, они стали больше) и новых пакетов, которые будут установлены из-за обновлений. Если в системе не будет достаточного места, то в конечном счёте это приведёт к неполному обновлению, что позднее бывает сложно исправить.

apt can show you detailed information about the disk space needed for the installation. Before executing the upgrade, you can see this estimate by running:

# apt -o APT::Get::Trivial-Only=true full-upgrade


Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Расчёт обновлений… Готово Следующие пакеты устанавливались автоматически и больше не требуются: argyll argyll-ref ... xml-core zstd Следующие пакеты будут обновлены: accountsservice acl ... zip zlib1g zlib1g-dev Обновлено 2155 пакетов, установлено 399 новых пакетов, для удаления отмечено 79 пакетов, и 0 пакетов не обновлено. Необходимо скачать 2 341 MB архивов. После данной операции объём занятого дискового пространства возрастёт на 1 990 MB. E: Запрошено выполнение только тривиальных операций, но это не тривиальная операция.

.

Минимальное обновление системы

В некоторых случаях выполнение сразу полного обновления (как описано далее) может привести к удалению большого числа пакетов, которые вы хотите оставить. Поэтому мы рекомендуем производить обновление в две стадии — сначала минимальное обновление, чтобы разобраться с конфликтами, а затем полное обновление, как описано в Раздел 4.4.5, «Обновление системы».

Для этого сначала выполните:

# apt upgrade --without-new-pkgs

Это приведёт к обновлению только тех пакетов, которые можно обновить без необходимости удаления или установки других пакетов. Минимальное обновление системы также может оказаться полезным, если в системе мало свободного места и полное обновление запустить из-за этого невозможно.

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

Обновление системы

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

# apt full-upgrade

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

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

По окончании процесса обновления перезагружаем систему

# reboot

После первой успешной загрузки системы проверяем версию загруженного ядра Linux:

# uname -a

Linux WS01 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux

Проверяем версию ОС:

# lsb_release -a

No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye

Вычистка удалённых пакетов

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

# apt-get autoremove

Как правило, рекомендуется вычистить удалённые пакеты. Это особенно справедливо в случае, если они были удалены при обновлении более раннего выпуска (напр., при обновлении до buster), или если они были предоставлены третьими лицами. В частности, старые сценарии init.d могут вызывать проблемы. [Внимание] Внимание

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

Следующие команды отображают список всех удалённых пакетов, чьи файлы настройки всё ещё остаются в системе (если таковые имеются):

# dpkg -l | awk '/^rc/ { print $2 }'

The packages can be removed by using apt purge. Assuming you want to purge all of them in one go, you can use the following command:

# apt purge $(dpkg -l | awk '/^rc/ { print $2 }')

...



Проверено на следующих конфигурациях:

Версия ОС Версия ПО Версия того, что имеет значение …
1.0.1 SP1 2.0.0 CU2 3.0 b

Автор первичной редакции:
Алексей Максимов
Время публикации: 28.05.2018 18:44

Обсуждение

Ваш комментарий:
 
draft/aleksey-maksimov/draftn.1632048669.txt.gz · Последнее изменение: 19.09.2021 13:51 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki