禁用占用资源、复制数据的 Gnome 跟踪器守护进程比应有的困难得多。我正在使用 Gnome 运行最近安装的(稳定)Debian 11.2。
我发现的一项建议是编辑所有/etc/xdg/autostart/tracker-*.desktop文件,以便
X-GNOME-Autostart-enabled=false (它是true)
尽管据称这对某人有效,但从前,可惜的是,这种改变并没有产生明显的效果。
由于我正在运行跟踪器的版本 2,我也尝试过:
systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
Run Code Online (Sandbox Code Playgroud)
显然,这种方法有效,尽管系统日志仍然不断报告跟踪器服务“成功”。也许这些条目是如何为跟踪器服务配置 systemd 的产物。“屏蔽”方法的问题在于,重新启用跟踪器守护进程的反向操作(mask-> unmask)对我来说不起作用。(是的,我按照指示重新启动。然而,跟踪器守护进程没有恢复运行。)
事实证明,整个/etc/xdg/autostart/tracker-*.desktop行业在几个方面都存在误导:
跟踪器守护程序和这些文件之间不存在一一对应的关系。有 2 个这样的文件,但有 3 个守护进程。
我仅通过研究系统日志才发现这三个守护进程的存在/身份。
跟踪器都在用户空间中。如果用户未运行,则跟踪器守护程序不会运行。根据这个建议,我使用了:
systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
Run Code Online (Sandbox Code Playgroud)
...(正如我之前报道的那样确实有效),我在当前用户的主目录中创建符号链接。~/.config/systemd/user例如,在 Debian 11/Gnome 中,这些位于tracker-extract.service -> /dev/null。
但有一个问题:您必须以您希望禁用其跟踪器守护程序的用户身份登录才能运行systemctl --user ...。这对于打算运行但不登录的用户来说很不方便。其中一个用户是Debian-gdm,显然默认情况下,跟踪器守护程序在 gdmgreeter 运行时运行。更糟糕的是,sudo -u thisuser systemctl --user ...即使我以 root 身份登录也无法工作。因此,为了完全禁止跟踪器守护进程运行,您必须找到一种以 Debian-gdm 身份登录的方法。
因此,我目前解决真正禁用跟踪器守护进程问题的解决方案只是编写脚本,在每个受影响的用户的目录中创建和删除这些链接。重要的是要了解符号链接的名称会有所不同,具体取决于您运行的是跟踪器 v2 还是 v3。systemctl --user ...同样重要的是要了解,并非所有发行版都使用上面提到的所有服务。在 Debian 11/Gnome 上,至少到目前为止,只使用了 6 个中的 3 个。不过,屏蔽(创建对应的符号链接)未使用的链接似乎并没有什么坏处。
如果跟踪器守护进程一直在运行,它们就会创建数据,这些数据的存在可能会也可能不会产生安全问题。(这些数据当然是我所关心的。)要删除这些数据,据称推荐的程序是:
tracker reset --hard(对于 v2)
或
tracker3 reset -s -r(据说是对于 v3)
但同样,您需要以要销毁跟踪器数据的用户身份登录。我再次发现,对于每个用户来说,简单地删除它更安全、更容易,
~/.cache/tracker
和
~/.local/share/tracker
或跟踪器数据恰好存储的任何地方。
您可能还希望考虑如何处理先前泄漏到系统日志中的详细跟踪器报告。
| 归档时间: |
|
| 查看次数: |
12564 次 |
| 最近记录: |