收起左侧

升级BUG反馈:升级后备份服务和smb启动失败【已解决】

7
回复
126
查看
[ 复制链接 ]

1

主题

6

回帖

0

牛值

江湖小虾

2026-3-13 01:35:07 显示全部楼层 阅读模式

BUG现象:2026年3月12日将飞牛从1.1.8升级至最新版本1.1.23,升级后备份飞牛出错。其他都正常,看电影也正常,备份手机ok,备份飞牛就不行,显示加载失败

本人已自行修复,问题和修复过程详细总结在这里(见附件PDF),请求官方查看并修复bug。

upload 附件:Trim 备份服务(backup_service)修复文档.pdf*

希望官方看到后能给与回复并尽快完成修复,以免后续升级重复出现此问题。

# Trim 备份服务(backup_service)修复文档

# 飞牛(Trim)备份服务`backup_service`加载失败问题修复文档

## 一、问题发生原因总结

本次飞牛备份服务(部署在Wyse 3030瘦客户机,Debian 12系统)启动失败(提示“加载失败”、`systemctl status`显示`exit code 127`),核心是**多层依赖链断裂+路径配置缺失**,具体原因如下:

1. **系统库断链**:飞牛系统升级后误删`samba-libs`/`libsmbclient`的核心文件,导致软链接失效(如`libsmbclient.so.0`指向的`libsmbclient.so.0.7.0`、`libsamba-util.so.0`指向的`libsamba-util.so.0.0.1`缺失);

2. **私有库路径缺失**:飞牛定制私有框架库`libframework.so.2.9`(路径`/usr/trim/lib`)未加入程序的运行时库搜索路径(RPATH),程序无法识别;

3. **包状态异常**:`samba-libs`包处于半安装(`hi`)状态,依赖的子库未正确配置,触发连锁依赖缺失;

4. **库缓存未更新**:修复后的库文件未被系统缓存识别,导致程序仍无法加载。

## 二、完整修复操作说明

### 2.1 环境说明

- 设备:Wyse 3030瘦客户机

- 系统:Debian 12(x86_64)

- 核心故障程序:`/usr/trim/bin/backup_service`

- 故障现象:程序启动报“cannot open shared object file”,服务状态`activating (auto-restart) (Result: exit-code)`

### 2.2 前置准备(权限+目录)

