当前位置: 首页 > 科技观察

如何在CentOS上启用软件集合SoftwareCollections(SCL)_0

时间:2023-03-14 12:20:05 科技观察

RedHatEnterpriseLinux(RHEL)及其社区版分支——CentOS,提供10年的生命周期,也就是说每个版本的RHEL/CentOS安全更新将提供长达10年。虽然如此长的生命周期为企业用户提供了急需的系统兼容性和可靠性,但也有一个缺点:随着底层RHEL/CentOS版本接近生命周期结束,核心应用程序和运行时环境变得陈旧过时。例如,CentOS6.5的生命周期结束日期是2020年11月30日,它搭载的Python2.6.6和MySQL5.1.73以今天的标准来看已经非常古老了。  另一方面,尝试在RHEL/CentOS上手动升级开发工具链和运行时环境有可能导致系统崩溃,除非所有依赖项都得到妥善解决。一般来说,除非您知道自己在做什么,否则不建议手动升级。  SoftwareCollections(SCL)源的出现是为了帮助解决RHEL/CentOS下的这个问题。创建SCL的目的是为RHEL/CentOS用户提供一种轻松安全地安装和使用多个(可能更新的)应用程序和运行时环境版本的方法,同时避免使系统混乱。反之就是第三方源,会造成安装包之间的冲突。  ****的SCL提供:  Python3.3和2.7  PHP5.4  Node.js0.10  Ruby1.9.3  Perl5.16.3  ◆MariaDB和MySQL5.5  ◆Apachehttpd2.4.6  在本教程的其余部分,我将展示如何配置SCL源,以及如何在SCL中安装和启用包。  配置SCL源  SCL适用于CentOS6.5及更新版本。要配置SCL源,只需执行:$sudoyuminstallcentos-release-SCL  要在SCL中启用和运行应用程序,您还需要安装以下软件包:$sudoyuminstallscl-utils-build  要查看SCL中可用软件包的完整列表,请执行以下命令:$yum--disablerepo="*"--enablerepo="scl"listavailable要从SCL安装和启用软件包  现在您已经配置了SCL,你可以你可以继续并从SCL安装软件包。  您可以在SCL中搜索软件包:$yum--disablerepo="*"--enablerepo="scl"listavailable  我们假设您要安装Python3.3。  继续使用yum安装,就像通常安装软件包一样:$sudoyuminstallpython33  任何时候您可以查看从SCL安装的软件包列表,只需执行:$scl--listpython33  SCL的优点之一是从它安装包不会覆盖任何系统文件,并且保证不会与系统上的其他库和应用程序发生冲突。  比如安装完python33包后查看默认的python版本,会发现默认版本没有变化:$python--versionPython2.6.6  在每条命令中使用scl命令显式启用it(LCTT译注:即如果你想在哪个命令中使用SCL中的package,你必须通过scl命令执行该命令)$sclenable  例如,为python命令启用python33包:$sclenablepython33'python--version'  Python3.3.2  如果你想在启用python33包的同时执行多个命令,你可以像这样创建一个SCL-enablebashsession:$sclenablepython33bash  在这个bash会话中,默认的python将切换到3.3版本,直到您键入exit退出会话。  简而言之,SCL有点像Python的虚拟环境,但更通用,因为您可以为比Python更多的应用程序启用/禁用SCL会话。