Linux系统下使用FPM制作RPM的详细操作方法
发布时间:2022-09-17 17:40:27
众所周知,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


猜你喜欢
- 要修改的注册表项如果路径深,需要层层打开。小编教大家一个快速定位注册表编辑某修改项的方法当需要修改Win10系统和软件的设置时,经常用到修改
- win10推出之后,用户都先后升级了win10系统。但是很多用户安装win10之后表示,点击开始菜单没有反应,点击任务栏上Edge图标和右下
- 很多使用win10系统的小伙伴点击鼠标右键打开新建的时候,发现没有nvidia控制面板,这是怎么一回事呢?其实不是什么大问题,把设置更改一下
- Win10纯净版exe文件打开不了怎么办?我们在使用电中的一些程序的时候经常都是直接运行exe文件,可是最新有小伙伴问我,我的Win10纯净
- Excel怎么制作销售报表汇报话术?相信不少销售员在每天工作结束之后都需要向上级汇报当日的销售情况汇报,而这些汇报内容一般不会很长,但是一定
- 想模仿的PPT页面效果。 这个页面整体有设计感,牛闪闪教教大家如何完全山寨制作。第一步,搞定背景图片与半透明效果。 首先插入一个高清大图能最
- Win10图标没了怎么恢复?近期有Win10用户的电脑一开机,就发现桌面的图标都不显示了,那么有没有什么方法可以恢复桌面图标呢?有遇到同样问
- 最近有win Xp系统用户反映,电脑使用的是IE8浏览器,但在IE8浏览器打开某些网页时,总会遇到崩溃或无响应的情况。这该怎么办呢?本文将提
- win10系统重置要多久时间?如果我们在使用win10操作系统的时候,想要通过重置系统来解决一些问题,那么对于win10系统重置要多久时间,
- Win10桌面和任务栏一直刷新怎么办?有不少用户发现自己的电脑经常会自动刷新桌面和任务栏,有一些文件夹窗口会被刷新没了,很影响使用,遇到这个
- 随着时间的推进,各个科技大佬的开发者大会纷至沓来。继微软开启Build 2017大会的参会注册之后,谷歌也公布了I/O 2017大会的举办时
- 工作中,设计计划方案的时候;学习中,毕业论文的设计等很多时候都需要我们添加目录,可是你会添加目录吗?今天,小编就教大家在Word中添加目录的
- 具体的解决办法如下,日期数据开始于A2单元格,将后面的B,C,D列分别命名为“年”、“月”、“日”。然后在B2中输入“=YEAR(A2)”,
- 设置无线连接为家庭网络,想必大家早想实现吧,本文的出现将为你解决困扰,需要工具:一台装有windows7的电脑,接下来看下操作步骤了,希望可
- 众所周知,windows8.1系统自带IE浏览器,但不少用户习惯使用Chrome浏览器,使用过程中难免遇到一些问题。最近有Win8.1 64
- 设置开始菜单电源按钮的功能在win8中貌似有很多朋友无从下手吧,本文艺图文的方式为大家讲解下在win8中菜单电源按钮功能的具体设置步骤,感兴
- Excel制作表头时经常需要画分割线进行分割,分割线具体该如何画呢?下面是由小编分享的excel2003画分割线的方法,以供大家阅读和学习。
- Excel中经常需要计算数据的净现值,利用函数具体该如何计算净现值呢?下面是小编带来的关于excel计算净现值函数的用法,希望阅读过后对你有
- 很多用户在使用app商店下载应用的时候会提示itunesstore目前无法处理您的购买请稍后重试,这种情况怎么解决呢?下面为大家带来itun
- cmd命令是一个非常神奇的操作指令,很多的小伙伴们都不知道如何在cmd命令中同时运行两个命令,今天小编就为大家带来了cmd命令同时运行两个命