Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Mandriva. Обновление системы

Часть 5. Переход к новой версии Mandriva. Попытка не удалась.

В.А.Костромин, 23 января 2009 г.

В предыдущих частях настоящей статьи мы рассмотрели вопрос об обновлении отдельных (или даже всех) пакетов текущей версии системы. Сейчас посмотрим, как провести переход на новую версию.

Переход к новой версии (например, от Mandriva Free 2008.0 к Mandriva Free 2008.1, или, тем более к Mandriva Free 2009), как уже упоминалось, невозможно осуществить теми приемами, которые рассмотрены в предыдущих разделах. Советы о том, как осуществить такой переход, я нашел на сайте Mandriva, на странице http://wiki.mandriva.com/ru/2009.0_Notes.

Как сказано в этом руководстве, обновление с версий старее, чем 2007 Spring, не поддерживается и не рекомендуется. В указанной справке приведены отдельные рекомендации по переходу с версий 2008 Spring и версий 2007 Spring или 2008. Поскольку у меня на всех имеющихся в распоряжении компьютерах стоят либо 2008.0, либо 2008.1, я приведу вначале сводку рекомендаций из http://wiki.mandriva.com/ru/2009.0_Notes по переходу с версии 2008 на 2009, а потом расскажу о собственном опыте.

Рекомендации разработчиков по переходу с версии 2008 на версию 2009

Основные замечания

Обновление между релизами Mandriva всегда может вызывать некоторые проблемы. Обновление поддерживается и мы проводим тестирование процесса модернизации, но из-за огромного диапазона пакетов и аппаратных конфигураций, возможно, что именно в вашей конкретной ситуации обновление может привести к возникновению проблем, которые мы не смогли учесть. Поэтому мы рекомендуем всегда делать резервную копию системы перед обновлением.

ВНИМАНИЕ! Если вы используете редакции Free или Powerpack для обновления с предыдущего релиза Mandriva Linux, KDE3, если он установлен, будет заменён на KDE4 и ваши персональные настройки KDE будут утеряны. Если вы не хотите чтобы это произошло, мы рекомендуем использовать возможность программы установки по добавлению Интернет-репозиториев для обновления или выполнить установку по сети. Также, можно использовать недавно представленную возможность Mandriva Online, апплета для уведомления пользователя об обновлениях, для выполнения обновления до следующего релиза (подробнее смотрите раздел обновление с 2008 Spring). При использовании любого из этих методов в процессе обновления будут использованы пакеты KDE 3, а обновлённая система Mandriva Linux 2009 по-прежнему будет использовать KDE 3, и все персональные настройки сохранятся.

Обновление с 2008 Spring

С оговорками, упомянутыми выше, можно сделать очередное обновление системы с помощью версий Free или PowerPack, и обновлённая система после этого должна нормально функционировать. Появился новый метод обновления: графическое обновление "на месте". Апплет уведомлений об обновлениях - Mandriva Online - проинформирует вас о новом релизе Mandriva Linux и спросит, хотите ли вы перейти на неё. Если вы согласитесь, то обновление будет осуществляться в рамках работающей системы, точно так же как и при регулярных обновлениях пакетов в системе. После перезагрузки вы получите работающую систему Mandriva 2009.

Имейте в виду что обновление не изменит ваш рабочий стол по умолчанию. Если вы использовали KDE 3, то KDE 4 не будет установлен автоматический. Вы сможете установить его после обновления, установив метапакет task-kde4.

Кроме того, можно выполнить такое обновление в текстовом режиме с помощью программы urpmi. Для этого, во-первых, убедитесь, что у вас установлены самые последние обновления для Spring 2008. Затем, удалите существующие источники либо с помощью графического инструмента настройки репозиториев либо командой urpmi.removemedia. Команда urpmi.removemedia -a удаляет все репозитории. Затем, вы должны добавить репозитории для 2009. Для этого можно воспользоваться веб-сайтом Easy URPMI для подключения иностранных репозиториев или веб-сайтом для подключения российских репозиториев Easy URPMI. Выберите в выпадающем списке "Версия" 2009.0 и нажмите кнопку "Добавить Официальные источники". Затем откройте полученный файл программой по умолчанию (urpmi).
Затем запустите следующую команду от имени суперпользователя (root):
[username@localhost ~]$ urpmi --auto --auto-select --replacefiles 2>&1

Вы можете увидеть сообщение об ошибке "неизвестная опция - replacefiles", когда впервые запустите на выполнение эту команду, но не беспокойтесь, всё нормально: программа urpmi в 2008 Spring не использовала этот параметр, но в urpmi для Mandriva Linux 2009 этот параметр нужен, команда будет выполнена, когда процесс urpmi возобновится после обновления пакета urpmi до версии 2009. Команда записывает журнал процесса обновления в файл upgrade.log на тот случай, если вам понадобится проверить журнал обновления при возникновении каких-либо проблем. После завершения процесса, вы должны немедленно перезагрузить систему, после чего система будет полностью обновлена до версии 2009.

Обновление с 2007 Spring или 2008

С упомянутыми выше оговорками можно выполнить очередное обновление системы с использованием редакций Free и Powerpack. Также можно произвести обновление в текстовом режиме с использованием программы urpmi. Для этого, во-первых, убедитесь, что в вашей системе установлены все последние обновления. Затем удалите все существующие репозитории из списка источников, либо через графический инструмент настройки репозиториев, либо с помощью команды urpmi.removemedia. Команда urpmi.removemedia -a удаляет все репозитории. После этого необходимо добавить репозитории для 2009. Вам потребуется адрес зеркала 2009. Просмотрите список доступных зеркал (или here для архитектуры x86-64). URL для каждого зеркала находится в конце каждой строки. Чтобы добавить репозиторий, выполните команду, подобную приведённой ниже:

urpmi.addmedia --distrib ''URL''

URL - это URL, который вы выбрали. Например, чтобы использовать зеркало с URL ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrakelinux/official/2009.0/i586, выполните команду:

urpmi.addmedia --distrib ftp://ftp.nluug.nl/pub/os/Linux/distr/Mandrakelinux/official/2009.0/i586

Затем выполните следующие команды с правами суперпользователя (root):

urpmi --auto --auto-select --replacefiles 2>&1 | tee upgrade.log

Возможно, вы столкнётесь с ошибкой "неизвестный параметр -replacefiles", когда запустите это в первый раз, но не беспокойтесь, это нормально: более старые версии программы urpmi не используют этот параметр, но urpmi в 2009 этот параметр используется, команда будет выполнена, когда процесс urpmi возобновится после обновления пакета до версии 2009. Команда запишет журнал процесса обновления в файл upgrade.log, на тот случай, если вам потребуется просмотреть журнал при возникновении каких-либо проблем. Сразу после завершения процесса необходимо немедленно перезагрузить систему, после чего система будет полностью обновлена до версии 2009.

Изменения в инструментах Mandriva

В Mandriva Linux 2009, по умолчанию, вы больше не сможете установить репозиторию статус "обновление". Большинству людей эта возможность не нужна, а как показывает опыт предыдущих релизов, некоторые пользователи допускают ошибки, устанавливая статус "обновление" для репозиториев, которые не являются источниками обновлений, например репозитории backports. В результате устанавливаются ненужные или непроверенные приложения, что в конце концов приводит к печальным результатам. Поэтому мы убрали возможность смены статуса.

Обновление системы на ноутбуке Compaq Evo N620c

Теперь опишу те действия, которые я выполнял на своих компьютерах. В качестве первого подопытного я выбрал ноутбук Compaq Evo N620c, поскольку на нем не было никакой ценной информации и стоял только Линукс (не было двойной загрузки).

