pcr*_*nin 5 web-server yum packages centos7 scl
我最近发现了软件集合,并了解它们如何通过为每个集合引入命名空间来安装多个版本的软件。在企业 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
虚拟依赖?
根据 @Michael Hampton 的建议,我联系了 SCL 小组,因为它维护了该httpd24-httpd
软件包(以及许多其他软件包)。这是我从乔·奥顿那里得到的回复:
根据定义,SCL 预计不会在包级别与系统包兼容。正如您所发现的,依赖于“webserver”的软件包通常希望将配置文件放入 /etc/httpd/conf.d 中,但这不适用于 SCL httpd24。
理论上,您可以弥合需要“webserver”和httpd24的软件包之间的差距:拥有/etc/httpd/conf.d,在/opt/rh/.../conf.d/中放置一个文件,该文件有一个 IncludeOptional目录,并提供“webserver”。不确定我是否会推荐它,但应该可以进行一些黑客工作。
在这种特殊情况下,我更看重的是系统可维护性的便利性,而不是由于不需要同时安装httpd
和httpd24-httpd
安装而导致的较小的已安装软件占用空间;所以我安装了两者并且对此感到满意。如果您确实不想同时安装这两个软件包,那么 Joe 建议了您可以考虑的一种可能的方法。
归档时间: |
|
查看次数: |
3518 次 |
最近记录: |