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

Материал из ALT Linux Wiki
 
(не показано 40 промежуточных версий 14 участников)
Строка 4: Строка 4:


= Обновление =
= Обновление =
===0. Желательно перед обновлением системы удалить все ненужные вам пакеты, и отключить ненужные сервисные службы. Это сэкономит вам некоторое время в процессе обновления, и уменьшит трафик скачанных пакетов.===


1. Обновить дистрибутив до самого свежего p6:
===1. Обновить дистрибутив до самого свежего p6: ===
  apt-get update
  apt-get update
  apt-get dist-upgrade
  apt-get dist-upgrade
update-kernel (После обновления ядра - перезагружаемся).


Если используете репозитории [[Arepo]], нужно явно переустановить все пакеты i586 и обновить libstdc++6:
{{Attention|Единственное ядро из p6, которое работоспособно в p7, это ядро std-def (на текущий момент 3.0.101-alt0.M60P.1). При необходимости сохранить 2.6.32-ovz-el следует установить его из p7 до или после общего обновления, но до первой перезагрузки. Другие ядра 2.6 из p6 в ветке p7 имеют, как минимум, неполную работоспособность.}}
 
Если используете репозитории [[Arepo]],(в 64-битной системе), нужно явно переустановить все пакеты i586 и обновить libstdc++6:
  apt-get reinstall $(rpmquery -a --qf '%{name}.32bit ' 'i586-*')
  apt-get reinstall $(rpmquery -a --qf '%{name}.32bit ' 'i586-*')
  apt-get install libstdc++6 i586-libstdc++6
  apt-get install libstdc++6 i586-libstdc++6


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 p7
  apt-repo add branch p7


4. Обновиться до p7:
===4. Обновиться до p7:===
{{Attention|Так как обновление затрагивает и службу D-Bus, процесс обновления может вызвать падение Xorg. Поэтому указанные команды лучше вводить под правами root в консоли (Нажмите Ctrl+Alt+F2, введите root и пароль пользователя root):}}
{{Attention|Так как обновление затрагивает и службу D-Bus, процесс обновления может вызвать падение Xorg. Поэтому указанные команды лучше вводить под правами root в консоли (Нажмите Ctrl+Alt+F2, введите root и пароль пользователя root).}}
{{Attention|По причине обновления NetworkManager, может отключиться и WiFi-адаптер, который, по-умолчанию, настраивается через NM. Обновление лучше проводить, подключившись через адаптер, настроенный посредством etcnet (это может быть и WiFi, на самом деле).}}
  apt-get update
  apt-get update
  apt-get dist-upgrade
  apt-get dist-upgrade
