Update/p9: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «{{Note|Процедура обновления с p8 до p9 аналогична обновлению до p8}} = Обновление = {{Attent…»)
 
(→‎Несколько сетевых карт и имена вида eth0, eth1: Предупреждение про потерю доступа по сети)
 
(не показано 50 промежуточных версий 11 участников)
Строка 4: Строка 4:


{{Attention|При обновлении продолжает действовать лицензионное соглашение установленной изначально системы.}}
{{Attention|При обновлении продолжает действовать лицензионное соглашение установленной изначально системы.}}
{{Attention|Сначала прочитайте раздел "Известные проблемы" в конце статьи.}}
== 0. Сделайте резервную копию системы до начала обновления ==
== 0. Сделайте резервную копию системы до начала обновления ==


{{Attention|Если не уверены, что можете сами починить систему при неудачном обновлении, обязательно сделайте резервную копию системы!}}
{{Attention|Если не уверены, что можете сами починить систему при неудачном обновлении, обязательно сделайте [[Теневое копирование+Точка восстановления|резервную копию системы]]!}}
{{Note|Желательно перед обновлением системы удалить все ненужные вам пакеты, и отключить ненужные сервисные службы. Это сэкономит вам некоторое время в процессе обновления, и уменьшит трафик скачанных пакетов.}}
{{Note|Желательно перед обновлением системы удалить все ненужные вам пакеты, и отключить ненужные сервисные службы. Это сэкономит вам некоторое время в процессе обновления, и уменьшит трафик скачанных пакетов.}}


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


{{Note|Все операции нужно делать [[root|под правами пользователя root]].}}
{{Note|Все операции нужно делать [[root|под правами пользователя root]].}}
Строка 16: Строка 17:
  apt-get dist-upgrade
  apt-get dist-upgrade


==2. Если не установлена, установить обновлённую программу [[apt-repo]]==
== 2. Проверить [[apt-repo]] ==
Скорее всего утилита уже была установлена и обновилась на первом шаге, но на всякий случай проверьте наличие:
  apt-get install apt-repo
  apt-get install apt-repo


==3. Изменить источники обновления==
== 3. Изменить источники обновления ==
  apt-repo rm all
  apt-repo rm all
  apt-repo add branch p8
  apt-repo add branch p9


==4. Обновиться до p9==
== 4. Обновиться до p9 ==
{{Attention|Так как обновление затрагивает и службу D-Bus, процесс обновления может вызвать падение Xorg. Поэтому указанные команды лучше вводить под правами root в консоли (Нажмите Ctrl+Alt+F2, введите root и пароль пользователя root).}}
{{Attention|Так как обновление затрагивает и службу D-Bus, процесс обновления может вызвать падение Xorg. Поэтому непосредственно команду обновления дистрибутива {{cmd|apt-get dist-upgrade}} лучше вводить в текстовой консоли (Нажмите Ctrl+Alt+F2, введите root и пароль пользователя root).}}
{{Note|Можно использовать {{prg|screen}}. В этом случае падение xorg не должно вызвать закрытие консоли с запущенной процедурой обновления, и к ней можно будет переподключиться из текстовой консоли, доступной по Ctrl+Alt+F2 }}
{{Note|Можно использовать {{prg|screen}}. В этом случае падение xorg не должно вызвать закрытие консоли с запущенной процедурой обновления, и к ней можно будет переподключиться из текстовой консоли, доступной по Ctrl+Alt+F2. В системе с systemd следует установить предварительно пакет systemd-settings-disable-kill-user-processes (проверить).}}
  apt-get update
  apt-get update
{{Note|Необязательный шаг:
apt-get clean
apt-get dist-upgrade -d
Первая команда удалит из кэша apt все старые пакеты, вторая скачает (но не установит) все нужные пакеты. Если у Вас уже скачивалось что-то новое, вместо clean может оказаться выгоднее использовать autoclean. Полученное содержимое /var/cache/apt может быть использовано для последующей массовой установки пакетов посредством rpm в случае возникновения проблем с обновлением.}}


Выполните собственно обновление:
Выполните собственно обновление:
Строка 35: Строка 42:
apt-get dist-upgrade</source>}}
apt-get dist-upgrade</source>}}


==5. Перезагрузка==
== 5. Перезагрузка ==


Перезагрузите систему.
Перезагрузите систему.
== 6. Удаление устаревших пакетов ==
Следует воспользоваться советами по ссылке [[APT_в_ALT_Linux/Советы_по_использованию]] для удаления устаревших пакетов.


