linux怎么制作运行包,简单 RPM 包制作
今天为了测试搭建自己的yum仓库并安装升级软件包,因此需要一个rpm包来做测试,所以就想到了自己来做一个最简单rpm,因为仅仅就是做一个测试所以没有添加需要编译的文件,而是只使用了一个shell文件来输出可爱的Hello World。
1. 首先需要下载安装rpm包制作工具
$ sudo yum install -y rpm-build rpmdevtools
2. 运行 rpmdev-setuptree 来生成一个 rpm 包的骨架目录
$ rpmdev-setuptreer
pmdev-setuptree命令默认将再当前用户的根目录下创建一个RPM构建根目录结构 ~/rpmbuild/
3. 生成源代码包
mkdir -p ~/rpmbuild/SOURCES/helloworld-1.0.0
touch ~/rpmbuild/SOURCES/helloworld-1.0.0/helloworld
chmod 755 ~/rpmbuild/SOURCES/helloworld-1.0.0/helloworld
echo "#!/bin/sh" >> ~/rpmbuild/SOURCES/helloworld-1.0.0/helloworld
echo "echo Hello World!" >> ~/rpmbuild/SOURCES/helloworld-1.0.0/helloworld
cd ~/rpmbuild/SOURCES; tar zcvf helloworld-1.0.0.tar.gz helloworld-1.0.0
4. 在 ~/rpmbuild/SPECS 目录下用 rpmdev-newspec 来生成一个 spec 骨架文件
$ rpmdev-newspec helloworld.spec
编辑 helloworld.spec 文件,内容如下
Name: helloworld
Version: 1.0.0
Release: 1%{?dist}
Summary: helloworld
Group: Development/Tools
License: GPL
#URL:
Source0: %{name}-%{version}.tar.gz
#BuildRequires:
#Requires:
%description
%prep
%setup -q
%build
mkdir -p $RPM_BUILD_ROOT/usr/bin
cp $RPM_BUILD_DIR/%{name}-%{version}/helloworld $RPM_BUILD_ROOT/usr/bin/
%install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc
/usr/bin/helloworld
%changelog
5. 打包
rpmbuild -ba SPECS/helloworld.spec
6. 测试
6.1 安装测试
sudo yum install ~/rpmbuild/RPMS/x86_64/helloworld-1.0.0-1.el6.x86_64.rpm
6.2 升级测试
修改 helloworld.spec 文件,将其中 Release 修改为
Release: 2%{?dist}
然后运行 "rpmbuild -ba SPECS/helloworld.spec" 打包
最后运行使用下面的命令来升级 rpm 包
sudo yum update ~/rpmbuild/RPMS/x86_64/helloworld-1.0.0-2.el6.x86_64.rpm
linux怎么制作运行包,简单 RPM 包制作相关推荐
- linux yum仓库制作,yum仓库搭建之RPM包制作
常见的软件安装方式有以下几种 1.yum安装,可自动解决依赖,但不能自定义软件安装位置 2.编译安装,可指定安装路径,指定装模块,但编译参数冗长,且耗时较长,不能解决依赖问题. 3.rpm安装,安装速 ...
- linux rpm 包制作详解
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
- linux安装spec编译器,RPM包制作之Spec文件参数详解
看这篇文章的人基本都有一个想法,就是:"劳资不想用YUM的安装!不是版本太低就是文件分布太野路子",此时我们需要自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包 ...
- linux spec 脚本,RPM包制作之Spec文件详解
看这篇文章的人基本都有一个想法,就是:"劳资不想用YUM的安装!不是版本太低就是文件分布太野路子",此时我们需要自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包 ...
- rpm包制作介绍及实战操作讲解01(学生分享)
说明:本文来自老男孩linux运维实战培训-高级架构师班学生分享内容,本文分为两部分,此为第一部分. 第一次观看本视频前,建议博友先观看:人人都是讲师的教学培训体系介绍 http://oldboy.b ...
- 基于suse linux系统的cacti系统部署——rpm包方式
豆丁 http://www.docin.com/p-191889788.html rpm包方式:啊扬--沙迳:2010-12-1:更改:2011/5/16:一.Cacti的简介(来源:网络):Cact ...
- centos7全盘备份到本地_CentOS7下制作openssl1.1.1i RPM包并升级
点击上方"walkingcloud"关注,并选择"星标"公众号 CentOS7下制作openssl1.1.1i RPM包并升级 OpenSSL最新漏洞 Open ...
- RPM包制作及yum仓库搭建
RPM包制作 rpm包的制作是通过fpm软件来生成的,所以首先要安装fpm软件.又因为fpm的软件是ruby开发的,所以安装fpm的话首先要安装ruby等包 FPM功能简单说就是将一种类型的包转换成另 ...
- Openssh rpm 包制作
0X01 下载openssh 源文件 rpm包制作的前期各种文件略过,我选择在http://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/ 下载合 ...
最新文章
- html br/引起的”血案“
- python 最快 因式分解_python中怎么对一个数进行因式分解?
- Ioc 控制反转 实例
- office excel Query 功能
- UI5 repository mapping and Component-preload.js UI5RepositoryPathMapping.xml
- AM2320 温湿度计 单总线读取数据
- consul 日志配置_Go语言微服务架构实战:第十一节 启动Consul
- python连接redis哨兵_python连接redis sentinel集群
- Spring内建可查找的依赖
- D7控件\dw_cd_VirtualTreeview_v4.5.2\Demos\Advanced---TVirtualStringTree用法
- 15. (附加)链表是否有环(C++版本)
- php正则表达式修饰符详解
- python局域网监控系统_python 实现局域网监控
- 计算机用户配置如何查看,怎么查看电脑内存和配置 教你查看电脑真实配置的方法...
- CoreDNS篇7-性能压测
- IT互联网行业猎头的年终总结:结束后开始
- 神经网络 高维空间的理解
- 文章排版——上机实验,C语言
- view-ui中select全选实现
- 生物统计学(Biostatistics)笔记第七讲-Linear regression and correlation analysis