Если на этом этапе (как и на аналогичном этапе при обновлении до p6), выявляются ошибки в зависимостях, заносим их в [https://bugzilla.altlinux.org/enter_bug.cgi багзилу]. Часто срабатывает приём - удаление проблемного пакета с помощью
rpm -e имя_пакета
С последующим его восстановлением
apt-get -f install
и повторением после этого
apt-get dist-upgrade
Другой вариант разрешения конфликтов - использование архивоного репозитария. На 26/10/2015 удалось обновить KDesktop 6 через архив от 01/05/2015:
rpm http://ftp.altlinux.org/pub/distributions/archive/p7/date/2014/05/01 x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/archive/p7/date/2014/05/01 noarch classic
rpm http://ftp.altlinux.org/pub/distributions/archive/p7/date/2014/05/01 x86_64-i586 classic
Всё равно пришлось удалить ряд пакетов (всё, что содержало MySQL и java), но разрулить конфикты оказалось значительно легче. Сразу после обновления, без перезагрузки, было сделано ещё одно обновление, до текущего p7 (libicu50 был установлен из архива).
Если не установлен libicu50
apt-get install libicu50
apt-get dist-upgrade
Дальше:
<source lang=text>
  update-kernel
  update-kernel
apt-get install firmware-linux
</source>
Последняя команда нужна, т.к. раньше firmware распространялись вместе с ядром, а теперь вынесены в отдельный пакет. Команда необходима для устройств, использующих firmware, например, для сетевых контролёров bnx2.
depmod -a
<!---
update-grub
-->
Обратите внимание: команда {{cmd|depmod -a}} является страховочной, т.к. соответствующие изменения в {{pkg|bootloader-utils}} могли не оказаться на системе на базе бранча t6/p6.  Характерным признаком возможной проблемы является диагностика вроде «<tt>[http://lists.altlinux.org/pipermail/sysadmins/2013-May/036089.html modprobe: ERROR: magic check fail]</tt>».
===5. На рабочих станциях желательно установить [[Systemd]]===
(без него у вас не будет автомонтирования внешних устройств и не будет работать NetworkManager от обычного пользователя - см.[[Sysvinit]], [[Regular/icewm]])


5. На рабочих станциях нужно установить [[Systemd]]
Прочтите внимательно про [[Systemd]].
  apt-get install systemd-sysvinit
  apt-get install systemd-sysvinit
{{Attention|Важно дать команду на установку systemd-sysvinit ДО команды commit, т.к. в процессе dist-upgrade ломается NetworkManager полностью, в итоге в сеть вы уже не выйдете, systemd будет не установлен, после чего возникает много неприятных сюрпризов (например, выйти в сеть можно будет только запустив nm-applet из-под рута и т.д.)}}
Перезагрузите компьютер.
и включить автозапуск NetworkManager:
  systemctl enable NetworkManager


6. Перезагрузитесь
===6. Перезагрузитесь===


{{Note|При смене SysVInit на Systemd машина при перезагрузке показывает приглашение к восстановлению (maintenance). Нажмите Enter и укажите пароль пользователя root. Затем наберите команду  
{{Note|При смене SysVInit на Systemd машина при перезагрузке показывает приглашение к восстановлению (maintenance). Нажмите Enter и укажите пароль пользователя root. Затем наберите команду  
  reboot  
  reboot  
и нажмите Enter. Система будет перезагружена.}}
и нажмите Enter. Система будет перезагружена.}}
===7. Включите автозапуск NetworkManager:===
  systemctl enable NetworkManager
или по-старому
  chkconfig NetworkManager on
Если у вас компьютер работает в домене, или монтирует внешние устройства по сети, включите  NetworkManager-wait-online:
  systemctl enable NetworkManager-wait-online
  (chkconfig NetworkManager on)
а для работы с модемами:
  systemctl enable ModemManager
  (chkconfig ModemManager on)
а затем сразу-же и включите их с помощью команды service, например:
  service NetworkManager start
Бывают случаи, когда старые пользовательские настройки NM не переносятся в конфиг нового формата. В этом случае помогает команда
  gconftool-2 -s --type int /apps/nm-applet/stamp 2
которая выполняется от пользователя: https://lists.altlinux.org/pipermail/community/2015-January/683403.html
Вероятно, захочется сделать NM доступным от пользователя без ввода пароля. Способ описан на странице с описанием Polkit, [https://www.altlinux.org/Polkit#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B пример номер 3]. Может быть, имеет смысл использовать не описанную в примере группу xgrp, а обычную привилегированную группу wheel.
{{Note|Если {{cmd|systemctl}} отвечает ошибкой, добавляйте к каждой команде определение .service :
  systemctl enable NetworkManager.service
  systemctl enable NetworkManager-wait-online.service
  systemctl enable ModemManager.service
}}
===8. С помощью команды===
systemctl list-unit-files  | grep disable
смотрим какие ещё нужные службы были отключены в процессе перехода на systemd, и при необходимости, включаем их
chkconfig имя_службы on
или по-новому:
systemctl enable имя_службы.service
Для включения их в текущем сеансе, используем:
service имя_службы start
===9. Для любителей графического интерфейса, можно (если не установлен), установить alterator-service, и настраивать запуск служб из него.===


= Размер обновлений =
= Размер обновлений =
Строка 70: Строка 141:
Исправление:
Исправление:
:<pre>apt-get install udev-rule-generator-net</pre>
:<pre>apt-get install udev-rule-generator-net</pre>
{{Attention|<s>{{altbug|29280}}</s> <s>{{altbug|29282}}</s> }}


==== 3. На виртуальных машинах VirtualBox с чипсетом PIIX3 может не запуститься ====
==== 3. На виртуальных машинах VirtualBox с чипсетом PIIX3 может не запуститься ====
Строка 86: Строка 158:
==== 6. При обновлении Simply Linux панель задач не расширяется до области уведомлений ====
==== 6. При обновлении Simply Linux панель задач не расширяется до области уведомлений ====
Данное поведение вызвано изменениями в XFCE:
Данное поведение вызвано изменениями в XFCE:
:Нужно вручную поставить «Разделитель» между панелью задач и областью уведомлений (треем).
:Нужно вручную поставить «Разделитель» между панелью задач и областью уведомлений (треем) и поставить галочку расширения.


==== 7. Если не показываются значки в приложениях GNOME ====
==== 7. Если не показываются значки в приложениях GNOME ====
Установите пакет {{pkg|gnome-icon-theme-symbolic}}
Установите пакет {{pkg|gnome-icon-theme-symbolic}}
  apt-get install gnome-icon-theme-symbolic
  apt-get install gnome-icon-theme-symbolic
==== 8. Если используются приложения GTK3 ====
Для единообразного вида приложений GTK2 и GTK3 установите тему gtk3-theme-clearlooks-phenix:
apt-get install gtk3-theme-clearlooks-phenix
==== 9. Обновление TDE (KDE3) ====
После обновления удалите в домашнем каталоге пользователя файл
rm ~/.mcoprc


==Точечные обновления пакетов из p7 на p6 (опасно!)==
==Точечные обновления пакетов из p7 на p6 (опасно!)==
Осторожно: состояние системы после точечного обновления Вами какого-то пакета скорее всего никем больше не проверялось на работоспособность, поэтому Вы сильно рискуете столкнуться с неизвестной проблемой, если так делаете.
См. [[Точечные обновления пакетов из p7 на p6]].
 
Препятствием к лёгкому точечному обновлению отдельных пакетов в системе на основе [[p6]] до версии из [[p7]] может быть:


* [https://bugzilla.altlinux.org/show_bug.cgi?id=29152 libgmp10 из p7, который вытесняет libgmp из p6] и может повлечь обновление значительной части системы (хотя при точечном обновлении для Вас это нежелательно).


Приблизительный рецепт, как обойти это препятствие и совершить точечное обновление, описан в {{altbug|29152}}: поставьте/обновите нужные пакеты сначала из p6, потом добавьте libgmp10 из p7:
=Демонстрационный материал=


rpm -ihv libgmp10-5.1.2-alt1.i586.rpm
<swf>http://www.youtube.com/watch?v=n6lIH8D-Abw|width=300|height=200</swf>
echo 'RPM::Allow-Duplicated { "^libgmp$"; };' > /etc/apt/apt.conf.d/libgmp-compat.conf


и попробуйте обновить нужные пакеты из p7. (Мне удалось так поставить новые ghc, pandoc. Возможно, достаточно добавить такой /etc/apt/apt.conf.d/libgmp-compat.conf и выполнить apt-get install libgmp10, чтобы его зависимости автоматически поставились APT, но я так не пробовал, а делал через rpm -i.)
[http://www.youtube.com/watch?v=n6lIH8D-Abw Обновление Simply Linux 6.0.1 (бранч p6) до бранча p7]


{{Category navigation|title=Branches|category=Branches|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Branches|category=Branches|sortkey={{SUBPAGENAME}}}}


[[Категория:HOWTO]]
[[Категория:APT]]
[[Категория:APT]]
[[Категория:Admin]]
[[Категория:Branches]]
[[Категория:Branches]]
[[Категория:Changes]]
[[Категория:Changes]]
[[Категория:Upgrade]]
{{Category navigation|title=Обновление|category=Upgrade|sortkey={{SUBPAGENAME}}}}
[[Категория:FAQ]]

Текущая версия от 16:04, 29 июня 2018

Процедура обновления с p6 до p7 аналогична обновлению до p6:

Примечание: Инструкция по обновлению с p5 на p6 расположена на другой странице


Обновление

0. Желательно перед обновлением системы удалить все ненужные вам пакеты, и отключить ненужные сервисные службы. Это сэкономит вам некоторое время в процессе обновления, и уменьшит трафик скачанных пакетов.

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

apt-get update
apt-get dist-upgrade
update-kernel (После обновления ядра - перезагружаемся).
Внимание! Единственное ядро из p6, которое работоспособно в p7, это ядро std-def (на текущий момент 3.0.101-alt0.M60P.1). При необходимости сохранить 2.6.32-ovz-el следует установить его из p7 до или после общего обновления, но до первой перезагрузки. Другие ядра 2.6 из p6 в ветке p7 имеют, как минимум, неполную работоспособность.


Если используете репозитории Arepo,(в 64-битной системе), нужно явно переустановить все пакеты i586 и обновить libstdc++6:

apt-get reinstall $(rpmquery -a --qf '%{name}.32bit ' 'i586-*')
apt-get install libstdc++6 i586-libstdc++6

2. Если не установлена, установить обновлённую программу apt-repo

apt-get install apt-repo

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

apt-repo rm all
apt-repo add branch p7

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

Внимание! Так как обновление затрагивает и службу D-Bus, процесс обновления может вызвать падение Xorg. Поэтому указанные команды лучше вводить под правами root в консоли (Нажмите Ctrl+Alt+F2, введите root и пароль пользователя root).
Внимание! По причине обновления NetworkManager, может отключиться и WiFi-адаптер, который, по-умолчанию, настраивается через NM. Обновление лучше проводить, подключившись через адаптер, настроенный посредством etcnet (это может быть и WiFi, на самом деле).
apt-get update
apt-get dist-upgrade

Если на этом этапе (как и на аналогичном этапе при обновлении до p6), выявляются ошибки в зависимостях, заносим их в багзилу. Часто срабатывает приём - удаление проблемного пакета с помощью

rpm -e имя_пакета

С последующим его восстановлением

apt-get -f install

и повторением после этого

apt-get dist-upgrade

Другой вариант разрешения конфликтов - использование архивоного репозитария. На 26/10/2015 удалось обновить KDesktop 6 через архив от 01/05/2015:

rpm http://ftp.altlinux.org/pub/distributions/archive/p7/date/2014/05/01 x86_64 classic
rpm http://ftp.altlinux.org/pub/distributions/archive/p7/date/2014/05/01 noarch classic
rpm http://ftp.altlinux.org/pub/distributions/archive/p7/date/2014/05/01 x86_64-i586 classic

Всё равно пришлось удалить ряд пакетов (всё, что содержало MySQL и java), но разрулить конфикты оказалось значительно легче. Сразу после обновления, без перезагрузки, было сделано ещё одно обновление, до текущего p7 (libicu50 был установлен из архива).

Если не установлен libicu50

apt-get install libicu50
apt-get dist-upgrade

Дальше:

 update-kernel
 apt-get install firmware-linux

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

depmod -a

Обратите внимание: команда depmod -a является страховочной, т.к. соответствующие изменения в bootloader-utils могли не оказаться на системе на базе бранча t6/p6. Характерным признаком возможной проблемы является диагностика вроде «modprobe: ERROR: magic check fail».

5. На рабочих станциях желательно установить Systemd

(без него у вас не будет автомонтирования внешних устройств и не будет работать NetworkManager от обычного пользователя - см.Sysvinit, Regular/icewm)

Прочтите внимательно про Systemd.

apt-get install systemd-sysvinit
Перезагрузите компьютер.

6. Перезагрузитесь

Примечание: При смене SysVInit на Systemd машина при перезагрузке показывает приглашение к восстановлению (maintenance). Нажмите Enter и укажите пароль пользователя root. Затем наберите команду
reboot 
и нажмите Enter. Система будет перезагружена.


7. Включите автозапуск NetworkManager:

 systemctl enable NetworkManager

или по-старому

 chkconfig NetworkManager on

Если у вас компьютер работает в домене, или монтирует внешние устройства по сети, включите NetworkManager-wait-online:

 systemctl enable NetworkManager-wait-online
 (chkconfig NetworkManager on)

а для работы с модемами:

 systemctl enable ModemManager
 (chkconfig ModemManager on)

а затем сразу-же и включите их с помощью команды service, например:

 service NetworkManager start

Бывают случаи, когда старые пользовательские настройки NM не переносятся в конфиг нового формата. В этом случае помогает команда

 gconftool-2 -s --type int /apps/nm-applet/stamp 2

которая выполняется от пользователя: https://lists.altlinux.org/pipermail/community/2015-January/683403.html

Вероятно, захочется сделать NM доступным от пользователя без ввода пароля. Способ описан на странице с описанием Polkit, пример номер 3. Может быть, имеет смысл использовать не описанную в примере группу xgrp, а обычную привилегированную группу wheel.

Примечание: Если systemctl отвечает ошибкой, добавляйте к каждой команде определение .service :
 systemctl enable NetworkManager.service
 systemctl enable NetworkManager-wait-online.service
 systemctl enable ModemManager.service


8. С помощью команды

systemctl list-unit-files  | grep disable

смотрим какие ещё нужные службы были отключены в процессе перехода на systemd, и при необходимости, включаем их

chkconfig имя_службы on

или по-новому:

systemctl enable имя_службы.service

Для включения их в текущем сеансе, используем:

service имя_службы start

9. Для любителей графического интерфейса, можно (если не установлен), установить alterator-service, и настраивать запуск служб из него.

Размер обновлений

Название дистрибутива Размер скачиваемого обновления, МБ
Альт Линукс 6.0 Кентавр 1 682
Simply Linux 6.0 2 013
Альт Линукс 6.0 KDesktop 2 719

Возможные проблемы

1. Проприетарный драйвер ATI/AMD (fglrx) не совместим с xorg-server 1.14

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

Варианты решения:

  1. (рекомендуется) до обновления системы заменить драйвер на свободный (radeon), например при помощи alterator-x11
  2. отказаться от обновления системы в целом до выпуска фирмой AMD драйвера fglrx, совместимого с новым сервером xorg
  3. не обновлять графическую подсистему до выпуска нового драйвера fglrx (требует квалификации)

Заметим, что драйвер fglrx не устанавливается по умолчанию в дистрибутивах ALT Linux.

2. С сетевыми интерфейсами может случиться неразбериха

Интерфейсы ethX изменились на enpXsY [1]

Исправление:

apt-get install udev-rule-generator-net
Внимание! altbug #29280 altbug #29282


3. На виртуальных машинах VirtualBox с чипсетом PIIX3 может не запуститься

Исправление:

Сменить в свойствах виртуальной машины Система  ⇒ Чипсет: ICH9 (также нужно включить IO APIC в той же вкладке)

4. При обновлении может быть удалён пакет i586-wine-vanilla или i586-wine

Исправление:

apt-get install i586-wine-vanilla i586-libwine-vanilla-gl i586-libwine-vanilla-twain
или
apt-get install i586-wine i586-libwine-gl i586-libwine-twain

5. При обновлении Simply Linux устанавливаются обои XFCE по умолчанию (с мышкой)

Вернуть фирменные обои:

Выберите в контекстном меню рабочего стола «Настройка рабочего стола...» и выберите подходящие обои (фирменные обои по умолчанию называются slinux*).

6. При обновлении Simply Linux панель задач не расширяется до области уведомлений

Данное поведение вызвано изменениями в XFCE:

Нужно вручную поставить «Разделитель» между панелью задач и областью уведомлений (треем) и поставить галочку расширения.

7. Если не показываются значки в приложениях GNOME

Установите пакет gnome-icon-theme-symbolic

apt-get install gnome-icon-theme-symbolic

8. Если используются приложения GTK3

Для единообразного вида приложений GTK2 и GTK3 установите тему gtk3-theme-clearlooks-phenix:

apt-get install gtk3-theme-clearlooks-phenix

9. Обновление TDE (KDE3)

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

rm ~/.mcoprc

Точечные обновления пакетов из p7 на p6 (опасно!)

См. Точечные обновления пакетов из p7 на p6.


Демонстрационный материал

<swf>http://www.youtube.com/watch?v=n6lIH8D-Abw%7Cwidth=300%7Cheight=200</swf>

Обновление Simply Linux 6.0.1 (бранч p6) до бранча p7