背景:Centos6.9的服务器过保,需要把samba服务迁移到Centos7.6
之前在Centos6.9上安装的samba 4.2.10,用户在Windows访问samba时可以本地checkout SVN代码库到samba共享目录,但是在 Centos7.6安装samba后(yum install samba 安装,默认为4.10.16),checkout失败(提示文件已存在)。在7.6的samba 服务器上命令行check out成功。
需要在Centos7.6上编译安装samba低版本
安装过程
samba官网下载samba-4.8.12.tar.gz,并上传到/root后解压:
tar -zxvf tar -zxvf samba-4.2.14.tar.gz
./configure:
cd /root/samba-4.8.12
./configure --prefix=/opt/samba48 --without-ldap --without-ads --without-pam
备注:
--prefix为未来的安装目录;
--without:configure过程中可能会有些报错,可以通过这个参数忽略
过程中可能会缺少依赖,可以用yum search 查看镜像中是否有相关的依赖包。
make -j 2 (多线程安装)
make install
修改配置:
安装后切换到/opt/samba48
将原来旧samba的配置文件复制到/opt/samba48/etc目录,并修改smb.conf中的include路径:
将原来的samba 密码复制到/opt/samba48/private:
cp -a /var/lib/samba/private/* /opt/samba48/private
启动samba:
/opt/samba48/sbin/smbd -D
(验证了4个版本:4.2.14、4.8.12、4.9.18、4.10.16。4.9和4.10都有这个问题,4.8上可以成功checkout)
参考文档: