打rpm包步驟

[TOC]

一锌钮、安裝zabbix_agent

1. 源碼安裝

步驟略仅颇,本文將zabbix_agent安裝到/zabbix_agent目錄下宪肖。

2. 指定程序安裝目錄

我們計(jì)劃rpm安裝時(shí)俊戳,安裝在/opt/zabbix_agent目錄澳腹,因此需要修改啟動(dòng)腳本煎谍。編輯/zabbix_agent/conf/zabbix_agentd/zabbix_agentd文件修改BASEDIR=/opt/zabbix_agent

砰粹,修改啟動(dòng)配置增加-c參數(shù)指定參數(shù)文件全路徑宋下。$FULLPATH -c $BASEDIR/conf/zabbix_agentd.conf枕磁。


        # Zabbix-Directory
        BASEDIR=/opt/zabbix_agent

......略過(guò)多行代碼......

# functions
start() {
        if [ $RUNNING -eq 1 ]
                then
                echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
        else
                action $"Starting $BINARY_NAME: " $FULLPATH -c $BASEDIR/conf/zabbix_agentd.conf
                touch /var/lock/subsys/$BINARY_NAME
        fi
}

二渡蜻、制作rpm包

1. 安裝依賴(lài)包

# yum -y install rpmdevtools

2.生成rpmbuild工作目錄

執(zhí)行rpmdev-setuptree 命令,會(huì)在家目錄下生成rpmbuild工作目錄。網(wǎng)上推薦使用非root用戶(hù)制作rpm包茸苇。

# rpmdev-setuptree
# ls /root/rpmbuild/
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS

3. 進(jìn)入SPECS目錄編寫(xiě)specs文件

#more zabbix_agent.spec

Name: zabbix_agent
Version: 3.0.28
Release: loongson%{?dist}
Summary: 描述
License: 軟件版權(quán)許可證

Vendor:XXXX

%description
描述

%install
mkdir -p %{buildroot}%{_sysconfdir}
mkdir -p ../BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el/opt    #創(chuàng)建必要的目錄
cp -R /zabbix_agent ../BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el/opt  #/BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el/ 相當(dāng)于rpm安裝后的/目錄排苍,我們需要將程序拷貝到這個(gè)目錄下,BUILDROOT的下一級(jí)目錄名字根據(jù)specs文件的配置決定学密√匝茫可以不創(chuàng)建目錄和拷貝文件,按第4步打包名錄打包一次腻暮,報(bào)錯(cuò)就會(huì)提示目錄下的文件不存在彤守。

%prep

%files                              #配置目錄和文件的權(quán)限
%defattr(-,root,root,-)
/opt/zabbix_agent/

%doc

%pre

%post                               #配置安裝后的操作,此處可以進(jìn)行服務(wù)注冊(cè)
chmod a+x /opt/zabbix_agent/bin/disk_*
\cp -f /opt/zabbix_agent/conf/zabbix_agentd/zabbix_agentd /etc/init.d/zabbix_agentd
chkconfig --add zabbix_agentd
chkconfig --level 345 zabbix_agentd on

%preun                              #配置刪除rpm時(shí)的操作哭靖,前文%files目錄會(huì)自動(dòng)刪除具垫。不需要單獨(dú)處理。
systemctl stop zabbix_agentd
chkconfig --del zabbix_agentd
rm -f /etc/init.d/zabbix_agentd

%changelog

4. 打包

在SPECS目錄執(zhí)行rpmbuild -bb zabbix_agent.spec名錄试幽,制作rpm包筝蚕。rpm包會(huì)生成在/root/rpmbuild/RPMS目錄下。

[root@node-172162480 /]# cd /root/rpmbuild/SPECS/
[root@node-172162480 SPECS]# rpmbuild -bb zabbix_agent.spec
執(zhí)行(%prep): /bin/sh -e /var/tmp/rpm-tmp.1zg1Mj
+ umask 022
+ cd /root/rpmbuild/BUILD
+ exit 0
執(zhí)行(%install): /bin/sh -e /var/tmp/rpm-tmp.j5RQ9p
+ umask 022
+ cd /root/rpmbuild/BUILD
+ '[' /root/rpmbuild/BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el '!=' / ']'
+ rm -rf /root/rpmbuild/BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el
++ dirname /root/rpmbuild/BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el
+ mkdir -p /root/rpmbuild/BUILDROOT
+ mkdir /root/rpmbuild/BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el
+ mkdir -p /root/rpmbuild/BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el/etc
+ mkdir -p ../BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el/opt
+ cp -R /zabbix_agent ../BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el/opt
+ '[' '%{buildarch}' = noarch ']'
+ QA_CHECK_RPATHS=1
+ case "${QA_CHECK_RPATHS:-}" in
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/neokylin/brp-compress
+ /usr/lib/rpm/neokylin/brp-strip /usr/bin/strip
+ /usr/lib/rpm/neokylin/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/neokylin/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
+ /usr/lib/rpm/neokylin/brp-python-hardlink
+ /usr/lib/rpm/neokylin/brp-java-repack-jars
處理文件:zabbix_agent-3.0.28-loongson.ns7_4.mips64el
Provides: zabbix_agent = 3.0.28-loongson.ns7_4 zabbix_agent(mips64el-64) = 3.0.28-loongson.ns7_4
Requires(interp): /bin/sh /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(pre): /bin/sh
Requires(post): /bin/sh
Requires(preun): /bin/sh
Requires: /bin/bash libc.so.6()(64bit) libc.so.6(GLIBC_2.0)(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.2)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.0)(64bit) libdl.so.2(GLIBC_2.2)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2)(64bit) libresolv.so.2()(64bit) libresolv.so.2(GLIBC_2.0)(64bit) libresolv.so.2(GLIBC_2.2)(64bit)
檢查未打包文件:/usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el
寫(xiě)道:/root/rpmbuild/RPMS/mips64el/zabbix_agent-3.0.28-loongson.ns7_4.mips64el.rpm
執(zhí)行(%clean): /bin/sh -e /var/tmp/rpm-tmp.7l44sx
+ umask 022
+ cd /root/rpmbuild/BUILD
+ /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/zabbix_agent-3.0.28-loongson.ns7_4.mips64el
+ exit 0

