Update/p9

Материал из ALT Linux Wiki
Примечание: Процедура обновления с p8 до p9 аналогична обновлению до p8


Обновление

Внимание! При обновлении продолжает действовать лицензионное соглашение установленной изначально системы.

0. Сделайте резервную копию системы до начала обновления

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


1. Обновить дистрибутив до самого свежего p8

Примечание: Все операции нужно делать под правами пользователя root.


apt-get update
apt-get dist-upgrade

2. Проверить syslog

Пакет sysklogd удалён из p9 (и Sisyphus). Если Ваша система использует SysV init и sysklogd, а не systemd и journald, следует заранее установить либо rsyslog, либо syslog-ng во избежание удаления sshd (altbug #35312), или вытягивания по зависимостям systemd и journald.

3. Проверить apt-repo

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

apt-get install apt-repo

4. Изменить источники обновления

apt-repo rm all
apt-repo add branch p9

5. Обновиться до p9

Внимание! Так как обновление затрагивает и службу D-Bus, процесс обновления может вызвать падение Xorg. Поэтому указанные команды лучше вводить под правами root в консоли (Нажмите Ctrl+Alt+F2, введите root и пароль пользователя root).
Примечание: Можно использовать screen. В этом случае падение xorg не должно вызвать закрытие консоли с запущенной процедурой обновления, и к ней можно будет переподключиться из текстовой консоли, доступной по Ctrl+Alt+F2. В системе с systemd следует установить предварительно пакет systemd-settings-disable-kill-user-processes (проверить).
apt-get update

Выполните собственно обновление:

apt-get dist-upgrade
update-kernel
Примечание: Если во время обновления в конце написало
E: Произошли ошибки при выполнении транзакции
выполните
apt-get -f install
apt-get dist-upgrade


6. Перезагрузка

Перезагрузите систему.

Настройки после обновления

Альт Образование

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

apt-get install lazarus

Если устанавливали приложения KDE, то удалите sddm, чтобы не было конфликта с LightDM:

apt-get remove sddm

LibreOffice

В дистрибутивах на Девятой платформе будет использоваться версия Still LibreOffice (а под именем LibreOffice будет собираться версия Fresh). Поэтому замените на LibreOffice-still:

apt-get install $(rpm -qa LibreOffice-\* --qf '%{name}\n' | sed 's/^LibreOffice/LibreOffice-still/')

Simply Linux

Необходимо удалить конфликтующий пакет libpq5.9 и установить вместо него пакет libpq5:

apt-get install libpq5.9- libpq5


Обновление с помощью EPM

Для обновления с p8 до p9 можно воспользоваться командой epm release-upgrade из пакета eepm [1]:

# apt-get install eepm
# epm release-upgrade

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

В связи с altbug:37672 необходимо сначала обновить версию eepm:

# epmi 236100.

Известные проблемы

E: Unknown vendor ID 'p9'

Если после смены репозитория в ответ на команду apt-get update Вы видите сообщение "Unknown vendor ID", то, вероятнее всего, у Вас установлен пакет apt-conf-<...>, отличный от apt-conf-branch. Верните старый репозиторий и установите этот пакет. Вместо обыного "Y" Вам придётся ввести фразу "Yes, do as I say!" (будет подсказка). Либо можно удалить символы [p9] из строк, описывающих новый репозиторий: в этом случае проверка не будет выполняться.

ssh и systemd (screen и т.п.)

В конфигурации по умолчанию systemd закрывает всё, что было запущено при входе по ssh. Установите пакет systemd-settings-disable-kill-user-processes: altbug #36633

Обновление ExtensionPack для VirtualBox

После обновления virtualbox потребуется обновить ExtensionPack. Сделать это можно через меню Файл → Проверить обновления…

Обновление контейнера OpenVZ c хост-системой на p8

p9 содержит glibc 2.27. Этой библиотеке требуется ядро с поддержкой prlimit64, эта поддержка появилась в ядре 3.2.0. В OpenVZ есть механизм для обмана контейнера: в файле /etc/vz/osrelease.conf можно написать, какую версию ядра сообщать в контенер с соответствующим значением переменной OSTEMPLATE. Сверяется начальный набор символов шаблона, полностью значение из OSTEMPLATE можно не писать. Поддержка prlimit64 была бакпортирована в ядро 2.6.32-alt162, проверьте, что в хост-системе установлено ядро не старее этой версии.

Если вы неосторожно обновились без данной подготовки, Вам может помочь "apt-get dedup": https://lists.altlinux.org/pipermail/sisyphus/2019-September/368152.html

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

KDE4 в p9 не поддерживается (собственно, и в p8 уже не поддерживается, хотя и работает). Обновление системы с KDE4 может привести к тому, что не запустится графическая подсистема. Следует перейти на KDE5 до обновления. Для этого надо установить какой-либо из метапакетов, устанавливающих KDE5: kde5, kde5-big, kde5-maxi, либо какой-то ещё, помеченный как "Set of KDE 5 applications". Пакеты, относящиеся к kde4, потом можно удалить. Например так:

apt-get remove `rpm -qa| grep "^kde4"|sed "s/-[^-]*-[^-]*$//"`

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

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

TDE в p9 не поддерживается, следует поступить аналогично случаю с KDE4. Вероятно могут быть проблемы с переносом каких-либо данных, например knotes (не проверено).

Обновление syslog-ng

  • При использовании с journald следует установить пакет syslog-ng-journal: altbug:36454.
  • При обновлении OpenVZ-контейнера с хост-системой на ядре 2.6.32-ovz-el следует скопировать в /etc/syslog-ng/conf.d файл 00-redefine-source-sys.conf из примеров в документации[2].

Ethernet-мост в etcnet

Изменился способ настройки Ethernet-моcта в etcnet.

Сервер виртуализации PVE

Прежде, чем начинать обновление, необходимо заменить openntpd на chrony (altbug:37656). В противном случае обновление завершится с ошибкой, а при исправлении в ручном режиме придется удалять весь PVE.

Примечания