为什么要 .spec转成.rpm文件,因为在一些工作中,有些服务器是权限设置特严格,任何文件的创建都是不被允许的,需要特定安装,如.rpm文件安装。
.spec文件是一个配置规范文件,主要用于RPM软件包的编译过程。 它详细说明了软件包如何被配置、需要打哪些补丁、安装哪些文件、安装到哪里以及安装过程需要哪些系统级别的活动。
.spec文件由多个段组成,这些段分别定义了rpm的编译、打包、安装等阶段的工作内容。
spec基本说明
.spec文件
创建 demo.spec 文件.内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Name:xxxx Version:1.0.0 Summary:xxxx Release:1 License:1 Group:Application/System Vendor:xxx
%description %prep %build %pre %post groupadd -r www useradd -r -g www -s /sbin/nologin -d /home/www -M www chown -R www:www /home/nginx %preun %postun %files /home/nginx
%changelog
|
.spec目录变成.rpm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| sudo yum install rpm-build sudo dnf install rpm-build
sudo yum install rpm-devtools sudo dnf install rpm-devtools
rpmdev-setuptree
~/rpmbuild/ ├── BUILD ├── BUILDROOT ├── RPMS ├── SOURCES ├── SPECS └── SRPMS
cd /root/rpmbuild/SPECS && rpmbuild -bb demo.spec
cd /root/rpmbuild/RPMS/aarch64/ rpm -qpl demo-1.0.0-1.aarch64.rpm
|
.rpm内容解压
1 2 3 4 5
| sudo yum install rpm2cpio cpio
rpm2cpio demo-1.0.0-1.aarch64.rpm | cpio -idmv
|
测试rpm包的安装和卸载
在测试之前,可以使用rpmlint工具来检查RPM包是否有潜在的问题:
1 2 3 4 5
| sudo yum install rpmlint sudo dnf install rpmlint
rpmlint /root/rpmbuild/RPMS/aarch64/demo-1.0.0-1.aarch64.rpm
|
rpm安装软件命令
1 2 3 4 5 6 7 8
|
sudo rpm -ivh /root/rpmbuild/RPMS/aarch64/demo-1.0.0-1.aarch64.rpm
sudo rpm -ivh /root/rpmbuild/RPMS/aarch64/demo-1.0.0-1.aarch64.rpm --nodeps
sudo rpm -Uvh /root/rpmbuild/RPMS/aarch64/demo-1.0.0-1.aarch64.rpm
|
首先核对时间是否与网络时间一直
date xxxxxxx
更新yum源
进入yum源文件目录
cd /etc/yum.repos.d
备份yum源文件
cp kylin_aarch64.repo kylin_aarch64.repo.bak
修改源文件内容
输入命令:vim kylin_aarch64.repo
删除原代码,将下列代码复制过去
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [ks10-adv-os] name = Kylin Linux Advanced Server 10 - Os baseurl = http://archive2.kylinos.cn/rpm/kylin/production/KY-KY10-GFB-aarch64/custom/kylin-server/KY10-GFB-aarch64/
gpgcheck = 0 enabled = 1
[ks10-adv-updates] name = Kylin Linux Advanced Server 10 - Updates baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP1/os/adv/lic/updates/$basearch/ gpgcheck = 0 enabled = 0
[ks10-adv-addons] name = Kylin Linux Advanced Server 10 - Addons baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP1/os/adv/lic/addons/$basearch/ gpgcheck = 0 enabled = 0
|
- 再使用命令安装
1 2
| yum install rpm-build -y yum install rpmdevtools -y
|