千家信息网

rpm制作工具fpm安装

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,现在随着生产上服务器的增多,我发现基于java的应用特别多,系统默认自带的openjdk我是再制作kickstart的时候,就把它删除的,对于jdk,我们公司的规定路径是/usr/local/jdk,
千家信息网最后更新 2025年11月07日rpm制作工具fpm安装

现在随着生产上服务器的增多,我发现基于java的应用特别多,系统默认自带的openjdk我是再制作kickstart的时候,就把它删除的,对于jdk,我们公司的规定路径是/usr/local/jdk,公司要求是用tar包来安装。。。。。


为了方便,我觉得把它制作成rpm包,然后放到系统镜像的 /iso/media/Packages/目录,同时配置好环境变量。

rpmbuild,对于不熟悉SPEC的同学来说是够呛的,所以来看看fpm这个工具吧,打包rpm很方便。


①yum安装相关包

yum -y install ruby-devel ruby-rdoc


②下载rubygems

wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.25.zip


③解压rubygems

unzip rubygems-1.8.25.zip


④安装ruby库

cd rubygems-1.8.25 && ruby setup.rb


⑤安装fpm(这步比较慢,耐心等等)

gem install fpm


我jdk已经安装好了,在/usr/local/jdk下

在root目录里直接运行下面这个命令

fpm -s dir -a all -t rpm -n "jdk" -v 1.7.0.45 /usr/local/jdk


好了,你会看到一个jdk的rpm包,大家试试吧!!!!!


补充:如果遇到这样的报错

Need executable 'rpmbuild' to convert dir to rpm {:level=>:error}


一般是因为需要你安装rpmbuild

执行 yum -y install rpm-build 可以解决


如果还需要再生成的rpm包之后执行相关的初始化脚本,可以利用-post-install这个参数

比如我刚用源码包安装好一个2.6版本的mongodb数据库

我打包之后,希望自己创建的启动脚本/etc/init.d/mongod 也能一起打进去


只要先把脚本写到mongodb的安装目录,然后利用--post-install参数就可以了!

我的mongodb目录在/opt/mongodb,编写一个初始化脚本文件

vi /opt/mongodb/postinstall

#################################

cat >> /etc/init.d/mongod <

#!/bin/sh

HOME="/opt/mongodb"

PATH="\$HOME/bin:\$PATH"

EXEC="\$HOME/bin/mongod"

CLIEXEC="\$HOME/bin/mongo"

CONF="\$HOME/mongodb.conf"

PIDFILE="/opt/mongodb/run/mongod.pid"

case "\$1" in

start)

if [ -f \$\$PIDFILE ]

then

echo "\$PIDFILE exists, process is already running or crashed."

else

echo "Starting MongoDB server..."

\$EXEC --config \$CONF

fi

;;

stop)

if [ ! -f \$PIDFILE ]

then

echo "\$PIDFILE does not exist, process is not running."

else

PID=\$(cat \$PIDFILE)

echo "Stopping ..."

\$CLIEXEC admin --eval "db.shutdownServer()"

while [ -x /proc/\${PID} ]

do

echo "Waiting for MongoDB to shutdown ..."

sleep 1

done

echo "MongoDB stopped."

fi

;;

*)

echo "Usage: \$0 {start|stop}" >&2

exit 1

;;

esac

EOF


chmod +x /etc/init.d/mongod


rm -rf /opt/mongodb/preinstall

########################################

然后执行

fpm -s dir -a all -t rpm -n "mongo" -v 2.6 --post-install /opt/mongodb/postinstall /opt/mongodb/


验证一下,一切搞定了



目录 脚本 制作 公司 参数 系统 装好 工具 耐心 变量 同学 同时 命令 数据 数据库 文件 时候 服务器 源码 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 影视软件开发基础 招标网络技术方案怎么写 软件开发类文章 数据库服务安卓下载 江苏数据软件开发参考价格 什么时候需要去数据库校验数据 嘉兴软件开发驻场大概多少钱 怎么能成为网络安全专家 第五空间 网络安全大赛 计算机软件开发和维护 河南电商软件开发机构 天津微商软件开发 出租房数据库怎么设计 无线网络技术生活中的例子 智学网服务器异常是什么意思 个人软件开发者大会 国产数据库代表 区块链里的信息需要服务器储存吗 阿里云服务器申请流程 花生壳 壳域名 邮箱服务器 信息安全工程网络安全的大盘 服务器一天能p多少图 jsp 数据库查询结果 网吧重启服务器是什么意思 网络安全知识竞赛答题入口黑龙江 保定展讯网络技术有限公司 诛仙新建数据库 储量数据库可以网发吗 湖南运营网络技术服务怎么样 深圳服务器系统运维方案多少钱
0