把脚本制作成RPM包
系統(tǒng)運(yùn)維
redhat系列的linux使用RPM來(lái)管理安裝軟件很方便,把自己常用的腳本變成RPM包之后,用起來(lái)就方便了。
要制作RPM包,首先要看一下RPM包的內(nèi)容(可以忽略)
....還是不看了把,看不懂....
2.環(huán)境準(zhǔn)備:
軟件包依賴:
rpm-build rpmdevtools
3.設(shè)置 制作RPM包 的環(huán)境
直接執(zhí)行命令:
rpmdev-setuptree即可在當(dāng)前用戶的家目錄生成如下目錄結(jié)構(gòu)
4.拷貝自己的腳本到相應(yīng)目錄
(簡(jiǎn)單介紹一下我的那三個(gè)腳本的功能:
customOS.sh:設(shè)置歷史命令格式,終端(PS1)顯示之類的
scanport.sh :掃描目標(biāo)主機(jī)的可用TCP端口
setRM.sh :當(dāng)rm -rf 刪除的目標(biāo) 大小小于10M,就把目標(biāo)放入到/tmp目錄下
)
5.配置SPCE文件(重點(diǎn))
在SPEC目錄下,編譯ddcw.spec
ddcw.spec內(nèi)容參考如下:
Name: ddcw #名字
Version: 2019 #版本
Release: 1125
Summary: this is test RPMGroup: Applications/System
License: ddcw
URL: https://blog.51cto.com/10888845#Requires:
Requires:grep #依賴,即安裝這個(gè)軟件所需的其它RPM包%description #描述
this is set ddcw some habit%prep #安裝前所需要做的事情
echo -e "\\033[1;41;33m pre install NOTHING\\033[0mprep"%build #這個(gè)我也不知道
echo -e "\\033[1;41;33m build NOTHING\\033[0mprep"%install #安裝,即把自己的腳本放到那個(gè)位置
#echo -e "\\033[1;41;33m install NOTHING\\033[0mprep"
mkdir -p %{buildroot}/tmp/ddcw
install -m 744 scanport.sh %{buildroot}/tmp/ddcw/scanport.sh
install -m 744 setRM.sh %{buildroot}/tmp/ddcw/setRM.sh
install -m 744 customOS.sh %{buildroot}/tmp/ddcw/customOS.sh%post #安裝之后的工作,(因?yàn)槲业哪_本自帶安裝功能,即執(zhí)行腳本他會(huì)自動(dòng)安裝)
sh /tmp/ddcw/scanport.sh
sh /tmp/ddcw/setRM.sh
sh /tmp/ddcw/customOS.sh%files #文件
/tmp/ddcw/scanport.sh
/tmp/ddcw/setRM.sh
/tmp/ddcw/customOS.sh%postun #卸載操作,即運(yùn)行 rpm -e 軟件包 的時(shí)候執(zhí)行的命令
mv /usr/bin/scanportDDCW /tmp
sed -i "/alias rm=\'\\/bin\\/rms\'/d" /etc/profile >/dev/null
sed -i "/export HISTTIMEFORMAT=/d" /etc/profile >/dev/null
sed -i "/export DISPLAY=/d" /etc/profile >/dev/null
sed -i "/export PS1=/d" /etc/profile >/dev/null%changelog #對(duì)于我來(lái)說,沒啥用
6.執(zhí)行打包命令
rpmbuild -bb SPECS/ddcw.spec
7.檢查測(cè)試
打包成功后,會(huì)在 RPMS/x86_64/ 目錄下生成改RPM包
我換一臺(tái)機(jī)器測(cè)試這個(gè)RPM包:
再驗(yàn)證一下功能(根據(jù)自己腳本測(cè)試,我的測(cè)試出來(lái)是OK的):
卸載試一下(也是木的問題的)
總結(jié)
以上是生活随笔為你收集整理的把脚本制作成RPM包的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WEB前端学习五 js什么是引用类型
- 下一篇: 债务纠纷律师(债务纠纷)