本文主要是介绍在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 -DENABLE_VFS_POSIX_ACL=ON ../src
# 也可以指定其它某些选项,比如-DUSE_FSAL_CEPH=ON,按需设置即可
中间有个lsb-release缺失,虽然不报错 但还是最好装上
查看哪个包提供了这个程序
得到结果是redhat-lsb-core,安装这个即可(没装的装一下,截图时我已安装)
3.1生成rpm
yum install -y rpm-buildmake rpm
执行make rpm没有报错后rpm生成,按需取用,若要与ceph结合,则相关ceph的编译选项需要打开。
这篇关于在centos8上生成nfs-ganesha的相关rpm的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!