Обновление Fedora с помощью yum
Эта страница содержит инструкцию по обновлению Fedora с помощью yum
.
Рекомендованный метод установки с помощью загрузочного носителя с установщиком Anaconda описан в Инструкции по установке EN. PreUpgrade является другим способом при котором все пакеты загружаются прежде, чем система перезагрузится для запуска установщика Anaconda.
При обновлении с помощью yum вы не получите никакой помощи от программы установки Anaconda, но при удачном стечении обстоятельств сможете обновить систему удалённо, через ssh, с ограниченным временем простоя системы. (Хотя, по-прежнему, потребуется перезагрузка системы, что бы загрузилось новое ядро, а также системные библиотеки/сервисы).
Live-обновление с помощью yum обычно работает на стандартных установках Fedora при применении нижеследующих советов.
Ваше участие
Если при обновлении с помощью Yum обнаруживается какая-либо проблема с зависимостями пакетов, пожалуйста, отправьте отчет об этом в http://bugzilla.redhat.com. Но, пожалуйста, прочитайте сначала данную страницу и все страницы, на которые мы ссылаемся, а также просмотрите архив списка рассылки прежде, чем заполнять отчет об ошибке. И конечно помогите, пожалуйста, сохранить данную страницу в актуальном состоянии.
Если вы хотите помочь сделать процесс live обновления более простым, присоединяйтесь к группе по интересам "Live Upgrade" ("Live обновление").
Инструкции по обновлению с помощью yum
0. Выполните резервное копирование
Выполните резервное копирование любых личных данных на внешний жесткий диск или на другой компьютер. Если возникнет неустранимая ошибка и потребуется новая установка, вы не потеряете никаких данных.
1. Прочитайте о возможных проблемах
Ниже приведен список основных проблем специфичных для каждой версии. Некоторые из них требуют внимания прежде, чем приступить к обновлению.
Общие советы по обновлению Fedora можно найти на странице Upgrading. Необходимо прочитать Руководство по установке и Замечания к выпуску для версии, до которой вы обновляетесь, - здесь может содержаться важная информация о возможных проблемах при обновлении. Наконец, просмотрите список Распространенные ошибки F40.
2. Приготовления
Просмотрите и удалите все файлы .rpmsave и .rpmnew прежде, чем приступить к обновлению. (И, если selinux активирован, проверьте его настройки).
Теперь необходимо удалить пакеты, которые вы не используете, - особенно, если это нестандартные пакеты.
Убедитесь, что пакет 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. Выполните обновление
Если у вас подключены сторонние репозитории, возможно вам понадобится y настроить их для новой версии Fedora. Если вы обновляетесь с одного релиза до другого, то обычно ничего делать не приходится. Если вы обновляетесь с текущего релиза до Rawhide (или наоборот), то большую часть времени вам придется устанавливать пакеты Rawhide из сторононнего репозитория (или, наоборот, стандартные пакеты в обратном случае).
Обратите внимание, что обновление может пойти не так как нужно при наличии устаревших зависимостей для пакетов, которые не поддерживаются с помощью yum в репозитории или для которых не готовы новые версии.
Хорошей идеей считается обновлнеие вне графической оболочки. Выйдите из графического режима и выполняйте следующие шаги.
Перейдите в текстовую консоль
ctrl + alt + F2
(или)
зайдите как root (суперпользователь) и перейдите в runlevel 3
init 3
Обновите yum до последней версии, доступной для вашей версии Fedora
yum update yum
Установите новый gpg-ключ Fedora для версии, до которой собираетесь обновиться
Вы можете найти ключи и проверить их на странице
https://fedoraproject.org/keys
или читайте инструкции по обновлению отдельных версий ниже.
Очистите кеш
Затем удалите все следы той версии, с которой вы обновляетесь, из кеша yum /var/cache/yum
.
yum clean all
Обновите все пакеты
yum --releasever=<release_number_you_want_to_sync_to> distro-sync
Внимание: While it is recommended to upgrade to intermediate releases if upgrading from an older release (for example upgrading from Fedora 12 to 13, then 13 to 14), depending on what version you are upgrading from, this step may fail with an error about GPG keys being in the wrong format. To overcome this, you can add the "--nogpgcheck" switch to the above yum distro-sync command.
5. Убедитесь, что Fedora обновлена
Distro-sync will usually take care of upgrades for the third party repositories you have enabled as well. Confirm with
yum repolist
after the upgrade process is over. yum
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.
Убедитесь, что все основные (новые) пакеты из новой версии установлены с помощью команды
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
, чтобы отыскать пакеты, которые не были обновлены.
Специфичные инструкции для отдельных версий
Обновление с pre-release
Если вы обновляетесь до финальной версии с alpha, beta, preview или Rawhide выпуска, пожалуйста, просмотрите страницу Upgrading from pre-release to final.
Версия для разработчиков
yum update yum yum --releasever=rawhide distro-sync --skip-broken --nogpgcheck
Fedora 17 -> Fedora 18
Внимание: Этот метод не работает на Macbook Pro, проверено на Macbook Pro конца 2011 года. Подробнее
- Установите новый gpg ключ:
su -c 'rpm --import https://fedoraproject.org/static/DE7F38BD.txt'
- Переключите SELinux в режим Permissive:
su -c 'setenforce Permissive'
- Обновите все пакеты:
su -c 'yum update yum'
su -c 'yum clean all'
su -c 'yum --releasever=18 --disableplugin=presto distro-sync'
- Перегенерируйте базу данных пакетов rpm:
su -c 'rpm --rebuilddb'
, иначе rpm -qa не будет работать из-за обновления пакета rpm.
Вы можете заметить ошибки в выводе yum'а, когда некоторые пакеты попытаются создать пользователей и/или группы, если не включили режим Permissive на время обновления. После обновления у вас могут возниктуть проблемы с этими пакетами, такие как невозможность входа в систему через GDM (будет виден только вращающийся курсор) и/или какие-либо действия, требующие администраторских прав доступа. Это возникает в результате bug #844167. Если эти проблемы все-таки возникли, нужно переустановить испорченные пакеты с помощью команды su -c 'yum reinstall (packagenames)'
и перезагрузить систему. Возможно проблемы возникнут с пакетами libvirt-daemon and polkit: su -c 'yum reinstall libvirt-daemon polkit'
Fedora 16 -> Fedora 17
The Usr Move Feature changes where some important programs are installed on the filesystem. Once the packages that implement this are built (not yet as of November 30, 2011) we will have to move some directories on the filesystem and setup compatibility symlinks before we can upgrade. Although the details are not yet finalized, the general steps will be:
- Updating to dracut version $X or later (pushed to all non-EOL Fedora releases).
- Rebuild the initramfs with dracut command $X
- Reboot the computer, giving $X as a kernel command line option
- The computer will startup and run a script in the initramfs that migrates the filesystem. Once booted, the /bin, /sbin, /lib, and /lib64 directories should be symlinks to their respective /usr/ counterparts and the files that were in them should have been merged together.
- At this point you may reboot the computer back into a normal boot (or simply change to the multiuser or graphical target) and proceed with your yum upgrade.
Running the script via the initramfs allows it to bypass some tricky logic when moving the dynamic linker (ld-linux-2.so). If you want to perform this completely manually, you can read the script that dracut would install in the initramfs at $X and then modify the steps to move the files around without leaving yourself without a ld-linux-2.so at the expected path.
Fedora 15 -> Fedora 16
Во-первых, установить новый gpg-ключ Fedora 16. You may wish to verify this package against https://fedoraproject.org/keys and the fedora ssl certificate.
rpm --import https://fedoraproject.org/static/A82BA4B7.txt
После этого запустите chkconfig --list
and note the enabled services; you will need to re-enable these with systemctl enable xxxxx.service
after you reboot, as the sysvinit
settings aren't propagated into systemd
. See release notes for more details.
Обновите все пакеты с помощью
yum update yum yum clean all yum --releasever=16 --disableplugin=presto distro-sync
If your system uses a BIOS, or you installed Fedora via BIOS emulation mode on an EFI system (not native EFI mode), you can switch to Fedora 16's supported grub2 bootloader with the following instructions. If your system was installed by native EFI boot, do not switch to grub2, as its EFI support is still unreliable. Fedora 16's supported bootloader for native EFI installations is still grub-legacy, so you should simply continue to use the system without making any special changes to the bootloader configuration.
Для перехода на grub2 выполните команду su -c '/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg'
, дальше действуйте согласно инструкциям по переустановке загрузчика.
Known you upgrade -specific issues (for common problems, see references above):
- Bug 743022 - F15->F16 yum update fails with IMSM (BIOS) raid
Fedora 14 -> Fedora 15
Для начала установите новый GPG ключ для Fedora 15. Для проверки этого пакета на достоверность https://fedoraproject.org/keys и SSL сертификату Fedora выполните следующее:
rpm --import https://fedoraproject.org/static/069C8460.txt
Обновите все пакеты с помощью:
yum update yum yum clean all yum --releasever=15 --disableplugin=presto distro-sync
- Не запускайте эти команды из под X терминала. Тесты показывают, что X сервер может зависать в процессе обновления пакетов со шрифтами.
- Существуют .drpms, но они не совпадают с новыми ввиду изменения формата, поэтому лучше отключить плагин "presto" путем добавления ключа "--disableplugin=presto" (без кавычек) при запуске пакетного менеджера yum.
Screen
клиент F15 не позволяет подключаться к F14screen
сессиям. Поэтому, если Вы хотите запустить обновление черезscreen
, Вам необходимо либо обновитьscreen
сначала, либо сделать его отдельную копию для использования в процессе обновления.
Fedora 13 -> Fedora 14
Для начала установите новый gpg-ключ Fedora 14. You may wish to verify this package against https://fedoraproject.org/keys and the fedora ssl certificate.
rpm --import https://fedoraproject.org/static/97A1071F.txt
Обновите все пакеты с помощью
yum update yum yum --releasever=14 distro-sync --skip-broken
- Если вы используете VirtualBox из репозитория Oracle, вам необходимо удалить пакет VirtualBox-3.1 перед обновлением. После того, как оно будет закончено, установите VirtualBox-3.2.