samba源码编译安装(版本4.13.0)

源码编译安装Samba及解决依赖问题

前言

一般来说,安装samba最快的方式应该是通过yum的方式,只需一行命令:yum install -y samba即可完成。为什么需要通过源码编译安装呢?
原因有二:

  • 通过yum方式安装的没法修改源码,打补丁
  • yum方式不能安装到目前最新的版本4.13.0,通过yum安装目前是4.10.0

我们最终的目的是为了修补漏洞而采用源码编译安装,这是前段时间安全扫描爆出的漏洞:

看两个漏洞的详情:
在这里插入图片描述
在这里插入图片描述
可见有的漏洞是出现在指定的版本,我们可以通过升级版本解决,也可以在当前版本打补丁,但要通过源码安装才行,另一方面只是一味的升级也不解决问题,有些问题是高版本也存在,最后还是得打补丁!
所以,本文就是先通过源码安装的方式升级到最高的版本,后面再针对漏洞打补丁。

编译安装samba

下载三个包

  • samba-4.13.0.tar.gz
  • gnutls-3.6.4.tar.xz
  • nettle-3.4.1.tar.gz

下载链接:链接:https://pan.baidu.com/s/1i3PA5Sagjd_ozypYiZPskw 密码:wzau

安装依赖

yum install -y python3 python36 python3-devel perl-Parse-Yapp libtasn1-devel libunistring-devel zlib-devel gmp-devel libldap2-dev openldap-devel m4

共需要安装samba、gnutls、nettle

因为安装samba依赖gnutls的版本 > 3.4.7,所以得升级gnutls,升级gnutls它又依赖nettle,这里我们还是按照正常安装的逻辑来进行,缺少依赖就依次去补充依赖,找不到文件就考虑使用软连接,下面是我上次安装的过程记录。

1、进入解压后的samba目录执行:

./configure --disable-python --without-ad-dc --without-json --without-libarchive

错误:

Checking for GnuTLS >= 3.4.7
['/usr/bin/pkg-config', 'gnutls >= 3.4.7', '--cflags', '--libs', 'gnutls']
err: Package gnutls was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnutls.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gnutls' found
Package gnutls was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnutls.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gnutls' found

解决:安装GnuTLS 3.4.7以上的版本,现在选择gnutls-3.6.4

2、进入解压后的gnutls目录执行

./configure  --without-p11-kit 

错误:
configure: error:

*** Libnettle 3.4 was not found.
解决:安装Libnettle

3、进入解压后的nettle目录执行

3.1 卸载已存在nettle
yum remove nettle*
3.2 检查配置
./configure

结果:成功

评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值