Обновление Fedora (или RFRemix) с помощью yum
Материал из База знаний проекта Russian Fedora
Содержание |
Обновление Fedora(RFRemix) 16 до Fedora(RFRemix) 17
Во-первых, устанавливаем новый gpg-ключ для Fedora 17
rpm --import https://fedoraproject.org/static/1ACA3465.txt
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.
Выполните эти шаги для подготовки системы к конвертации и возможности последующего обновления через yum:
Обновите пакет dracut до последней версии:
# yum update dracut
Вы должны иметь как минимум dracut-009-15.fc15 для Fedora 15 или dracut-013-22.fc16 для Fedora 16.
Выключите все "hostonly" настройки в /etc/dracut.conf*, если вы их включали.
Обновите установленный образ initramfs для текущего ядра и укажите dracut включить модуль для конвертирования структуры файловой системы:
# dracut --force --add convertfs
Если у вас отдельный /usr и вы не знаете какую команду добавить в строку параметров ядра, попробуйте это (dracut попытается самостоятельно сгенерировать нужный параметр):
# dracut -H --force --add convertfs
Если dracut обнаружит ‘rd.convertfs’ в строке параметров ядра при загрузке, то он начнёт конвертировать структуру файловой системы. Если же она уже конвертирована, dracut пропустит этот шаг.
Измените строку параметров ядра при загрузке grub2 или отредактируйте строку в /etc/grub*.cfg , удалив ro и rhgb и добавив rw rd.info rd.convertfs enforcing=0
Описание параметров:
- убрать “ro” (только для чтения) - добавить “rw” (чтение и запись) чтобы dracut мог внести изменения - убрать “rhgb” (Red Hat graphical boot) чтобы видеть процесс работы dracut - добавить “rd.info” чтобы иметь более подробный вывод dracut - добавить “rd.convertfs” чтобы включить конвертирование /usr в dracut - добавить “enforcing=0” чтобы отключить SELinux enforcement
После перезагрузки dracut изменит структуру вашей файловой системы.
Сразу после конвертирования система должна быть обновлена до Fedora 17. Не должно быть установлено ни одного нового пакета от Fedora 16 или Fedora 15, а так же старых rawhide пакетов.
Все конфликтующие файлы, которые конвертирование не смогло решить будут сохранены с именем *.usrmove~ в /usr/lib, /usr/lib64, /usr/bin и /usr/sbin.
Убедитесь, что dracut действительно завершил преобразование. Посмотреть лог работы dracut можно так:
# dmesg | grep dracut
После успешного преобразования, отмените изменения, внесенные в командную строку ядра в загрузчик конфигурационного файла /etc/grub*.cfg . Затем выполните следующие команды по очереди:
# 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):
- прежде всего, как обычно при внесении каких-то важных и потенциально опасных изменений, необходимо сделать резервную копию ценной информации;
- добавить в систему gpg-ключ Fedora 16:
rpm --import https://fedoraproject.org/static/A82BA4B7.txt
- обновить yum и сбросить кэш пакетов:
yum update yum yum clean all
- перейти в init 3, после чего залогиниться под root:
init 3
- запустить сеть
если сеть не запускается автоматически при старте, вы можете воспользоваться текстовым интерфейсом для NetworkManager - утилитой nmcli, либо настроить сеть вручную через ifconfig. - запустить собственно обновление системы:
yum --releasever=16 --disableplugin=presto distro-sync
с первого раза, скорее всего, обновление не запустится и мы получим сообщение об ошибках нескольких пакетов. Их необходимо удалить, предварительно записав, что именно удалится:
yum remove <имена пакетов через пробел>
и запустить предыдущую команду ещё раз, чтобы началось обновление; - через пару часов, после того, как команда будет выполнена, перезагружаем ПК и логинимся как обычно;
- включаем репозитории rpmfusion:
yum-config-manager --enable rpmfusion-*free
- снова обновляемся (на этот раз с добавленным репозиторием):
yum update
- установим удалённые пакеты, которые нам мешали (их названия у нас были записаны):
yum install <имена пакетов через пробел>
Всё! Можно наслаждаться новой версии любимого дистрибутива.
Обновление Grub до Grub2
Язык наш grub и портит наши мысли...
Анонимус
С выходом Fedora 16 загрузчиком по умолчанию стал grub2. Однако, на данный момент, если Fedora 16 вы ставите не с нуля, а обновляете предыдущие версии дистрибутива (если речь не идёт об обновлении с DVD-диска), загрузчик останется прежним. Вообще то, что grub не обновляется автоматом на grub2 - это вроде как бага такая, так что в будущем её может быть и пофиксят, проверьте, перед тем, как будете что-то делать, какая версия у вас установлена. А пока что придётся обновлять grub ручками. В прочем, всё не так страшно.
Всё делаем от рута.
- Сносим старый 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
- Сразу после установки надо прописать наш новый загрузчик и заполнить файл настроек.
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!
