Обновление Fedora (или RFRemix) с помощью yum

Материал из База знаний проекта Russian Fedora

Перейти к: навигация, поиск

Содержание


Официально рекомендованный способ обновления системы - с помощью утилиты fedup
Обновление с DVD более не поддерживается. В RFRemix можно воспользоваться утилитой rfremix-upgrade.
Рекомендуется проводить апгрейд в консольном режиме
Несмотря на возможность обновить систему из графического эмулятора терминала, эта процедура может быть небезопасной. Из-за её длительности и критичности к прерыванию работы рекомендуется делать обновление в консоли и в screen или tmux.


Обновление Fedora(RFRemix) 20 до Fedora(RFRemix) 21

Внимание!
Не забудьте перед обновлением отключить репозиторий с Gnome 3.12
Если раньше было подключено.
# yum update yum
# yum clean all
Внимание! Только для RFRemix.
Перед обновлением обязательно подключите репозиторий branding:
# yum install http://mirror.yandex.ru/fedora/russianfedora/russianfedora/branding/fedora/releases/21/Everything/i386/os/russianfedora-branding-release-21-1.R.noarch.rpm
# yum --releasever=21 distro-sync --nogpgcheck

Обновление Fedora(RFRemix) 19 до Fedora(RFRemix) 20

Установить новый gpg-ключ и обновиться:

# rpm --import https://fedoraproject.org/static/246110C1.txt
# yum update yum
# yum --releasever=20 distro-sync

Обновление Fedora(RFRemix) 18 до Fedora(RFRemix) 19

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

Установить новый gpg-ключ и обновиться:

# rpm --import https://fedoraproject.org/static/FB4B18E6.txt
# yum update yum
# yum --releasever=19 distro-sync

Обновление Fedora(RFRemix) 17 до Fedora(RFRemix) 18

# rpm --import https://fedoraproject.org/static/DE7F38BD.txt
# setenforce Permissive
# yum update yum
# yum clean all
# yum --releasever=18 --disableplugin=presto distro-sync
# rpm --rebuilddb
Получение старых настроек:
$ cat /etc/sysconfig/keyboard
Установка новых настроек:
# localectl set-x11-keymap <layout> [<model>] [<variant>] [<options>]
Удалите старый конфигурационный файл:
# rm /etc/sysconfig/keyboard
Также вы можете попробовать скрипт fedora-upgrade, который автоматизирует все эти шаги.


Обновление Fedora(RFRemix) 16 до Fedora(RFRemix) 17

Особенности обновления

Fedora 17 содержит всю базовую часть операционной системы в /usr. Каталоги /bin, /sbin, /lib, /lib64 являются лишь символьными ссылками:

/bin → /usr/bin
/sbin → /usr/sbin
/lib → /usr/lib
/lib64 → /usr/lib64

Причины данного изменения описаны тут:

http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge

Текущие установленные системы требуют некоторых ручных шагов для конвертации системы в соответствии со стандартами Fedora 17. После этого система будет готова продолжить обновление как обычно через YUM.

Некоторые RPM-пакеты в Fedora 17 имею встроенную проверку на то, что /bin, /sbin, /lib, /lib64 являются символьными ссылками, а не директориями как в Fedora 16 и ранее. Иначе данные пакеты не смогут быть установлены.

Структура каталогов в установленной системе не может быть безопасно изменена, пока система запущена. Dracut, начальная система инициализации, используемая для поиска и монтирования корневой файловой системы может конвертировать структуру каталогов для Fedora 17.

Если у вас /usr на отдельном разделе, то dracut может не справиться с конвертацией. Если /usr монтируется по сети, то вы должны добавить "rd.neednet=1" и параметр сети типа "ip=dhcp" в строку параметров ядра. /usr на iSCSI, FCoE, NBD также поддерживается, если указан параметр ядра “netroot=...” для этих дисков (см. man dracut.kernel(7)). Если /usr находится на LVM, MD raid или DM raid, убедитесь, что в строке параметров ядра есть нужные записи "rd.lvm.lv=...". Это необходимо, чтобы убедиться в доступности /usr для dracut. Либо просто уберите все ограничения, вроде этих "rd.lvm...", "rd.md...", "rd.dm...". В любом случае, лучше устанавливать систему "с нуля", если вы боитесь возникновения проблем при использовании отдельного /usr.

Пакет sbcl вешает процесс обновления. Удалите его перед началом:

# yum erase sbcl

