31
8 月
2024

Synology 群晖套件无法卸载解决办法 卸载后无法安装失败解决方法

我们在使用群晖的时候偶尔会碰到一些套件无法使用,特别的是一些第三方套件或者 Beta 版本的时候。

如果遇到群晖套件无法卸载的时候,我们可以在群晖里面打开 控制面板 > 终端机和SNMP 里面开启 SSH 。

开启 SSH 之后,我们可以通过 SSH 客户端登录到群晖。Windows 下载可以使用 PowerShell 登录,MacOS 下可以使用 终端 登录。

这里我们以 Windows 为例, 打开 PowerShell ,输入 ssh 群晖用户名@群晖地址 。

ssh admin@10.10.10.105

然后输入密码,

切换到 Root 用户

sudo -i

进入套件目录

cd /var/packages/

我们可以通过 ls 列出目录,看有那些套件。

然后使用 rm -rf 目录名称。

这里我们以 DNSserver 为例。

输入 rm -rf dnsserver 删除目录即卸载完成,rm -rf 命令一定要慎用,不然后果自负。

群晖终端也有支持的卸载套件的命令,但很多的时候前端无法卸载的时候,这个命令基本也无法使用,可以了解下这个卸载命令。

#列出需要删除的套件
synopkg list | grep --ignore-case ***
# 先停用
sudo synopkg pause ***
# 后卸载
sudo synopkg uninstall ***

在写这个文章之前,多次测试套件误删除文件后只能重新安装系统才能再次安装这个错误的套件。期间也试过 find -name xxx* 清理各种残留都没有解决,昨夜搞了半天也没搜到相关文章,经过多次测试终于找到解决办法。

套件文件夹说明
关于群晖套件安装有两个重要目录:/var/packages 和 /volume1/@appstore:

1、/var/packages/是套件的配置文件和运行脚本,运行程序target文件夹链接到/volume1/@appstore

2、/volume1/@appstore是套件的程序目录,spk文件里面的package.tgz就解压至此

985427734.png
删除/volume1/@appstore里面的程序目录,套件会提示 错误,但此时还可以正常卸载或再次上传spk文件安装

555952896.png
升级系统或者修改(删除)套件文件导致套件无法启动也无法修复、卸载,通常有些教程让你。。。删除/var/packages里面的目录,删除一时爽但是会发现无法再安装(DSM7肯定无法安装,DSM6偶尔还可以)。

1986086920.png
使用 synopkg install xxx 命令安装会提示:

无法更新“AList网盘”。无法执行此操作,可能是因为网络连接不稳定或系统正忙。请稍后再试。。

269052462.png
{"error":{"code":0},"results":[{"action":"repair","beta":false,"betaIncoming":false,"error":{"code":263,"description":"failed to create temp dir"},"finished":true,"installReboot":false,"installing":true,"language":"enu","last_stage":"prepare_upgrade","package":"alist3","packageName":"AList网盘","pid":31779,"spk":"/root/AList3_v3.29.1_x86_64-DSM77.spk","stage":"install_failed_and_stopped","status":"non_installed","status_code":255,"status_description":"failed to locate given package","success":false,"username":"","version":"3.29.1"}],"success":false}
修复套件强删错误
解决方法:安装或者删除一个别的套件,再安装此套件即可。。。。。。折腾几个小时 找到的方案
原理应该是直接删除文件并没有更新套件列表,因为没有upgrade执行脚本导致安装错误,通过安装卸载别的套件即可更新修复。
删除 alist3 的用户和用户组

synouser --del alist3
synogroup --del alist3

You may also like...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注