自动升级

sudo dnf update --refresh  # 更新系统包
sudo dnf install dnf-plugin-system-upgrade # 安装系统更新插件
sudo dnf system-upgrade download --refresh --releasever [32|33|rawhide] # 下载包
sudo dnf system-upgrade reboot # 重启执行升级操作

如果某些依赖不满足,升级将终止,可添加 --allowerasing 选项删除依赖损坏的包。这可能是第三方源还未进行更新。建议卸载这些依赖不满足的包。添加 --best 选项,可查看依赖问题的详细信息。

升级后操作

更新系统配置文件:
更新后,RPM将备份配置文件。搜索 .rpmnew(新配置) .rpmsave(旧配置),根据需要进行修改。或使用 rpmconf 工具进行处理。

sudo rpmconf -a

清理旧软件包:

sudo dnf repoquery --unsatisfied  # 列出依赖问题的包,可以酌情删除这些包
sudo dnf repoquery --duplicated # 列出重复的包,一般的包不会有重复存在
sudo dnf list extras # 列出已从源中删除的包,可能包含第三方源的包$
sudo dnf autoremove # 删除不需要的包

注意:DNF 不需要一个包,是根据您是否明确要求安装它来决定的。这不意味着这个包是无用的。您需要删除您确实不需要的包。注意,PackageKit 有个已知的 Bug,它并不标记包是用户安装。如果您使用 PackageKit(或 GNOME SoftwareApper 等)安装包,则这些包可能会列出,甚至会包含重要的应用程序和系统软件包,务必要十分小心。

解决升级后遇到的问题

如果您升级后,系统有问题,可能需要以下步骤。

重建RPM数据库:

如果您使用RPM/DNF工具时出现警告,可能需要重建RPM数据库。

sudo rpm --rebuilddb

使用 distro-sync 解决依赖问题:
system upgrade 工具默认使用 distro-sync 升级系统。如果您的系统有些未升级的包有依赖问题,可手动执行 distro-sync。这会同步源的软件包(某些包会降级)。

sudo dnf distro-sync
sudo dnf distro-sync --allowerasing # 允许删除依赖损坏的包,务必进行确认

重新标记 SELinux 标签:

如果某些行为被禁止并收到 SELinux 警告,可能有些文件标签不正确。

sudo touch /.autorelabel
reboot

手动升级

升级至 fc30

sudo systemctl isolate multi-user.target  # 切换至 TUI$ sudo dnf upgrade
sudo dnf clean all
sudo dnf distro-sync --releasever=30 --setopt=deltarpm=false --disablerepo=\* --enablerepo=fedora --enablerepo=updates --nogpgcheck
sudo touch /.autorelabel

建议清理 /var/cache/yum/var/cache/dnf/var/cache/mock/var/lib/mock 等目录。

升级至 Rawhide

sudo dnf upgrade
sudo dnf install dnf-plugins-core fedora-repos-rawhide
sudo dnf config-manager --set-disabled fedora updates updates-testing
sudo dnf config-manager --set-enabled rawhide
sudo dnf clean -q dbcache plugins metadata
sudo dnf distro-sync --releasever=rawhide --setopt=deltarpm=false --nogpgcheck
sudo touch /.autorelabel

参考:

Fedora升级操作,轻易不要升级,如果升级请规范操作 (mamicode.com)

