本篇文章记录一下,在更新群晖 7.1 系统后。如何通过卸载不必要的系统内置软件,来减少不必要的远程数据上报行为,提升隐私安全。
写在前面
五一前收到了群晖 7.1 版本后到第一个安全漏洞提醒:Synology-SA-22:06 Netatalk 以及对应的版本更新通知。考虑到数据安全,趁着五一假期,我对它进行了升级。
但是在升级后,发现有一些老软件因为不兼容无法运行,只好顺带着把软件也进行升级。但这一升级,我发现软件管理器中出现了几个我不太喜欢的,大概率带有“对外数据交互”的服务:“Active Insight”、“Secure SignIn” 等。(我之前有删除过)
我习惯性的打开“套件中心”,想要将其中一个软件删除,但是发现它很倔强的告诉我 “没有卸载的选项”,不可以卸载。
那么,这个软件能卸载吗?要怎么做呢?
准备工作
为了卸载掉 Active Insight 这类钉子户,我们需要打开群晖的 SSH 终端,然后使用其他设备 SSH 连上去进行操作。这里属于群晖玩家基本操作了,就不多赘述了。
不过为了安全,建议使用 ssh-copy-id
做好基于 SSH-KEY 的认证登录,并关闭常规的密码登录。如果你不了解该怎么做,可以参考《设置群晖 6.1 以及 6.2 使用证书免密登录》一文中的方法。
卸载群晖内置软件
想要卸载内置软件之前,我们需要知道软件安装在系统中使用的软件包名称。可以通过下面执行命令来获得:
synopkg list
命令执行完毕之后,我们将会看到类似下面的日志输出结果:
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.
...
我们要寻找的软件包名称,就是版本号前面的“英文部分”。在开始卸载软件之前,我们还需要先停止服务:
synopkg stop ActiveInsight
当执行完命令后,我们可以得到类似下面的结果:
{"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
工具进行软件卸载:
synopkg uninstall ActiveInsight
同样的,当命令执行完毕,我们将得到类似下面的结果:
{"action":"prepare","error":{"code":0},"stage":"prepare","success":true}
同理,如果我们想卸载其他的软件,只需要再次参考上面进行操作即可。比如,我们可以卸载掉需要登录群晖账号才能使用的 Secure SignIn
服务。
在默认的“安全性”配置页面中,会展示需要我们登录才能使用这个功能,同样使用 stop
和 uninstall
大法:
synopkg stop SecureSignIn
synopkg uninstall SecureSignIn
当一切执行完毕后,原来“安全性”配置页面中的服务状态就变成了“停止”。
最后
这篇就先聊到这里,如果后面有同学对群晖命令感兴趣,或许我会再补充一篇聊聊群晖系统中的命令行工具。
–EOF