From Fedora Project Wiki
(Приготовления обновления)
(Можно обновиться с 11 до 12 проверено.)
Line 76: Line 76:
mv /etc/yum.repos.d/fedora.repo.rpmnew /etc/yum.repos.d/fedora.repo
mv /etc/yum.repos.d/fedora.repo.rpmnew /etc/yum.repos.d/fedora.repo
</pre>
</pre>
<!--
If you have 3rd party repositories configured, you may need to adjust them for the new Fedora version. If you switch from one Fedora release to another there is often nothing that needs to be done.  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).


Note that the upgrade is likely to fail if there are outdated dependencies from packages not backed by a yum repository or backed by a repository which isn't ready for the new version.
Если вы используете репозитарии третьесторонних производителей, может потребоваться их настройка для новой версии 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. Do the upgrade ===
=== 4. Выполните обновление ===


If using selinux make sure it is in permissive mode - neither disabled nor enforcing.
Если используется selinux удостоверьтесь, что он в режиме permissive, а не в disabled или enforcing.


It is a good idea to do the upgrade outside the graphical environment. Log out of your graphical desktop and then go to a text console
Правильным будет обновлять ОС из консоли, а не из графической среды. Поэтому завершите работу в используемой графической среде и выполните в консоли


<pre>
<pre>
Line 91: Line 91:
</pre>
</pre>


log in as root, and go into runlevel 3
войдите в систему и перейдите в runlevel 3


<pre>
<pre>
Line 97: Line 97:
</pre>
</pre>


{{admon/warning|Once a live upgrade is started do not stop the upgrade by rebooting, killing the process, or by any other method until it is complete, doing so will cause the affected system to be in a mixed state. Partially the old release and partially the new release. In this state the system will not be reliable and will not operate as expected.  The only way to recover from this is to reinstall if it occurs.}}
{{admon/warning|Если live обновление началось не завершайте обновление вручную и не перезагружайте систему, не убивайте процесс и никаким другим образом не останавливайте его до его завершения. Выполнение этого приведёт систему в смешанное состояние. Частично система будет состоять из пакетов предыдущего выпуск, частично из пакетов нового. В таком состоянии система не будет надежно работать как от неё ожидается. Если такое произойдёт, возможно будет переустановить систему с помощью Anaconda.}}


{{admon/tip|Update important packages first| You can start try to update the update machinery first with <code>yum update rpm\* yum\*</code>. Another idea is to start with <code>glibc</code>. In both cases dependencies might however expand it to an almost full upgrade anyway. And doing a full upgrade might be more safe. YMMV. (In particular, do not upgrade rpm and yum separately if upgrading to a system with a different version of python e.g. 2.4 to 2.5.)
{{admon/tip|Сначала обновите важные пакеты| Начинать обновление следует с обновления инструментов обновления, для этого выполните <code>yum update rpm\* yum\*</code>. Или можно начать обновление с обновления  <code>glibc</code>. В обоих случаях по зависимостям будет произведено почти полное обновление. И выполнение полного обновления может быть более безопасным. YMMV. (Напрмер, не выполнейте обновление rpm и yum отдельно обновляемая система использует другую версию python например не 2.4 а 2.5.)
}}
}}


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


<pre>
<pre>
Line 108: Line 108:
</pre>
</pre>


<code>yum</code> might complain about conflicts or requirements. That is probably because you have used non-standard repositories or installed non-standard packages manually. Try to guess which packages cause the problem (or at least is a part of the dependency chain) - uninstall them and try again. Remember to install the packages again if they are essential.
Вывод <code>yum</code> может содержать информацию о конфликтах и требованиях. Это вполне возможно, потому что вы можете использовать нестандартные репозитарии или устанавливать не стандарные пакеты вручную. Попробуйте выяснить какие пакеты приводят к данной проблеме (или являются последними в цепочке зависимостей, цепочке вызвавшей ошибку) - удалите их и попробуйте снова. Не забудьте установить их снова если эти пакеты очень важны.


