原标题:"Linux系统下使用FPM制作RPM的详细操作方法"相关电脑问题教程分享。 - 来源:编程之家。
众所周知,Linux系统下想要制作RPM包,就必须使用FPM工具来完成。而FPM工具不仅能让RPM包制作变得更简单,还能帮助用户做一些收尾的工作。下面就来介绍一下Linux系统下使用FPM制作RPM的详细操作方法。
Linux系统
这里涉及的参数是:
--pre-install FILE:表示安装之前所要运行的脚本
--post-install FILE:表示安装之后所要运行的脚本
--pre-uninstall FILE:表示卸载之前所要运行的脚本
--post-uninstall FILE:表示卸载之后所要运行的脚本
1、fpm工具安装
# yum -y install ruby rubygems ruby-devel rpm-build
# gem sources -a http://ruby.taobao.org/
# gem sources -r https://rubygems.org/
# gem install fpm
2、打包luajit
# mkdir /tmp/luajit
# cd /usr/local/src
# wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
# tar xvzf LuaJIT-2.0.4.tar.gz
# cd LuaJIT-2.0.4
# make PREFIX=/usr
# make install PREFIX=/usr DESTDIR=/tmp/luajit
# fpm -s dir -t rpm -n LuaJIT -v 2.0.4 --iteration 1.el7 -C /tmp/luajit/ -p /root --description ‘luajit rpm package’ --url ‘http://luajit.org’
[page]
3、打包tengine
# mkdir /tmp/tengine
# cd /usr/local/src
# wget -O lua-Nginx-module-0.9.16.tar.gz https://codeload.github.com/openresty/lua-Nginx-module/tar.gz/v0.9.16
# tar xvzf lua-Nginx-module-0.9.16.tar.gz
# wget http://tengine.taobao.org/download/tengine-2.1.0.tar.gz
# tar xvzf tengine-2.1.0.tar.gz
# cd tengine-2.1.0
# 。/configure --prefix=/opt/share/Nginx
--sbin-path=/opt/sbin/Nginx
--conf-path=/opt/etc/Nginx/Nginx.conf
--error-log-path=/opt/log/Nginx/error.log
--http-log-path=/opt/log/Nginx/access.log
--user=Nginx
--group=Nginx
--http-client-body-temp-path=/opt/lib/Nginx/tmp/client_body
--http-proxy-temp-path=/opt/lib/Nginx/tmp/proxy
--http-uwsgi-temp-path=/opt/lib/Nginx/tmp/uwsgi
--pid-path=/opt/run/Nginx.pid
--lock-path=/opt/lock/subsys/Nginx
--with-http_ssl_module
--with-http_realip_module
--with-http_addition_module
--with-http_gzip_static_module
--with-http_gunzip_module
--with-http_secure_link_module
--with-http_stub_status_module
--with-http_sysguard_module
--with-file-aio
--add-module=。。/lua-Nginx-module-0.9.16
--with-cc-opt=‘-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security’
--with-ld-opt=‘-Wl,-Bsymbolic-functions -Wl,-z,relro’
# make
# make install DESTDIR=/tmp/tengine
# cd /tmp/tengine/opt
# mkdir -p lib/Nginx/tmp/{client_body,proxy,uwsgi}
# mkdir -p lock/subsys/Nginx
# cd /tmp/tengine
# mkdir etc/rc.d/init.d
# cp /etc/rc.d/init.d/Nginx etc/rc.d/init.d
# mkdir etc/logrotate.d
# cp /etc/logrotate.d/Nginx etc/logrotate.d
# mkdir tmp
安装之前所要运行的脚本
# vim tmp/install_before.sh
#!/bin/bash
[[ -n `ps aux|grep ngin[x]` ]] && killall -9 Nginx
[[ -e /opt/etc/Nginx ]] && cp -a /opt/etc/Nginx/ /opt/etc/Nginx_$(date +%F_%H-%M-%s)
[page]
安装之后所要运行的脚本
# vim tmp/install_after.sh
#!/bin/bash
[[ -n `getent group Nginx` ]] || groupadd -r Nginx
[[ -n `getent passwd Nginx` ]] || useradd Nginx -r -g Nginx -s /sbin/nologin
[[ -n `getent group www-data` ]] || groupadd -r www-data
[[ -n `getent passwd www-data` ]] || useradd www-data -r -g www-data -s /sbin/nologin
mkdir -p /data/log/Nginx
if [[ -e /var/log/Nginx ]]; then
if [[ -L /var/log/Nginx ]]; then
rm -f /var/log/Nginx && ln -s /data/log/Nginx /var/log/Nginx
else
mv /var/log/Nginx/* /data/log/Nginx/
rm -rf /var/log/Nginx && ln -s /data/log/Nginx /var/log/Nginx
fi
else
ln -s /data/log/Nginx /var/log/Nginx
fi
/opt/sbin/Nginx -c /opt/etc/Nginx/Nginx.conf
打包tengine
# chmod +x tmp/*.sh
# fpm -s dir -t rpm -n tengine -v 2.1.0 --iteration 1.waf.el7 -C /tmp/tengine/ -p /root --description ‘tengine rpm package’ --url ‘http://tengine.taobao.org’ --pre-install /tmp/tengine/tmp/install_before.sh --post-install /tmp/tengine/tmp/install_after.sh
rpm软件包信息查看
# rpm -qp --scripts /root/tengine-2.1.0-1.waf.ele.el7.x86_64.rpm
最终的安装步骤
# yum -y install pcre pcre-devel openssl openssl-devel
# rpm -Uvh LuaJIT-2.0.4-1.el7.x86_64.rpm
# rpm -Uvh tengine-2.1.0-1.waf.el7.x86_64.rpm
以上就是Linux系统下使用FPM制作RPM的详细操作方法
原文地址:https://www.jb51.cc/diannao/3740089.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。