fpm的github:
1.支援的源型別包:
dir: 將目錄打包成所需要的型別,可以用於原始碼編譯安裝的軟體包
rpm: 對rpm進行轉換
gem: 對rubygem包進行轉換
python: 將python模組打包成相應的型別
yum install -y gcc
yum -y install ruby rubygems ruby-devel rpm-build
gem sources -a
gem sources --remove
gem sources --remove
#fpm 是 ruby寫的,因此系統環境需要ruby,且版本必須大於1.8.5
2.檢視當前ruby源:
root># gem sources -l
*** current sources ***
3.安裝fpm工具:
# 安裝fpm,gem從rubygem倉庫安裝軟體類似yum從yum倉庫安裝軟體。首先安裝低版本的json,高版本的json需要ruby2.0以上,然後安裝低版本的fpm,夠用。
gem install json -v 1.8.3
gem install fpm -v 1.3.3
gpg2 --keyserver hkp: --recv-keys d39dc0e3
curl -l get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
rvm install 1.9.3
# 上面的2步安裝僅適合centos6系統,centos7系統直接使用gem install fpm一步搞定。
4.fpm常用引數:
-s:指定源型別
-t:指定目標型別,即想要製作為什麼包
-n:指定包的名字
-v:指定包的版本號
-c:指定打包的相對路徑
-d:指定依賴於哪些包
-f:第二次包時目錄下如果有同名安裝包存在,則覆蓋它
-p:輸出的安裝包的目錄,不想放在當前目錄下就需要指定
--post-install:軟體包安裝完成之後所要執行的指令碼;同--offer-install
--pre-install:軟體包安裝完成之前所要執行的指令碼;同--before-install
--post-uninstall:軟體包解除安裝完成之後所要執行的指令碼;同--offer-remove
--pre-uninstall:軟體包解除安裝完成之前所要執行的指令碼;同—before-remove
5.定製nginx的rpm包例項
1、在打包機器上先安裝一次nginx
yum -y install pcre-developenssl-devel
useradd nginx -m -s /sbin/nologin
tar xf nginx-1.8.0.tar.gz
cd nginx-1.8.0
make && make install
2、編寫指令碼
mkdir /server/scripts/ -p軟體包解除安裝前、解除安裝後的指令碼,可以根據情況是否編寫,不編寫問題也不大。但是rpm安裝後的指令碼是必須的。cd /server/scripts/
vim nginx_post_install.sh #編寫乙個rpm安裝後需要執行的指令碼
參考文件
centos 6推薦使用epel源
centos 6推薦使用epel源 憂零的部落格 51cto技術部落格 centos 6推薦使用epel源 2011 10 26 18 36 56 標籤 yum centos 6 在dell r410上面裝的是centos6,64的作業系統,用的163的源,我一直都是用163的源,比較快。但是我發現...
centos 6推薦使用epel源
在dell r410上面裝的是centos6,64的作業系統,用的163的源,我一直都是用163的源,比較快。但是我發現這個源裡面,根本沒有 libmcrypt libmcrypt devel這二個包,裝php擴充套件mcrypt時,又要用到這二個包,所以我手動裝了libmcrypt包,但是給我的感...
CentOS 6啟動流程
載入bios的硬體資訊,獲取第乙個啟動裝置 讀取第乙個啟動裝置mbr的引導引導程式 grub 的啟動資訊 載入核心作業系統的核心資訊,核心開始解壓縮,並嘗試驅動所有的硬體裝置 核心執行init程式,並獲取預設的執行資訊 init程式執行 etc rc.d rc.sysinit檔案,重新掛載根檔案系統...