5. 安裝測(cè)試

RPMS的下一級(jí)目錄名字根據(jù)spec文件中的配置決定铺坞,會(huì)與本例有差別起宽。安裝后啟動(dòng)服務(wù)并查看服務(wù)狀態(tài)。Active: active (running)表示啟動(dòng)成功济榨。

[root@node-172162480 mips64el]# rpm -ivh /root/rpmbuild/RPMS/mips64el/zabbix_agent-3.0.28-loongson.ns7_4.mips64el.rpm
準(zhǔn)備中...                          ################################# [100%]
正在升級(jí)/安裝...
   1:zabbix_agent-3.0.28-loongson.ns7_################################# [100%]
   
[root@node-172162480 mips64el]# systemctl start zabbix_agentd

[root@node-172162480 mips64el]# systemctl status zabbix_agentd
● zabbix_agentd.service - SYSV: Starts and stops Zabbix Agent using chkconfig
   Loaded: loaded (/etc/rc.d/init.d/zabbix_agentd; bad; vendor preset: disabled)
   Active: active (running) since 五 2019-10-11 15:53:08 CST; 57min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 17322 ExecStart=/etc/rc.d/init.d/zabbix_agentd start (code=exited, status=0/SUCCESS)
   Memory: 2.0M
   CGroup: /system.slice/zabbix_agentd.service
           ├─17340 /opt/zabbix_agent/sbin/zabbix_agentd -c /opt/zabbix_agent/conf/zabbix_agentd.conf
           ├─17342 /opt/zabbix_agent/sbin/zabbix_agentd: collector [idle 1 sec]
           ├─17343 /opt/zabbix_agent/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ├─17344 /opt/zabbix_agent/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ├─17345 /opt/zabbix_agent/sbin/zabbix_agentd: listener #3 [waiting for connection]
           └─17346 /opt/zabbix_agent/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

10月 11 15:53:07 node-172162480 systemd[1]: Starting SYSV: Starts and stops Zabbix Agent using chkconfig...
10月 11 15:53:08 node-172162480 zabbix_agentd[17322]: Starting zabbix_agentd:  [  確定  ]
10月 11 15:53:08 node-172162480 systemd[1]: Started SYSV: Starts and stops Zabbix Agent using chkconfig.

6. 修改zabbix_server地址并重啟服務(wù)

編輯/opt/zabbix_agent/conf/zabbix_agentd.conf文件坯沪,修改服務(wù)地址等信息,并重啟agent擒滑。測(cè)試是否可以將主機(jī)加入監(jiān)控屏箍。

參考資料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市橘忱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卸奉,老刑警劉巖钝诚,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異榄棵,居然都是意外死亡凝颇,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)疹鳄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拧略,“玉大人,你說(shuō)我怎么就攤上這事瘪弓〉媲” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)袱饭。 經(jīng)常有香客問(wèn)我川无,道長(zhǎng),這世上最難降的妖魔是什么虑乖? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任懦趋,我火速辦了婚禮,結(jié)果婚禮上疹味,老公的妹妹穿的比我還像新娘仅叫。我一直安慰自己,他們只是感情好糙捺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布诫咱。 她就那樣靜靜地躺著,像睡著了一般继找。 火紅的嫁衣襯著肌膚如雪遂跟。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天婴渡,我揣著相機(jī)與錄音幻锁,去河邊找鬼。 笑死边臼,一個(gè)胖子當(dāng)著我的面吹牛哄尔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播柠并,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼岭接,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了臼予?” 一聲冷哼從身側(cè)響起鸣戴,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粘拾,沒(méi)想到半個(gè)月后窄锅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缰雇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年入偷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片械哟。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疏之,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出暇咆,到底是詐尸還是另有隱情锋爪,我是刑警寧澤丙曙,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站几缭,受9級(jí)特大地震影響河泳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜年栓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一拆挥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧某抓,春花似錦纸兔、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至备禀,卻和暖如春洲拇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背曲尸。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工赋续, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人另患。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓纽乱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親昆箕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸦列,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 作者:吳兆松(網(wǎng)名:itnihao) “他始終堅(jiān)信,技術(shù)的積累只是時(shí)間問(wèn)題鹏倘,解決問(wèn)題的思路和思想高于具體的技術(shù)細(xì)節(jié)...
    清湯白菜郭先生閱讀 1,587評(píng)論 0 1
  • Linux 下RPM打包制作流程 開(kāi)始前的準(zhǔn)備 安裝rpmbuild軟件包 yum -y install rpm-...
    jony456123閱讀 1,462評(píng)論 0 1
  • 先附上zabbix官方安裝說(shuō)明: https://www.zabbix.com/documentation/3.4...
    fantasymango閱讀 846評(píng)論 0 1
  • zabbix是什么在此就不多作介紹了薯嗤,可以參考之前的文章零代碼如何打造自己的實(shí)時(shí)監(jiān)控預(yù)警系統(tǒng),這篇主要介紹安裝及注...
    歡醉閱讀 1,443評(píng)論 0 2
  • 本次搭建環(huán)境為centos6.8 1纤泵、關(guān)閉selinux(必須要關(guān)应民,否則可能訪(fǎng)問(wèn)不了) setenforce 0 ...
    雄柱閱讀 360評(píng)論 0 1