本文将为你介绍如何在CentOS上启用软件集Software Collections(简称为SCL)的方法。
什么是SCL SCL(全称是Software Collections),它可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。SCL为社区的以下需求而设计:创建和使用软件集合生产系统、概念验证系统、开发测试平台。SCL目前已经支持Fedora和RHEL(衍生版本如CentOS也包含在内)。 SCL的创建就是为了给RHEL/CentOS用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。与之相对的是第三方源,它们可能会在已安装的包之间引起冲突。 现有软件选集: Ruby 2.4 PostgreSQL 9.6 MongoDB 3.4 MariaDB 10.2 nginx 1.12 PHP 7.1 NodeJS 8 Python 3.6 MySQL 5.7 Perl 5.24 更多软件集看这里。
安装SCL 在CentOS下访问SCL,需要安装CentOS Software Collections。它是CentOS Extras软件库的一部份,并可通过以下指命进行安装。 Centos 7平台: $ yum install centos-release-scl Centos 6平台: $ yum install centos-release-SCL 注意:Centos6和Centos7的包名是区分大小写的。 要启用和运行SCL中的应用,你还需要安装下列包 $ sudo yum install scl-utils scl-utils-build
SCL的设置及启用 SCL设置步骤非常简单。 1.SCL语法 运行:$ scl --help usage: scl <action> [<collection>...] <command> or: scl -l|--list [<collection>...] or: scl register <path> or: scl deregister <collection> [--force] Options: -l, --list list installed Software Collections or packages that belong to them -h, --help display this help and exit Actions: enable calls enable script from Software Collection(enables a Software Collection) <SCL script name> calls arbitrary script from a Software Collection 2.浏览可用的版本 $ yum list available | grep scl $ yum --disablerepo="*" --enablerepo="*scl*" list available 3.搜索SCL中的包 $ yum --disablerepo="*" --enablerepo="*scl*" search <keyword>
启用一个已经安装的SCL包 需要在每个命令中使用scl命令显式启用它(即想在哪条命令中使用SCL中的包,就得通过scl命令执行该命令) $ scl enable <scl-package-name> <command> 如果想在启用的包时执行多条命令,你可以像下面那样创建一个启用SCL的bash会话 $ scl enable <scl-package-name> bash
SCL使用实例 以要安装Python 3.5为例。 1.安装Python集合 $ yum install python35-* 2.查看从SCL中安装的包的列表 $ scl --list python35 在安装python35包后检查默认的python版本,你会发现默认的版本并没有改变。 $ python --version Python 3.5.1 SCL的优点之一就是安装其中的包不会覆盖任何系统文件,并且保证不会引起与系统中其它库和应用的冲突。
开始使用SCL 你可以使用以下三种方法来启用SCL。 1.运行一个命令 $ scl enable python35 ./hello.py 2.启动一个会话 $ scl enable python35 bash 3.以要安装Apache 2.4为例 安装Apache集合。 yum install httpd24* 4.启动一个服务器 $ chkconfig httpd24-httpd on $ /etc/init.d/httpd24-httpd start
相关主题 |