You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在el8/el9及更高版本系统中,如何获取python3、gcc、java等软件的新版本?

在RHEL/CentOS/Rocky Linux 8/9及更高版本中获取gcc、Python3、Java等软件的新版本

在EL7系统中,我们依赖Software Collections(SCL)来获取gcc、Python等软件的更新版本,但从EL8/EL9开始SCL已被弃用,取而代之的是AppStream模块化仓库和工具链集包,以下是具体获取各软件新版本的方法:

GCC 新版本

EL8/EL9通过gcc-toolset系列包提供更新版GCC,同时也支持独立版本包:

  • 安装指定版本的工具集(以GCC 12为例):
    dnf install -y gcc-toolset-12
    
  • 临时启用该版本(仅当前会话有效):
    scl enable gcc-toolset-12 bash
    
  • 永久启用:将启用脚本添加到用户环境配置中,比如编辑~/.bashrc,追加:
    source /opt/rh/gcc-toolset-12/enable
    
  • EL9还支持直接安装独立版本包,比如直接装GCC 12:
    dnf install -y gcc12
    
    之后可以通过gcc12、g++12命令直接调用新版本。

Python3 新版本

AppStream仓库提供了多版本Python的模块化支持,操作步骤如下:

  1. 查看可用的Python模块流:
    dnf module list python3
    
  2. 启用目标版本的流(以Python 3.11为例):
    dnf module enable -y python3:3.11
    
  3. 安装该版本Python:
    dnf install -y python3.11
    
  4. 设置为系统默认Python3(可选):
    # 添加备选路径
    alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
    # 交互式选择默认版本
    alternatives --config python3
    

如果需要同时管理多个Python版本,也可以使用pyenv工具,先安装依赖包:

dnf install -y gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

之后克隆pyenv仓库并配置环境变量,即可安装任意Python版本。

Java 新版本

Java同样通过AppStream模块管理,以OpenJDK为例:

  1. 查看可用的Java模块:
    dnf module list java
    
  2. 启用并安装目标版本(以OpenJDK 17为例):
    dnf module enable -y java:17 && dnf install -y java-17-openjdk java-17-openjdk-devel
    
  3. 切换默认Java版本:
    # 切换Java运行时
    alternatives --config java
    # 切换Java编译器
    alternatives --config javac
    

如果需要Oracle JDK或其他发行版JDK,可直接从官方下载压缩包,解压后配置JAVA_HOME和PATH环境变量即可。

内容的提问来源于stack exchange,提问作者Trevor Boyd Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 17:25:22