![卸载 evolution,无需卸载 gnome-shell](https://linux22.com/image/932629/%E5%8D%B8%E8%BD%BD%20evolution%EF%BC%8C%E6%97%A0%E9%9C%80%E5%8D%B8%E8%BD%BD%20gnome-shell.png)
我安装了 Ubuntu 18.04 LTS 并用它来开发软件。我注意到htop
有两个进程占用了大量内存,/usr/lib/evolution/evolution-addressbook-factory
并且/usr/lib/evolution/evolution-calendar-factory
——占用了 1G 的虚拟地址空间和 100MB 的常驻内存。我不需要日历或地址簿。事实上,我有更重要的事情要做,而这些事情占用了内存和 CPU 时间。重要的是,我绝对需要不是我想要任何应用程序尝试与我永远不会使用的日历或地址簿集成。我想要任何尝试这样做的应用程序告诉我它遵循了错误的安全理念。所以我想卸载它们。
inetknght@develop:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
无需更新或安装。很好,系统已完全更新。我想删除一个软件包。
inetknght@develop:~$ dpkg -S evolution-addressbook-factory
evolution-data-server: /usr/lib/evolution/evolution-addressbook-factory-subprocess
evolution-data-server: /usr/lib/systemd/user/evolution-addressbook-factory.service
evolution-data-server: /usr/lib/evolution/evolution-addressbook-factory
inetknght@develop:~$ dpkg -S evolution/evolution-calendar-factory
evolution-data-server: /usr/lib/evolution/evolution-calendar-factory
evolution-data-server: /usr/lib/evolution/evolution-calendar-factory-subprocess
因此,我想要删除的两个进程均由该evolution-data-server
包提供。
inetknght@develop:~$ sudo apt-get remove evolution-data-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
policykit-1-gnome
The following packages will be REMOVED:
evolution-data-server gdm3 gnome-shell gnome-todo ubuntu-desktop ubuntu-session
The following NEW packages will be installed:
policykit-1-gnome
0 upgraded, 1 newly installed, 6 to remove and 0 not upgraded.
Need to get 24.0 kB of archives.
After this operation, 12.2 MB disk space will be freed.
Do you want to continue? [Y/n] n
为什么删除一个软件包会导致 apt-get 想要安装另一个软件包??? 为什么删除该软件包需要删除整个 shell?
过去我曾简单地chmod -x /usr/lib/evolution/*
这样做过,但那暂时有效。但不久前发布了一个更新,现在文件已被替换并再次可执行。卸载我永远不会使用的系统组件的真正解决方案是什么?为什么有些系统组件提供地址簿和日历功能但没有任何可配置性?这些组件没有 UI。如果我evolution
在活动菜单中搜索,则不会返回任何结果。但如果我evolution
在 Ubuntu 软件应用程序中搜索,则会看到结果,它是未安装。那么如果没有安装那么这些组件是如何在这里运行的呢?
答案1
答案是你不能,因为 gnome-shell 明确声明evolution-data-server
为依赖项,
apt-cache depends gnome-shell | grep evolution-data-server
答案2
我知道这不是答案(不要这样做)。但我找到了这个线程,因为我删除了 evolution-data-server 并丢失了我的 GUI。这是唯一有冲突的包。我没有找到直接的答案,所以这里是对我有用的方法,希望它能有所帮助。Ubuntu 22.04。
dpkg --force-depends -r evolution-data-server
apt install ubuntu-desktop
或者
apt install ubuntu-desktop-minimal
根据之前安装的内容。