自动升级

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. C语言利用结构体数组实现学生成绩管理系统

    这篇文章主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 要求: 某班有最多不超过30人(具体人数由键盘输入) ...

  2. HTML生成横向的PDF

    HTML生成PDF请参照:https://www.cnblogs.com/yunfeiyang-88/p/10984740.html 如要生成横向的PDF:在html模板的style标签里面加入@pa ...

  3. 设计师建筑师太难了,既要学BIM、无人机,还要学GIS!

    我,一个平平无奇的城市规划专业(建筑专业.路桥专业)大学生,还有一年要毕业,很担心工作以后受到社会的毒打,遂问导师和学长,我要自学点什么技能和软件? 学长A:CAD,SketchUp,PS我都很熟练了 ...

  4. 手写@koa/router源码

    上一篇文章我们讲了Koa的基本架构,可以看到Koa的基本架构只有中间件内核,并没有其他功能,路由功能也没有.要实现路由功能我们必须引入第三方中间件,本文要讲的路由中间件是@koa/router,这个中 ...

  5. haproxy 思考

    通过代理服务器在两个TCP接连之间转发数据是一个常见的需求,然后通常部署的时候涉及到(虚拟)服务器.真实服务器.防护设备.涉及到多个ip地址相关联,改动一个IP就需要修改配置. 比如反向服务器部署的时 ...

  6. Design Principle vs Design Pattern 设计原则 vs 设计模式

    Design Principle vs Design Pattern设计原则 vs 设计模式 来源:https://www.tutorialsteacher.com/articles/differen ...

  7. Python_微信开发

    <!-- 发消息功能 --> 0.微信开发的2个库 pip install werobot pip install 1.新建项目 2.项目下新建 robot 的app 3.写robot.p ...

  8. a标签中的target

    html中target四种选择_blank._parent._self._top,分别是什么意思? eg:<Cell title="Open link in new window&qu ...

  9. 如何在IDM中设置代理服务器?

    很多时候,大家下载文件都是在国外的一些网站上进行下载,这样不可免会受到自身国内网络的限制,另一方面下载源为避免服务器带宽占用过多而限制下载速率,这就会导致文件下载极慢,甚至几KB每秒. 这种情况是不是 ...

  10. ThreadLocal以及强软弱虚引用

    1.ThreadLocal ThreadLocal即线程本地,可以实现每个线程存入取出TreadLocal值互不影响.因为TheadLocal底层是用了一个Map结构存放数据,而这个Map是从当前这个 ...