Ensure that all (new) essential packages from the new version is installed with
Помните что все (новые) важнейшие пакеты из новой версии ОС устанавливаются с помощью


<pre>
<pre>
Line 116: Line 116:
</pre>
</pre>


You might want to update other groups too, see
Возможно понадобится обновить другие группы пакетов, просмотрите их с помощью


<pre>
<pre>
Line 122: Line 122:
</pre>
</pre>


For example
Например


<pre>
<pre>
Line 133: Line 133:
</pre>
</pre>


=== 5. Preparing for reboot ===
=== 5. Подготовка к перезагрузке ===


Before booting you should usually install the bootloader from your new grub by running
Прежде чем перезагрузить систему, необходимо установить загрузчик grub с помощью команды
<pre>
<pre>
/sbin/grub-install BOOTDEVICE
/sbin/grub-install BOOTDEVICE
</pre>
</pre>
- where BOOTDEVICE usually is <code>/dev/sda</code> (If you get an error '/dev/sda does not have any corresponding BIOS drive' from that, then try <tt>/sbin/grub-install --recheck /dev/sda</tt>.)
- здесь BOOTDEVICE обычно является <code>/dev/sda</code> (Если вы получите сообщение об ошибке '/dev/sda does not have any corresponding BIOS drive' в результате выполнения этой команды, попробуйте выполнить <tt>/sbin/grub-install --recheck /dev/sda</tt>.)


Also, the order of init scripts could have changed from the previous version. A command to reset the order is:
Кроме того, необходимо изменить скрипты инициализации, которые изменились с предыдущей версии. Выполните команду:
<pre>
<pre>
cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done
cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done
</pre>
</pre>


Again, run <code>package-cleanup --orphans</code> to find packages that hasn't been upgraded.
Снова выполните <code>package-cleanup --orphans</code> что бы отыскать пакеты которые не были обновлены.
 
<!--
== Version specific notes ==
== Специфичные для версий инструкции ==


=== From pre-release ===
=== Обовление с pre-release ===


If you are upgrading to a final release from an alpha, beta, preview, or other [[Releases/Rawhide|Rawhide]] release, please see [[Upgrading from pre-release to final]].
Если вы обновляетесь до финальной версии с alpha, beta, preview, или [[Releases/Rawhide|Rawhide]] выпуска, пожалуйста просмотрите страницу [[Upgrading from pre-release to final]].


{{Anchor|11-12}}
{{Anchor|11-12}}
=== Fedora 11 -> Fedora 12 ===
=== Fedora 11 -> Fedora 12 ===


