红帽企业版 linux(RHEL)和它的社区版分支——CentOS,提供10年的生命周期,这意味着 RHEL/CentOS 的每个版本会提供长达10年的安全更新。虽然这么长的生命周期为企业用户提供了迫切需要的系统兼容性和可靠性,但也存在一个缺点:随着底层的 RHEL/CentOS 版本接近生命周期的结束,核心应用和运行时环境变得陈旧过时。例如 CentOS 6.5,它的生命周期结束时间是2020年11月30日,其所携带的 Python 2.6.6和 MySQL 5.1.73,以今天的标准来看已经非常古老了。

另一方面,在 RHEL/CentOS 上试图手动升级开发工具链和运行时环境存在使系统崩溃的潜在可能,除非所有依赖都被正确解决。通常情况下,手动升级都是不推荐的,除非你知道你在干什么。

SCL

软件集Software Collections(SCL)源出现了,以帮助解决 RHEL/CentOS 下的这种问题。SCL 的创建就是为了给 RHEL/CentOS 用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。与之相对的是第三方源,它们可能会在已安装的包之间引起冲突。

最新的 SCL 提供了:

  • Python 3.3 和 2.7
  • PHP 5.4
  • Node.js 0.10
  • Ruby 1.9.3
  • Perl 5.16.3
  • MariaDB 和 MySQL 5.5
  • Apache httpd 2.4.6

在这篇教程的剩余部分,我会展示一下如何配置 SCL 源,以及如何安装和启用 SCL 中的包。

配置 SCL 源

SCL 可用于 CentOS 6.5 及更新的版本。要配置 SCL 源,只需执行:

  1. $ sudo yum install centos-release-SCL

要启用和运行 SCL 中的应用,你还需要安装下列包:

  1. $ sudo yum install scl-utils-build

执行下面的命令可以查看 SCL 中可用包的完整列表:

  1. $ yum --disablerepo="*" --enablerepo="scl" list available

从 SCL 中安装和启用包

既然你已配置好了 SCL,你可以继续并从 SCL 中安装包了。

你可以搜索 SCL 中的包:

  1. $ yum --disablerepo="*" --enablerepo="scl" search <keyword>

我们假设你要安装 Python 3.3。

继续,就像通常安装包那样使用 yum 安装:

  1. $ sudo yum install python33

任何时候你都可以查看从 SCL 中安装的包的列表,只需执行:

  1. $ scl --list
  2. python33

SCL 的优点之一是安装其中的包不会覆盖任何系统文件,并且保证不会引起与系统中其它库和应用的冲突。

例如,如果在安装 python33 包后检查默认的 python 版本,你会发现默认的版本并没有改变:

  1. $ python --version
  2. Python 2.6.6

如果想使用一个已经安装的 SCL 包,你需要在每个命令中使用 scl 命令显式启用它(LCTT 译注:即想在哪条命令中使用 SCL 中的包,就得通过scl命令执行该命令)

  1. $ scl enable <scl-package-name> <command>

例如,要针对python命令启用 python33 包:

  1. $ scl enable python33 'python --version'
  2. Python 3.3.2

如果想在启用 python33 包时执行多条命令,你可以像下面那样创建一个启用 SCL 的 bash 会话:

  1. $ scl enable python33 bash

在这个 bash 会话中,默认的 python 会被切换为3.3版本,直到你输入exit,退出会话。

简而言之,SCL 有几分像 Python 的虚拟环境,但更通用,因为你可以为远比 Python 更多的应用启用/禁用 SCL 会话。

