rpmbuild命令RPM包制作kafka示例SPEC
kafka的自定义安装路径RPM包制作
# 编写SPEC
cat kafka.spec
BuildArch: noarch
Name: kafka_2.11
Version: 2.1.0
Release: 1
License: Apache License v2.0
Group: Development/Libraries
Summary: This is a Kafka RPM installation package
URL: www.ksyun.com
Source0: %{name}-%{version}.tar.gz
Source1: kafka.service
BuildRoot: %{_topdir}/BUILDROOT
Requires: /bin/sh
Requires: /usr/bin/env
#Requires: rpmlib(CompressedFileNames) <= 3.0.4-1
#Requires: rpmlib(FileDigests) <= 4.6.0-1
#Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: sh-utils
#Requires: rpmlib(PayloadIsXz) <= 5.2-1
#suggest
#enhance
%description
This is a Kafka RPM installation package
%prep
%setup -q
#tar -zxf %{sources}
%install
#mkdir -p $RPM_BUILD_ROOT/usr/%{stack_name}/%{stack_version}/atlas
#mkdir -p $RPM_BUILD_ROOT/usr/%{stack_name}/%{stack_version}/etc/atlas/conf.dist
#
#cp -rp %{_builddir}/%{name}-%{version}/* $RPM_BUILD_ROOT/usr/%{stack_name}/%{stack_version}/atlas
#cp -rp %{_builddir}/%{name}-%{version}/conf/* $RPM_BUILD_ROOT/usr/%{stack_name}/%{stack_version}/etc/atlas/conf.dist
mkdir -m 0755 -p $RPM_BUILD_ROOT/data/apps/kafka
mkdir -m 0755 -p $RPM_BUILD_ROOT/usr/lib/systemd/system
cp -rp %{_builddir}/kafka_2.11-2.1.0 $RPM_BUILD_ROOT/data/apps/kafka/kafka_2.11-2.1.0
if [ ! -f "/usr/lib/systemd/system/kafka.service" ]; then
%{__install} -p -D %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/systemd/system/kafka.service
fi
%post -p /bin/sh
#if [ ! -e "/etc/atlas/conf" ]; then
# rm -f /etc/atlas/conf
# mkdir -p /etc/atlas/conf
# cp -rp /usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/* /etc/atlas/conf
#fi
#/usr/bin/hdp-select --rpm-mode set atlas-server 3.0.1.0-187
#/usr/bin/hdp-select --rpm-mode set atlas-client 3.0.1.0-187
#cp -rp %{Source1} $RPM_BUILD_ROOT/usr/lib/systemd/system/kafka.service
%files
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/bin"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/models"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/models/0000-Area0"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/models/1000-Hadoop"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/models/1000-Hadoop/patches"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/models/2000-RDBMS"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/models/3000-Cloud"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/server"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/server/webapp"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/atlas/tools/migration-exporter"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/atlas-application.properties"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/atlas-env.sh"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/atlas-log4j.xml"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/atlas-simple-authz-policy.json"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/hbase"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/hbase/hbase-site.xml.template"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr/currency.xml"
#%dir %attr(0755, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr/lang"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr/lang/stopwords_en.txt"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr/protwords.txt"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr/schema.xml"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr/solrconfig.xml"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr/stopwords.txt"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/solr/synonyms.txt"
#%attr(0644, root, root) "/usr/hdp/3.0.1.0-187/etc/atlas/conf.dist/users-credentials.properties"
#
#%defattr(-,root,root)
/data/apps/kafka
/usr/lib/systemd/system/kafka.service
%defattr(-,root,root)
#######################
#### FILES SECTION ####
#######################
%changelog
%preun
rm -rf /usr/lib/systemd/system/kafka.service
rm -rf /data/apps/kafka
# Build-RPM安装包
rpmbuild -bb kafka.spec
ll ../RPMS/noarch/
-rw-r--r-- 1 root root 60979828 Feb 23 11:29 kafka_2.11-2.1.0-1.noarch.rpm
rpmbuild命令RPM包制作kafka示例SPEC的更多相关文章
- rpm包制作介绍
RPM(Rpm Package Management)在ReadHat等发行版下被用作软件包管理程序,其将某个软件相关的文件置入一个.rpm包中,用rpm命令,我们可以方便地完成Linux下软件安装. ...
- RPM包制作教程
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
- rpm包制作(待实验)
作者:firefoxbug 时间:July 18, 2014 rpm包命名规范 对于rpm包的命名符合如下规范. %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm N ...
- RPM包制作方法
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
- linux之使用rpmbuild打rpm包
linux之使用rpmbuild打rpm包 前言: 已从事linux运维工作数年,感觉自己还是个小菜鸟,没有大神那么的钻研的精神.只是单纯热爱,喜欢对着黑色的屏幕敲击命令,喜欢这种感觉.为什么要做RP ...
- php-7.1.0 rpm包制作
nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: ...
- centos7系统之telnet命令rpm包安装
centos7系统之telnet命令rpm包安装 1. 下载安装包 rpm包下载位置:http://vault.centos.org/6.3/os/x86_64/Packages/ [root@ywb ...
- 实战RPM包制作
在开发中经常会用到一些rpm包,但是一直没有自己手动制作过.今天在制作的时候意外地还解决了自己以前一直困惑的问题,就是怎么制作rpm debuginfo包,类似CentOS官网那样的debuginfo ...
- RPM包制作过程(一)
本机环境:centos7,64位 1. 首先安装工具,rpmbuild可能在rpmdevtools里已经包含 #yum install rpm-devel.x86_64 #yum install rp ...
- 【Linux】【Services】【Package】rpm包制作
1. 概念 1.1. BUILD:源代码解压之后存放的位置 1.2. RPMS:制作完成之后的RPM包的存放位置,包括架构的子目录,比如x86,x86_64 1.3. SOURCES:所有的原材料都应 ...
随机推荐
- 几款能容易使用的AI绘画工具
首先介绍一款软件叫做Discord,这是一个非常火爆的社交软件,目前市面上有很多ai绘画工具都可以在在其对应的社区上运行. Discord | 玩耍聊天的地方这个网站可以访问Discord网页版,也可 ...
- echarts x轴下绘制表
效果图: 把下面代码复制到官网实例的js代码编辑中即可预览( 附连接:Examples - Apache ECharts) let map = { 销售单价: [2200.0,4000.9,700.0 ...
- 前端使用xlsx模板导出表格
前言 前端导出表格有很多种方案,但是表格样式一旦复杂了,那么就得用代码写excel的样式,还是比较麻烦的.每次样式不一样,就得重新写,这时使用表格模板的优势就体现出来了,想导出不同样式的表格直接修改表 ...
- 像 Mysql 和 MongoDB 这种大型软件在设计上都是精益求精的,它们为什么选择B树,B+树这些数据结构?
为什么 MongoDB (索引)使用B-树而 Mysql 使用 B+树? B 树与 B+ 树,其比较大的特点是:B 树对于特定记录的查询,其时间复杂度更低.而 B+ 树对于范围查询则更加方便,另外 B ...
- kubernetes删除ns异常状态为:Terminating
在部署kuboard控制平台的时候,不规范删除,导致ns状态为Terminating [root@master01 ~]# kubectl delete namespace kuboard ^C ro ...
- 如何使用 Redis 实现后台房间的数据管理?
摘要:利用 Redis 实现房间业务管理的实践与思考. 文|即构业务后台开发团队 在一些互动场景中,比如语音聊天室.电商直播等,成员控制.连麦.献花.发弹幕等互动功能,通常要求后台服务器能够储 ...
- 痛定思痛,好好做人,从头过一遍PyTorch框架(一)(1.深度学习简介、2.预备知识)
现在是2024年2月24日,13:59,从研一就开始断断续续说要过一遍框架,到现在博一下学期,还一直拖着呢,拖延症太可怕啦,决定好好做人,不拖了,就从现在开始,好好过一遍,呜呜呜呜呜呜呜呜,(罪该万死 ...
- EF Core – Many to Many
前言 Many to many 是 EF Core 5.0 才开始有的, 以前都用 2 个 1-n 来实现的. 由于它比 1-n 复杂, 所以有必要写一遍来记入一下. 参考: Relationship ...
- Java——图片文件位于 bin 目录下,下载新图片会导致应用程序重启
当应用程序在运行时需要加载图片文件时,如果图片文件位于 bin 目录下,下载新图片会导致应用程序重启,这是因为 Java 应用程序在加载资源时通常会遵循以下机制: 类加载器: Java 应用程序使用类 ...
- 【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境导入为 VI 域。
VCF Import Tool 工具使用两种方式来帮助客户将现有的 vSphere 或 vSphere + vSAN 环境转变为 VMware Cloud Foundation 环境,分别是转换(Co ...