ln -sv /data/mysql/include /usr/include/mysql
echo '/data/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
ldconfig
echo 'export PATH=/data/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile
service mysqld start
如图,安装完成stopmysql服务,开始封装Mysql rpm包:
#开始封装Mysql Rpm包:
[root@localhost tmp]# fpm -s dir -t rpm -v 5.6.29 -n mysql --before-install /tmp/before.sh --after-install /tmp/after.sh --after-remove /tmp/remove.sh -d 'libaio' /data/mysql/ /data/mysqldata/ /etc/init.d/mysqld
Created package {:path=>"mysql-5.6.29-1.x86_64.rpm"}
如图:
封装的时间较久
注意:运行脚本的参数一定要在封装目录之前,否则会报错的。
Fpm的参数选项:
-n 自定义软件包的名称
-C fpm去哪个目录搜寻文件
-v 生成的rpm包的版本
-d 生成的rpm包依赖什么软件,通常为-d 'name' 或者-d 'name > version'
-a 系统架构名称,如果是noarch则为'-a all'或者'-a native'
--description 软件包的描述
--conflicts 与其他什么软件包冲突n
-f 第二次打包时目录下如果有同名安装包存在,则覆盖它
-p 输出的安装包的目录,不想放在当前目录下就需要指定
--post-install 软件包安装完成之后所要运行的脚本;同--after-install
--pre-install 软件包安装完成之前所要运行的脚本;同--before-install
--post-uninstall 软件包卸载完成之后所要运行的脚本;同--after-remove
--pre-uninstall 软件包卸载完成之前所要运行的脚本;同--before-remove
#安装之前的要执行的脚本:
#安装之后要执行的脚本:
#卸载Rpm包后要执行的脚本:
#cpoy到一台全新的机器测试:
到此封装制作完成,感兴趣的朋友可以自己动手尝试下。