如何在 CentOS 上啟用 軟體集 Software Collections(SCL)
軟體集 (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
python33
SCL 的優點之一是安裝其中的包不會覆蓋任何系統文件,並且保證不會引起與系統中其它庫和應用的衝突。
例如,如果在安裝 python33 包後檢查默認的 python 版本,你會發現默認的版本並沒有改變:
$ python --version
Python 2.6.6
如果想使用一個已經安裝的 SCL 包,你需要在每個命令中使用 scl
命令顯式啟用它(LCTT 譯註:即想在哪條命令中使用 SCL 中的包,就得通過scl
命令執行該命令)
$ scl enable <scl-package-name> <command>
例如,要針對python
命令啟用 python33 包:
$ scl enable python33 'python --version'
Python 3.3.2
如果想在啟用 python33 包時執行多條命令,你可以像下面那樣創建一個啟用 SCL 的 bash 會話:
$ scl enable python33 bash
在這個 bash 會話中,默認的 python 會被切換為3.3版本,直到你輸入exit
,退出會話。
簡而言之,SCL 有幾分像 Python 的虛擬環境,但更通用,因為你可以為遠比 Python 更多的應用啟用/禁用 SCL 會話。
更詳細的 SCL 指南,參考官方的快速入門指南
via: http://xmodulo.com/enable-software-collections-centos.html
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive