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

简介:

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


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



本文来自云栖社区合作伙伴“Linux中国”

原文发布时间为:2013-04-02.



相关文章
|
关系型数据库 Linux 数据库连接
CentOS7下部署开源IT资产管理软件GLPI+FusionInventory
CentOS7下部署开源IT资产管理软件GLPI+FusionInventory
1678 0
CentOS7下部署开源IT资产管理软件GLPI+FusionInventory
|
4月前
|
关系型数据库 MySQL Java
centos7安装mysql教程及Navicat平替软件
【8月更文挑战第17天】本教程详述CentOS 7上安装MySQL的过程。首先确保移除任何预装的MySQL组件,然后通过wget获取并安装MySQL的YUM源。可以选择安装特定版本如5.7或8.0。安装MySQL服务器后,启动服务并查找初始密码。登录MySQL后应立即更改密码,并可根据需要设置远程访问权限。此外,还推荐使用免费开源的DBeaver作为数据库管理工具,提供了安装步骤以方便管理和操作MySQL数据库。
165 3
|
4月前
|
Linux
centos安装与卸载软件
centos安装与卸载软件
53 1
|
Linux
Centos查看已经安装的软件或者包
Centos查看已经安装的软件或者包
327 0
|
4月前
|
前端开发 小程序 Unix
Centos安装前端开发常用软件
Centos安装前端开发常用软件
|
5月前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
5月前
|
SQL 关系型数据库 MySQL
MYSQL8.0在CentOS安装[单机软件]
MYSQL8.0在CentOS安装[单机软件]
|
Linux Windows
Centos7安装wps办公软件
Centos7安装wps办公软件
186 0
|
Java 关系型数据库 MySQL
CentOS需要安装的JAVA环境的相关软件
【JDK 1.7】 https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR 选择 Java SE Development Kit 7u80 下面的 Accept License Agreement 然后点击 jdk-7u80-linux-x64.tar.gz 下载 【Tomcat 7】 http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0
|
前端开发 Java Linux
CentOS软件管理 - 编译安装
CentOS软件管理 - 编译安装
252 0