* All Fedora 12 RPM packages use XZ/LZMA compression, which is only supported by the [https://admin.fedoraproject.org/updates/F11/FEDORA-2009-7986 rpm-4.7.1-1 update] (or later) for Fedora 11. Before upgrading from Fedora 11, run <code>yum update rpm</code>.
* Все Fedora 12 RPM пакеты используют XZ/LZMA сжатие, которое поддерживается только начиная с пакета [https://admin.fedoraproject.org/updates/F11/FEDORA-2009-7986 rpm-4.7.1-1 update] (или выше) в Fedora 11. Поэтому прежде чем обновляться с Fedora 11, выполните <code>yum update rpm</code>.
* It is not possible to update directly from Fedora 10 or earlier with yum. To upgrade from Fedora 10, first update to Fedora 11, and then upgrade from Fedora 11 to Fedora 12. If you are using a release before Fedora 10, use one of the official upgrade methods or backup your data, perform a fresh installation, and restore from backup.
* Невозможно обновиться напрямую с Fedora 10 или более ранней с помощью yum. Для обновления с Fedora 10, сначала нужно обновиться до  Fedora 11, а зметм обновиться с Fedora 11 до Fedora 12. (Так же как нельзя обновиться с Windows XP до Windows 7, минуя обновление до Windows Vista). Если вы используете более ранний выпуск чем Fedora 10, используйте один из официальных методов обновления или выполните резервное копирование ваших данных, выполните полную установку и восстановите ваши данные из резервного хранилища.
* You can upgrade directly from Fedora 11 to Rawhide without installing a new {{package|fedora-release}} package by running <code>yum --enablerepo=rawhide --skip-broken upgrade</code>.
* Вы можете выполнить обновление напрямую с  Fedora 11 к Rawhide без установки новых {{package|fedora-release}} пакетов, выполнив команду <code>yum --enablerepo=rawhide --skip-broken upgrade</code>.
* Upgrades from Fedora 11 might currently fail with missing dependencies (for example related to {{package|totem-gstreamer}} or {{package|PolicyKit-kde}}). The dependencies are ok, but Fedora 11 {{package|yum}} has problems resolving them ([[rhbug:519172|bug 519172]]).
* Обновление с  Fedora 11 сейчас может приводить к проблемам с пропущенными зависимостями (например связанными с {{package|totem-gstreamer}} или {{package|PolicyKit-kde}}). С зависимостями все в порядке, но в Fedora 11 {{package|yum}} есть проблемы с их разрешениями ([[rhbug:519172|bug 519172]]).
* If your root filesystem does not mount with 'defaults' options, you will need to add the root filesystem's mount options to grub.conf with the kernel flag <code>rootflags</code> - initramfs does not pick up the options the way initrd used to.  e.g. if you mount your root with the flags <code>data=journal,relatime</code> then you would add to the end of the 'kernel' line in grub.conf: <code>rootflags=data=journal,relatime</code> .
* Если ваша корневая файловая система смонтирована не отличной от 'defaults' настройкой, может потребоваться добавление настроек монтирования в файл grub.conf with the kernel flag <code>rootflags</code> - initramfs does not pick up the options the way initrd used to.  e.g. if you mount your root with the flags <code>data=journal,relatime</code> then you would add to the end of the 'kernel' line in grub.conf: <code>rootflags=data=journal,relatime</code> .


{{Anchor|10-11}}
{{Anchor|10-11}}
Line 381: Line 381:
Just Upgrade using anaconda - save yourself a world of pain. But if you really want to try, there's these hints by Seth Vidal: http://linux.duke.edu/~skvidal/misc/fc1-fc2-yum-hints.txt
Just Upgrade using anaconda - save yourself a world of pain. But if you really want to try, there's these hints by Seth Vidal: http://linux.duke.edu/~skvidal/misc/fc1-fc2-yum-hints.txt


[[Category:FAQ]][[Category:How to]][[Category:Documentation]] -->
[[Category:FAQ]][[Category:How to]][[Category:Documentation]] [[Category:LocalizationRussian]]

Revision as of 13:12, 21 November 2009

Warning.png
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.

Stop (medium size).png
Несмотря на то что обновление с помощью 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 F40 bugs.

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

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

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

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

Idea.png
Отыщите и просмотрите "неиспользуемые" пакеты
Вы можете найти пакеты которые не нужны другим пакетам с помощью инструмента package-cleanup из пакета yum-utils: yum install yum-utils; package-cleanup --leaves. Вы можете решить, что эти пакеты являются кандидатами на удаление, но необходимо проверить, что эти пакеты не используются лично вами и что они не используются приложениями установленными без помощи rpm. Если такого нет, то удалите их с помощью yum remove имя-пакета-и-его-версия.
Idea.png
Отыщите и просмотрите "потерянные" пакеты
Вы можете найти устаревшие пакеты (например, пакеты, которые больше не располагаются в репозитариях) с помощью: 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
Warning.png
Если live обновление началось не завершайте обновление вручную и не перезагружайте систему, не убивайте процесс и никаким другим образом не останавливайте его до его завершения. Выполнение этого приведёт систему в смешанное состояние. Частично система будет состоять из пакетов предыдущего выпуск, частично из пакетов нового. В таком состоянии система не будет надежно работать как от неё ожидается. Если такое произойдёт, возможно будет переустановить систему с помощью Anaconda.
Idea.png
Сначала обновите важные пакеты
Начинать обновление следует с обновления инструментов обновления, для этого выполните 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 что бы отыскать пакеты которые не были обновлены.