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

Материал из ALT Linux Wiki
м (→‎При проблемах: исправление опечатки)
Нет описания правки
 
(не показаны 2 промежуточные версии 2 участников)
Строка 223: Строка 223:
{{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}}}}

Текущая версия от 15: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