IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux下rpm打包 -> 正文阅读

[系统运维]Linux下rpm打包

Linux下rpm打包

rpm打包:把源码转换为rpm

为什么使用rpm打包

rpm不能定制(不能选择安装路径,或者一些模块化不能出现选择)

案例:

制作nginx的rpm包

问题:

使用nginx-1.20.1版本的源码软件,生成对应的rpm包软件,具体要求如下

  • 软件名称为nginx
  • 软件版本为1.20.1
  • rpm软件包可以查询描述信息
  • rpm软件包可以安装及卸载

方案:

安装rpm-build软件包,编写SPEC配置文件,创建新的rpm软件包,配置文件中的描述信息如下表所示

选项
NameNginx
Version1.20.1
Release1
SummaryNginx is a web server software
LicenseGPL
URLwww.nginx.org
Source0nginx-1.20.1.tar.gz
BuildRequiresgcc pcre-devel zlib-devel openssl-devel
%descriptionnginx {engine x}is an HTTP and reverse proxy server…

步骤:

步骤一:安装rpm-build软件

1)安装rpm-build软件

yum -y install rpm-build

2)生成rpmbuild目录结构

rpmbuild -ba nginx.spec   #会报错,为了生成下面的目录
ls /root/rpmbuild   #上述命令自动生成的目录
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS
sources   #把目标的源码放到这个文件中
rpms    #rpm-build这个软件会把源码文件转成rpm格式存放到rpms这个文件中
specs   #rpm要求,配置要求在specs中

3)准备工作,将源码软件复制到sources目录

cp nginx-1.20.1.tar.gz /root/rpmbuild/SOURCES/
#这个软件包需要我们自己来提供,nginx软件包可以去官网下载

4)创建并修改spec配置文件

vim /root/rpmbuild/SPECS/nginx.spec  #扩展名必须为spec
#填写软件的基本信息
Name:nginx     #源码包软件名称
Version:1.20.1      #源码包软件的版本号
Release:        1%{?dist}   #制作的rpm包版本号
Summary:this is web server               #rpm软件的情况
#Group:              #组包 一般都注释
License:GPL                    #软件的协议
URL:www.nginx.com                       #网址
Source0:                         #源码包文件的全称
#BuildRequires: 因为nginx不需要依赖包,所以注释掉      #制作rpm时的依赖关系
#Requires:                    #安装rpm时的依赖关系
%description
this is web server        #软件的描述

#源码的安装过程(源码转化为rpm的过程)
%post        #安装后脚本
useradd  nginx -s /sbin/nolongin  #非必须操作

%prep   #准备工作
%setup -q     #自动解开tar包,并cd进入目录
%build        #编译安装
./configure --user=nginx
make %{?_smp_mflags}
%install
%make_install
%files
%doc     #需要打包的文件
/usr/local/nginx/*
%changelog

接上述的组包

把很多软件放到一个组,安装的时候可以直接安装这个组包,就能安装这个组包的所有软件

查看组包 yum grouplist
安装组包 yum groupinstall 组包名

步骤二:使用配置文件创建rpm包

1)安装依赖软件包

yum -y installgcc pcre-devel openssl-devel

2)rpmbuild创建rpm软件包

rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec
ls /root/rpmbuild/RPMS/x86_64/
nginx-1.20.1-1.el8.x86_64.rpm            nginx-debugsource-1.20.1-1.el8.x86_64.rpm
nginx-debuginfo-1.20.1-1.el8.x86_64.rpm
第一个为我们做好的rpm包 ,第三个为我们的源码包

步骤三:测试安装

/usr/local/nginx/sbin/nginx -s stop
rm -rf /usr/local/nginx/*   #卸载我们服务器中的nginx,如果没有安装这一步,请忽略
rpm -ivh /root/rpmbuild/RPMS/x86_64/nginx-1.20.1-1.el8.x86_64.rpm
/usr/local/nginx/sbin/nginx   #开启服务
id nginx   #刚刚我们在配置文件中写了,安装完之后会创建用户
curl http://127.0.0.1/
yum info nginx
可以查看软件的信息,与我们刚才写的一致

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 08:21:07  更:2021-09-19 08:22:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:40:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码