4. Обновление с Debian 12 (bookworm)

4.1. Подготовка к обновлению

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

4.1.1. Создание резервной копии всех данных и настроек

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

В основном создают резервную копию содержимого /etc, /var/lib/dpkg, /var/lib/apt/extended_states и вывода команды: (прим. пер.: комментарий гласит «кавычки важны»)

$ dpkg --get-selections '*' # (the quotes are important)

Если используется aptitude для управления пакетами в системе, также потребуется создать резервную копию /var/lib/aptitude/pkgstates.

Обновление само по себе никак не затрагивает каталог /home. Однако некоторые приложения (в частности, некоторые приложения Mozilla, окружения рабочего стола GNOME и KDE) при первом запуске новой версии перезаписывают имеющиеся пользовательские настройки новыми настройками по умолчанию. На всякий случай стоит сделать резервную копию скрытых файлов и каталогов (название которых начинается с точки) из домашних каталогов пользователей. Это поможет вам в случае необходимости восстановить старые настройки. Не лишним будет предупредить пользователей об этой проблеме.

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

Для проведения обновления есть несколько предварительных требований; проверьте, что они соблюдаются.

4.1.2. Предварительное информирование пользователей

Желательно заранее сообщать всем пользователям о любых планируемых обновлениях, хотя пользователи, работающие в системе через ssh, не должны испытать особых проблем в процессе обновления и вполне могут продолжать работу.

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

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

4.1.3. Подготовка к перерыву в работе служб

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

Точное время простоя служб будет зависеть от количества обновляемых в системе пакетов, а также от времени, затрачиваемое администратором для ответов на вопросы о настройке. Заметим, что если процесс обновления оставить без внимания и не следить за запросами системы,то высока вероятность увеличить недоступность служб [1] на значительный промежуток времени.

Если обновляемая система предоставляет критически важные службы для пользователей или сети [2], то вы можете сократить время простоя, если сначала выполните минимальное обновление системы (см. Минимальное обновление системы), потом обновите ядро, перезагрузитесь, а затем обновите пакеты, связанные с вашими критическими службами. Описание обновления этих пакетов перед полным обновлением смотрите в Обновление системы. Такой порядок позволяет оставить работающими критические службы на время прохождения полного обновления и сократить время простоя.

4.1.4. Подготовка к восстановлению

Хотя Debian пытается проверить, что система всегда будет в состоянии загрузиться, есть реальная опасность возникновения проблем после перезагрузки в обновлённую систему. Большая часть возможных проблем описана здесь и далее в следующих главах информации о выпуске.

Поэтому лучше удостовериться, что вы сможете вернуть систему в прежнее состояние, если она не сможет загрузиться или, для систем управляемых удалённо, не заработает сеть.

Если обновление производится удалённо через ssh, рекомендуем вам предусмотреть подключение к локальной консоли сервера через удалённый последовательный терминал. Может случиться так, что после обновления ядра и перезагрузки, вам потребуется исправить системные настройки через локальную консоль. Если система случайно перезагрузится в середине процесса обновления, вам также потребуется локальная консоль для восстановления.

Для аварийного восстановления обычно мы рекомендуем использовать режим восстановления из программы установки Debian trixie. Преимущество в использовании программы установки состоит в том, что вы можете выбирать из множества методов установки тот, который лучше подходит в вашей ситуации. Дополнительная информация приведена в разделе «Восстановление сломанной системы» главы 8 Руководства по установке (https://www.debian.org/releases/trixie/installmanual) и в ЧаВО по программе установки Debian.

Если это не удалось, может потребоваться альтернативный способ загрузки системы для доступа и восстановления. Для этого можно воспользоваться специальным образом восстановления или «живым» установочным образом (LiveCD). После загрузки каким-то из способов, вы сможете смонтировать имеющуюся корневую файловую систему и выполнить в неё chroot, чтобы найти и исправить ошибку.

4.1.4.1. Отладочная оболочка из initrd во время загрузки

Пакет initramfs-tools добавляет отладочную оболочку [3] в создаваемый initrd. Например, если initrd не удастся смонтировать корневую файловую систему, то вы попадёте в эту отладочную оболочку; она предоставляет основные команды, которые помогут вам выяснить в чём дело и, возможно, даже всё исправить.

Что нужно проверить: наличие правильных файлов устройств в каталоге /dev; какие модули загружены (cat /proc/modules); проверить в результатах dmesg отсутствие ошибок при загрузке драйверов. Вывод dmesg также покажет соответствие назначенных файлов устройств дискам; убедитесь, что результатом echo $ROOT является ожидаемое устройство для корневой файловой системы.

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

4.1.4.2. Отладочная оболочка во время загрузки с использованием systemd

Если не удаётся загрузиться под systemd, можно запустить командную оболочку с правами суперпользователя, изменив строку команд ядра. Если базовая загрузка завершается успешно, но некоторые службы не запускаются, может быть полезным добавить команду systemd.unit=rescue.target к параметрам ядра.

В противном случае параметр ядра systemd.unit=emergency.target как можно раньше предоставит вам командную оболочку с правами суперпользователя. Тем не менее, это выполняется до монтирования корневой файловой системы с правами на чтение. Вам придётся выполнить это вручную с помощью следующей команды:

# mount -o remount,rw /

Другой подход заключается во включении «ранней отладочной оболочки» («early debug shell») systemd через debug-shell.service. При следующей загрузке эта служба открывает оболочку входа в систему как root на tty9 очень рано в процессе загрузки. Её можно включить с помощью параметра загрузки ядра systemd.debug-shell=1 или сделать постоянной с помощью systemctl enable debug-shell (в этом случае её следует отключить после завершения отладки).

Дополнительная информация об отладке сломанной загрузки под systemd может быть найдена в статье Freedesktop.org Диагностирования проблем загрузки.

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

Важно

Если вы используете одну из служб VPN (такую как tinc), то они могут быть недоступны во время обновления, см. Подготовка к перерыву в работе служб.

In order to gain extra safety margin when upgrading remotely, we suggest that you run upgrade processes in a virtual console provided by the screen or tmux programs, which enables safe reconnection and ensures the upgrade process is not interrupted even if the remote connection process temporarily fails.

Пользователи демона watchdog, предоставляемого пакетом micro-evtd, должны остановить демон и отключить таймер watchdog перед обновлением, чтобы избежать ложной перезагрузки в середине процесса обновления:

# service micro-evtd stop
# /usr/sbin/microapl -a system_set_watchdog off

4.2. Начните с «чистого» Debian

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

APT is moving to a different format for configuring where it downloads packages from. The files /etc/apt/sources.list and *.list files in /etc/apt/sources.list.d/ are replaced by files still in that directory but with names ending in .sources, using the new, more readable (deb822 style) format. For details see sources.list(5). Examples of APT configurations in these notes will be given in the new deb822 format.

If your system is using multiple sources files then you will need to ensure they stay consistent.

4.2.1. Обновление до Debian 12 (bookworm)

Поддерживаются только обновления с Debian 12 (bookworm). Узнать версию вашего Debian можно так:

$ cat /etc/debian_version

При необходимости сначала выполните инструкции, описанные в информации о выпуске для Debian 12 (https://www.debian.org/releases/bookworm/releasenotes), чтобы выполнить обновление до 12.

4.2.2. Обновление до последней версии выпуска

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

4.2.3. Debian Backports

Debian Backports позволяет пользователям стабильной версии Debian запускать более современные версии пакетов (с некоторыми ограничениями по тестированию и поддержке безопасности). Команда Debian Backports поддерживает подмножество пакетов из следующего выпуска Debian, скорректированных и перекомпилированных для использования в текущем стабильном выпуске Debian.

Пакеты из bookworm-backports имеют номера версий ниже, чем версия в trixie, поэтому они должны обновляться до trixie таким же образом, как «чистые» пакеты bookworm во время обновления дистрибутива. Несмотря на отсутствие известных потенциальных проблем, обновления с пакетами из backports менее проверены и, соответственно, сопряжены с бОльшим риском.

Осторожно

While regular Debian Backports are supported, there is no clean upgrade path from sloppy backports (which use APT sources entries referencing bookworm-backports-sloppy).

As with Unofficial sources, users are advised to remove «bookworm-backports» entries from their APT sources files before the upgrade. After it is completed, they may consider adding «trixie-backports» (see https://backports.debian.org/Instructions/).

Для получения дополнительной информации обратитесь к вики-странице Backports.

4.2.4. Подготовка базы данных пакетов

You should make sure the package database is ready before proceeding with the upgrade. If you are a user of another package manager like aptitude or synaptic, review any pending actions. A package scheduled for installation or removal might interfere with the upgrade procedure. Note that correcting this is only possible if your APT sources files still point to «bookworm» and not to «stable» or «trixie»; see Checking your APT configuration.

4.2.5. Удаление устаревших пакетов

Рекомендуется удалить устаревшие пакеты из системы перед обновлением. Они могут вызвать осложнения в процессе обновления и могут представлять угрозу безопасности, поскольку они больше не поддерживаются.

4.2.6. Удаление пакетов не из Debian

Ниже описаны два способа поиска установленных пакетов, которые были получены не из Debian, используя либо apt, либо apt-forktracer. Заметьте, что ни один из этих способов не даёт 100% точности (например, apt выведет список пакетов, которые уже когда-то предоставлялись Debian, но более не предоставляются, к примеру, старые пакеты с ядром).

$ apt list '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort

4.2.7. Очистка оставшихся конфигурационных файлов

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

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

4.2.8. Разделы non-free и non-free-firmware

If you have non-free firmware installed it is recommended to add non-free-firmware to your APT sources.

4.2.9. Секция proposed-updates

If you have listed the proposed-updates section in your APT sources files, you should remove it before attempting to upgrade your system. This is a precaution to reduce the likelihood of conflicts.

4.2.10. Неофициальные источники

If you have any non-Debian packages on your system, you should be aware that these may be removed during the upgrade because of conflicting dependencies. If these packages were installed by adding an extra package archive in your APT sources files, you should check if that archive also offers packages compiled for trixie and change the source item accordingly at the same time as your source items for Debian packages.

У некоторых пользователей могут быть установлены неофициальные перенесённые «более новые» версии пакетов, чем существующие в Debian, собранные для bookworm. Такие пакеты, скорее всего, станут причиной проблем при обновлении, так как они могут вызвать конфликты файлов [4]. В Возможные проблемы во время обновления содержится некоторая информация о том, что делать, если возникли файловые конфликты.

4.2.11. Отключение фиксации в APT

Если вы настроили APT на установку некоторых пакетов из дистрибутива, отличного от стабильного (например, тестируемого), вам, возможно, придётся изменить настройки фиксации в APT (хранятся в файле /etc/apt/preferences и каталоге /etc/apt/preferences.d/), чтобы стало возможным обновление пакетов до версии нового стабильного выпуска. Более подробную информацию о фиксации пакетов в APT можно найти в apt_preferences(5).

4.2.12. Проверка состояния пакетов

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

$ dpkg --audit

Можно также проверить состояние всех пакетов системы с помощью программы aptitude и таких команд, как

$ dpkg -l

или

# dpkg --get-selections '*' > ~/curr-pkgs.txt

В качестве альтернативы вы также можете использовать apt.

# apt list --installed > ~/curr-pkgs.txt

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

$ apt-mark showhold

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

Состояние фиксации («hold») пакета через apt может быть изменено с помощью:

# apt-mark hold package_name

Замените hold на unhold, чтобы отменить состояние фиксации («hold»).

If there is anything you need to fix, it is best to make sure your APT sources files still refer to bookworm as explained in Checking your APT configuration.

4.3. Preparing APT sources files

Before starting the upgrade you must reconfigure APT to add sources for trixie and typically remove sources for bookworm.

As mentioned in Начните с «чистого» Debian, we recommend that you use the new deb822-style format, so you would have to replace /etc/apt/sources.list and any *.list files in /etc/apt/sources.list.d/ by only one file named debian.sources in /etc/apt/sources.list.d/ (if you haven’t done so already). An example is given below of how this file should typically look.

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

На выпуск Debian часто ссылаются по его кодовому имени (например, «bookworm», «trixie») или по его статусу (например, «oldstable» (старый стабильный), «stable» (стабильный), «testing» (тестируемый), «unstable» (нестабильный)). Ссылки на выпуск по кодовому имени имеют то преимущество, что вы никогда неожиданно для себя не начнёте пользоваться новым выпуском. Поэтому мы здесь так и делаем. В этом случае вам, конечно, придётся самим следить за анонсами новых выпусков. Если вы будете ссылаться на дистрибутив по его статусному имени, то после выхода нового выпуска вы просто увидите большое количество обновлённых пакетов.

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

4.3.1. Добавление интернет-источников в APT

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

To make use of the CDN service, the correct configuration for APT (assuming you are using main and non-free-firmware) is the following in /etc/apt/sources.list.d/debian.sources:

Types: deb
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Make sure to remove any of the old sources files.

However, if you get better results using a specific mirror that is close to you in network terms instead of the CDN service, then the mirror URI can be substituted in the URIs line as (for instance) «URIs: https://mirrors.kernel.org/debian».

If you want to use packages from the contrib or non-free components, you may add these names to all the Components: lines.

After adding your new sources, disable the previously existing archive entries in the APT sources files by placing a hash sign (#) in front of them.

4.3.2. Добавление локального зеркала в качестве источника APT

Instead of using remote package mirrors, you may wish to modify the APT sources files to use a mirror on a local disk (possibly mounted over NFS).

Например, если ваше зеркало пакетов находится в каталоге /var/local/debian/, то его основные каталоги будут называться:

/var/local/debian/dists/trixie/main/...
/var/local/debian/dists/trixie/contrib/...

To use this with apt, add the following to your /etc/apt/sources.list.d/debian.sources file:

Types: deb
URIs: file:/var/local/debian
Suites: trixie
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

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

4.3.3. Добавление оптического носителя в качестве источника APT

If you want to use only DVDs (or CDs or Blu-ray Discs), comment out the existing entries in all the APT sources files by placing a hash sign (#) in front of them.

Убедитесь в том, что в файле /etc/fstab есть строка, позволяющая смонтировать компакт-диск в каталог /media/cdrom. Например, если файлом устройства вашего привода чтения компакт-дисков служит /dev/sr0, то файл /etc/fstab должен содержать строку:

/dev/sr0 /media/cdrom auto noauto,ro 0 0

Обратите внимание на то, что между словами noauto,ro в четвёртом поле строки не должно быть пробелов.

Чтобы проверить, что строка fstab написана верно, вставьте компакт-диск в привод и выполните команды

# mount /media/cdrom    # this will mount the CD to the mount point
# ls -alF /media/cdrom  # this should show the CD's root directory
# umount /media/cdrom   # this will unmount the CD

Затем выполните команду

# apt-cdrom add

для каждого компакт-диска Debian Binary, чтобы добавить все диски в базу данных APT.

4.4. Обновление пакетов

Рекомендуемый способ обновления с предыдущих выпусков Debian - использовать инструмент управления пакетами apt.

Примечание

apt предназначен для интерактивного использования и не должен использоваться в скриптах. В скриптах следует использовать apt-get, который имеет стабильный вывод, лучше подходящий для синтаксического анализа (parsing).

Не забудьте смонтировать все необходимые разделы (в первую очередь, корневой раздел и каталог /usr) на чтение и запись. Это можно сделать командой

# mount -o remount,rw /mountpoint

Next you should double-check that the APT sources entries (in files under /etc/apt/sources.list.d/) refer either to «trixie» or to «stable». There should not be any sources entries pointing to bookworm.

Примечание

Sources lines for a CD-ROM might sometimes refer to «unstable»; although this may be confusing, you should not change it.

4.4.1. Запись сеанса

apt will log the changed package states in /var/log/apt/history.log and the terminal output in /var/log/apt/term.log. dpkg will, in addition, log all package state changes in /var/log/dpkg.log. If you use aptitude, it will also log state changes in /var/log/aptitude.

If a problem occurs, you will have a log of what happened, and if needed, can provide exact information in a bug report.

The term.log will also allow you to review information that has scrolled off-screen. If you are at the system’s console, just switch to VT2 (using Alt+F2) to review it.

4.4.2. Обновление списка пакетов

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

# apt update

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

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

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

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
Need to get xx.xMB of archives.
After this operation, AAAMB of additional disk space will be used.

Примечание

Запуск этой команды в начале процесса обновления может приводить к ошибке по причинам, описанным далее. В этом случае, запуск команды оценки дискового пространства нужно провести после выполнения минимального обновления системы (см. Минимальное обновление системы) и обновления ядра.

Если вам не хватает места для обновления, apt предупредит об этом:

E: You don't have enough free space in /var/cache/apt/archives/.

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

  • Удалить пакеты, которые были ранее скачаны для установки (из каталога /var/cache/apt/archives). При очистке кэша пакетов с помощью команды apt clean удаляются все ранее скачанные файлы пакетов.

  • Удалить забытые пакеты. Если в bookworm вы использовали aptitude или apt для установки пакетов вручную, то этот факт был запомнен, и поэтому будут помечены как устаревшие только те пакеты, которые были установлены только для удовлетворения зависимостей и которые больше не нужны, если пакет, который от них зависел, был удалён. Пакеты, установленные вручную, не будут помечены как устаревшие. Для удаления автоматически установленных пакетов, которые больше не используются, запустите:

    # apt autoremove
    

    You can also use debfoster to find redundant packages. Do not blindly remove the packages this tool presents, especially if you are using aggressive non-default options that are prone to false positives. It is highly recommended that you manually review the packages suggested for removal (i.e. their contents, sizes, and descriptions) before you remove them.

  • Удалить пакеты, которые занимают слишком много места и в данный момент не нужны (вы всегда можете установить их снова после обновления). Если установлен пакет popularity-contest, то вы можете использовать команду popcon-largest-unused для получения списка неиспользуемых пакетов, которые занимают больше всего места. Вы можете найти пакеты, которые занимают больше всего дискового пространства с помощью dpigs (из пакета debian-goodies) или wajig (запустив wajig size). Также вы можете получить список пакетов, которые занимают больше всего места, с помощью aptitude. Запустите aptitude в режиме полнофункционального терминала, выберите Окна > Новый плоский список пакетов, нажмите l и введите ~i, нажмите S и введите ~installsize. После этого вы получите удобный список, с которым можете поработать.

  • Удалить переводы и файлы локализации из системы, если они ненужны. Вы можете установить и настроить пакет localepurge, который поможет удалить неиспользуемые системные локали. Это сократит использование дискового пространства в /usr/share/locale.

  • Временно перенести на другую машину или удалить системные журналы из /var/log/.

  • Использовать временный каталог /var/cache/apt/archives: вы можете использовать временный каталог под кэш на другой файловой системе (USB-носителе, временно подключённом жёстком диске, уже используемой файловой системе, …).

    Примечание

    Не используйте файловые системы NFS, так как при обновлении могут возникнуть перебои в работе сети.

    Например, если у вас есть USB-диск, смонтированный в /media/usbkey:

    1. удалите пакеты, которые были скачаны при установке ранее:

      # apt clean
      
    2. скопируйте каталог /var/cache/apt/archives на USB-диск:

      # cp -ax /var/cache/apt/archives /media/usbkey/
      
    3. смонтируйте временный каталог кэша:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
      
    4. после обновления восстановите оригинальный каталог /var/cache/apt/archives:

      # umount /var/cache/apt/archives
      
    5. удалите оставшийся /media/usbkey/archives.

    Можно создать временный каталог кэша в любой файловой системе, уже смонтированной в системе.

  • Выполнить минимальное обновление системы (см. Минимальное обновление системы) или частичное обновление, а затем полное обновление. После частичного обновления можно очистить кэш пакетов и приступить к полному обновлению.

Note that in order to safely remove packages, it is advisable to switch your APT sources files back to bookworm as described in Checking your APT configuration.

4.4.4. Остановка систем мониторинга

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

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

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

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

# apt upgrade --without-new-pkgs

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

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

Если установлен пакет apt-listchanges, то он показывает важную информацию об обновляемых пакетах в пейджере после загрузки пакетов (при настройках по умолчанию). Для выхода из пейджера и продолжения обновления нажмите q после прочтения.

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

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

# apt full-upgrade

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

При обновлении с набора компакт-дисков, DVD или дисков Blu-ray система несколько раз попросит вас вставить в привод соответствующий диск. Возможно, вам придётся вставлять один и тот же диск несколько раз. Это вызвано тем, что взаимосвязанные пакеты могут находиться на разных дисках.

Новые версии уже установленных пакетов, которые нельзя обновить не меняя состояния других пакетов, не будут установлены (программа выведет сообщение, что пакет зафиксирован, «held back»). Разрешить ситуацию можно, либо отметив такой пакет как подлежащий установке с помощью aptitude, либо выполнив команду apt install пакет.

4.5. Возможные проблемы во время обновления

В следующем разделе описаны известные проблемы, которые могут возникнуть при обновлении до trixie.

4.5.1. Full-upgrade завершается с ошибкой «Не удалось выполнить оперативную настройку»

В некоторых случаях команда apt full-upgrade может завершиться с ошибкой после скачивания пакетов:

E: Could not perform immediate configuration on 'package'.  Please see man 5 apt.conf under APT::Immediate-Configure for details.

Если это произошло, запустите apt full-upgrade -o APT::Immediate-Configure=0 для продолжения обновления.

Another possible workaround for this problem is to temporarily add both bookworm and trixie sources to your APT sources files and run apt update.

4.5.2. Ожидаемые удаления

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

4.5.3. Конфликты или зацикливание в требованиях предварительной установки

Иногда необходимо включить параметр APT::Force-LoopBreak в APT для временного удаления пакетов первой необходимости, если возникает циклическая зависимость при конфликте/требовании предварительной установки. Программа apt сообщит об этом и прекратит обновление. Чтобы решить эту проблему, следует указать в командной строке apt параметр -o APT::Force-LoopBreak=1.

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

# dpkg --remove package_name

чтобы удалить «проблемные» пакеты или

# apt -f install
# dpkg --configure --pending

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

# dpkg --install /path/to/package_name.deb

4.5.4. Файловые конфликты

При обновлении с «чистого» bookworm конфликтов файлов быть не должно, но они вполне возможны, если у вас установлены неофициальные адаптации (backports). При конфликте файлов появляются ошибки:

Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
trying to overwrite `<some-file-name>',
which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
<package-foo>

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

# dpkg -r --force-depends package_name

После исправления ошибок вы можете продолжить обновление, повторив ранее описанные команды apt.

4.5.5. Изменение настроек

Во время обновления система будет задавать вопросы о настройке или перенастройке некоторых пакетов. Если вас спросят, нужно ли заменить какой-то файл в каталоге /etc/init.d или /etc/manpath.config, версией, предоставленной сопровождающим пакета, обычно следует ответить «да», поскольку иначе будет нарушена целостность системы. Вы всегда сможете вернуть старые настройки, потому что предыдущие файлы настройки будут сохранены с расширением .dpkg-old.

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

4.5.6. Изменение консоли сеанса

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

Чтобы восстановить консоль, на которой запущено обновление, нажмите Ctrl+Alt+F1 для перехода обратно на виртуальный терминал 1 (если вы видите графический экран входа в систему) или используйте Alt+F1 (если вы видите локальную консоль в текстовом режиме). Вместо F1 нажмите функциональную клавишу с номером виртуального терминала, в котором запущено обновление. Также вы можете использовать Alt+стрелка-влево или Alt+стрелка-вправо для переключения между терминалами в текстовом режиме.

4.7. Cleanup after the upgrade

Two steps are recommended to clean the upgraded distribution.

4.8. Cleaning up automatically installed packages

Some packages may have been only installed an your system as dependencies of other packages. With the new release these dependencies could have changed and apt will propose to remove those automatically installed packages. For this run:

# apt autoremove

4.9. Устаревшие пакеты

Вместе с появлением множества новых пакетов, из trixie было удалено и исключено довольно много пакетов, которые входили в bookworm. Для таких устаревших пакетов возможности обновления нет. Ничто не мешает вам продолжать пользоваться устаревшими пакетами, но приблизительно через год после выхода trixie проект Debian обычно прекращает выпускать для них исправления безопасности [5], и оказывать другую своевременную поддержку. Рекомендуется заменить их на доступные альтернативные пакеты (если таковые имеются).

Пакет может быть удалён из дистрибутива по многим причинам: разработка программы прекращена, пакет неинтересен никому из разработчиков Debian, программа вытеснена другой, более функциональной программой или версией программы, пакет содержит ошибки, из-за которых пока не может быть включён в trixie. В последнем случае пакет может быть доступен в «нестабильной» ветви дистрибутива.

«Устаревшие и локально созданные пакеты» могут быть найдены и удалены из командной строки так:

$ apt list '?obsolete'
# apt purge '?obsolete'

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

Список устаревших пакетов для выпуска trixie можно просмотреть в Заслуживающие внимания устаревшие пакеты.

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

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

Осторожно

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

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

$ apt list '?config-files'

Эти пакеты могут быть удалены с помощью команды apt purge. Допустим, вы хотите вычистить все эти пакеты за один раз, для этого можно использовать следующую команду:

# apt purge '?config-files'

4.9.2. Переходные пакеты-пустышки

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

The package descriptions for transitional dummy packages usually indicate their purpose. However, they are not uniform; in particular, some «dummy» packages are designed to be kept installed, in order to pull in a full software suite, or track the current latest version of some program.