在centos8上生成nfs-ganesha的相关rpm

在centos8上生成nfs-ganesha的相关rpm

    • 1.背景
    • 2.依赖环境准备
      • 2.1配置yum源
      • 2.2安装依赖包
      • 2.3拉取源代码
    • 3编译打包
      • 3.1生成makefile
      • 3.1生成rpm

1.背景

在某些情况下,可能需要在CentOS 8上从源代码生成NFS Ganesha的RPM包,特别是当内置的软件仓库提供的NFS Ganesha版本不能满足需求时,以及在类似系统上操作,打包ganesha的rpm。

2.依赖环境准备

2.1配置yum源

CentOS 8已于2021年12月31日寿终正非,但软件包仍在官方镜像上保留了一段时间。现在他们被转移到https://vault.centos.org

如果你仍然需要运行你的旧CentOS 8,你可以在/etc/yum.repos中更新repos.d使用vault.centos.org代替mirror.centos.org。

sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
有一些源没有启用,需要启用,因为有的包不仅仅是在baseos、appstream、extras中的,不好分辨的情况下将除了本地源之外的都启用
sed -i 's#enabled=0#enabled=1#g' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo
sed -i 's#enabled=0#enabled=1#g' /etc/yum.repos.d/CentOS-Linux-HighAvailability.repo
sed -i 's#enabled=0#enabled=1#g' /etc/yum.repos.d/CentOS-Linux-Plus.repo
sed -i 's#enabled=0#enabled=1#g' /etc/yum.repos.d/CentOS-Linux-FastTrack.repo
sed -i 's#enabled=0#enabled=1#g' /etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo

2.2安装依赖包

yum install python3-devel selinux-policy-devel libtirpc-devel userspace-rcu userspace-rcu-devel xfsprogs-devel
yum install cmake libarchive-devel bison flex doxygen libuuid-devel libblkid-devel libcap-devel libacl-devel
yum install libattr-devel libnfsidmap-devel libwbclient-devel libnsl2-devel
yum install gcc gcc-c++
yum install krb5-devel dbus-devel

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3拉取源代码

yum install -y git
git clone https://github.com/nfs-ganesha/nfs-ganesha.git

在这里插入图片描述
在这里插入图片描述

3编译打包

3.1生成makefile

切换到所需要的代码版本,然后拉取submodule

cd nfs-ganesha/
git checkout V4.2
git submodule update --init

在这里插入图片描述
创建一个新的构建目录并进入到这里运行cmake生成构建文件

mkdir build; cd build; cmake ../src
# 也可以指定某些选项,比如-DUSE_FSAL_CEPH=ON
# 这里不指定选择默认直接梭哈

在这里插入图片描述

3.1生成rpm

yum install -y rpm-buildmake rpm

在这里插入图片描述
执行make rpm没有报错后rpm生成
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/702983.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【3DMAX教程插件】中文3DMax造雪助手造雪覆盖模拟插件使用方法

3DMax造雪助手造雪覆盖模拟插件使用教程 3DMax造雪助手,造雪覆盖模拟插件,只需点击鼠标即可创建逼真的雪。它包括5个自定义对象和6个专门为雪创建工作流设计的修改器。通过各种参数,可以在各种情况下获得所需的效果。 【适用版本】 3dMax201…

工具:资源包提取

1.提取unity资源包的工具 一定要通过文件夹的方式选择unity文件否则导出来后的资源不完整

[FlareOn1]Bob Doge

[FlareOn1]Bob Doge Hint:本题解出相应字符串后请用flag{}包裹,形如:flag{123456flare-on.com} 得到的 flag 请包上 flag{} 提交。 密码:malware 没什么思路,原exe文件运行又install了一个challenge1.exe文件 c#写的&#xff…

vue3中的watch侦听器

在有些情况下,我们需要在状态变化时执行一些“副作用”:例如更改 DOM ,或是根据异步操作的结果去修改另一处的状态。在组合式 API 中,我们可以使用 watch 函数在每次响应式状态发生变化时触发回调函数。 watch 函数可以侦听被 ref…

运维别卷系列 - 云原生监控平台 之 03.prometheus label 实践

文章目录 [toc]label 简介自定义标签relabel_configsregexrelabel_action metric_relabel_configs两者的区别 实践 label 简介 label 对于 Prometheus 来说,属于数据处理的方式,Prometheus 是通过指定的 label 来查询数据 Prometheus 的 target 中实例&…

unity 2d像素游戏抖动问题

有的时候移动的时候会抖动, 刚体的这里改成插值,平滑移动解决

验证集的划分方法:确保机器学习模型泛化能力的关键

验证集的划分方法:确保机器学习模型泛化能力的关键 目录 一、验证集的作用 二、验证集的划分方法 三、注意事项 四、总结 在机器学习任务中,我们不仅要关注模型在训练数据上的表现,更重要的是模型在未见数据上的泛化能力。为了评估和提高…

Kafka基础架构详解

Kafka基础架构 Kafka概述 1. Producer(生产者): 生产者是向 Kafka broker 发送消息的客户端。它负责将消息发布到指定的主题(Topic),并可以选择将消息发送到特定的分区(Partition&#xff09…

高中数学:平面向量-加减运算

一、向量的加法运算 三角形法则(推荐) 两个或多个向量收尾相连的加法运算,用三角形法则 简便算法 首尾相连的多个向量,去掉中间点,就是最终的和。 也可以用三角形法则证明 向量加法交换律 向量加法结合律 平行四…

打造销售爆款利器!淘宝商品评论电商API接口全方位解析

无论是实体店还是电商平台,通过有效的销售推广手段,提升产品销量都是商家追求的目标。而淘宝商品评论电商API接口就是一种非常有效的工具,它能够帮助商家获取、分析并利用商品评论信息,为销售策略提供有力支持。联讯数据将全面解析…

Flutter 依据JSON数据自动生成实体类

json自动化生成工具 点击这里可以跳转 页面是这样的 然后在左边输入你的json数据,它会自动生成对应的实体类 生成的实体类是如下: import package:json_annotation/json_annotation.dart; part merch_region.g.dart;JsonSerializable()class MerchReg…

华为设备使能Auto-Config功能

Auto-Config is working. Before configuring the device, stop Auto-Config. If you perform configurations when Auto-Config is running, the DHCP, routing, DNS, and VTY configurations will be lost. Do you want to stop Auto-Config? [y/n] 背景信息 此任务的应用场…