fedora版本如何升级的更多相关文章

  1. Linux(Fedora)下NodeJs升级最新版本(制定版本)

    Linux(Fedora)下NodeJs升级最新版本(制定版本) 首先安装n模块: npm install -g n 升级node.js到最新稳定版 n stable 升级node.js到制定版本 n ...

  2. Fedora 30的升级方法

    Fedora 30 已经发布了.你可能希望将系统升级到最新版本的 Fedora.Fedora 工作站版本有图形化升级的方法.另外,Fedora 也提供了一个命令行方法,用于将 Fedora 29 升级 ...

  3. Nginx1.8.0版本平滑升级新版本1.9.7

    原文:http://www.jb51.net/article/79878.htm 首先查看现在环境nginx的版本为1.8.0 编译的参数只指定了安装路径: 复制代码代码如下: [root@local ...

  4. SequoiaDB版本在线升级介绍说明

    1.前言 在SequoiaDB数据库发展过程中,基本保持每半年对外发行一个正式的Release版本.并且每个新发布的Release版本相对老版本而言,性能方面都有很大的提高,并且数据库也会在新版本中加 ...

  5. PostgreSQL版本快速升级

    PostgreSQL版本快速升级 写在前面 PostgreSQL9.5版本支持数据分片的功能,为以后做分布式考虑,准备将生产环境的9.1版本升级至9.5.中间需要做数据迁移. 在迁移操作中,为保证数据 ...

  6. c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down

    c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down http://blog.csdn.net/delphizhou/article/details/30 ...

  7. asp.net 版本一键升级,后台直接调用升级脚本

    应客户需求,要求实现一个版本一键升级的功能,咨询过同事之后弄了个demo出来,后台代码如下: //DBConnModelInfo:连接字符串的对象 (包含数据库实例名,数据库名,登陆名,登陆密码) p ...

  8. 将旧版本jQuery升级到新版本的jQuery

    需要将项目中的旧版本jQuery升级到新版本的jQuery,为解决兼容性问题得下载一个js兼容包.例子:升级的项目中jQuery1.x到jquery3.x,需要一个jquery-migrate-3.1 ...

  9. 滴滴HBase大版本滚动升级之旅

    桔妹导读:滴滴HBase团队日前完成了0.98版本 -> 1.4.8版本滚动升级,用户无感知.新版本为我们带来了丰富的新特性,在性能.稳定性与易用性方便也均有很大提升.我们将整个升级过程中面临的 ...

随机推荐

  1. JSP系列记录

    JSP就是可以实现在html中写Java代码 例: hello.jsp <%@page contentType="text/html; charset=UTF-8" page ...

  2. Linux AWK工作原理

    本篇文章我们主要为大家介绍 AWK 是如何工作的. AWK 工作流程可分为三个部分:1.读输入文件之前执行的代码段(由BEGIN关键字标识).2.主循环执行输入文件的代码段.3. 读输入文件之后的代码 ...

  3. 理解 Linux 的硬链接与软链接(转)

    Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键盘 ...

  4. mysql调优从书写sql开始

    理论知识 MySQL 的运行机制 Mysql 的SQL关键字执行顺序 1.MySQL 的优化方案有哪些? MySQL 数据库常见的优化手段分为三个层面:SQL 和索引优化.数据库结构优化.系统硬件优化 ...

  5. Cephfs的文件存到哪里了

    前言 在ceph里面使用rbd接口的时候,存储的数据在后台是以固定的prifix的对象存在的,这样就能根据相同的前缀对象去对image文件进行拼接或者修复 在文件系统里面这一块就要复杂一些,本篇就写的 ...

  6. centos7下做内存盘的方法

    在找这个资料的时候,基本没几个能用的或者过时了的,或者是换了概念,做的不是需要的那种盘,只有少数文章有提到关键部分应该怎么去操作,现在还是自己总结一下 内存盘tmpfs和ramdisk的区别 这个在网 ...

  7. Guitar Pro 7教程之如何导入吉他谱

    在前面的章节小编为大家也讲解了不少关于Guitar Pro 的相关教程,譬如{cms_selflink page='index' text='Guitar Pro下载'},安装等等一系列的使用教程,前 ...

  8. 解析MindMapper选项中的鱼骨选项

    MindMapper思维导图可以画鱼骨图,而且完成的相当漂亮,我们可以在选项设置中定义鱼骨图图的默认样式.下面本文就分析了MindMapper选项中可以更改哪些鱼骨图设置. 我们首先打开MindMap ...

  9. 网络系列之GET与POST请求方式的区别

    作为一枚正在学习前端的 小萌新,如果下面哪里有写的不对的话,可以帮我指出来吗,谢谢 1.是基于什么前提的?如果什么前提都没有,不使用任何规范,只考虑语法和理论上的HTTP协议 那么GET和POST几乎 ...

  10. 错误原因:因为desc是mysql里面的关键字

    SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check ...