Upgrade Fedora: обновление системы.

Установка, настройка, эксплуатация.

Модератор: ROOT

Upgrade Fedora: обновление системы.

Сообщение ROOT » 11 окт 2018, 08:32

Оглавление


Темы
 Процесс обновления 
 Исправление базы пакетов после обновления 
 Сложности обновления 


 Процесс обновления 
Обновление Fedora ниже версии 29
Код: выделить все
dnf upgrade --refresh
dnf install dnf-plugin-system-upgrade
dnf system-upgrade download --releasever=$(($(rpm -E %fedora) + 1))
dnf system-upgrade reboot

Плагин dnf-plugin-system-upgrade устанавливается только один раз, при первом обновлении системы.
Обновление Fedora 29 и выше
Код: выделить все
dnf upgrade --refresh
dnf install dnf-plugin-system-upgrade
dnf system-upgrade download --releasever=$(($(rpm -E %fedora) + 1)) --setopt=module_platform_id=platform:f$(($(rpm -E %fedora) + 1))
dnf system-upgrade reboot

Для пользователей Russian Fedora
желающих обновить систему до 30 версии

Сообщаем вам, что по не зависящим от нас причинам проект Russian Fedora временно уходит в отпуск на один выпуск Fedora. Таким образом, релиза RFRemix 30 не состоится.

В настоящее время большая часть актуальных пакетов из Russian Fedora были перемещены в апстрим Fedora, а также в RPM Fusion, поэтому рекомендуем вам как можно скорее отключить репозитории Russian Fedora до выполнения обновления до Fedora 30, чтобы оно прошло в штатном режиме без конфликтов между пакетами.

  1. произвести замену пакета rfremix-release на fedora-release (только пользователям RFRemix):
    Код: выделить все
    dnf swap rfremix-release fedora-release --allowerasing
  2. полностью отключить репозитории Russian Fedora:
    Код: выделить все
    dnf remove 'russianfedora*'
  3. произвести синхронизацию выпуска дистрибутива с эталоном:
    Код: выделить все
    dnf distro-sync --allowerasing
  • --allowerasing — Разрешить удаление установленных пакетов для устранения зависимостей. Этот параметр можно использовать в качестве альтернативы команде dnf swap, когда пакеты для удаления не определены явно.
  • --dnf distro-sync [<package-spec>...] — При необходимости обновляет, понижает или сохраняет выбранные установленные пакеты в соответствии с последней версией, доступной из любого включенного репозитория. Если пакет не указан, рассматриваются все установленные пакеты.
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 417
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Сообщение ROOT » 09 апр 2022, 14:11



 Исправление базы пакетов после обновления 
Перестроить базу RPM
Код: выделить все
rpm --rebuilddb

У dnf есть опция distro-sync, которая используется для синхронизации установленных пакетов с последними доступными версиями.
Он выполняет необходимые обновления, понижает или сохраняет выбранные установленные пакеты в соответствии с последней версией, доступной из любого включенного репозитория. Если пакет не указан, учитываются все установленные пакеты. Параметр distro-sync в DNF аналогичен параметру обновления yum. Ниже приведен пример опции distro-sync:
Код: выделить все
dnf distro-sync --setopt=deltarpm=0

deltarpm=0 - Разово отключить использование Delta RPM
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 417
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Сообщение ROOT » 09 апр 2022, 14:11



 Сложности обновления 
Вы можете увидеть список пакетов со сломанными зависимостями, например:
Код: выделить все
dnf repoquery --unsatisfied

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

Вы можете увидеть дублированные пакеты (пакеты с несколькими версиями), например:
Код: выделить все
dnf repoquery --duplicated

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

Некоторые пакеты могут оставаться в вашей системе, пока они были удалены из репозиториев.
Смотрите их, используя:
Код: выделить все
dnf list extras


Если вы не используете их, вы можете их удалить:
Код: выделить все
dnf remove $ (dnf repoquery --extras --exclude = kernel, kernel - \ *).


Обратите внимание, что этот список действителен только в том случае, если у вас есть полностью обновленная система. В противном случае вы увидите все установленные пакеты, которые больше не находятся в репозиториях, потому что доступно новое обновление. Поэтому, прежде чем действовать на них, убедитесь, что вы запустили обновление dnf и снова создали список дополнительных пакетов. Кроме того, этот список может содержать пакеты, установленные из сторонних репозиториев, для которых обновленный репозиторий еще не опубликован. Это часто включает, например, RPM Fusion или Dropbox.
Вы можете удалить ненужные пакеты, используя:
Код: выделить все
dnf autoremove

Остерегайтесь того, что dnf решает, что пакет больше не нужен, если вы явно не просили его установить, и ничто другое не требует его. Это не означает, что пакет не является полезным или что вы его не используете. Удалите только то, что вы уверены, что вам не нужно. В PackageKit есть известная ошибка, которая не маркирует пакеты как установленные пользователем, см. Ошибку 1259865. Если вы используете PackageKit (или GNOME Software, Apper и т.д.) Для установки, этот вывод может содержать список важных приложений и системных пакетов, поэтому будьте осторожны
Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 417
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный


Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron