文档章节

如何在 CentOS 上启用 软件集 Software Collections(SCL)

健康的程序员
 健康的程序员
发布于 2017/08/31 09:37
字数 900
阅读 3
收藏 0

背景

红帽企业版 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

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 源,只需执行:

$ sudo yum install centos-release-SCL

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

$ sudo yum install scl-utils-build

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

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

从 SCL 中安装和启用包

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

你可以搜索 SCL 中的包:

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

我们假设你要安装 Python 3.3。

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

$ sudo yum install python33

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

$ scl --list

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

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

$ python --version

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

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

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

$ scl enable python33 'python --version'

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

$ scl enable python33 bash

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

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

更详细的 SCL 指南,参考官方的快速入门指南

本文转载自:https://linux.cn/article-6776-1.html

共有 人打赏支持
健康的程序员
粉丝 7
博文 170
码字总数 47593
作品 0
杭州
程序员
私信 提问
软件集Software Collections

一、SCL 1、SCL是什么 SCL项目主页:https://www.softwarecollections.org/ SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。 ...

xiexiaojun
2017/06/12
0
0
CentOS上最佳的第三方仓库

CentOS上最佳的第三方仓库 Software Collections 为 CentOS 设立了专门的仓库,安装和管理都和其它第三方仓库一样。但如果你用的是 RHEL 的,情况就有点不同了,具体请参考 RHEL 的解决方法。...

飞奔的骆驼
2017/06/26
0
0
CentOS 6.7 发布,全面支持 LVM 高速缓冲

CentOS 6.7 发布,CentOS 是一个企业级的 Linux 发行版本,它源于 Red Hat 免费公开的源代码。 CentOS 完全遵守 Red Hat 的再发行政策,并且以功能上的兼容性为目标。CentOS 对组件的修改主要...

oschina
2015/08/07
18.6K
27
易宝典文章——玩转Office 365中的Exchange Online服务 之二十四 配置垃圾邮件筛选器反垃圾邮件

如果希望实现基于发件人邮件地址,或者需要拒绝某个域的邮件,可以通过Exchange Online提供的垃圾邮件筛选器策略来解决。垃圾邮件筛选器策略除了能够实现上述的黑名单筛选外,还支持白名单筛...

liulike
2016/06/29
0
0
易宝典文章——玩转Office 365中的Exchange Online服务 之二十六 根据文本内容筛选群发邮件

根据实际情况,在企业中常常需要针对一些特定内容的邮件进行过滤,而这些邮件的匹配规则有和Exchange Online的默认内容筛选不符。比如:用户常常反映收到一些带有“订阅”或“退订”等词汇的...

liulike
2016/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

生物智能与AI——关乎创造、关乎理解(上)

摘要: 原来人工智能跟人类智能有那么深的联系! 几百万年前,第一次人类智能的星火出现在非洲大陆,并且持续发展,最终在大约10万年前在智人的大脑中达到顶峰。作为现代人类,我们只能想象我...

阿里云官方博客
6分钟前
0
0
MiniUi系列 详情逻辑

row是获取的行的数据,通过id去查看对应id的详情,所有数据是在datagrid加载完后的,比如有5条,我可以选中某一条,我也可以把获取到的数据直接传到详情页面,仅就是追加row.xx,row.xx,这样就...

architect刘源源
7分钟前
0
0
android adb实用命令小结

adb的全称为Android Debug Bridge.是android司机经常用到的工具.但是问题是那么多命令写代码已经够费劲了,过段时间在次使用时压根记不住呀.本次的大餐就是为此开篇的.这一次我们不记命令.要用...

天王盖地虎626
12分钟前
0
0
vagrant 虚拟机 磁盘100%解决

在日常开发中,我使用vagrant+VirtualBox搭建开发环境 docker+docker-compose搭建了php+nginx+redis+mysql+ELK(Elasticsearch+Kibana+Logstash+php)+phpredisadmin 但是搭建了环境之后发现磁...

DamienChen
17分钟前
0
0
详解如何用爬虫批量抓取百度搜索多个关键字数据

本文介绍如何使用软件的流程图模式,免费采集百度搜索多个关键字的信息数据。 软件下载网址:www.houyicaiji.com 采集结果预览: 下面我们来详细介绍一下如何使用流程图模式,采集在百度输入...

技术阿飞
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部