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

Материал из ALT Linux Wiki
(Отмена правки 18859 участника GlebFotengauerMalinovskiy (обсуждение))
Нет описания правки
 
(не показаны 33 промежуточные версии 8 участников)
Строка 1: Строка 1:
Инструкция по обновлению до нового [[Branches|бранча]]. Общая инструкция по обновлению установленного дистрибутива: [[Обновление ОС]]. Перед обновлением закройте приложения, работающие с apt-get: apt-indicator, Synaptic и т.п.
Инструкция по обновлению до нового [[Branches|бранча]]. Общая инструкция по обновлению установленного дистрибутива: [[Обновление ОС]]. Перед обновлением закройте приложения, работающие с apt-get: apt-indicator, Synaptic и т.п.


{{Note|<big>'''[[Update/p7|Инструкция по обновлению с p6 на p7]] расположена на другой странице'''</big>}}
== Обновление с p5 на t6 ==
{{attention|При обновлении системы с p5 до t6 branch и наличии аппаратного RAID, для которого нужен модуль в initrd, воспроизводится следующий баг:  система обновляется, устанавливается новое ядро, генерируется initrd, но абсолютно стандартный, без необходимых модулей RAID и т.д. После перезагрузки вы получите '''нерабочую''' систему, в которую невозможно загрузиться. Причем со старым ядром тоже!  Причину этого выяснить пока не удалось, но проблема 100% воспроизводима. Временное решение такое: грузиться с Rescue Disk (например: http://www.sysresccd.org/Sysresccd-manual-en_How_to_install_SystemRescueCd_on_an_USB-stick), монтировать нужный / и /boot, туда же монтировать /proc, /dev и /sys из загруженного Rescue, делать chroot в систему и внутри уже заново запустить installkernel 2.6.x-flavour, после чего будет корректно перегенерирован initrd с нужными модулями. Отмонтируете все, перегружаетесь и получаете рабочую систему}}
''Примечание:'' нужен список модулей; с Intel SRCU31 (модуль gdth) проблем не было.
== Обновление с p5 на p6 ==
== Обновление с p5 на p6 ==


Строка 24: Строка 31:
и после исправления проблем повторите обновление.
и после исправления проблем повторите обновление.


=== Установите утилиты и измените источники ===
=== Установите утилиты ===


Утилита [[apt-repo]] позволяет гибко управлять источниками [[APT]], а [[update-kernel]] — обновить или сменить ядро и обновить или установить все необходимые для него модули. Для их установки выполните:
Утилита [[apt-repo]] позволяет гибко управлять источниками [[APT]], а [[update-kernel]] — обновить или сменить ядро и обновить или установить все необходимые для него модули. Для их установки выполните:


  apt-get install apt-repo update-kernel
  apt-get install apt-repo update-kernel
=== Обновление ядра в p5 ===
Если необходимо, обновите ядро: с некоторыми ядрами (например, 2.6.18), которые есть в p5, система, обновлённая до p6, не загрузится.
update-kernel -t std-def
''Примечание:'' Обновить ядро можно и после следующего пункта, уже из p6, но до обновления пакетной базы. Для этого надо обновить bootloader-utils не из репозитариев:
apt-get install http://fly.osdn.org.ua/~mike/RPM/RPMS/noarch/bootloader-utils-0.4.9-alt1.M51.1.noarch.rpm
Без дополнительных пакетов (с bootloader-utils от mike), на текущий момент, ставятся ядра ovz-el и el-smp (не забудьте прочитать пункт "Обновление ядра" ниже). Ядро std-def из p6 уже требует обновления некоторых других пакетов, до него обновляться до обновления пакетной базы не стоит.
=== Измените источники ===


Измените p5 на p6:
Измените p5 на p6:
Строка 41: Строка 61:
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch noarch classic</pre>
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch noarch classic</pre>


''Примечание:'' В примере использована 32-битная архитектура (i586). Для 64-битной архитектуры вместо i586 будет x86_64.
''Примечание:'' в примере использована 32-битная архитектура (i586). Для 64-битной архитектуры вместо i586 будет x86_64.
 
''Внимание:'' в связи с <del>{{altbug|24479}}</del> может иметь смысл перед обновлением временно удалить пакет {{pkg|etckeeper}}, если он установлен.


=== Обновление пакетной базы до p6 ===
=== Обновление пакетной базы до p6 ===
Строка 57: Строка 79:
  apt-get dist-upgrade
  apt-get dist-upgrade


''Примечание:'' При обновлении и установке пакетов может быть показана надпись:
''Примечание 1:'' При обновлении и установке пакетов может быть показана надпись:


  Do you want to continue? [Y/n]
  Do you want to continue? [Y/n]


Нажмите клавишу '''y''' и '''Enter''' или просто '''Enter'''.
Нажмите клавишу '''y''' и '''Enter''' или просто '''Enter'''.
''Примечание 2:'' apt-get, с некоторых пор, может работать через http-прокси. Можно добавить в /etc/apt/apt.conf что-то вроде
Acquire::http::Proxy "http://proxy.my.dom:3128/";
это особенно полезно, если прокси кэширующий (squid, например), а обновлять надо не один компьютер.
==== При проблемах ====
Во время обновления установки slinux-5.0.2-20101227-i586-ru-install-cd.iso по умолчанию до p6/branch по состоянию на конец осени 2012 года наблюдаются такие проблемы:
<pre>The following packages have unmet dependencies:
  libavutil51: Obsoletes: libavutil50 (< 1:0.8.4-alt0.M60P.1)
  libcairomm1: Obsoletes: libcairomm
  libpixman0: Obsoletes: libpixman
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by he
ld packages.</pre>
Точечное обновление усложняется несколькими необъявленными конфликтами (libcrypto10-1.0.0i-alt1 с libcrypto7-0.9.8p-alt0.M51.1, ppp-2.4.5-alt8 с udev_static-addon-0.2-alt3, libxfce4ui-4.8.1-alt0.M60P.1 с libxfcegui4-4.6.1-alt2) и сменой симлинк/каталог в Thunar; примерный рецепт:
<pre>rm -rf /usr/share/doc/Thunar
apt-get update
apt-get install libcairomm libcairomm1- libcairo libpixman libpixman0- \
mkinitrd libcrypto10 libcrypto7- cups libkrb5 libcom_err basesystem e2fsprogs \
openoffice.org gst-plugins-bad NetworkManager NetworkManager-gnome \
blueman xfwm4 gimp libavutil51 libavutil50- kino sox libxfcegui4- libxfce4ui \
udev_static-addon- ppp udev udev-rules udev-initramfs xfce4-panel
apt-get dist-upgrade</pre>


=== Размер обновления для дистрибутивов ===
=== Размер обновления для дистрибутивов ===


<div style='padding:6px;border:1px solid red;'>'''Внимание!''' Перед apt-get dist-upgrade убедитесь, что у вас достаточно дискового пространства для скачивания пакетов и установки. '''Понадобится около 2 ГБ'''!</div>
{{attention|Перед apt-get dist-upgrade убедитесь, что у вас достаточно дискового пространства для скачивания пакетов и установки. '''Понадобится около 2 ГБ'''!}}


Для освобождения места Вы можете:
Для освобождения места Вы можете:
Строка 88: Строка 135:
!Название дистрибутива
!Название дистрибутива
!Размер скачиваемого обновления, МБ
!Размер скачиваемого обновления, МБ
|-
|Альт Линукс 5.0.2 Школьный Мастер
|align="right"|2 949
|-
|-
|Альт Линукс 5.0.2 Школьный Юниор
|Альт Линукс 5.0.2 Школьный Юниор
|align="right"|1693
|align="right"|1 693
|-
|-
|Альт Линукс 5.0.2 Школьный Лёгкий
|Альт Линукс 5.0.2 Школьный Лёгкий
|align="right"|519
|align="right"|519
|-
|Альт Линукс 5.0.2 Школьный Новый Лёгкий
|align="right"|601
|}
|}
=== Если вы используете MySQL… ===
Для обновления баз данных в MySQL не забудьте при запущенной службе mysqld выполнить:
mysql_upgrade


=== Обновление ядра ===
=== Обновление ядра ===
{{attention|В новых ядрах старые модули IDE-контроллеров вынесены в отдельные пакеты kernel-modules-ide-... При этом, в ядрах ovz-el и el-smp их просто нет {{altbug|26230}}. Модули ide* можно заменить на модули pata, но initrd с ними надо создавать вручную, либо заранее дописать нужный список в {{path|/etc/initrd.mk}} <pre>(MODULES_ADD += ...)</pre> Так же, у некоторых ядер, в отдельные пакеты вынесены некоторые модули сетевых карт, которые ранее были в составе основного пакета, например, Intel e1000e. Проверяйте перед перезагрузкой наличие модулей дисковых контроллеров и сетевых карт, если обновляется удалённая система.}}


Ядро в ALT Linux вместе со всеми модулями обновляется командой update-kernel:
Ядро в ALT Linux вместе со всеми модулями обновляется командой update-kernel:
Строка 104: Строка 165:
  update-kernel
  update-kernel


'''Дистрибутивы для серверов''':
'''Дистрибутивы для серверов (только если у вас используется OpenVZ)''':


  update-kernel -t ovz-el
  update-kernel -t ovz-el
apt-get install kernel-modules-e1000e-ovz-el
{{attention|В ядро ovz-el не включен драйвер {{pkg|e1000e.ko}}, поэтому необходимо доустановить пакет с модулем.}}
'''Дистрибутивы для серверов (не используется OpenVZ)''':
update-kernel -t el-smp


При показе запроса на обновление нажмите клавишу '''y''' и '''Enter''' или просто '''Enter'''.
При показе запроса на обновление нажмите клавишу '''y''' и '''Enter''' или просто '''Enter'''.
В серверных дистрибутивах после установки удалите пакет publish-acc-to-console:
apt-get remove publish-acc-to-console


=== Обновление нескольких компьютеров ===
=== Обновление нескольких компьютеров ===
Строка 120: Строка 192:
  rpm -Uvh *.rpm
  rpm -Uvh *.rpm


=== Перезагрузите систему ===
=== Перезагрузка ===


Перезагрузите систему с новым ядром и новой пакетной базой.
Перезагрузите систему с новым ядром и новой пакетной базой.


''Примечание'': Можно не менять сразу ядро по-умолчанию, а использовать
lilo -R <new label>
это позволит вернуть старое ядро простым нажатием "reset".
== Использование сервера на Пятой платформе ==
Если вы используете сервер на Пятой платформе (5.0 Ковчег или 5.0.2 Школьный Сервер) для аутентификации клиентов на Шестой платформе, то необходимо изменить протокол работы сервера LDAP по сети. По умолчанию на Пятой платформе сервер LDAP работает и локально и по сети по незащищённому протоколу ldap://. Клиенты на Шестой платформе (например, обновлённые до p6 или из комплекта [[Информика 6.0 Школьный]] требуют доступ по защищённому протоколу ldaps://.
1. Откройте файл {{path|/etc/sysconfig/ldap}} на сервере. Измените строку <source lang="Ini">SLAPDURLLIST="'ldap:///'"</source>
на следующую схему:
а) если планируется использовать сервер только для клиентов на Шестой платформе и более поздних:
<source lang="Ini">SLAPDURLLIST="'ldap://localhost/ ldaps:///'"</source>
б) если планируется использовать сервер одновременно только для клиентов на Пятой и на Шестой платформах:
<source lang="Ini">SLAPDURLLIST="'ldap:/// ldaps:///'"</source>
2. Добавьте в конец файла {{path|/etc/openldap/slapd.conf}} строки с сертификтом и ключом сервера LDAP:
TLSCACertificateFile /var/lib/ssl/certs/slapd.pem
TLSCertificateFile /var/lib/ssl/certs/slapd.pem
TLSCertificateKeyFile /var/lib/ssl/private/slapd.key
3. После изменений перезапустите службу slapd:
service slapd restart


