自学内容网 自学内容网

rpm软件包的制作方法

源码制作成rpm可以centos系列系统平移

其他机器需要这个环境发过去可以yum -y install new_pkg_name.rpm安装

比较方便

rpm包构建过程:
第一步下载tar.gz源码包

nginx官网下载自己准备版本

linux主机

真机windows话,传输方法

1. rz命令 # receive ZMODEM

2. windterm远程登录时,直接源码包windterm界面聊天窗口文件类似

3. windterm快捷键alt+w 然后 alt+f,会打开文件管理器,右击空白处点击“上传到当前文件夹”,选择源码包所在路径

上传到Linux主机的路径为:当前目录

官网地址nginx: downloadicon-default.png?t=O83Ahttps://nginx.org/en/download.html

步:安装 rpm-build

yum -y install rpm-build

步:创建默认目录

]# rpmbuild -ba nginx.spec

报错但是会产生一个默认目录rpmbuild

]# ls rpmbuild/

BUILD BUILDROOT RPMS SOURCES SPECS SRPMS

步:放材料

源码包放到SOURCES目录

配置文件放在SPECS目录

创建之后结果放在RPMS目录

cp nginx-1.22.1.tar.gz rpmbuild/SOURCES

步:配置文件

~]# cat rpmbuild/SPECS/nginx.spec
Name: nginx     # rpm
Version: 1.22.1  # 版本
Release: 1        # 发行版
Summary: nginx is a tool for web server # Rpm概述信息,可自定义

# Group:
License: GPL        # 自由软件
URL: www.test.com  # 自定义
Source0: nginx-1.22.1.tar.gz  #源码包名称

# BuildRequires: gcc make pcre-devel openssl-devel  # 依赖关系
Requires: pcre-devel openssl-devel  # 依赖

%description
nginx is a tool for web server, http/https cluster proxy, and TCP/UDP scheduler            # rpm描述信息自定义
%post            #  添加
useradd nginx   # 用rpm包安装nginx之后,自动执行这条指令创建用户nginx
%prep
%setup -q


%build
./configure  --with-stream --with-http_ssl_module --user=nginx --group=nginx --prefix=/usr/local/nginx  --with-http_stub_status_module       # 跟装哪些模块自己需求
make %{?_smp_mflags}


%install
%make_install


%files
%doc
/usr/local/nginx/*         # 安装路径


%changelog

第六步:用配置文件和源码包构建rpm

构建成功

]# rpmbuild -ba rpmbuild/SPECS/nginx.spec
]# ls rpmbuild/RPMS/x86_64/
nginx-1.22.1-1.x86_64.rpm  nginx-debuginfo-1.22.1-1.x86_64.rpm  nginx-debugsource-1.22.1-1.x86_64.rpm

第七步:准备安装环境

~]# grep nginx /etc/passwd  
~]# ls /usr/local/nginx
ls: 无法访问'/usr/local/nginx': 没有那个文件或目录
~]# rpm -q nginx
未安装软件包 nginx 

第八步:使用rpm包安装nginx

~]# yum -y install rpmbuild/RPMS/x86_64/nginx-1.22.1-1.x86_64.rpm
~]# rpm -q nginx
nginx-1.22.1-1.x86_64

第九步测试验证

~]# !grep
grep nginx /etc/passwd
nginx:x:1000:1000::/home/nginx:/bin/bash
~]# ls /usr/local/nginx/
conf  html  logs  sbin
~]# rpm -q nginx
nginx-1.22.1-1.x86_64
~]# /usr/local/nginx/sbin/nginx 
~]# ss -ntulp | grep nginx
tcp   LISTEN 0      128           0.0.0.0:80         0.0.0.0:*    users:(("nginx",pid=15819,fd=9),("nginx",pid=15818,fd=9))


原文地址:https://blog.csdn.net/2401_84019227/article/details/142771659

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!