根据你之前提到的 SMB 配置问题,我理解你需要解决飞牛系统中 SMB 下载速度慢的问题,并希望通过修改配置文件使其永久生效。以下是具体实现步骤:

方案 1:修改现有配置文件(推荐)

步骤 1:备份原始配置文件

sudo cp /etc/samba/smb.custom.conf /etc/samba/smb.custom.conf.bak

步骤 2:修改配置文件

将 aio read size = 1 修改为 aio read size = 0(禁用异步 I/O 以提高速度):

sudo sed -i 's/aio read size = 1/aio read size = 0/g' /etc/samba/smb.custom.conf

步骤 3:创建重启后自动恢复配置的脚本

sudo tee /usr/local/bin/restore-smb-config.sh >/dev/null <<'EOF'
#!/bin/bash
# 恢复SMB配置并重启服务
sed -i 's/aio read size = 1/aio read size = 0/g' /etc/samba/smb.custom.conf
systemctl restart smbd
echo "SMB配置已恢复并重启服务"
EOF

步骤 4:设置脚本权限

sudo chmod +x /usr/local/bin/restore-smb-config.sh

步骤 5:创建系统服务(确保重启后自动执行)

sudo tee /etc/systemd/system/restore-smb-config.service >/dev/null <<'EOF'

[Unit]
Description=Restore SMB Configuration
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/restore-smb-config.sh

[Install]
WantedBy=multi-user.target
EOF

步骤 6:启用并启动服务

sudo systemctl enable restore-smb-config.service
sudo systemctl start restore-smb-config.service

方案 2:创建自定义配置文件(更灵活)

步骤 1:创建自定义配置文件

sudo sed 's/aio read size = 1/aio read size = 0/g' /etc/samba/smb.custom.conf > /etc/samba/smb.custom.aio.conf

步骤 2:修改主配置文件指向新配置

sudo sed -i 's/smb.custom.conf/smb.custom.aio.conf/g' /etc/samba/smb.conf

步骤 3:创建自动恢复脚本

sudo tee /usr/local/bin/restore-smb-config.sh >/dev/null <<'EOF'
#!/bin/bash
# 重新生成自定义配置并重启服务
sed 's/aio read size = 1/aio read size = 0/g' /etc/samba/smb.custom.conf > /etc/samba/smb.custom.aio.conf
systemctl restart smbd
echo "SMB自定义配置已更新并重启服务"
EOF

步骤 4-6:同方案 1 的步骤 4-6(设置权限、创建服务、启用服务)

验证配置是否生效

# 检查配置文件是否包含 aio read size = 0
grep "aio read size" /etc/samba/smb.custom.conf
# 重启系统后再次检查
sudo reboot
grep "aio read size" /etc/samba/smb.custom.conf

注意事项

每次修改 SMB 设置后:若通过飞牛系统界面修改了 SMB 设置,可能会覆盖配置,需重新执行脚本:

sudo /usr/local/bin/restore-smb-config.sh

性能影响:aio read size = 0 在高带宽环境下可能提升速度,但在低带宽或不稳定网络中可能效果相反。

系统兼容性:上述脚本适用于大多数 Linux 系统,若你的飞牛系统基于其他内核,可能需要调整路径或命令。

如果遇到问题,请随时告诉我具体错误信息,我会进一步帮你调整方案。