本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2022年05月02日 统计字数: 2734字 阅读时间: 6分钟阅读 本文链接: https://soulteary.com/2022/05/02/synology-dsm-7-1-notes-uninstall-built-in-programs.html ----- # 群晖 DSM 7.1 折腾笔记:卸载内置程序 本篇文章记录一下,在更新群晖 7.1 系统后。如何通过卸载不必要的系统内置软件,来减少不必要的远程数据上报行为,提升隐私安全。 ## 写在前面 五一前收到了群晖 7.1 版本后到第一个安全漏洞提醒:[Synology-SA-22:06 Netatalk](https://www.synology.cn/zh-cn/security/advisory/Synology_SA_22_06) 以及对应的[版本更新通知](https://www.synology.cn/zh-cn/releaseNote/DSM)。考虑到数据安全,趁着五一假期,我对它进行了升级。 ![升级到 DSM 7.1 的群晖](https://attachment.soulteary.com/2022/05/02/dsm-7-1.jpg) 但是在升级后,发现有一些老软件因为不兼容无法运行,只好顺带着把软件也进行升级。但这一升级,我发现软件管理器中出现了几个我不太喜欢的,大概率带有“对外数据交互”的服务:“Active Insight”、“Secure SignIn” 等。(我之前有删除过) ![升级完后多出了几个“新面孔”](https://attachment.soulteary.com/2022/05/02/after-dsm-upgraded.jpg) 我习惯性的打开“套件中心”,想要将其中一个软件删除,但是发现它很倔强的告诉我 “没有卸载的选项”,不可以卸载。 ![升级完后多出了几个“新面孔”](https://attachment.soulteary.com/2022/05/02/can-not-delete-active-insight.jpg) 那么,这个软件能卸载吗?要怎么做呢? ## 准备工作 为了卸载掉 Active Insight 这类钉子户,我们需要打开群晖的 SSH 终端,然后使用其他设备 SSH 连上去进行操作。这里属于群晖玩家基本操作了,就不多赘述了。 不过为了安全,建议使用 `ssh-copy-id` 做好基于 SSH-KEY 的认证登录,并关闭常规的密码登录。如果你不了解该怎么做,可以参考[《设置群晖 6.1 以及 6.2 使用证书免密登录》](https://soulteary.com/2018/07/20/synology-passwordless-ssh.html)一文中的方法。 ## 卸载群晖内置软件 想要卸载内置软件之前,我们需要知道软件安装在系统中使用的软件包名称。可以通过下面执行命令来获得: ```bash synopkg list ``` 命令执行完毕之后,我们将会看到类似下面的日志输出结果: ```bash AudioStation-7.0.1-5209: With Audio Station and its mobile app DS audio, you can enjoy high-quality playback, listen to radios, manage your music collection, create personal playlist, and share with friends anywhere. OAuthService-1.1.2-0071: OAuth Service is an open standard protocol for account authorization and authentication. It allows resource owners to authorize third-party access to their server resources without sharing their credentials. The package adopts OAuth 2.0 standard. ... ``` 我们要寻找的软件包名称,就是版本号前面的“英文部分”。在开始卸载软件之前,我们还需要先停止服务: ```bash synopkg stop ActiveInsight ``` 当执行完命令后,我们可以得到类似下面的结果: ```json {"action":"stop","beta":false,"error":{"code":0},"finished":true,"language":"enu","last_stage":"stopped","package":"ActiveInsight","pid":2622,"scripts":[{"code":0,"message":"","type":"stop"}],"stage":"stopped","status":"stop","status_description":"translate from systemd status","success":true,"username":"","version":"1.4.0-1706"} ``` 当服务停止之后,我们可以使用 `synopkg` 工具进行软件卸载: ```bash synopkg uninstall ActiveInsight ``` 同样的,当命令执行完毕,我们将得到类似下面的结果: ```bash {"action":"prepare","error":{"code":0},"stage":"prepare","success":true} ``` ![再次查看套件中心,Active Insight 消失了](https://attachment.soulteary.com/2022/05/02/after-uninstall-active-insight.jpg) 同理,如果我们想卸载其他的软件,只需要再次参考上面进行操作即可。比如,我们可以卸载掉需要登录群晖账号才能使用的 `Secure SignIn` 服务。 ![默认“安全性”中的 Secure SignIn 选项](https://attachment.soulteary.com/2022/05/02/secure-signin-webui.jpg) 在默认的“安全性”配置页面中,会展示需要我们登录才能使用这个功能,同样使用 `stop` 和 `uninstall` 大法: ```bash synopkg stop SecureSignIn synopkg uninstall SecureSignIn ``` 当一切执行完毕后,原来“安全性”配置页面中的服务状态就变成了“停止”。 ![当卸载之后,安全性中的服务状态](https://attachment.soulteary.com/2022/05/02/after-uninstall-secure-signin.jpg) ## 最后 这篇就先聊到这里,如果后面有同学对群晖命令感兴趣,或许我会再补充一篇聊聊群晖系统中的命令行工具。 --EOF