从源代码升级编译的 Samba - 版本不匹配

从源代码升级编译的 Samba - 版本不匹配

我正在 CentOS 8 上测试 Samba 4 AD(测试环境)。第一次尝试使用不支持 cups 的版本 4.13.5,因为我已经安装了此链接中“手动维护的发行版特定软件包列表”部分列出的软件包https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba。我犯了错误,但手动安装软件包后就成功了。

几个小时后,我意识到我忘记了 cups 支持,所以我安装了 cups-devel 和其他包并./configure && make && make install再次运行。一切似乎都正常,域仍在运行。

昨天我尝试升级到 4.14.2,但这次我看到了“已验证的软件包依赖项”部分https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba并在运行之前安装来自 git.samba.org 链接的所有软件包(git 软件包除外)./configure && make && make install

今天,我尝试为 Windows 用户禁用密码复杂性。使用 GPO 失败,但找到了此链接:https://serverfault.com/a/780966。简而言之,该用户表示无法使用 Samba AD 的 GPO 更改密码复杂性,并表示他使用此命令成功了:

samba-tool domain passwordsettings set --complexity=off

但是我收到有关 Samba 版本不同的错误:

[root@ad1 ~]# /usr/local/samba/bin/samba-tool domain passwordsettings set --complexity=off
ERROR(<class 'ImportError'>): uncaught exception - /usr/local/samba/lib/private/libcliauth-samba4.so: version `SAMBA_4.13.5' not found (required by /usr/local/samba/lib64/python3.6/site-packages/samba/samba3/libsmb_samba_internal.cpython-36m-x86_64-linux-gnu.so)
  File "/usr/local/samba/bin/samba-tool", line 45, in <module>
    retval = cmd._run("samba-tool", subcommand, *args)
  File "/usr/local/samba/lib64/python3.6/site-packages/samba/netcmd/__init__.py", line 235, in _run
    return self.subcommands[subcommand]._run(
  File "/usr/local/samba/lib64/python3.6/site-packages/samba/netcmd/main.py", line 36, in __getitem__
    fromlist=['cmd_%s' % attr]),
  File "/usr/local/samba/lib64/python3.6/site-packages/samba/netcmd/domain.py", line 44, in <module>
    import samba.ntacls
  File "/usr/local/samba/lib64/python3.6/site-packages/samba/ntacls.py", line 35, in <module>
    from samba.samba3 import libsmb_samba_internal as libsmb

有些软件包仍引用 4.13.5 版本,而不是新版 4.14.2。我在更新过程中做错了什么?谢谢

更新:因为是测试环境所以我尝试过这个:

1. Stop samba ad dc
2. Backup /usr/local/samba
3. Delete /usr/local/samba/bin, lib, lib64, libexec and sbin
4. cd to source samba-4.14.2 and make install
5. Start samba ad dc + DB check

现在链接到旧版本没有问题了。那么我在 4.13.5 -> 4.14.2 期间是否出了什么问题,或者是否存在指向旧编译版本的孤立链接(samba 错误)?

答案1

我不确定这是否是正确的修复方法,但在编译和安装 Samba 4.14.7 后我遇到了类似的问题。

我偶然删除了 /usr/local/samba/lib64/python3.6。

为了修复它我做了:

  1. 停止 Samba4
  2. 为 samba-4.14.7 重新运行“make install”
  3. 重新启动 Samba

samba-tool 再次可以工作了!

希望有帮助....

相关内容