微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

module – 可以重新编译此包

你好我向超级用户问了这个问题,但我没有得到一个好问题,我真的需要答案.我知道你们中的一些人可以回答这个问题.

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

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

Update

我在帕特里克的答案中做了一切,效果很好.但是,当我运行yum update时,它想要使用相同的版本更新已安装的rpm.

我可以让它更新,或者我应该指定它已经是最新的.

解决方法:

Redhat和相关发行版(fedora,centos)将其源代码保存在高度规则的目录树中.对于您想要的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}中.您可以修改/usr/src / redhat / SPEC中的.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添加任何更改后,您可以使用rpmbuild构建最终rpm:

rpmbuild -ba Nginx.spec

假设包构建没有错误,rpmbuild将它留在/usr/src / redhat / RPMS /

更新:yum将在更新可用时替换您的Nginx包.您可能希望使用与上面相同的过程重建每个新包.但是,如果安全性不是问题,您可以通过在yum配置中添加以下内容(可能是/etc/yum.repos.d/${repo}.repo或类似内容)来简单地从更新列表中排除Nginx.请务必关联它与正确的回购):

exclude=Nginx*

或者使用–exclude选项运行yum

yum --exclude=Nginx*

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