您好,登錄后才能下訂單哦!
我的環境是centos7.2的
一、安裝FPM工具
yum -y install ruby rubygems ruby-devel
gem sources list 查看gem包管理源倉庫地址
gem sources -a http://mirrors.aliyun.com/rubygems/ 添加aliyun 倉庫地址
gem sources --remove https://rubygems.org/ 移出國外gem包管理源倉庫地址
安裝fpm
gem install fpm
安裝如遇以下問題,請看以下內容
ERROR: Error installing fpm:
ruby-xz requires Ruby version >= 1.9.3
解決方法:
1.更新ruby
2: 安裝舊版本的fpm(建議采用)
gem install fpm -v 1.4.0 指定版本安裝
二、源碼包編譯安裝
./configure --prefix=/opt/zabbix --enable-agent
make && make install
三、啟動腳本修改及定制
創建定制目錄
mkdir /opt/zabbix/{logs,pid}
復制啟動腳本
cp /opt/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_agentd /opt/zabbix/bin/
修改啟動腳本路徑
vim /opt/zabbix/bin/zabbix_agentd
BASEDIR=/opt/zabbix
修改配置文件
vim /opt/zabbix/etc/zabbix_agentd.conf
grep -v ^# /opt/zabbix/etc/zabbix_agentd.conf| grep -v ^$
PidFile=/opt/zabbix/pid/zabbix_agentd.pid
LogFile=/opt/zabbix/logs/zabbix-agent.log
Server=127.0.0.1
StartAgents=5
ServerActive=127.0.0.1
Hostname=Zabbix server
HostMetadata=Linux
RefreshActiveChecks=60
BufferSend=10
BufferSize=1000
MaxLinesPerSecond=200
Timeout=15
UnsafeUserParameters=1
Include=/opt/zabbix/etc/zabbix_agentd.conf.d/*.conf
四、創建安裝前腳本及卸載前腳本
1、創建安裝前腳本
cat /opt/zabbix/install
#!/usr/bin/bash
useradd zabbix -s /sbin/nologin
chown -R zabbix:zabbix /opt/zabbix
\cp /opt/zabbix/bin/zabbix-agent.service /usr/lib/systemd/system/zabbix-agent.service
chmod +x /opt/zabbix/sbin/zabbix_agentd
systemctl enable zabbix-agent
sed -i "s/^Hostname=Zabbix agent/Hostname=`hostname`/g" /opt/zabbix-agent/etc/zabbix_agentd.conf
2、卸載前腳本
#!/usr/bin/bash
pkill -9 zabbix_agentd
userdel -r zabbix
groupdel zabbix
systemctl disable zabbix-agent
rm -rf /usr/lib/systemd/system/zabbix-agent.service
rm -rf /opt/zabbix
3、把官方zabbix中的rpm包zabbix-agent.service提取出來,然后改成自己的需求即可。
rpm2cpio zabbix-agent-3.2.6-1.x86_64.rpm | cpio -div ###解壓rpm包命令方法。
cat zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/opt/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/opt/zabbix/pid/zabbix_agentd.pid
KillMode=control-group
ExecStart=/opt/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
五、打成RPM包
命令:
fpm -f -s dir -t rpm -n zabbix-agent --epoch 0 -v 3.2.6 -C / -p /tmp/ --verbose --category 'Applications/Internet' --description 'Zabbix Agent' --url 'http://www.zabbix.com/' --license 'BSD' -m 'zabbix' --post-install /opt/zabbix/install --post-uninstall /opt/zabbix/remove --no-rpm-sign /opt/zabbix
文件在/tmp目錄下
六、測試安裝及卸載,驗證。
yum localinstall zabbix-agent-3.2.6-1.x86_64.rpm -y
yum remove zabbix-agent -y
FPM常用參數:
-s:指定源類型
-t:指定目標類型,即想要制作為什么包
-n:指定包的名字
-v:指定包的版本號
-C:指定打包的相對路徑
--no-rpm-sign 指定安裝目錄
假如-C / --no-rpm-sign /usr/local/zabbix 而打包機器的數據包路徑是/usr/local/zabbix 那安裝這個rpm包后,在本地的數據就是/usr/local/zabbix。
如果是-C /usr/local/zabbix --no-rpm-sign 那么必須吧數據包放到/usr/local/zabbix/usr/local/zabbix 下,否安裝全部安裝在/根目錄下
-d:指定依賴于哪些包
-f:第二次包時目錄下如果有同名安裝包存在,則覆蓋它
-p:輸出的安裝包的目錄,不想放在當前目錄下就需要指定
--post-install:軟件包安裝完成之后所要運行的腳本;同--offer-install
--pre-install:軟件包安裝完成之前所要運行的腳本;同--before-install
--post-uninstall:軟件包卸載完成之后所要運行的腳本;同--offer-remove
--pre-uninstall:軟件包卸載完成之前所要運行的腳本;同—before-remove
--description:軟件包描述
詳情:fpm -h
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。