После того, как обновление будет завершено, можно будет поставить его и программы, которые были удалены вместе с ним (например, maxima) обратно.

Конвертация системы

Выполните эти шаги для подготовки системы к конвертации и возможности последующего обновления через yum:

# yum update dracut

У вас должен быть установлен как минимум dracut-009-15.fc15 для Fedora 15 или dracut-013-22.fc16 для Fedora 16.

# dracut --force --add convertfs

Если у вас отдельный /usr и вы не знаете какую команду добавить в строку параметров ядра, попробуйте это (dracut попытается самостоятельно сгенерировать нужный параметр):

# dracut -H --force --add convertfs

Если dracut обнаружит ‘rd.convertfs’ в строке параметров ядра при загрузке, то он начнёт конвертировать структуру файловой системы. Если же она уже конвертирована, dracut пропустит этот шаг.

dracut обновит образ initramfs для текущего запущенного ядра
Убедитесь, что нет новых установленных ядер со времени последней загрузки.

Описание параметров:

- убрать   “ro” (только для чтения)
- добавить “rw” (чтение и запись) чтобы dracut мог внести изменения
- убрать   “rhgb” (Red Hat graphical boot) чтобы видеть процесс работы dracut
- добавить “rd.info” чтобы иметь более подробный вывод dracut
- добавить “rd.convertfs” чтобы включить конвертирование /usr в dracut
- добавить “enforcing=0” чтобы отключить SELinux enforcement

После перезагрузки dracut изменит структуру вашей файловой системы. Все конфликтующие файлы при конвертировании будут сохранены с именем *.usrmove~ в /usr/lib, /usr/lib64, /usr/bin и /usr/sbin.

# dmesg | grep dracut
После конвертирования сразу же обновите систему до Fedora 17
Не устанавливайте никаких пакетов от Fedora 16 или Fedora 15, а так же старых rawhide пакетов.

Собственно обновление

Теперь, после конвертации системы, можно выполнить обновление по стандартной схеме:

rpm --import https://fedoraproject.org/static/1ACA3465.txt
# yum --releasever=17 update rpm
# rm -f /var/lib/rpm/__*
# rpm --rebuilddb
# yum --releasever=17 --disableplugin=presto --skip-broken distro-sync
# fixfiles onboot  

Наслаждайтесь вашей новой системой и скажите “Good bye” директориям /bin, /sbin, /lib, /lib64, теперь они в /usr.


Обновление Fedora(RFRemix) 15 до Fedora(RFRemix) 16

Предварительная информация

Настоящая статья предназначена для помощи в обновлении с F15 на F16 (в том числе - на beta-версию) с использованием менеджера пакетов yum (а значит, без переустановки системы). Недостатком такого метода может являться неполное использование всех новых функций, например, UID-ы в Fedora, начиная с F16 идут с 1000-го номера, а не с 500-го, как раньше. В случае обновления всё останется без изменений. Инструкция одинаково подходит как для обычной F15, так и для Russian Fedora Remix.

Для обновления необходим доступ к Интернету. Объём скачанного получится примерно 2 ГБ (зависит от установленного ПО).

Для запуска обновления нужно будет перейти в текстовый режим (консоль).

Основная информация взята с wiki Fedora Upgrading Fedora using yum и дополнена участниками конференции fedora@conference.jabber.ru

Обновление системы с помощью yum

Итак, вот пошаговая инструкция (все команды выполняются от root):

  1. прежде всего, как обычно при внесении каких-то важных и потенциально опасных изменений, необходимо сделать резервную копию ценной информации;
  2. добавить в систему gpg-ключ Fedora 16:
    rpm --import https://fedoraproject.org/static/A82BA4B7.txt
  3. обновить yum и сбросить кэш пакетов:
    yum update yum
    yum clean all
  4. перейти в init 3, после чего залогиниться под root:
    init 3
  5. запустить сеть
    если сеть не запускается автоматически при старте, вы можете воспользоваться текстовым интерфейсом для NetworkManager - утилитой nmcli, либо настроить сеть вручную через ifconfig.
  6. запустить собственно обновление системы:
    yum --releasever=16 --disableplugin=presto distro-sync

    с первого раза, скорее всего, обновление не запустится и мы получим сообщение об ошибках нескольких пакетов. Их необходимо удалить, предварительно записав, что именно удалится:

    yum remove <имена пакетов через пробел>
    и запустить предыдущую команду ещё раз, чтобы началось обновление;
  7. через пару часов, после того, как команда будет выполнена, перезагружаем ПК и логинимся как обычно;
  8. включаем репозитории rpmfusion:
    yum-config-manager --enable rpmfusion-*free
  9. снова обновляемся (на этот раз с добавленным репозиторием):
    yum update
  10. установим удалённые пакеты, которые нам мешали (их названия у нас были записаны):
    yum install <имена пакетов через пробел>

    Всё! Можно наслаждаться новой версии любимого дистрибутива.

