2024年11月CentOS如何使用FPM制作RPM包(2)

发布时间:

  ⑴自从使用自建的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包不能在不同的系统中混用,会导致动态库链接不上。