C/C++教程

centos 发布rpm包

本文主要是介绍centos 发布rpm包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

场景:

  用.net core开发了web应用,但是每次发布到liunx都是通过ftp,而且没有版本管理,给甲方部署也十分麻烦,因此想着把程序发布为rpm包,可以通过yum下载安装。

解决:

  1.发布rpm包

    1.1 yum -y install rpm-build ,此时得到文件结构包括:

 rpmbuild/
 ├── BUILD  # 发布时解压的位置
 ├── BUILDROOT 
 ├── RPMS  # 发布后的rpm包位置
 ├── SOURCES  # 源码,或者压缩包位置
 ├── SPECS  # spec文件位置
 └── SRPMS   

    1.2 在SPECS中建立spec文件:vi xxxx.spec

    1.3 spec文件是整个rpm包编译,安装前,安装,安装后的动作,具体内容:

Name:           bigdata
Version:        1.0.0
Release:        1
Summary:        bigdata platform

License:        GPL
URL:            www.chenpoop.top
Packager:       chen
Source0:        %{name}-%{version}.tar.gz

BuildRoot:      %_topdir/BUILDROOT
#这个是软件make install 的测试安装目录.

#编译时需要的依赖;运行时需要的依赖
#BuildRequires:
#Requires:mysql8.0,postgres10,redis3.2

# 描述
%description
大数据平台

# 打包开始
%prep

# 安装前的操作
%setup -q

# 编辑制作
%build

# 安装
%install
rm -rf %{buildroot}             #先删除原来的安装的,如果你不是第一次安装的话
mkdir %_topdir/%{name}-%{version}
install -d  %_topdir/%{name}-%{version} $RPM_BUILD_ROOT
# install -m 755 %_topdir/BUILD/%{name}-%{version}  $RPM_BUILD_ROOT
#将需要需要打包的文件从BUILD 文件夹中拷贝到BUILDROOT文件夹下。

# 安装前执行的脚本
%pre

    其中每个字段的含义可以看参考中的文章

    1.4 通过rpmbuild 来打包rpm:rpmbuild -ba xxx.spec

    1.5 同时也通过该语句查看错误信息,我就是把.tar解压在打包成rpm

参考:

  https://www.cnblogs.com/dyh004/p/10370709.html

  https://www.cnblogs.com/huowenjie/p/13467750.html

这篇关于centos 发布rpm包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!