= Настройки после обновления =
= Настройки после обновления =
== Альт Образование ==
При обновлении удаляется пакет Lazarus. Установите его после обновления:
apt-get install lazarus
Если устанавливали приложения KDE, то удалите {{pkg|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
<!--
<!--
== MariaDB ==
== MariaDB ==
Строка 72: Строка 97:
[http://forum.altlinux.org/index.php?topic=38543.0 дополнительно на форуме].
[http://forum.altlinux.org/index.php?topic=38543.0 дополнительно на форуме].
-->
-->
<!--
= Размер обновлений =
= Размер обновлений =
<!--
 
{{Attention|Убедитесь, что у вас достаточно места на файловой системе, как для скаченных пакетов, так и для установки (как минимум, удвоенный размер из таблицы):
{{Attention|Убедитесь, что у вас достаточно места на файловой системе, как для скаченных пакетов, так и для установки (как минимум, удвоенный размер из таблицы):
<source lang="Bash">df -h --output=avail /var/cache/apt/archives/
<source lang="Bash">df -h --output=avail /var/cache/apt/archives/
Строка 93: Строка 119:
|}
|}
-->
-->
= Обновление с помощью [http://wiki.etersoft.ru/EPM EPM] =
= Обновление с помощью [http://wiki.etersoft.ru/EPM EPM] =


Для обновления с p8 до p9 можно воспользоваться командой epm release-upgrade из пакета eepm <ref>см. https://lists.altlinux.org/pipermail/devel/2016-April/201334.html</ref>:
Для обновления с p8 до p9 можно воспользоваться командой epm release-upgrade из пакета eepm <ref>см. https://lists.altlinux.org/pipermail/devel/2016-April/201334.html</ref>:
  # apt-get install eepm
  # apt-get install eepm (Эта команда позволяет узнать о существовании p9, СНАЧАЛА нужно выполнить ее, после чего уже обновляться!)
  # epm release-upgrade
  # epm release-upgrade


Команда выполняет все необходимые действия для обновления, в том числе команды, описанные выше в порядке ручного обновления.
Команда выполняет все необходимые действия для обновления, в том числе команды, описанные выше в порядке ручного обновления.
В связи с [[altbug:37672]] необходимо сначала обновить версию eepm:
<code># epmi 236100</code>.


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


==== 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: <s>{{altbug|36633}}</s>
==== Обновление ExtensionPack для VirtualBox ====
==== Обновление ExtensionPack для VirtualBox ====


Строка 110: Строка 146:
У MariaDB меняется структура конфигурационных файлов. Обратите внимание на раздел [[Update/p8#MariaDB|MariaDB]].
У MariaDB меняется структура конфигурационных файлов. Обратите внимание на раздел [[Update/p8#MariaDB|MariaDB]].
-->
-->
==== Обновление контейнера 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: <s>[[altbug:36454]]</s>.
* При обновлении OpenVZ-контейнера с хост-системой на ядре 2.6.32-ovz-el следует скопировать в /etc/syslog-ng/conf.d файл 00-redefine-source-sys.conf из примеров в документации<ref>см. https://lists.altlinux.org/pipermail/sisyphus/2019-October/368189.html</ref>.
==== Ethernet-мост и VLAN в etcnet ====
1. Изменился способ настройки Ethernet-моcта и VLAN в etcnet: vlan-utils и bridge-utils больше не используются, всё делается посредством утилит из iproute2.
2. Поведение VLAN по умолчанию теперь соответствует VLAN_REORDER_HDR=0. При использовании vlan-utils поведение соответствовало VLAN_REORDER_HDR=1. Это влияет на работу QinQ.
==== lo и дополнительные IP ====
Интерфейс lo теперь создаётся в initrd. Это может вызывать проблему с добавлением на интерфейс дополнительных IP адресов: [[altbug:42527]]. Можно добавить интерфейс, например, lo2 с TYPE=dummy и перенести дополнительные IP адреса туда.
==== Несколько сетевых карт и имена вида eth0, eth1 ====
{{Attention|При удалённом обновлении, во избежание необходимости физического доступа к обновляемому хосту из-за потери доступа через сеть, это следует выполнить до первой перезагрузки в p9, а лучше ещё до обновления вообще.}}
Начиная с udev 242-alt1 убран патч, позволяющий udev переименовать интерфейсы в случае, если имя занято. Следует переименовать интерфейсы с именами вида ethN, если их более одного, лучше заранее. Подробнее в статье [[Настройка_сети|Настройка сети]]. Не забудьте указать TYPE=eth в options для интерфейсов с именами, отличными от ethN.
==== Сервер виртуализации PVE ====
Прежде чем начинать обновление, необходимо заменить openntpd на chrony ([[altbug:37656]]).  В противном случае обновление завершится с ошибкой, а при исправлении в ручном режиме придется удалять весь PVE.
==== Старые профили firefox ====
При запуске со старым профилем из p8 firefox может не запуститься. Если такое случилось, следует "освежить" профиль запуском браузера с ключем --safe-mode (из терминала) и выбрать опцию восстановления "Refresh Firefox". Это исправит профиль с сохранением пользовательских настроек, паролей и истории.
==== Вход в систему (prefdm) ====
При пользовании [[systemd]] после обновления с p8 до p9 может возникнуть необходимость [http://bugzilla.altlinux.org/show_bug.cgi?id=26405#c44 переключиться] на применяемый display manager в явном виде:
# systemctl disable display-manager.service; systemctl enable lightdm.service
(либо sddm.service, либо какой иной)
На системах с [[sysvinit]] эта проблема не замечена.
==== Запуск BIND в системе с [[sysvinit]] ====
{{Attention|Вероятно это неверное замечание: на 16/08/2022 никаких изменений с порядком старта network не происходит}}
При использовании [[sysvinit]] после обновления с p8 до p9 могут возникнуть проблемы с привязкой BIND к стандартному порту 53 на интерфейсах с внешними IP.
<br>
Это происходит из-за изменения сортировки стартовых скриптов, а именно изменения имени стартового скрипта ''network'': ''S10network'' на ''S31network'' в каталогах /etc/~rc3.d - /etc/~rc5.d.
<br>
В итоге BIND, имеющий скрипт запуска ''S20bind'', запускается раньше ''S31network'', т.е. до готовности интерфейсов.
<br>
Так как BIND работает от непривилегированного пользователя ''named'', то опция ''interface-interval'' в конфигурационном файле BIND не решает проблему.
<br>
Временное решение - рестарт BIND от суперпользователя.
<br>
Чтобы решить вопрос при старте системы, необходимо вернуть имя стартовому скрипту ''network'': ''S10network'' в соответствующих каталогах.
= Примечания =
= Примечания =
{{примечания}}
{{примечания}}

Текущая версия от 13:00, 4 апреля 2024

Примечание: Процедура обновления с p8 до p9 аналогична обновлению до p8


Обновление

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

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

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


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

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


apt-get update
apt-get dist-upgrade

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

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

apt-get install apt-repo

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

apt-repo rm all
apt-repo add branch p9

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

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


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

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


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

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

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

Следует воспользоваться советами по ссылке APT_в_ALT_Linux/Советы_по_использованию для удаления устаревших пакетов.

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

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

При обновлении удаляется пакет 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  (Эта команда позволяет узнать о существовании p9, СНАЧАЛА нужно выполнить ее, после чего уже обновляться!)
# 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-мост и VLAN в etcnet

1. Изменился способ настройки Ethernet-моcта и VLAN в etcnet: vlan-utils и bridge-utils больше не используются, всё делается посредством утилит из iproute2.

2. Поведение VLAN по умолчанию теперь соответствует VLAN_REORDER_HDR=0. При использовании vlan-utils поведение соответствовало VLAN_REORDER_HDR=1. Это влияет на работу QinQ.

lo и дополнительные IP

Интерфейс lo теперь создаётся в initrd. Это может вызывать проблему с добавлением на интерфейс дополнительных IP адресов: altbug:42527. Можно добавить интерфейс, например, lo2 с TYPE=dummy и перенести дополнительные IP адреса туда.

Несколько сетевых карт и имена вида eth0, eth1

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

Начиная с udev 242-alt1 убран патч, позволяющий udev переименовать интерфейсы в случае, если имя занято. Следует переименовать интерфейсы с именами вида ethN, если их более одного, лучше заранее. Подробнее в статье Настройка сети. Не забудьте указать TYPE=eth в options для интерфейсов с именами, отличными от ethN.

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

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

Старые профили firefox

При запуске со старым профилем из p8 firefox может не запуститься. Если такое случилось, следует "освежить" профиль запуском браузера с ключем --safe-mode (из терминала) и выбрать опцию восстановления "Refresh Firefox". Это исправит профиль с сохранением пользовательских настроек, паролей и истории.

Вход в систему (prefdm)

При пользовании systemd после обновления с p8 до p9 может возникнуть необходимость переключиться на применяемый display manager в явном виде:

# systemctl disable display-manager.service; systemctl enable lightdm.service

(либо sddm.service, либо какой иной)

На системах с sysvinit эта проблема не замечена.

Запуск BIND в системе с sysvinit

Внимание! Вероятно это неверное замечание: на 16/08/2022 никаких изменений с порядком старта network не происходит

При использовании sysvinit после обновления с p8 до p9 могут возникнуть проблемы с привязкой BIND к стандартному порту 53 на интерфейсах с внешними IP.
Это происходит из-за изменения сортировки стартовых скриптов, а именно изменения имени стартового скрипта network: S10network на S31network в каталогах /etc/~rc3.d - /etc/~rc5.d.
В итоге BIND, имеющий скрипт запуска S20bind, запускается раньше S31network, т.е. до готовности интерфейсов.
Так как BIND работает от непривилегированного пользователя named, то опция interface-interval в конфигурационном файле BIND не решает проблему.
Временное решение - рестарт BIND от суперпользователя.
Чтобы решить вопрос при старте системы, необходимо вернуть имя стартовому скрипту network: S10network в соответствующих каталогах.

Примечания