From Fedora Project Wiki

Revision as of 13:12, 21 November 2009 by Kruvalig (talk | contribs) (Можно обновиться с 11 до 12 проверено.)

This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.

Эта страница содержит инструкцию по обновлению Fedora с помощью yum.

Несмотря на то что обновление с помощью yum было протестировано и работает, live обновление не рекомендовано проектом Fedora. Если вы не готовы решать возникающие проблемы, если что то пойдёт не так, тогда вам лучше использовать рекомендованный метод повторной установки.

Рекомендованный метод установки с помощью загрузочного носителя с установщиком Anaconda описан в Инструкции по установке EN. PreUpgrade является другим способом при котором все пакеты загружаются прежде чем система перезагрузится для запуска установщика Anaconda.

При обновлении с помощью yum вы не получите никакой помощи от программы установки Anaconda, но, при удачном стечении обстоятельств, сможете обновить систему удалённо, через ssh, с ограниченным временем простоя системы. (Хотя, по-прежнему, потребуется перезагрузка системы, что бы загрузилось новое ядро, а также системные библиотеки/сервисы) Перезагрузка после такого обновления всегда очень волнующая.

Live обновление с помощью yum обычно работает на стандартных установках Fedora при применении нижеследующих советов.

Ваше участие

Если при обновлении с помощью Yum обнаруживается какая либо проблема с зависимостями пакетов, пожалуйста отправьте отчет об этом в http://bugzilla.redhat.com. Но, пожалуйста, сначала прочитайте данную страницу и все страницы на которые мы ссылаемся, также просмотрите архив списка рассылки, прежде чем заполнять отчет об ошибке. Конечно, пожалуйста, помогите сохранить данную страницу в актуальном состоянии.

Если вы хотите помочь сделать процесс live обновления более простым, присоединяйтесь к SIGs/LiveUpgrade группе по интересам "Live Upgrade" ("Live обновление").

Инструкции по обновлению с помощью yum

0. Выполните резервное копирование

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

1. Прочитайте о возможных проблемах

Ниже приведен список основных проблем специфичных для каждой версии. Некоторые из них требуют внимания прежде чем приступить к обновлению.

Общие советы по обновлению Fedora можно найти на странице Upgrading. Необходимо прочитать Руководство по установке и Замечания к выпуску для версии до которой вы обновляетесь - здесь может содержаться важная информация о возможных проблемах при обновлении. Наконец, просмотрите список Common F41 bugs.

2. Приготовления

Просмотрите и удалите все файлы .rpmsave и .rpmnew прежде чем приступить к обновлению. (И, если selinux активирован, проверьте его настройки)

Отыщите неиспользуемые конфигурационные файлы
Объедините и решите изменения с помощью следующего скрипта: for a in $(find /etc /var -name '*.rpm?*'); do diff -u $a ${a%.rpm?*}; done.

Теперь необходимо удалить пакеты которые вы не используете - особенно, если это нестандартные пакеты.

Отыщите и просмотрите "неиспользуемые" пакеты
Вы можете найти пакеты которые не нужны другим пакетам с помощью инструмента package-cleanup из пакета yum-utils: yum install yum-utils; package-cleanup --leaves. Вы можете решить, что эти пакеты являются кандидатами на удаление, но необходимо проверить, что эти пакеты не используются лично вами и что они не используются приложениями установленными без помощи rpm. Если такого нет, то удалите их с помощью yum remove имя-пакета-и-его-версия.
Отыщите и просмотрите "потерянные" пакеты
Вы можете найти устаревшие пакеты (например, пакеты, которые больше не располагаются в репозитариях) с помощью: package-cleanup --orphans. Эта команда отобразит пакеты, которые были частично удалены, но для которых выполнение "%postun" скрипта окончилось неудачей.

Убедитесь, что пакет yum-fastestmirror был установлен, для того что бы использовать самое быстрое зеркало для скачки пакетов.

yum install yum-fastestmirror

Затем удалите все следы текущей версии оставшиеся в кэше /var/cache/yum.

yum clean all

3. Переключение репозитариев

Обновите пакеты которые должен использовать yum.

rpm -Uhv ftp://download.fedora.redhat.com/pub/fedora/linux/releases/<ReleaseNumber>/Fedora/<Arch>/os/Packages/fedora-release-*.noarch.rpm

