CentOS/RedLat软件安装的正确姿势 + Python3.8升级示例

  • Linux的软件包安装更新的首选?
  • 什么是EPEL?
  • 为什么需要EPEL?
  • 哪里获取最新的EPEL?
  • 示例:Linux (Redhat/CentOS) 上如何通过yum安装Pyton 3.8


Linux的软件包安装更新的首选?

Linux系统中会安装各种不同的软件,为了解决大家的日常安装问题,专门的软件包管理器Yum成了大家的不二选择。
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

使用 yum 安装软件包之前,需指定好 yum 下载 RPM 包的位置,此位置称为 yum 源。换句话说,yum 源指的就是软件安装包的来源;
使用 yum 安装软件时至少需要一个 yum 源。yum 源既可以使用网络 yum 源,也可以将本地光盘作为 yum 源,这里只介绍网络 yum 源配置;
一般情况下,只要你的主机网络正常,可以直接使用网络 yum 源,不需要对配置文件做任何修改;
网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为".repo"(只要扩展名为 ".repo" 的文件都是 yum 源的配置文件);
通常情况下Centos上CentOS-Base.repo 文件生效, Redhat上epel.repo和epel-testing.repo生效,额外再叠加使用CentOS软件包源。

什么是EPEL?

EPEL是英语词汇Extra Packages for Enterprise Linux的缩写。EPEL由Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目;
EPEL相当于一个第三方源。

为什么需要EPEL?

那是因为 CentOS 源包含的大多数的库都是比较旧的。并且,很多流行的库也不存在。EPEL 在其基础上不仅全,而且还够新。
EPEL 这两个优点,解决了很多人安装库的烦恼。

哪里获取最新的EPEL?

官方网站永远是我们的第一选择:https://docs.fedoraproject.org/en-US/epel/
因为网速的原因,国内的aliyun等镜像网站是很不错的选择。

示例:Linux (Redhat/CentOS) 上如何通过yum安装Pyton 3.8

要通过 yum 安装 Python 3.8 或更高版本,首先需要在系统上安装 EPEL (Extra Packages for Enterprise Linux) 软件库。这是一个由 Fedora 提供的开源软件库,包含许多常用的软件包,其中包括 Python。

  • 使用以下命令安装 EPEL 软件库
    如果未包含最新的EPEL包,参见前面的EPEL网址上获取并更新最新的包。
sudo yum install epel-release
  • 使用以下命令来搜索可用的 Python 版本:
yum search python3

此命令将列出所有可用的 Python 软件包,其中包括各种版本。要安装特定版本的 Python,请使用以下命令:

sudo yum install python38

替换 3.8 为您想要安装的 Python 版本。
请注意,如果您的系统中已经安装了 Python 2,安装 Python 3 后,仍可以使用 python 命令来访问 Python 2。要访问 Python 3,请使用 python3 命令。

  • 其他软件包选择:CentOS软件包集
    如果上面没有python3.8的包,可以注册CentOS软件包仓库
yum search centos-release-scl # 搜索centos-release-scl仓库
  centos-release-scl.noarch : Software collections from the CentOS SCLo SIG
  centos-release-scl-rh.noarch : Software collections from the CentOS SCLo SIG (upstream scl only)
  
yum install -y centos-release-scl # 仓库注册
 
yum install -y rh-python38 which # 安装python3.8
 
# 创建软连接
 
ln -s /opt/rh/rh-python38/root/usr/bin/python3 /usr/bin/python3
 
ln -s /opt/rh/rh-python38/root/usr/bin/pip3 /usr/bin/pip3
 
python3 -V # 确认版本