济南营销型网站制作,如何做网站权重,iis做的网站模板,百度账号中心文章目录 rpm打包 1. rpm打包步骤0#xff09;准备工作#xff1a;安装打包工具rpm-build和rpmdevtools#xff08;1#xff09;在线安装#xff08;2#xff09;离线安装 1#xff09;创建初始化目录2#xff09;准备打包内容3#xff09;编写打包脚本 spec文件4准备工作安装打包工具rpm-build和rpmdevtools1在线安装2离线安装 1创建初始化目录2准备打包内容3编写打包脚本 spec文件4打包5安装 rpm打包
1. rpm打包步骤
0准备工作安装打包工具rpm-build和rpmdevtools
1在线安装
yum install rpm-build -y
yum install rpmdevtools -y[释] 打包主要用rpm-build而rpmdevtools工具包里面自带的命令rpmdev-setuptree可以用于快速创建结构目录比手动创建更快。 [注] 如果yum下载不了可参考我的另一篇博文 https://blog.csdn.net/Acegem/article/details/132555841?spm1001.2014.3001.5501
2离线安装
到官网将离线包下载好。 Centoshttps://pkgs.org 麒麟V10https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/aarch64/Packages/ 将 rpm-build.rpm 和 rpmdevtools.rpm下载下来后安装的时候如果报错缺失依赖看情况可以考虑用命令忽略依赖强制安装
rpm -ivh rpm-build.rpm --nodeps --force
rpm -ivh rpmdevtools --nodeps --force1创建初始化目录
首先要在当前用户的 {$HOME} 下创建目录rpmbuild再在该目录下创建目录BUILD、RPMS、SOURCES、SPECS、SRPMS。 整个过程可以借助 rpmdev-setuptree 快速实现。如下
cd # 到主目录下
rpmdev-setuptree # 创建初始化目录结果 [注] 默认创建位置是 {$HOME}如果想更改位置可修改 ~/.rpmmacros 配置。配置默认初始内容 2准备打包内容
将要打包的内容放到 ~/rpmbuild/SOURCES 目录下。 例
3编写打包脚本 spec文件
cd ~/rpmbuild/SPECS
touch mytool.specmytool.spec 内容如下
Name: mytool # 软件名称
Version: 1.0 # 软件版本
Release: 0%{?dist} # RPM版本发布序列号用来标明第几次打包
Summary: MyTool Master installer # 描述
# Group: test # 软件组。建议使用 Application/System
License: GPLv3 # 协议
AutoReqProv: no # 忽略依赖。简单粗暴依个人习惯。
# 例有时rpm -ivh安装时报错某依赖找不到可能是打包的时候就找不到依赖包。这个语句可以使得忽略依赖关系。功能类似于rpm -ivh 软件名 --nodepsBuildRoot: %(mktemp -ud %{_tempath}/%{name}-%{version}-%{release}-XXXXXX) # 临时编译目录# 详细描述
%description -l zh_CN
The mytool for test# 安装前准备
%prep
echo do not# 安装
%install
cd %{_sourcedir} # ~/rpmbuild/SOURCE
cp -ra * %{buildroot} # 将 ~/rpmbuild/SOURCE 下的内容全都复制到 ~/rpmbuild/BUILDROOT# 定义打包文件列表
%files
/usr/local/MQ
/opt/QQ# 卸载后执行的指令
%postun
rm -rf /usr/local/MQ
rm -rf /opt/QQ附 spec常用参数
# 自定义宏
%define Name MyTool
%define Version 1.0# 软件包
Name: %{Name} # 引用宏
Version: %{Version} # 引用宏
Release: 1%{?dist} # 引用宏自带宏
Summary: 一段软件简概 # 简单描述
License: GPLv3 # 协议
URL: 地址
buildroot: %{_topdir}/BUILDROOT # 生成车间即编译根目录。
Source0: %{Name}-%{Version}.tar.gz # 指定源码编译的文件默认路径%{_topdir}/SOURCES
SOURCE1: 支持多个
BuildRequires: gcc, make, automake, binutils # 软件依赖信息
Requires: bash 2.0 # 软件依赖 或 表大于或小于特定版本# 详细描述
%description -l zh_CN # 其中 -l zh_CN是参数可省略
这是一段软件的详细描述# 安装前。如执行脚本
%pre
useradd %{Name} -s /sbin/nologin# 安装前。默认将Source目录内源码包解压到BUILD目录并在其目录下创建 %{Name}-%{Version}目录。
%prep
%setup -q -n %{Name}-%{Version}# 编译
%build
自定义命令# 安装
%install
自定义命令# 文件
%files# 清理制作时产生的缓存
%clean
rm -rf %{buildroot}# 安装后。
%post
自定义命令# 卸载前。
%preun
自定义命令# 卸载后
%postun
自定义命令# 日志
%changelog
自定义命令代表路径的宏列表
%{_sysconfdir} /etc
%{_prefix} /usr
%{_exec_prefix} %{_prefix}
%{_bindir} %{_exec_prefix}/bin
%{_libdir} %{_exec_prefix}/%{_lib}
%{_libexecdir} %{_exec_prefix}/libexec
%{_sbindir} %{_exec_prefix}/sbin
%{_sharedstatedir} /var/lib
%{_datarootdir} %{_prefix}/share
%{_datadir} %{_datarootdir}
%{_includedir} %{_prefix}/include
%{_infodir} /usr/share/info
%{_mandir} /usr/share/man
%{_localstatedir} /var
%{_initddir} %{_sysconfdir}/rc.d/init.d
%{_var} /var
%{_tmppath} %{_var}/tmp
%{_usr} /usr
%{_usrsrc} %{_usr}/src
%{_lib} lib (lib64 on 64bit multilib systems)
%{_docdir} %{_datadir}/doc
%{buildroot} %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}
$RPM_BUILD_ROOT %{buildroot}4打包
cd ~/rpmbuild/SPECS/
rpmbuild -bb mytool.spec未报错的日志结尾会出现 exit 0具体信息如下 此时会在 ~/rpmbuild/RPMS/ 目录下生成 rpm 包文件。如下 注 可输入
rpm -qpl mytool-1.0-0.ky10.ky10.x86_64.rpm来查看rpm包的内容 说明包是没问题的。
5安装
rpm -ivh mytool-1.0-0.ky10.ky10.x86_64.rpm可看到rpm包中的MQ和QQ被成功安装在了 /usr/local 和 /opt 下。 附
# 查找软件的安装路径
rpm -ql 软件名
# 查找软件的相关信息
rpm -qi 软件名