gpt4 book ai didi

module - 这个包可以重新编译吗

转载 作者:行者123 更新时间:2023-12-04 18:53:29 29 4
gpt4 key购买 nike

您好,我向 super 用户提出了这个问题,但我没有得到很好的问题,我真的需要答案。我知道你们中的一些人可以回答这个问题。

我已经通过 yum 安装了 nginx。现在我想添加一个模块,但我必须再次编译源代码并包含新模块。

但我找不到来源。有人知道我必须做什么来重新编译源代码并获取模块。

Update



我在帕特里克的回答中做了所有事情,结果很好。但是,当我现在运行 yum update 时,它​​想用相同的版本更新已安装的 rpm。

我可以让它更新,还是应该指定它已经是最新的。

最佳答案

Redhat 和相关发行版(fedora、centos)将它们的源 rpm 保存在一个高度规则的目录树中。对于您想要的 RHEL5:ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/对于其他版本,您可以浏览 ftp 服务器,直到找到您想要的。否则,请搜索您拥有的 nginx 的确切版本(rpm -q nginx)

假设您可以找到 srpm,请使用 rpm 安装它:

rpm -ivh nginx-xxxx.src.rpm

这会将源代码和构建文件放入 /usr/src/redhat/{BUILD,SPEC,SRC,SOURCES} .您可以修改 .spec文件在 /usr/src/redhat/SPEC与 nginx 的其余部分一起构建您想要的模块,或者您可以手动构建 nginx。

您要构建哪个模块?在 fedora's nginx.spec , configure 时指定了几个模块正在运行。这可能就像在此处添加一行一样简单:
./configure \
[snip...]
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_perl_module \
[snip...]

在对 nginx.spec 添加任何更改后,你可以构建最终的 rpmrpmbuild :
rpmbuild -ba nginx.spec

假设包编译没有错误,rpmbuild 将把它留在 /usr/src/redhat/RPMS/
更新: yum 将希望在更新可用时替换您的 nginx 包。您可能希望使用与上述相同的过程来重建每个可用的新包。 但是,如果安全不是问题,您可以通过将以下内容添加到您的 yum 配置(可能是 /etc/yum.repos.d/${repo}.repo 或类似内容。 确保将其与正确的 repo 相关联)简单地从更新列表中排除 nginx:
exclude=nginx*

或者使用 --exclude 选项运行 yum
yum --exclude=nginx*

关于module - 这个包可以重新编译吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568784/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com