IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis(SPEC文件打包) -> 正文阅读

[大数据]Redis(SPEC文件打包)

1. 建立工作路径

mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

2. 下载Redis源码

cd ~/rpmbuild/SOURCES
wget https://download.redis.io/releases/redis-6.2.5.tar.gz

3. 安装依赖、编译和打包工具

yum install -y rpm-build

#1、安装scl,它可以在不覆盖原有软件包的情况下与其共存,缺点就是仅支持64位
yum -y install centos-release-scl
 
#2、安装gcc,其中的9表示大版本号,默认安装大版本下的最新稳定版本
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
 
#3、使用以下命令临时启动gcc,这种方式适用于临时切换系统的gcc版本,即开即用,仅在当前bash中有效,重启虚拟机就又变成4.8.5了
scl enable devtoolset-9 bash
 
#4、使用以下命令永久启动gcc,这种方式适用于长期使用该版本进行编译,切换bash依然有效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
 
#查看gcc环境
gcc -v

4. 编写SPEC文件

cd ~/rpmbuild/SPECS
vim redis_build.spec
# 软件名
Name:           redis
# 版本号
Version:        6.2.5
# 发布编号
Release:        1%{?dist}
# 软件说明
Summary(zh_CN): 这是redis项目
# 软件包的版权协议
License:        GPLv3+

URL:            https://download.redis.io/releases/
Source0:        redis-6.2.5.tar.gz

# 编译需要的依赖
BuildRequires: gcc
# 本软件需要的依赖
#Requires: 

%description -l zh_CN
这个是一个redis项目练手项目,进行redis打包等操作。

%prep
%setup -q

# 编译阶段执行的命令
%build
make

# 安装阶段执行的命令
%install
rm -rf %{buildroot}
make install PREFIX=%{buildroot}
cp %{_builddir}/%{name}-%{version}/redis.conf %{buildroot}/bin/

# 安装后执行的命令
%post
cat>/lib/systemd/system/redis.service<<-EOF
[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/bin/redis-server
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF


# 卸载前执行的命令
%preun
rm -rf /lib/systemd/system/redis.service

# 将所需要打包的文件都存放到这边中;-f %{name}.lang 加上后的意思为声明找到的文件
%files
/bin/*

# 软件更新说明
%changelog

5.检查SPEC文件(可略)

rpmlint redis_build.spec

6.打包

centos7以及下命令:

cd ~/rpmbuild/SPECS
rpmbuild -ba redis_build.spec

centos8命令:

cd ~/rpmbuild/SPECS
rpmbuild -ba redis_build.spec --nodebuginfo
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 11:56:15  更:2022-04-28 11:58:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:50:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码