Linux系统下使用FPM制作RPM的详细操作方法(图)

原标题:"Linux系统下使用FPM制作RPM的详细操作方法"相关电脑问题教程分享。 - 来源:WiFi之家网。众所周知,Linux系统下想要制作RPM包,就必须使用FPM工具来完成。而FPM工具不仅能

亲,以下就是关于(Linux系统下使用FPM制作RPM的详细操作方法(图)),由“WiFi之家网”整理!

Linux系统下使用FPM制作RPM的详细操作方法(图)

原标题:"Linux系统下使用FPM制作RPM的详细操作方法"相关电脑问题教程分享。 - 来源:WiFi之家网。

  众所周知,Linux系统下想要制作RPM包,就必须使用FPM工具来完成。而FPM工具不仅能让RPM包制作变得更简单,还能帮助用户做一些收尾的工作。下面就来介绍一下Linux系统下使用FPM制作RPM的详细操作方法。

Linux系统

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的详细操作方法

以上就是关于-常见问题-(Linux系统下使用FPM制作RPM的详细操作方法(图))的教程!

原创文章,作者:常见问题,如若转载,请注明出处:https://www.224m.com/115445.html

(0)
常见问题常见问题
上一篇 2021年7月27日 02:24
下一篇 2021年7月27日 02:32

相关推荐

  • U盘装Win7出现错误提示解决方法大全

    原标题:"U盘装Win7出现15种错误提示的解决方案"相关电脑问题教程分享。 - 来源:WiFi之家网。现在,很多网友都喜欢使用U盘来安装电脑系统,而在安装系统的过程中,会发生这样那样的问题,不知有没有

    2021年8月14日
  • 微信小程序使用教程

    原标题:"微信小程序是什么 小程序有什么用"相关电脑问题教程分享。 - 来源:WiFi之家网。微信,作为目前国内乃至世界最成功的社交工具之一,订阅号便是一场地震,开启了人人都是媒体人的自媒体时代,而微信

    2021年8月13日
  • 程序闪退解决方法

    【导读】程序闪退是什么原因,下面就是WiFi之家网整理的网络知识百科,来看看吧!大家好,我是191路由器网小编,上述问题将由我为大家讲解。程序闪退的原因是缓存垃圾过多。  程序是计算机的一组指令,经过编

    2021年7月28日
  • web和internet的区别(图文)

    【导读】web和internet的区别,下面就是WiFi之家网整理的网络知识百科,来看看吧!大家好,我是191路由器网小编,上述问题将由我为大家讲解。以网络为例,web和internet的区别如下:  

    2021年8月14日
  • 两台无线路由器怎么连接设置增加wifi覆盖范围

    两台无线路由器怎么连接设置让WiFi的覆盖范围更广呢?目前多台无线路由器连接方法分三种:一、WAN接法;二、LAN接法;三、桥接。一、WAN接法(推荐)用网线连接A路由器LAN口(1到4随便一个口)

    2020年5月29日
  • Win10应用商店0x80072EFD错误代码解决方法

    原标题:"Win10系统应用商店提示0x80072EFD错误代码怎么解决"关于电脑问题教程分享。 - 来源:WiFi之家网。Win10应用商店打不开提示错误代码0x80072EFD怎么办?不少人都会遇到

    2021年6月24日
  • Win7开机慢 win7电脑开机慢解决方法(图)

    原标题:"Win7开机慢 win7电脑开机慢如何解决"相关电脑问题教程分享。 - 来源:WiFi之家网。很多用户发现,win7系统用久之后,电脑的开机速度就越来越慢,有没有什么方法可以改善电脑的开机速度

    2021年8月9日
  • 无法连接到网络解决方法

    【导读】无法连接到网络,下面就是WiFi之家网整理的网络知识百科,来看看吧!大家好,我是191路由器网小编,上述问题将由我为大家讲解。无法连接到网络的解决方法是:  1、点击桌面右下角的网络图标,选择“

    2021年7月11日
  • tplogin.cn打不开解决办法 http://tplogin.cn官网

    原标题:"tplogin.cn打不开解决办法"的相关melogincn路由器设置教程资料分享。- 来源:WiFi之家网。TP-Link TL-WDR7500路由器端口转发(虚拟服务器)设置导读:TP-L

    2021年7月29日
  • ips和防火墙的区别(图文)

    【导读】ips和防火墙的区别,下面就是WiFi之家网整理的网络知识百科,来看看吧!大家好,我是191路由器网小编,上述问题将由我为大家讲解。防火墙即ids,其ips和防火墙的区别在于:  1、概念不同;

    2021年7月17日