有什么方法可以永久启用 SCL?
我已经安装了rh-php56
,我想确保每次 ssh 到我的机器时都加载了它。
我目前正在运行 CentOS 7。
我最近发现了软件集合,并了解它们如何通过为每个集合引入命名空间来安装多个版本的软件。在企业 Linux 上,这很好,因为我将能够保持系统的常规稳定性,同时现在能够在更新某些版本的软件时轻松更新(不仅是安全更新,还有功能!)
我希望我系统的主网络服务器是 httpd 2.4。centos-sclo-rh
软件合集目前可用的版本是2.4.12,而可用的版本base
只有2.4.6。所以我从那个 SCL 安装了 httpd 并启用了它:
> scl enable httpd24-httpd bash
Run Code Online (Sandbox Code Playgroud)
然后使用 systemctl 启用并启动服务
> systemctl enable httpd24-httpd
> systemctl start http24-httpd
Run Code Online (Sandbox Code Playgroud)
所以我希望我的系统应该知道我现在安装了一个网络服务器。但是,当我尝试从 安装 phpmyadmin 时epel
,它仍然希望安装标准httpd
包base
作为依赖项。
查看 rpms 的一些机制,我刚刚了解到包可以在他们的规范文件中包含一个 Provides 行,列出虚拟包,例如webserver
httpd 的 src rpm 确实有一个 Provides: webserver 行。我猜httpd24-httpd
我从 SCL 获得的包没有那个描述符。
如何让我的系统识别httpd
从 SCL 提供的已安装和启用的webserver
虚拟包,以便它不想安装httpd
包base
来实现webserver
虚拟依赖?
我有一台相对较旧的服务器,上面装有 CentOS 6。默认的 gcc 是 4.4.7,但经过一番谷歌搜索后,我发现我可以通过devtoolset-7
. 我是devtoolset-7
通过root(即sudo -i
)安装的,安装没问题。
然后我就这么做了scl enable devtoolkit-7 bash
,但似乎没有任何作用。
[affan@abm-lab ~]$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[affan@abm-lab ~]$ scl enable devtoolset-7 bash
[affan@abm-lab ~]$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
Copyright …
Run Code Online (Sandbox Code Playgroud) 让我们开始说我已经在 Remi 博客上阅读了这个、这个和这个,因为它与这些存储库相关的问题。博客条目根本没有帮助我,或者我在这里遗漏了一些东西,但我不确定是什么。我将在下面公开我遵循的步骤,让我们看看我做错了什么。我计划将 PHP 5.6.x 和 PHP 7.0 安装为 SCL(因为我需要在两者上测试一些应用程序,并且由于某些 Wordpress 开发,我需要保持 PHP 5.6.x 支持)并且我将通过 SetHandler 使用 Apache 2.4.x所以下面是步骤:
安装软件集合工具:
yum install scl-utils
Run Code Online (Sandbox Code Playgroud)为您的系统下载带有存储库的软件包(在本例中为 httpd24)
wget http://www.softwarecollections.org/en/scls/rhscl/httpd24/epel-6-x86_64/download/rhscl-httpd24-epel-6-x86_64.noarch.rpm
Run Code Online (Sandbox Code Playgroud)安装 repo 包:
yum install rhscl-httpd24-epel-6-x86_64.noarch.rpm
Run Code Online (Sandbox Code Playgroud)安装集合:
yum install httpd24
Run Code Online (Sandbox Code Playgroud)开始使用软件集合:
scl enable httpd24 bash
Run Code Online (Sandbox Code Playgroud)启动 httpd24 服务(默认选项)
service httpd24-httpd start
Run Code Online (Sandbox Code Playgroud)将 PHP56 安装为 SCL:
yum install php56 php56-php-common php56-php-cli php56-php-fpm php56-php-gd php56-php-intl php56-php-mbstring php56-php-mcrypt php56-php-opcache php56-php-pdo php56-php-pear php56-php-pecl-apcu php56-php-imagick php56-php-pecl-xdebug php56-php-pgsql php56-php-xml php56-php-mysqlnd php56-php-pecl-jsonc php56-php-pecl-zip php56-php-process …
Run Code Online (Sandbox Code Playgroud)