Первым этапом, в соответствии с приведенными выше рекомендациями, я провел полное обновление текущей версии с помощью апплета Mandriva Online.

Теперь нужно разыскать подходящее зеркало версии 2009. Это достаточно просто сделать, если изучить логику формирования адресов источников в Центре управления Mandriva, окно "Настройка источников установки/обновлений". Если в этом окне щелкнуть по экранной кнопке "Изменить", вы увидите URL источников. В моей десктоп-системе эти адреса имеют такой вид:
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/main/release
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/main/updates
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/main/testing
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/main/backports
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/contrib/release
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/contrib/updates
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/contrib/testing
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/contrib/backports
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/non-free/release
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/non-free/updates
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/non-free/testing
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2008.1/i586/media/non-free/backports

Очевидно, что 2008.1 здесь - номер версии дистрибутива, i586 - архитектура процессора. Далее идет разбиение на три ветки - main, contrib и non-free.

Найти зеркало версии 2009 теперь не представляет труда: заходим браузером на страницу ftp://ftp.chg.ru/pub/Linux/Mandriva/official/ и смотрим, какие подкаталоги есть у текущего каталога. Эти подкаталоги соответствуют версиям Mandriva. Самой последней версией, выложенонй на этом зеркале, оказалась версия 2009.0. На нее и будем переходить. Архитектуру выбираем в зависимости от ЦП данного компьютера (в данном случае - i586). Далее, уберем из списка источников вариант testing, так как я не хочу экспериментировать с тестовыми версиями программ. В результате получаем следующий список источников:

ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/main/release
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/main/updates
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/main/backports
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/contrib/release
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/contrib/updates
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/contrib/backports
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/non-free/release
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/non-free/updates
ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586/media/non-free/backports

Первым этапом обновления я удалил все источники, присутвовашие в системе. Для Compaq Evo N620c список источников оказался чуть покороче, чем у десктопа. Открыв через Центр управления Mandriva окно "Настройка источников", я увидел следующую картину:


Рис.43.

После щелчка по кнопке "Удалить" появляется запрос подтверждения:


Рис.44.

Подтверждаю. После очистки списка попытался добавить источники из приведенного выше списка, так сказать, «правильным путем», щелкнув по экранной кнопке «Добавить» в окне Центра управления (см. рис. 43), однако оказалось, что таким способом можно добавить только источники, соответствующие моей версии дистрибутива, поскольку появляется стандартное окно, в котором нет возможности поменять адрес репозитория.


Рис.45.

Можно было бы поменять URL источников с помощью кнопки "Редактировать" в окне, изображенном на рис.43, но я решил, в соответствии с приведенными выше рекомендациями разработчиков, воспользоваться консольной командой
urpmi.addmedia --distrib ftp://ftp.chg.ru/pub/Linux/Mandriva/official/2009.0/i586


Рис.46.

Результат вы видите на рисунке 47:


Рис.47.

Список источников успешно обновлен. Теперь можно попробовать обновить систему уже проверенным методом с помощью апплета Mandriva Online. В контекстном меню апплета выбираею пункт "Обновить". Появляется следующее предупрждение:


Рис.48.

Признаюсь, что здесь я, не задумавшись, щелкнул по кнопке "ОК". Возможно, это стало одной из причин последующих затруднений (хотя утверждать это определенно, конечно, не могу). После этого появилось сообщение о том, что некоторые пакеты обновить будет невозможно:


Рис.49.

И, действительно, когда был выдан список пакетов, подлежащих обновлению, перечисленные пакеты не были отмечены:


Рис.50.

Я решил, что не беда, обновим то, что можно и щелкнул по кнопке "Обновить". Появилась дополнительная информация о том, что предполагается сделать:


Рис.51.

Перейдя к концу списка, я увидел следующее:


Рис.52.

