FPM制作rpm包-创新互联

#软件信息

成都地区优秀IDC服务器托管提供商(创新互联公司).为客户提供专业的成都电信服务器托管,四川各地服务器托管,成都电信服务器托管、多线服务器托管.托管咨询专线:13518219792

#FPM github :https://github.com/jordansissel/fpm

#FPM documentation :https://fpm.readthedocs.io/en/latest/

#FPM源类型与目标类型

Things that should work Sources: gem (even autodownloaded for you) python modules (autodownload for you) pear (also downloads for you) directories tar(.gz) archives rpm deb node packages (npm) pacman (ArchLinux) packages Targets: deb rpm solaris freebsd tar directories Mac OS X .pkg files (osxpkg) pacman (ArchLinux) packages

FPM常用参数:

-s   指定源类型

-t   指定目标类型

-n   指定包的名字

-v   指定包的版本号

-C   指定打包的相对路径

-d   指定依赖于哪些包

--url URI   给该包添加URL  (default: "http://example.com/no-uri-given")

-f     第二次包时目录下如果有同名安装包存在,则覆盖它;

-p    :制作的rpm安装包存放路径,不想放在当前目录下就需要指定;

--post-install FILE  软件包安装完成之后所要运行的脚本;

--pre-install FILE   软件包安装完成之前所要运行的脚本;

--post-uninstall FILE  软件包卸载完成之后所要运行的脚本;

--pre-uninstall FILE  软件包卸载完成之前所要运行的脚本;

--prefix:   制作好的rpm包默认安装路径;

--after-remove FILE      软件包卸载完成后要运行的脚本

--before-remove FILE      软件包卸载完成前要卸载的脚本

#安装FPM

[root@KVM_1 ~]# yum install -y ruby rubygems ruby-devel [root@KVM_1 ~]# gem sources --add http://gems.ruby-china.org/ --remove https://gems.ruby-china.org/ [root@KVM_1 ~]# gem sources -l *** CURRENT SOURCES *** http://gems.ruby-china.org/ [root@KVM_1 ~]# [root@KVM_1 ~]# gem install fpm [root@KVM_1 ~]# yum install -y rpm-build

#编译安装Nginx

[root@KVM_1 ~]# wget http://mirrors.sohu.com/nginx/nginx-1.13.0.tar.gz [root@KVM_1 ~]# tar -xf nginx-1.13.0.tar.gz  [root@KVM_1 ~]# cd nginx-1.13.0/ [root@KVM_1 nginx-1.13.0]# yum install -y pcre pcre-devel openssl openssl-devel gcc-c++ [root@KVM_1 nginx-1.13.0]# useradd -s /usr/sbin/nologin -M nginx [root@KVM_1 nginx-1.13.0]# ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx  --user=nginx --group=nginx [root@KVM_1 nginx-1.13.0]# make && make install [root@KVM_1 nginx-1.13.0]# cd [root@KVM_1 ~]# /usr/local/nginx/sbin/nginx  [root@KVM_1 ~]# curl -I 192.168.174.134 HTTP/1.1 200 OK Server: nginx/1.13.0 Date: Wed, 10 May 2017 19:52:20 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Wed, 10 May 2017 19:50:48 GMT Connection: keep-alive ETag: "59136f18-264" Accept-Ranges: bytes [root@KVM_1 ~]# /usr/local/nginx/sbin/nginx -s quit

#编写软件包安装后要执行的命令的脚本

[root@KVM_1 ~]# cat /root/nginx_init.sh  #!/bin/bash   useradd -s /sbin/nologin -M  nginx  echo '[Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target   [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true   [Install] WantedBy=multi-user.target ' > /usr/lib/systemd/system/nginx.service [root@KVM_1 ~]#chmod +x /root/nginx_init.sh

#打包rpm

[root@KVM_1 ~]# fpm -s dir -t rpm -n nginx -v 1.13.0 -d 'pcre,pcre-devel,openssl,openssl-devel' --post-install /root/nginx_init.sh -f /usr/local/nginx #参数解释 -s 源类型 此处为 目录 -t 目标类型 此处为 rpm -n 软件包名  此处为 nginx -v 版本号   此处为 1.13.0 -d 依赖包  此处为 pcre,pcre-devel,openssl,openssl-devel --post-install 安装软件包后要执行的脚本 此处为 /root/nginx_init.sh -f 强制覆盖 /usr/local/nginx 要被打包的目录 # #打包完成后会在当前目录生成 rpm包 [root@KVM_1 ~]# ls anaconda-ks.cfg  nginx-1.13.0.tar.gz   nginx_init.sh  nginx-1.13.0  nginx-1.13.0-1.x86_64.rpm

#测试

[root@KVM_1 ~]# hostname KVM_1 [root@KVM_1 ~]# scp nginx-1.13.0-1.x86_64.rpm 192.168.174.135:/media/ [root@KVM_1 ~]# ssh 192.168.174.135 [root@KVM_2 ~]# hostname KVM_2 #配置YUM源 [root@KVM_2  ~]# cat /etc/yum.repos.d/local.repo  [local] name=local baseurl=file:///media/ gpgcheck=0 enabled=1 [root@KVM_2 ~]# mount /dev/cdrom /mnt/ [root@KVM_2 ~]# cp /mnt/* /media/ [root@KVM_2 ~]# cd /media/ #更新YUM仓库 [root@KVM_2 media]# createrepo -v ./ [root@KVM_2 media]# yum makecache [root@KVM_2 media]# yum list | grep nginx nginx.x86_64                               1.13.0-1                    local    pcp-pmda-nginx.x86_64                      3.10.6-2.el7                local     #安装nginx [root@KVM_2 media]# yum install -y nginx [root@KVM_2 media]# systemctl start nginx [root@KVM_2 media]# systemctl status nginx ● nginx.service - nginx - high performance web server    Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)    Active: active (running) since Thu 2017-05-11 04:00:07 CST; 12s ago      Docs: http://nginx.org/en/docs/   Process: 4681 ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS)   Process: 4679 ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS)  Main PID: 4684 (nginx)    CGroup: /system.slice/nginx.service            ├─4684 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf            └─4685 nginx: worker process May 11 04:00:07 KVM_2 systemd[1]: Starting nginx - high performance web server... May 11 04:00:07 KVM_2 nginx[4679]: nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok May 11 04:00:07 KVM_2 nginx[4679]: nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful May 11 04:00:07 KVM_2 systemd[1]: Started nginx - high performance web server. [root@KVM_2 media]# netstat -lntup | grep 80 tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4684/nginx: master   [root@KVM_2 media]# curl -I 192.168.174.135 HTTP/1.1 200 OK Server: nginx/1.13.0 Date: Wed, 10 May 2017 20:01:14 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Wed, 10 May 2017 20:14:24 GMT Connection: keep-alive ETag: "591374a0-264" Accept-Ranges: bytes

#至此nginx FPM 打包完成

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

当前标题:FPM制作rpm包-创新互联
当前网址:https://www.cdcxhl.com/article22/dpigcc.html

成都网站建设公司_创新互联,为您提供网站改版微信公众号用户体验外贸网站建设云服务器网站内链

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设