Обновление с Mandriva 2010 на Mandriva/ROSA 2011
Материал из Mandriva Russian Community Wiki
Внимание!
Никаких гарантий, что процесс обновления пройдёт успешно, данная инструкция не даёт.
Прилагаемая ниже инструкция стопроцентно неработоспособна, в процессе её дословного выполнения вы получите _действительно_ убитую систему, за восстановление которой мало кто возьмётся. Подробное обсуждение ЗДЕСЬ.
ДОПОЛНЕНИЕ: рабочий скрипт, решающий задачу обновления (в отличие от нижеприведённой инструкции). Используйте на свой страх и риск. Запускается от рута, в случае остановки работы требуется перезапуск скрипта до полной победы.
http://kenobi.mandriva.com/~abarakin/mdv-2010-2011.sh
Предварительные действия
Прежде чем планировать миграцию на новый релиз Mandriva/ROSA 2011, необходимо выполнить штатное обновление системы, установив все необходимые апдейты. Это можно сделать командой:
[root@localhost ~]# urpmi --auto-update
Для этого можно также воспользоваться штатным апплетом обновления:
Перед обновлением в обязательном порядке требуется прочесть официальные заметки по релизу, в которых приведена полезная информация о том, что изменилось в новом релизе и что нового там можно ждать. Внимательное чтение Release Notes способно уберечь от множества возможных проблем :).
Далее необходимо убедиться в наличии достаточного количества свободного места на жестком диске. Все пакеты в процессе миграции будут скачиваться в каталог /var/cache/urpmi. Общий объем скачиваемых пакетов зависит от количества установленного в вашей системе ПО, и urpmi его показывает перед началом скачивания пакетов. Обычно эта величина составляет от 4 до 7 Гб. Если в вашей файловой системе /var - недостаточно места, то это не страшно. У urpmi имеется возможность указать альтернативный путь для размещения необходимых для обновления пакетов (см. ниже).
Обновление
Итак, если предыдущие шаги успешно пройдены, самое время начать процесс миграции. К сожалению, ввиду множества изменений в Mandriva/ROSA 2011, миграция со старых версий невозможно выполнить посредством графических утилит. Поэтому далее приводится набор команд, позволяющих сделать это посредством командной строки. Сейчас самое время открыть терминал и открыть в нем консоль администратора системы. Сделать это можно или просто запустив Konsole (или ваш другой любимый эмулятор терминала) через меню KDE, либо выбрав пункт «Открыть консоль администратора/Open a console as a administrator» в утилите «Настройка компьютера/Configure Your Computer»:
Первое, что нужно сделать, - удалить информацию о старых репозиториях. Делается это командой:
[root@localhost ~]# urpmi.removemedia -a
Затем добавляем в urpmi репозиторий того релиза, на который мы хотим обновиться (в примере приводится обновление с зеркала Yandex - вы можете выбрать свое собственное и любимое). Итак, команда для 32-битных систем:
[root@localhost ~]# urpmi.addmedia --distrib --mirrorlist http://mirror.yandex.ru/mandriva/official/2011/i586
Для 64-битных систем:
[root@localhost ~]# urpmi.addmedia --distrib --mirrorlist http://mirror.yandex.ru/mandriva/official/2011/x86_64/
ВНИМАНИЕ! Приведенная команда вводится в одну строку!
Введенная команда добавит все репозитории нового релиза. Затем выполняем обновление системы на новый релиз:
[root@localhost ~]# urpmi --wget --download-all --auto-update
Опция --wget заставляет urpmi использовать wget для скачивания пакетов. По умолчанию для этого используется aria2, которая не всегда и не во всех случаях корректно работает. При использовании опции --download-all urpmi сначала выкачивает все пакеты и только потом начинает их устанавливать. Это настоятельно рекомендуемая опция для миграции на новый релиз с помощью urpmi, потому что для надежности обновления необходимо выкачать и обновить огромное количество пакетов. Если не использовать эту опцию и в процессе обновления возникнут проблемы с интернет-соединением, то может сложиться- ситуация, когда будет обновлена только часть системы, вследствие чего возможны проблемы с ее корректной работой.
Если есть желание только скачать обновления и не устанавливать их (допустим, чтобы обновить систему позднее), необходимо добавить опцию --no-install.
При запуске обновления - первое, что сделает urpm, - это обновление самого себя со всеми зависимостями и стеком управления пакетами (perl-пакеты и новая версия rpm). В Mandriva/ROSA версии 2011 была выполнена миграция на утилиту управления пакетами rpm5. По завершении установки новых средств управления пакетами будет выполнена автоматическая конвертация базы данных rpm в новый формат.
Если все прошло удачно - urpmi перезапустится и предложит обновить все остальные пакеты. При этом будет задан ряд вопросов по тем пакетам, с разрешением зависимостей которых urpmi испытывает трудности, например, название пакета с последним ядром, версия Java-машины (OpenJDK или Sun Java). Выведется информация о том, что часть пакетов будет удалена (это нормально для обновления с одного релиза дистрибутива на другой). Если согласиться с urpmi и продолжить обновление системы, на экране появится список пакетов, нуждающихся в обновлении, их общее число и то количество дискового пространства, которое будет необходимо для их скачивания. Следует еще раз убедиться в наличии такого объема свободного места в /var/cache/urpmi. Если в файловой системе /var места недостаточно, то можно использовать любой другой каталог файловой системы для хранения скачиваемых пакетов. Делается это следующей командой:
[root@localhost ~]# urpmi --wget --auto-update --download-all /path/to/download/folder
Если в процессе скачивания пакетов возникли какие-то ошибки, связанные с плохим интернет-соединением, перезапустить процесс обновления возможно командой:
[root@localhost ~]# urpmi --wget --auto --auto-select
Последняя операция (закачка пакетов и их последующая установка) займет продолжительное время, поэтому остается только скрестить пальцы на удачу - и ждать, ждать, ждать...
По завершении установки пакетов нужно перезагрузить систему, и если все прошло успешно - появится экран K Display Manager с новым оформлением. Нужно выбрать свой аккаунт и зайти в систему. Поздравляем! Вы обновились до Mandriva 2011!
Известные проблемы после обновления
После обновления системы были обнаружены следующие проблемы:
- Не устанавливается systemd и его зависимости, система по-прежнему использует sysvinit для загрузки.
Решение: установить через urpmi (или drakrpm) пакеты systemd и systemd-sysvinit.
- Используется старый апплет управления сетью вместо NetworkManager.
Решение (если есть желание использовать NetworkManager):
- установить пакет plasma-applet-networkmanagement
- в файле /etc/sysconfig/network-scripts/ifcfg-<имя_интерфейса> (например, ifcfg-eth0) добавить строку NM_CONTROLLED=yes. Это нужно сделать для всех интерфейсов, отдаваемых под контроль NetworkManager. Или можно сделать тоже самое с помощью графических утилит:
- Запустить «Настройка компьютера/Configure Your Computer», выбрать там модуль управления сетью («Сеть и Интернет/Network & Internet»), далее модуль настроек сетевых параметров («Сетевой Центр/Network Center»)
- Нажать кнопку «Настройка/Configure» для выбранного сетевого интерфейса и в появившемся окне установить галку напротив «Разрешить контроль интерфейса с NetworkManager/Allow interface to be controlled by NetworkManager»
- добавить в автозапуск NetworkManager командой systemctl enable networkmanager.service . Для ноутбуков безопасно отключить через systemd традиционные модули управления сетью (это еще ускорит загрузку):
systemctl disable network.service && systemctl disable network-up.service.
Это можно также сделать с помощью графических утилит:
- В «Настройка компьютера/Configure Your Computer» на закладке «Система/System» необходимо выбрать модуль «Включение и отключение системных сервисов/Manage system services by enabling or disabling them»
- Затем надо поставить галку напротив «При загрузке/On boot» напротив «networkmanager» и (при желании) снять напротив «network» и «network-up»
- доустановить необходимые модули networkmanager для работы с VPN, PPTP и т. д.
- добавить на панель виджет «Network Management/Управление сетью» через стандартный диалог добавления виджетов KDE:
- для корректной установки имени хоста (при использовании systemd) в файле /etc/hostname указать нужное имя машины:
[root@localhost ~]# cat /etc/hostname myprettynewhostname
- удалить пакет drakx-net-applet.
- Не устанавливаются пакеты rosa-icons, rosa-elementary-theme, qgtklstylealt. Решение - поставить данные пакеты и настроить оформление с помощью модуля KDE «System Setiings/Настройка компьютера».


