⑴自从使用自建的YUM仓库后,安装工具变的简便快速,而且方便统一管理软件的版本。自建的YUM仓库还可以结合cobbler,实现定制化的系统安装。
⑵yum -y install ruby ruby-devel rubygems # FPM是Ruby模块
⑶gem sources -a # 添加淘宝的Ruby仓库
⑷gem sources --remove # 移除原生的Ruby仓库
⑸gem install fpm
⑹官方的示例打包nodejs
⑺wget #下载nodejs源码包
⑻tar zxvf node-v...tar.gz -C /dev/shm/ # 解压
⑼cd /dev/shm/node-v../ # 进入源码目录
⑽。/configure --prefix=/usr --dest-cpu=x --dest-os=linux # 指定配置参数
⑾mkdir /dev/shm/node-root
⑿make install DESTDIR=/dev/shm/node-root # 指定安装路径
⒀fpm -f -s dir -t rpm -n nodejs --epoch -v .. --iteration .el -C /dev/shm/node-root -p /root/ -d ‘openssl 》= ..’ -d ‘libstdc++ 》= ..’ --verbose --category ‘Development/Languages’ --description ‘Node.js real-time applications’ --url ‘nodejs.’ --license ‘BSD’ -m ‘lxcong’ --no-rpm-sign usr/bin usr/lib usr/share # 生成RPM 注意usr/bin usr/lib usr/share 这些就是需要打包的数据目录
⒁rpm -qpi /root/nodejs-..-.el.x_.rpm # 查看RPM包信息
⒂-s 指定INPUT的数据类型
⒃-t 指定需要制作成什么包,可选项有(deb, rpm, solaris, etc
⒄--iteration 也就是rpm包里面的release
⒅-C 就是打包的相对路径,类似于buildroot。譬如-C /dev/shm/node-root/ 而打包机器的数据包路径是/dev/shm/node-root/usr/bin/node 那安装这个rpm包后,在本地的数据就是/usr/bin/node
⒆上面就是Linux使用FPM制作RPM包的方法介绍了,需要注意的是,制作的RPM包不能在不同的系统中混用,会导致动态库链接不上。