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:所有的原材料都应 ...
随机推荐
- AvaloniaChat:一个基于大语言模型用于翻译的简单应用
简介 一个使用大型语言模型进行翻译的简单应用. A simple application using a large language model for translation. 使用指南 访问Gi ...
- Win32 SDK(四)Edit控件用法
Win32 SDK(四)Edit控件用法 1获得控件句柄 HWND hEdit2 = ::GetDlgItem(hWnd, IDC_EDIT2); WINUSERAPI HWND WINAPI Get ...
- python模块xlsxwriter使用
1.安装 pip install XlsxWriter 2.使用 # -*- coding: utf-8 -*- from io import BytesIO import qrcode # impo ...
- 在 Docker 中启动 Jupyter
参考:Jupyter Docker Stacks documentation 容器地址在 quay.io/jupyter/scipy-notebook 如果你直接运行命令: docker run -p ...
- Python开发工具:VSCode+插件
本篇是 Python 系列教程第 3 篇,更多内容敬请访问我的 Python 合集 Visual Studio Code的安装非常简单,就不放这里增加文章篇幅了. 相比PyCharm,VSCode更加 ...
- Go语言中的交互式CLI开发:survey库简介
在构建命令行工具时,良好的用户交互体验至关重要.尤其是在需要与用户进行复杂输入的场景下,传统的命令行参数和标志可能显得笨拙.github.com/AlecAivazis/survey/v2 是一个为 ...
- Java 之跨docker容器备份数据库
Java 之跨docker容器备份数据库 摘] java中执行数据库备份,每隔10分钟备份一次,保留四份备份文件,项目在windows系统下运行备份命令没问题.项目采用docker部署后,jar部署在 ...
- postgre基于行数的外连接及python连接postgre数据库
外连接 左外/右外连接 左外连接:左表全部出现在结果集中,若右表无对应记录,则相应字段为NULL left join ... on 条件 右外连接:右表全部出现在结果集中,若左表无对应记录,则相应字段 ...
- 【赵渝强老师】Docker Swarm集群的数据持久化
如果Docker Swarm集群中运行了mysql.nginx等服务,这些服务的数据如果没有挂载到宿主机中,那么容器一旦停止运行,那就意味着数据丢失. 有什么方法可以解决swarm集群中运行的服务能够 ...
- dotnet 虚方法的使用
// 虚方法 // 作用:允许子类,进行重写,可以实现不一样的功能 // 特点:好维护 -- 不该变原方法(虚方法)情况下,可以直接使用虚方法或者重写虚方法 VirtualMethod method ...