Обновление Grub до Grub2

Язык наш grub и портит наши мысли...
Анонимус

С выходом Fedora 16 загрузчиком по умолчанию стал grub2. Однако, на данный момент, если Fedora 16 вы ставите не с нуля, а обновляете предыдущие версии дистрибутива (если речь не идёт об обновлении с DVD-диска), загрузчик останется прежним. Вообще то, что grub не обновляется автоматом на grub2 - это вроде как бага такая, так что в будущем её может быть и пофиксят, проверьте, перед тем, как будете что-то делать, какая версия у вас установлена. А пока что придётся обновлять grub ручками. В прочем, всё не так страшно.

Всё делаем от рута.

  1. Сносим старый grub и вонзаем новый
    yum remove grub
    yum install grub2

    Если у вас материнская плата с EFI (UEFI), которая определяется красивым графическим меню вместо старого синего BIOS, то для вас не всё ясно. Одни авторы утверждают, что необходимо поставить ещё и grub2-efi и далее по тексту grub2 заменить на grub2-efi, но у автора grub2 стал работать только после того, как grub2-efi был удалён, хотя мат. плата с uefi. Может, он просто отключен. У кого получится установить и настроить grub2-efi, прошу дополнить/исправить статью.

    Если будете пробовать grub-efi, учтите, что для EFI нужны другие команды, например вместо grub2-install надо будет использовать grub2-efi-install. А вместо grub2-mkconfig, grub2-efi-mkconfig, соотвественно. Основной каталог настроек, также расположен немного иначе, а именно тут – /boot/grub2-efi

  2. Сразу после установки надо прописать наш новый загрузчик и заполнить файл настроек.
    grub2-install /dev/sda
    grub2-mkconfig -o /boot/grub2/grub.cfg

    Новый загрузчик пропишет все найденные им операционные системы и ядра linux на доступных носителях.

Более подробно о настройке Grub2 можно прочесть на странице Grub2


Обновление дистрибутива Fedora(RFRemix) 14 до Fedora(RFRemix)15

Для обновления традиционно рекомендуют использовать preupgrade, но по непонятным причинам этот способ у меня не заработал, решено было использовать Yum, так как этот способ работал у меня всегда (я, по мере выхода релизов, обновлял дистрибутив FC6 > FC7 > FC8 > FC9 > FC 10 > FC11 > FC12 > FC12 > FC13 > FC14 > FC15, так что надежность проверена годами). Прежде, чем начать, замечу, что вовремя сделанное резервное копирование еще никому не помешало, а так же что для предыдущих версий дистрибутивов при обновлении с Yum были свои небольшие нюансы.

Действия будем производить над следующей системой:

[root@dell yura]# uname -ra
Linux dell.upa.local 2.6.35.13-92.fc14.i686 #1 SMP Sat May 21 17:39:42 UTC 2011 i686 i686 i386 GNU/Linux

Обязательное обновление текущего состояния дистрибутива:

[root@dell yura]# yum update

Установим полезную утилиту для работы со служебной базой установленных пакетов

[root@dell yura]# yum install rpmconf

Запускаем проверку состояния базы установленных пакетов:

[root@dell yura]# rpmconf --all

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

[root@dell yura]# package-cleanup --oldkernels
[root@dell yura]# package-cleanup --leaves
[root@dell yura]# package-cleanup --orphans

Внимательно прочтите вывод утилит, я например удалил не все, ели есть сомнения по поводу того или иного пакета:

yum info <PACKAGE_NAME>

Импортируем ключи безопасности

[root@dell yura]# rpm --import https://fedoraproject.org/static/069C8460.txt

Обновим Yum:

[root@dell yura]# yum update yum

Очистим кеш и служебные данные от предыдущего дистрибутива:

[root@dell yura]# yum clean all

Момент истины, запускае собственно процесс (у меня занял 6 часов, но во многом продолжительность зависит от скорости железа и канала)

[root@dell yura]# yum --releasever=15 --obsoletes --disableplugin=presto --skip-broken distribution-synchronization

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

Перезагрузка... Ура FC15!