如何在 CentOS 上启用 软件集 Software Collections(SCL)相关推荐

  1. 如何在CentOS上创建Kubernetes集群

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由编程男孩 发表于云+社区专栏 介绍 Kubernetes(常简称为K8s)是用于自动部署.扩展和管理容器化(containerized ...

  2. 如何在CentOS上设置MariaDB Galera Cluster 10.0

     原作者:Jijo 转载:https://www.unixmen.com/setup-mariadb-galera-cluster-10-0-centos/ 如何在CentOS上设置MariaDB G ...

  3. Linux怎么安装ca证书,如何在CentOS上安装自定义CA证书?

    我正在尝试在一系列CentOS系统上为我的内部证书服务器安装证书,而且我发现这方面的文档几乎不存在. 我的最终目标是能够在没有错误的情况下对内部安全服务器使用git,curl和其他服务器. 在Ubun ...

  4. linux安装2048游戏,如何在CentOS上安装一个2048小游戏

    如何在centos上安装一个2048小游戏 最近在学习CentOS系统,就琢磨着玩点什么,然后我看到有人在玩2048小游戏,所有我就在想,为啥不装一个2048小游戏搞一下嘞,于是乎,我就开始工作啦 由 ...

  5. 在CentOS上安装ZooKeeper集群

    一共准备3个CentOS虚拟机 172.16.9.194 172.16.9.195 172.16.9.196 上传zookeeper-3.3.6.tar.gz到服务器并解压,3台服务器的目录结构如下 ...

  6. 如何在 Mac 上启用 root 用户或更改 root 密码

    如何在 Mac 上启用 root 用户或更改 root 密码 完成某些任务需要系统更多区域的访问权限,Mac 管理员可以使用 root 用户帐户来完成这些任务. 名为"root"的 ...

  7. 如何在Mac上卸载软件?用这三种方法简单、干净、快速

    Mac电脑如果有太多无用的应用程序,很有可能会拖垮Mac系统的运行速度.因此,卸载电脑中无用的软件是优化Mac系统运行速度的最佳方式之一.本次,小编为大家带来了在Mac上卸载软件的几个方法,有需要的就 ...

  8. 如何在Ubuntu和CentOS上启用Nginx的HTTP/2 协议支持

    HTTP/2 是 HTTP 网络协议的主要修订版本,其专注于 HTTP 协议的性能改进.HTTP/2 协议的目标是减少延迟,并且允许在 Web 浏览器和服务器之间的一个连接上并行发起多个请求,因此 W ...

  9. 如何在 Ubuntu 和 CentOS 上启用 Nginx 的 HTTP/2 协议支持

    HTTP/2 是 HTTP 网络协议的主要修订版本,其专注于 HTTP 协议的性能改进.HTTP/2 协议的目标是减少延迟,并且允许在 Web 浏览器和服务器之间的一个连接上并行发起多个请求,因此 W ...

最新文章

  1. 文远知行核武器曝光:无人车量产都靠它
  2. Windows 8.1 PLSQL_32连接到RHEL6.1 Oracle10gr2_64
  3. 阿里P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程
  4. Magento 头部的演示信息去除
  5. mysql 快速入门_MySql快速入门
  6. java读取csv文件_使用扫描仪读取Java中的CSV文件
  7. 手机触摸pass测试软件,PASS——功效分析和样本量计算软件
  8. SAP BW学习之基础操作篇
  9. openg es egl笔记
  10. 深度学习——如何去除警告
  11. 如何把图片制作做成GIF表情包?分享在线快速制作GIF图片的方法
  12. windows 配置中科大的 Rust 下载云,提高下载速度
  13. 爬虫小练习:堆糖图片抓取--爬虫正式学习day1
  14. Threejs实现酷炫3D地球技术点汇总
  15. 怎么优雅的介绍自己的项目?
  16. 网络硬件常识:光模块
  17. 【观察】打造智能决策“新引擎”,杉数科技勇闯“无人区”
  18. StringUtils常用方法(五)
  19. [北力电子] 无人机4G图传数传一体 pixhawk mavlink GSLINK 720P
  20. 【等保】等保测评中双因素认证是什么意思?等于双因子认证吗?

热门文章

  1. mysql 5.7 存储引擎_mysql5.7——innodb存储引擎总结
  2. python的全称_python名称空间介绍
  3. 怎么用linux的HDD存储,Linux学习的正确姿势12:Linux存储概览
  4. python requests 接口测试_python+requests接口测试基础
  5. 我的世界服务器伤害增加bug,我的世界服务器BUG解决办法大全
  6. 圆头像 微信小程序 绘图_小程序canvas绘制圆形微信头像
  7. 阿里云盘又送福利啦?空间大时间长,不要犹豫快上车!
  8. Facebook 宣布改名为Meta,未来重点开发元宇宙!
  9. 支持Dubbo接口文档生成的工具!
  10. 一语点破 Java 中的静态 static 关键字