`Bash

# 切换到root用户(必须)
sudo -i

# 创建临时修复目录(统一存放包和解压文件)
mkdir -p /tmp/samba_fix /tmp/samba_extract /tmp/samba_extract_samba_libs
cd /tmp/samba_fix

2.3 步骤1:下载缺失的系统库包(匹配版本)

下载Debian 12归档源的 samba-libslibsmbclient包(适配版本 4.17.12+dfsg-0+deb12u1):


# 下载samba-libs包(含libsamba-util等子依赖)
wget http://snapshot.debian.org/archive/debian/20240101T000000Z/pool/main/s/samba/samba-libs_4.17.12+dfsg-0+deb12u1_amd64.deb

# 下载libsmbclient包(含libsmbclient.so.0.7.0)
wget http://snapshot.debian.org/archive/debian/20240101T000000Z/pool/main/s/samba/libsmbclient_4.17.12+dfsg-0+deb12u1_amd64.deb

# 验证下载结果(有.deb文件则成功)
ls -l /tmp/samba_fix/*.deb

若wget下载失败:手动在浏览器打开上述链接下载包,通过U盘传到 /tmp/samba_fix目录。

2.4 步骤2:修复libsmbclient断链(核心系统库)


# 解压libsmbclient包(提取缺失的libsmbclient.so.0.7.0)
dpkg-deb -x /tmp/samba_fix/libsmbclient_4.17.12+dfsg-0+deb12u1_amd64.deb /tmp/samba_extract

# 复制目标文件到系统库目录(补全断链)
cp /tmp/samba_extract/usr/lib/x86_64-linux-gnu/libsmbclient.so.0.7.0 /usr/lib/x86_64-linux-gnu/

# 修复文件权限(与系统库一致)
chmod 644 /usr/lib/x86_64-linux-gnu/libsmbclient.so.0.7.0
chown root:root /usr/lib/x86_64-linux-gnu/libsmbclient.so.0.7.0

# 验证修复结果(软链接指向有效文件)
ls -l /usr/lib/x86_64-linux-gnu/libsmbclient.so.0*

正常输出示例:


lrwxrwxrwx 1 root root  21 Oct 10  2023 libsmbclient.so.0 -> libsmbclient.so.0.7.0
-rw-r--r-- 1 root root 189568 Mar 13 00:40 libsmbclient.so.0.7.0

2.5 步骤3:修复samba-libs子依赖断链(libsamba-util)


# 解压samba-libs包(提取libsamba-util.so.0.0.1)
dpkg-deb -x /tmp/samba_fix/samba-libs_4.17.12+dfsg-0+deb12u1_amd64.deb /tmp/samba_extract_samba_libs

# 复制缺失的libsamba-util.so.0.0.1到系统目录
cp /tmp/samba_extract_samba_libs/usr/lib/x86_64-linux-gnu/libsamba-util.so.0.0.1 /usr/lib/x86_64-linux-gnu/

# 修复权限+更新系统库缓存(关键)
chmod 644 /usr/lib/x86_64-linux-gnu/libsamba-util.so.0.0.1
chown root:root /usr/lib/x86_64-linux-gnu/libsamba-util.so.0.0.1
ldconfig

# 验证修复结果
ls -l /usr/lib/x86_64-linux-gnu/libsamba-util.so.0*

2.6 步骤4:配置程序RPATH(补全所有库路径)

通过 patchelfbackup_service添加系统库+飞牛私有库路径(解决路径缺失):


# 安装patchelf(已安装则跳过)
apt install -y patchelf

# 设置永久RPATH(包含系统库+飞牛私有库)
patchelf --set-rpath /lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/trim/lib /usr/trim/bin/backup_service

# 验证RPATH配置(必须包含3个路径)
patchelf --print-rpath /usr/trim/bin/backup_service

正常输出:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/trim/lib

2.7 步骤5:验证程序独立启动(核心验证)


# 直接运行程序,无报错则依赖全部修复
/usr/trim/bin/backup_service

正常输出:SPDLOG: create spdlog success!(程序后台启动成功,无库缺失报错)

2.8 步骤6:重启备份服务并验证状态


# 清除之前的失败状态+重启服务
systemctl reset-failed backup_service
systemctl stop backup_service
systemctl start backup_service

# 查看最终服务状态
systemctl status backup_service

正常输出(服务常驻运行):


● backup_service.service - Basic Backup Service(V0.1.0)
     Loaded: loaded (/etc/systemd/system/backup_service.service; enabled; preset: enabled)
     Active: active (running) since Fri 2026-03-13 01:30:00 CST; 10s ago
   Main PID: 10001 (backup_service)
      Tasks: 10 (limit: 1900)
     Memory: 50.1M
        CPU: 4.0s
     CGroup: /system.slice/backup_service.service
             **─10001 /usr/trim/bin/backup_service

2.9 步骤7:功能验收(飞牛备份功能验证)

  1. 重启Wyse 3030设备:reboot

  2. 登录飞牛Web管理面板(地址:http://[设备IP]:5666);

  3. 进入「备份」模块:

    • 新建备份任务(如备份到U盘/局域网共享盘);
    • 执行任务,确认能正常加载、运行、完成备份;
    • 查看备份日志,无报错即功能完全恢复。

三、兜底方案(服务仍无法启动时)

若上述步骤仍无法启动服务,直接通过命令手动备份飞牛数据(核心需求兜底):


# 1. 挂载U盘(替换/dev/sda1为实际U盘设备名,用lsblk查看)
mount /dev/sda1 /mnt/usb

# 2. 完整复制飞牛数据到U盘
cp -r /fnnas/data/* /mnt/usb/

# 3. 验证备份结果
ls /mnt/usb/

# 4. 安全卸载U盘
umount /mnt/usb

四、后续建议

  1. 关闭自动更新:登录飞牛Web面板→系统设置,关闭「自动系统更新」,避免升级再次删除库文件/破坏软链接;

  2. 定期检查:每月执行以下命令检查库文件状态,提前发现断链:

    
    ls -l /usr/lib/x86_64-linux-gnu/libsmbclient.so.0*
    ls -l /usr/lib/x86_64-linux-gnu/libsamba-util.so.0*
    
  3. 兜底备份:每季度通过U盘/局域网共享手动备份一次飞牛数据,避免服务故障导致数据风险;

  4. 官方适配:联系飞牛官方获取「Wyse 3030专属备份服务修复包」,从底层解决程序与系统的兼容问题。

五、关键修复要点回顾

  1. 核心是补全系统库断链文件libsmbclient.so.0.7.0libsamba-util.so.0.0.1);
  2. 必须给程序添加飞牛私有库路径/usr/trim/lib)到RPATH;
  3. ldconfig更新系统库缓存是修复后生效的关键;
  4. 程序独立启动输出 SPDLOG: create spdlog success!是依赖修复完成的核心标志。

(注:文档部分内容可能由 AI 生成)


收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

6

回帖

0

牛值

江湖小虾

2026-3-13 01:41:02 楼主 显示全部楼层

欢迎和我联系讨论。

1

主题

6

回帖

0

牛值

江湖小虾

2026-3-13 09:51:12 楼主 显示全部楼层

上面的问题解决完以后,发现还有一个新问题,飞牛备份系统配置出错,提示导出失败!这个怎么解决?请给点建议?

ScreenShot_2026-03-13_095044_695.jpg

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

6

回帖

0

牛值

江湖小虾

5 天前 楼主 显示全部楼层

今天发现smbd也有问题,启动失败,头大:
Wyse3030:~$ systemctl status smbd
× smbd.service - Samba SMB/CIFS daemon (smbd)
Loaded: loaded (/etc/systemd/system/smbd.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Tue 2026-03-17 18:36:23 CST; 2min 7s ago
Process: 1871 ExecStart=/usr/sbin/smbd -D $SMBDOPTIONS (code=exited, status=203/EXEC)
CPU: 1ms

1

主题

6

回帖

0

牛值

江湖小虾

5 天前 楼主 显示全部楼层

Wyse3030:~# ls -l /usr/sbin/smbd
ls: cannot access '/usr/sbin/smbd': No such file or directory

1

主题

6

回帖

0

牛值

江湖小虾

4 天前 楼主 显示全部楼层

按照花名的帖子:https://club.fnnas.com/forum.php?mod=viewthread&tid=55994的方法,执行了《第二步:核心依赖修复(SSH 操作)》后,成功修复了smb的问题,之后后台导出系统配置的问题也不再出现了。暂时没什么问题了,希望下个版本升级后不要再重复出现这些问题。

256

主题

1万

回帖

0

牛值

管理员

fnOS1.0上线纪念勋章

smbd问题用你发的补丁:curl -fSsL https://static2.fnnas.com/aptfix/fixsmb.sh | bash 修复无效。我是用花名的帖子中的方法才解决的。  详情 回复
3 天前

1

主题

6

回帖

0

牛值

江湖小虾

3 天前 楼主 显示全部楼层
飞牛技术同学 发表于 2026-3-18 19:01
【新提醒】社区热点问题 20260313 - BUG反馈 飞牛私有云论坛 fnOS*已在热点问题说明,该问题已经在处理后续 ...

smbd问题用你发的补丁:curl -fSsL https://static2.fnnas.com/aptfix/fixsmb.sh | bash
修复无效。我是用花名的帖子中的方法才解决的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则