基於FPM製作RPM包

2022-09-02 19:00:09 字數 2529 閱讀 7162

1、搭建epel  yum源

[root@localhost ~]# rpm -ivh epel-release-latest-7.noarch.rpm      //

安裝擴充套件源

[root@localhost yum.repos.d]# ls

a epel-release-latest-7.noarch.rpm epel-testing.repocentos-7.repoepel.repo

[root@localhost ~]# ls /etc/yum.repos.d/

backupcentos-base.repo  centos-media.repo  epel.repo  epel-testing.repo

修改epel.repo

[root@crushlinux yum.repos.d]# yum clean all && yum makecache  //清除並新建yum快取

2、安裝ruby環境和gem命令(gem命令是從rubygem倉庫安裝軟體,類似yum從yum倉庫安裝軟體)

安裝軟體包,安裝時要出現3個安裝的軟體

[root@localhost yum.repos.d]# yum -y install ruby rubygems ruby-devel

[root@localhost ~]# gem update --system //

公升級rubygems版本

[root@localhost ~]# gem install rubygems-update -v 2.3.0

//安裝新版本

[root@localhost ~]# gem update --system //

公升級[root@localhost ~]# gem sources -a http://

//新增國內源

//移除國外源

[root@localhost ~]# gem sources -l //

檢視當前源

[root@localhost ~]# gem install fpm //

安裝fpm工具

3、編譯nginx,在保證nginx安裝完的基礎上打包,檢視nginx的80埠

[root@localhost ~]# netstat -anpt | grep :80

//查詢nginx的介面

4、打包nginx包生成rpm包

指令碼

[root@localhost ~]# vim nginx.sh

#!/bin/bash

useradd -m -s /sbin/nologin nginx //

建立使用者

ln -s /usr/local/nginx/sbin/nginx/ /sbin //

設定軟連線

echo www.crushlinux.com > /usr/local/nginx/html/index.html //

在網頁檔案中寫入測試內容

/usr/local/nginx/sbin/nginx //

開啟nginx

打包時報錯,修改

[root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16.1 -d '

pcre-devel,zlib-devel

' -f --post-install /root/nginx.sh /usr/local/nginx/報錯資訊

need executable

'rpmbuild

' to convert dir to rpm

修改[root@localhost ~]# yum list |grep build

[root@localhost ~]# yum -y install rpm-build

[root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16.1 -d '

pcre-devel,zlib-devel

' -f --post-install /root/nginx.sh /usr/local/nginx/打包成功,在當前目錄下生成乙個rpm包

created package

5、安裝自己製作的軟體包,並檢視埠

[root@localhost ~]# rpm -ivh nginx-1.16.1-1.x86_64.rpm    //

安裝自己製作的包

[root@localhost ~]# netstat -anpt | grep 80

//檢視埠

利用fpm製作rpm包

使用fpm製作rpm包 安裝如下 製作rpm包,需要提前編譯好原始碼,這裡是將整個目錄打包成rpm包的 幫助資訊 n 生成的package名字 p 生成的package檔案輸出位置 v 生成的package版本 d,depends 生成的package依賴於什麼軟體,通常為 d name 或這 d ...

使用fpm命令製作rpm包並安裝

工作中有如下情況需要將檔案打包rpm 避免重複工作,將原始碼程式打包為rpm 使用yum發布專案,專案打包為rpm其他 以前打包rpm是乙個非常複雜的一件事情,自從有了fpm,打包rpm就和tar打包檔案一樣簡單 s 指定源型別 t 指定目標型別,即想要製作為什麼包 n 指定包的名字 v 指定包的版...

FPM定製RPM包實踐

問題 當領導給你 100 臺已經安裝好系統的伺服器,然後讓優化,讓你提出乙個快速部署方案。解答 1.tar 打包 先編譯安裝 打包 分發 解包 比如 mysql 打包後直接就可以使用 2.saltstack,puppet,ansible 3.定製 rpm yum 倉庫 yum 安裝 4.openst...