(Архитектура не имеет значения для пакета noarch .)

Note: Некоторые пользователи говорят, что при попытке скачать эти файлы с помощью rpm получают ответ 550 и сообщение "transfer failed". Если вы столкнулись с этим, вы можете загрузить rpms файл и установить его вручную, например, следующим образом:

wget ftp://download.fedora.redhat.com/pub/fedora/linux/releases/<ReleaseNumber>/Fedora/<Arch>/os/Packages/fedora-release-*.noarch.rpm
rpm -Uvh fedora-release-*.noarch.rpm

Убедитесь, что новые repo файлы не расположены в файлах .rpmnew, например, с помощью

mv /etc/yum.repos.d/fedora-updates.repo.rpmnew /etc/yum.repos.d/fedora-updates.repo
mv /etc/yum.repos.d/fedora.repo.rpmnew /etc/yum.repos.d/fedora.repo

Если вы используете репозитарии третьесторонних производителей, может потребоваться их настройка для новой версии Fedora. Если же вы обновляетесь с одного выпуска Fedora к другому, в большинстве случаев ничего делать не придётся. If you switch to Rawhide from a standard Fedora release (or vice versa) then you most of the time need to install the Rawhide release RPMs from the 3rd party repository as well (or the standard ones, if switching back).

Отметим, что обновление может окончиться неудачей если установлены устаревшие зависимые пакеты, которые не существуют в репозитарии.

4. Выполните обновление

Если используется selinux удостоверьтесь, что он в режиме permissive, а не в disabled или enforcing.

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

ctrl + alt + F2

войдите в систему и перейдите в runlevel 3

telinit 3
Если live обновление началось не завершайте обновление вручную и не перезагружайте систему, не убивайте процесс и никаким другим образом не останавливайте его до его завершения. Выполнение этого приведёт систему в смешанное состояние. Частично система будет состоять из пакетов предыдущего выпуск, частично из пакетов нового. В таком состоянии система не будет надежно работать как от неё ожидается. Если такое произойдёт, возможно будет переустановить систему с помощью Anaconda.
Сначала обновите важные пакеты
Начинать обновление следует с обновления инструментов обновления, для этого выполните yum update rpm\* yum\*. Или можно начать обновление с обновления glibc. В обоих случаях по зависимостям будет произведено почти полное обновление. И выполнение полного обновления может быть более безопасным. YMMV. (Напрмер, не выполнейте обновление rpm и yum отдельно обновляемая система использует другую версию python например не 2.4 а 2.5.)

Обновите все пакеты с помощью

yum upgrade

Вывод yum может содержать информацию о конфликтах и требованиях. Это вполне возможно, потому что вы можете использовать нестандартные репозитарии или устанавливать не стандарные пакеты вручную. Попробуйте выяснить какие пакеты приводят к данной проблеме (или являются последними в цепочке зависимостей, цепочке вызвавшей ошибку) - удалите их и попробуйте снова. Не забудьте установить их снова если эти пакеты очень важны.

Помните что все (новые) важнейшие пакеты из новой версии ОС устанавливаются с помощью

yum groupupdate Base

Возможно понадобится обновить другие группы пакетов, просмотрите их с помощью

yum grouplist

Например

yum groupupdate "GNOME Desktop Environment" \
"Development Tools" "Server Configuration Tools" \
"Hardware Support" "Sound and Video" \
"Graphical Internet" "Fonts" \
"Games and Entertainment" "Printing Software" \
"Administration Tools" "Office/Productivity" "System Tools"

5. Подготовка к перезагрузке

Прежде чем перезагрузить систему, необходимо установить загрузчик grub с помощью команды

/sbin/grub-install BOOTDEVICE

- здесь BOOTDEVICE обычно является /dev/sda (Если вы получите сообщение об ошибке '/dev/sda does not have any corresponding BIOS drive' в результате выполнения этой команды, попробуйте выполнить /sbin/grub-install --recheck /dev/sda.)

Кроме того, необходимо изменить скрипты инициализации, которые изменились с предыдущей версии. Выполните команду:

cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done

Снова выполните package-cleanup --orphans что бы отыскать пакеты которые не были обновлены.