Armbian下编译安装新版samba

默认分类 · 2023-07-04

Armbian是Debian的arm分支版本,手头有个arm架构的盒子,网上大佬编译的armbian版本比较旧了,软件源也好老了,软件源带的samba版本也比较低,比较吃性能,不知道新版有没有性能方面的改善,装一下看看

放个结论在这里,新版本叼用没有,别吃饱了没事干更新了

首先移除旧版本samba

apt remove samba
apt autoremove

移除systemd的samba服务

rm /etc/init.d/smbd
rm /etc/init.d/samba-ad-dc
rm /etc/systemd/system/samba-ad-dc.service
rm /etc/systemd/system/smbd.service
systemctl daemon-reload

下载samba的源码,项目官网在这里 samba

wget https://download.samba.org/pub/samba/stable/samba-4.18.3.tar.gz
tar -xf ./samba-4.18.3.tar.gz
cd ./samba-4.18.3

安装依赖,这一步要按实际缺少的来装,不能照抄

apt install python3-dev pkg-config libgnutls28-dev zlib1g-dev libparse-yapp-perl \
    libjansson-dev libarchive-dev libacl1-dev libjson-perl

配置,参考wiki链接 编译 依赖

./configure \
    --disable-cups \  关闭打印共享组件
    --without-ad-dc \ 关闭AD域控组件
    --without-ads \   关闭AD域控组件
    --without-ldap \  关闭LDAP组件 
    --without-pam \   关闭PAM认证组件
    --with-shared-modules='!vfs_snapper'  关闭快照支持

执行编译

make -j 4 && make install

编译完应该在/usr/local/samba目录下找到samba的二进制文件
其实应该在configure的时候配置prefix的

创建systemd服务

cat > /etc/systemd/system/smbd.service << EOF
[Unit]
Description=Samba SMB Daemon
After=network.target

[Service]
Type=forking
PIDFile=/var/run/samba/smbd.pid
ExecStart=/usr/local/samba/sbin/smbd -D
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/usr/local/samba/bin/smbcontrol all shutdown
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start smbd && systemctl enable smbd
Theme Jasmine by Kent Liao