• home > OS > Linux > Devops >

    CentOS 8升级到CentOS Stream 9

    Author:zhoulujun Date:

    CentOS 7升级到的CentOS 8的系统管理员肯定要暴跳如雷了。CentOS 8,就是在使用一个不再维护的系统,这意味着不安全,意味着使用不了新发布的软件。

    CentOS 6于2020年11月30日到期。Redhat将继续更新CentOS 7,直到2024年6月30日。但是将不再有任何CentOS 9版本。具体可以查看《CentOS Stream 8与CentOS 8的区别是什么?

    CentOS 8如何转换为CentOS Stream

    Centos 8.3及以上

    Centos 8.3及以上用户可进入ssh执行以下命令转换至Centos 8 Stream系统

    #查看centos版本
    cat /etc/redhat-release
    dnf --disablerepo '*' --enablerepo extras swap centos-linux-repos centos-stream-repos
    dnf distro-sync


    Centos 8.3以下

    一般教程用yum升级,这里是是dnf

    DNF 和 Yum 的区别,为什么 Yum 会被 DNF 取代?

    由于 Yum 中许多长期存在的问题仍未得到解决,因此 Yum 包管理器已被 DNF 包管理器取代。

    编号DNF(Dandified YUM)YUM(Yellowdog Updater, Modified)
    1DNF 使用 libsolv 来解析依赖关系,由 SUSE 开发和维护YUM 使用公开的 API 来解析依赖关系
    2API 有完整的文档API 没有完整的文档
    3由 C、C++、Python 编写的只用 Python 编写
    4DNF 目前在 Fedora、RHEL 8、CentOS 8、OEL 8 和 Mageia 6/7 中使用YUM 目前在 RHEL 6/7、CentOS 6/7、OEL 6/7 中使用
    5DNF 支持各种扩展Yum 只支持基于 Python 的扩展
    6API 有良好的文档,因此很容易创建新的功能因为 API 没有正确的文档化,所以创建新功能非常困难
    7DNF 在同步存储库的元数据时,使用的内存较少在同步存储库的元数据时,YUM 使用了过多的内存
    8DNF 使用满足性算法来解决依赖关系解析(它是用字典的方法来存储和检索包和依赖信息)由于使用公开 API 的原因,Yum 依赖性解析变得迟钝
    9从内存使用量和版本库元数据的依赖性解析来看,性能都不错总的来说,在很多因素的影响下,表现不佳
    10DNF 更新:在 DNF 更新过程中,如果包中包含不相关的依赖,则不会更新YUM 将在没有验证的情况下更新软件包
    11如果启用的存储库没有响应,DNF 将跳过它,并继续使用可用的存储库处理事务如果有存储库不可用,YUM 会立即停止
    12dnf update 和 dnf upgrade 是等价的在 Yum 中则不同
    13安装包的依赖关系不更新Yum 为这种行为提供了一个选项
    14清理删除的包:当删除一个包时,DNF 会自动删除任何没有被用户明确安装的依赖包Yum 不会这样做
    15存储库缓存更新计划:默认情况下,系统启动后 10 分钟后,DNF 每小时会对配置的存储库检查一次更新。这个动作由系统定时器单元 dnf-makecache.timer 控制Yum 也会这样做
    16内核包不受 DNF 保护。不像 Yum,你可以删除所有的内核包,包括运行中的内核包Yum 不允许你删除运行中的内核
    17libsolv:用于解包和读取资源库。hawkey: 为 libsolv 提供简化的 C 和 Python API 库。librepo: 提供 C 和 Python(类似 libcURL)API 的库,用于下载 Linux 存储库元数据和软件包。libcomps: 是 yum.comps 库的替代品。它是用纯 C 语言编写的库,有 Python 2 和 Python 3 的绑定。Yum 不使用单独的库来执行这些功能
    18DNF 包含 29000 行代码Yum 包含 56000 行代码
    19DNF 由 Ales Kozumplik 开发YUM 由 Zdenek Pavlas、Jan Silhan 和团队成员开发

    dnf完全由Python 3写成,系统中可以不必Python 2和3共存,想当年CentOS6时代连把python2.6直接升级到2.7,yum都会完蛋。

    所以彻底告别yum吧!

    开启CentOS Stream仓库

    # 查看仓库是否有centos-release-stream仓库 
    dnf search centos-release-stream 
    # 安装centos-release-stream仓库 
    dnf install -y centos-release-stream

    可以使用下面命令列出所有仓库:

    dnf repolist 

    设置CentOS Stream仓库为默认

    使用dnf 的swap选项移除centos-linux-repos,并安装centos-stream-repos

    dnf swap centos-linux-repos centos-stream-repos


    将已安装的软件包同步到最新的可用版本

    dnf distro-sync

    完成后,CentOS 8将转换为CentOS Steam版本8。

    重启系统之后,默认启动CentOS Stream 8版本的啦!


    参考文章:

    Centos 8升级至Centos 8 Stream教程 https://www.bt.cn/bbs/thread-82931-1-1.html


    转载本站文章《CentOS 8升级到CentOS Stream 9》,
    请注明出处:https://www.zhoulujun.cn/html/OS/Linux/LinuxDevops/8805.html