Непонятно, почему должно освободиться пространство, но ладно, посмотрим по результатам. Щелкаю по кнопке "Да", и вскорости получаю следующее сообщение:


Рис.53.

Тогда я попробовал обновлять не все сразу, а по отдельным пакетам. С Firefox это получилось без проблем:


Рис.54.

Далее я попытался обновить еще какую-то группу пакетов, но снова появились сообщения об ошибках, в которых неоднократно упоминался пакет perl-base как необходимый для обновления заданных пакетов. Выбираю его для обновления, в нему в комплекте добавляется еще большая группа пакетов, но процесс обновления начинается без сообщений об ошибках.


Рис.55.

Проходит загрузка и самого пакета perl-base:


Рис.56.

Потом таки появляется одна ошибка:


Рис.57.

но я решаюсь продолжить установку. Программа проводит подготовку:


Рис.58.

и начинает устанавливать пакеты:


Рис.59.

Процесс завершается вроде бы успешно:


Рис.60.

Щелчок по кнопке "Изучение..." приводит к открытию следующего окна с информацией:


Рис.61.

Поскольку изменения, о которых сообщалось в этом окне, не показались мне слишком значительными (проще говоря, я не понял их значения и глубинного смысла), я решил выбрать вариант "Использовать rpmnew в качестве главного файла". На этом процесс завершился, рабочий стол и окно "Обновление системы" снова вернулись в нормальное состояние.

Поскольку в тот день было уже очень поздно, я выключил компьютер и лег спать. Результат своих действий, который я увидел на следующий день после загрузки системы, меня обескуражил. Система вообще отказалась загружаться в графическом режиме. Если точнее, то ситуация такова: загрузка начинается нормально, даже появляется сообщение о загрузке KDE 3.5, выдается запрос на ввод имени и пароля пользователя, но в этом окне работает только мышка, а клавиатура оказывается отключенной. Таким образом, я еще могу ввести имя пользователя, выбрав его мышкой из приведенного списка (благо и root, и kos в этом списке имеются), но ввести пароль нет никакой возможности.

К счастью, удалось загрузиться в безопасном режиме. Заменив в файле /etc/inittab пятерку на тройку и перезагрузив систему еще раз я смог выйти в консольный режим. Отсюда удалось запустить графику с помощью команды startx. Зпуститься-то графическая оболочка запустилась, и даже выдала окна эмулятора терминала konsole и Ksnapshot, однако на экране напрочь отсутствовала панель задач и главное меню. Через эмулятор терминала можно запустить и другие программы графического режима (например, мне удалось запустить FireFox), однако надо же знать нужные команды. Это еще хорошо, что в прошлом сеансе я не закрыл окно терминала и теперь оно отобразилось, иначе вообще непонятно, как можно было запускать программы (не переходя в "чистый" терминал). Впрочем, попытка запустить Центр управления Mandriva с помощью drakconf окончилась неудачей - было изображено что-то вроде начала запуска программы, запрошен пароль суперпользователя (который я, естественно, ввел), и на этом все закончилось.

Более успешной оказалась попытка запустить панель задач KDE. Правда, пришлось снова обратиться к своей книге и вспомнить, как же называется исполняемый файл этой самой панели (попытки угадать название и запустить, например, kpanel, оказались безуспешными). Книга подсказала, что программа называется kicker, каковой командой она и запустилась. Появилось и главное меню, но Центр управления по-прежнему не запускается, ни через меню, ни из командной строки.

Если Вы можете сказать, где я ошибся, что сделал неправильно или просто рассказать, как нужно проводить обновление Mandriva до версии 2009, напишите об этом на форуме сайта в соответствующей теме

В результате, я отчаялся и решил переустановить систему. Точнее, попытаться обновить систему с помощью установочного диска. Но использовать дистрибутивный диск версии 2008, а обновление провести до версии 2009.0. Не уверен, что получится, но чем черт не шутит. В следующей заметке расскажу о результатах.