{{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]]
[[Категория:Upgrade]]
[[Категория:FAQ]]
{{Category navigation|title=Обновление|category=Upgrade|sortkey={{SUBPAGENAME}}}}

Текущая версия от 18:25, 2 июля 2015

Инструкция по обновлению до нового бранча. Общая инструкция по обновлению установленного дистрибутива: Обновление ОС. Перед обновлением закройте приложения, работающие с apt-get: apt-indicator, Synaptic и т.п.

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


Обновление с p5 на t6

Внимание! При обновлении системы с p5 до t6 branch и наличии аппаратного RAID, для которого нужен модуль в initrd, воспроизводится следующий баг: система обновляется, устанавливается новое ядро, генерируется initrd, но абсолютно стандартный, без необходимых модулей RAID и т.д. После перезагрузки вы получите нерабочую систему, в которую невозможно загрузиться. Причем со старым ядром тоже! Причину этого выяснить пока не удалось, но проблема 100% воспроизводима. Временное решение такое: грузиться с Rescue Disk (например: http://www.sysresccd.org/Sysresccd-manual-en_How_to_install_SystemRescueCd_on_an_USB-stick), монтировать нужный / и /boot, туда же монтировать /proc, /dev и /sys из загруженного Rescue, делать chroot в систему и внутри уже заново запустить installkernel 2.6.x-flavour, после чего будет корректно перегенерирован initrd с нужными модулями. Отмонтируете все, перегружаетесь и получаете рабочую систему


Примечание: нужен список модулей; с Intel SRCU31 (модуль gdth) проблем не было.

Обновление с p5 на p6

Обновите систему до последней версии.

Для этого у вас должны быть подключены репозитории p5. Если ещё не сделано, под правами пользователя root раскомментируйте (уберите в начале строки символ «#») указанные по ссылке строки для своей архитектуры в файле /etc/apt/sources.list.d/alt.list.

Выполните под правами root в командной строке:

apt-get update
apt-get dist-upgrade

Примечание: При обновлении и установке пакетов может быть показана надпись:

Do you want to continue? [Y/n]

Нажмите клавишу y и Enter или просто Enter.

Дождитесь обновления. При возникновении проблем обновления до последней версии p5 запустите

apt-get -f install

и после исправления проблем повторите обновление.

Установите утилиты

Утилита apt-repo позволяет гибко управлять источниками APT, а update-kernel — обновить или сменить ядро и обновить или установить все необходимые для него модули. Для их установки выполните:

apt-get install apt-repo update-kernel

Обновление ядра в p5

Если необходимо, обновите ядро: с некоторыми ядрами (например, 2.6.18), которые есть в p5, система, обновлённая до p6, не загрузится.

update-kernel -t std-def 

Примечание: Обновить ядро можно и после следующего пункта, уже из p6, но до обновления пакетной базы. Для этого надо обновить bootloader-utils не из репозитариев:

apt-get install http://fly.osdn.org.ua/~mike/RPM/RPMS/noarch/bootloader-utils-0.4.9-alt1.M51.1.noarch.rpm

Без дополнительных пакетов (с bootloader-utils от mike), на текущий момент, ставятся ядра ovz-el и el-smp (не забудьте прочитать пункт "Обновление ядра" ниже). Ядро std-def из p6 уже требует обновления некоторых других пакетов, до него обновляться до обновления пакетной базы не стоит.

Измените источники

Измените p5 на p6:

apt-repo rm branch p5
apt-repo add branch p6

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

[root@cas ~]# apt-repo
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch i586 classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch noarch classic

Примечание: в примере использована 32-битная архитектура (i586). Для 64-битной архитектуры вместо i586 будет x86_64.

Внимание: в связи с altbug #24479 может иметь смысл перед обновлением временно удалить пакет etckeeper, если он установлен.

Обновление пакетной базы до p6

Так как в p6 стало гораздо больше пакетов, при выполнении обычного обновления (apt-get update) появится ошибка вида Apt/TroubleShooting:

E: Dynamic MMap ran out of room

Для исправления потребуется один раз увеличить лимит при обновлении информации о пакетах:

apt-get -o APT::Cache-Limit=$(( 512 * 1024 * 1024 )) update

После этого запускайте ещё раз

apt-get dist-upgrade

Примечание 1: При обновлении и установке пакетов может быть показана надпись:

Do you want to continue? [Y/n]

Нажмите клавишу y и Enter или просто Enter.

Примечание 2: apt-get, с некоторых пор, может работать через http-прокси. Можно добавить в /etc/apt/apt.conf что-то вроде

Acquire::http::Proxy "http://proxy.my.dom:3128/";

это особенно полезно, если прокси кэширующий (squid, например), а обновлять надо не один компьютер.

При проблемах

Во время обновления установки slinux-5.0.2-20101227-i586-ru-install-cd.iso по умолчанию до p6/branch по состоянию на конец осени 2012 года наблюдаются такие проблемы:

The following packages have unmet dependencies:
  libavutil51: Obsoletes: libavutil50 (< 1:0.8.4-alt0.M60P.1)
  libcairomm1: Obsoletes: libcairomm
  libpixman0: Obsoletes: libpixman
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by he
ld packages.

Точечное обновление усложняется несколькими необъявленными конфликтами (libcrypto10-1.0.0i-alt1 с libcrypto7-0.9.8p-alt0.M51.1, ppp-2.4.5-alt8 с udev_static-addon-0.2-alt3, libxfce4ui-4.8.1-alt0.M60P.1 с libxfcegui4-4.6.1-alt2) и сменой симлинк/каталог в Thunar; примерный рецепт:

rm -rf /usr/share/doc/Thunar
apt-get update
apt-get install libcairomm libcairomm1- libcairo libpixman libpixman0- \
mkinitrd libcrypto10 libcrypto7- cups libkrb5 libcom_err basesystem e2fsprogs \
openoffice.org gst-plugins-bad NetworkManager NetworkManager-gnome \
blueman xfwm4 gimp libavutil51 libavutil50- kino sox libxfcegui4- libxfce4ui \
udev_static-addon- ppp udev udev-rules udev-initramfs xfce4-panel
apt-get dist-upgrade

Размер обновления для дистрибутивов

Внимание! Перед apt-get dist-upgrade убедитесь, что у вас достаточно дискового пространства для скачивания пакетов и установки. Понадобится около 2 ГБ!


Для освобождения места Вы можете:

  • Почистить кэш скачанных ранее пакетов:
apt-get clean
  • Удалить самые большие пакеты:
apt-get remove clipart-openclipart

(эта команда очищает 1,2 ГБ места на жёстком диске)

Список самых больших пакетов можно посмотреть командой:

rpm -qa --qf '%{size}\t%{name}\n' | sort -n

(первый столбец — размер в байтах. Самые большие пакеты находятся в конце списка).

Название дистрибутива Размер скачиваемого обновления, МБ
Альт Линукс 5.0.2 Школьный Мастер 2 949
Альт Линукс 5.0.2 Школьный Юниор 1 693
Альт Линукс 5.0.2 Школьный Лёгкий 519
Альт Линукс 5.0.2 Школьный Новый Лёгкий 601

Если вы используете MySQL…

Для обновления баз данных в MySQL не забудьте при запущенной службе mysqld выполнить:

mysql_upgrade

Обновление ядра

Внимание! В новых ядрах старые модули IDE-контроллеров вынесены в отдельные пакеты kernel-modules-ide-... При этом, в ядрах ovz-el и el-smp их просто нет altbug #26230. Модули ide* можно заменить на модули pata, но initrd с ними надо создавать вручную, либо заранее дописать нужный список в /etc/initrd.mk
(MODULES_ADD += ...)
Так же, у некоторых ядер, в отдельные пакеты вынесены некоторые модули сетевых карт, которые ранее были в составе основного пакета, например, Intel e1000e. Проверяйте перед перезагрузкой наличие модулей дисковых контроллеров и сетевых карт, если обновляется удалённая система.


Ядро в ALT Linux вместе со всеми модулями обновляется командой update-kernel:

Дистрибутивы для рабочих станций:

update-kernel

Дистрибутивы для серверов (только если у вас используется OpenVZ):

update-kernel -t ovz-el
apt-get install kernel-modules-e1000e-ovz-el
Внимание! В ядро ovz-el не включен драйвер e1000e.ko, поэтому необходимо доустановить пакет с модулем.


Дистрибутивы для серверов (не используется OpenVZ):

update-kernel -t el-smp

При показе запроса на обновление нажмите клавишу y и Enter или просто Enter.

В серверных дистрибутивах после установки удалите пакет publish-acc-to-console:

apt-get remove publish-acc-to-console

Обновление нескольких компьютеров

Если скачанные пакеты не понадобятся, очистите кэш скачанных ранее пакетов:

apt-get clean

Если необходимо обновить несколько компьютеров, скопируйте все файлы

/var/cache/apt/archives/*.rpm

и установите командой на всех компьютерах:

rpm -Uvh *.rpm

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

Перезагрузите систему с новым ядром и новой пакетной базой.

Примечание: Можно не менять сразу ядро по-умолчанию, а использовать

lilo -R <new label>

это позволит вернуть старое ядро простым нажатием "reset".

Использование сервера на Пятой платформе

Если вы используете сервер на Пятой платформе (5.0 Ковчег или 5.0.2 Школьный Сервер) для аутентификации клиентов на Шестой платформе, то необходимо изменить протокол работы сервера LDAP по сети. По умолчанию на Пятой платформе сервер LDAP работает и локально и по сети по незащищённому протоколу ldap://. Клиенты на Шестой платформе (например, обновлённые до p6 или из комплекта Информика 6.0 Школьный требуют доступ по защищённому протоколу ldaps://.

1. Откройте файл /etc/sysconfig/ldap на сервере. Измените строку

SLAPDURLLIST="'ldap:///'"

на следующую схему:

а) если планируется использовать сервер только для клиентов на Шестой платформе и более поздних:

SLAPDURLLIST="'ldap://localhost/ ldaps:///'"

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

SLAPDURLLIST="'ldap:/// ldaps:///'"

2. Добавьте в конец файла /etc/openldap/slapd.conf строки с сертификтом и ключом сервера LDAP:

TLSCACertificateFile /var/lib/ssl/certs/slapd.pem
TLSCertificateFile /var/lib/ssl/certs/slapd.pem
TLSCertificateKeyFile /var/lib/ssl/private/slapd.key

3. После изменений перезапустите службу slapd:

service slapd restart