我使用 Breeze 图标主题并想卸载其他主题。
但是,当我尝试时,会删除大量其他依赖项。
例如人性图标主题
sudo apt-get remove humanity-icon-theme
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
adwaita-icon-theme-full
The following packages will be REMOVED:
humanity-icon-theme ubuntu-mono
The following NEW packages will be installed:
adwaita-icon-theme-full
0 upgraded, 1 newly installed, 2 to remove and 2 not upgraded.
Need to get 8,429 kB of archives.
After this operation, 3,985 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
- 为什么在删除图标主题时会删除单声道?
- 为什么当我删除一个包时会添加另一个包?
这些主题中是否存在层次结构,它们是相互建立的还是什么?
另一个例子:adwaita-icon-theme
sudo apt-get remove adwaita-icon-theme
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
gnome-icon-theme
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
gnome-icon-theme
The following packages will be REMOVED:
adwaita-icon-theme firefox gtk2-engines-pixbuf gtk3-engines-breeze humanity-icon-theme kde-config-gtk-style kde-config-gtk-style-preview libgail-common libgail18 libgtk-3-0
libgtk-3-bin libgtk2.0-0 libgtk2.0-bin libscim8v5 plasma-desktop ubuntu-mono
The following NEW packages will be installed:
gnome-icon-theme
0 upgraded, 1 newly installed, 16 to remove and 2 not upgraded.
Need to get 9,618 kB of archives.
After this operation, 157 MB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
这是更极端的,正在删除 Firefox 和整个等离子桌面!
为什么这些其他软件包取决于特定的图标主题?
你的问题有点笼统。但无论如何我都会回答。
案例 1:尝试删除时
humanity-icon-theme
对于这个案例,您有两个问题。第一个是
ubuntu-mono
在您尝试删除时正在删除,humanity-icon-theme
因为ubuntu-mono
取决于humanity-icon-theme
包。规则是,删除其他包所依赖的包,也会触发这些依赖包的删除。apt-cache depends ubuntu-mono
您可以从命令中看到它很明显,
ubuntu-mono
取决于humanity-icon-theme
.你对这个案子的第二个问题是
adwaita-icon-theme-full
将在您尝试删除时安装humanity-icon-theme
。其原理
apt
是: 如果一些重要的包依赖于一个将要被删除的包,那么寻找其他一些与这个即将被删除的包具有相同功能的包并尝试安装它。这就是发生在这里。您正在删除
humanity-icon-theme
,但某些软件包需要它。那么该怎么办?寻找其他可以完成humanity-icon-theme
. apt发现可以adwaita-icon-theme-full
,所以选择安装。案例 2:尝试删除时
adwaita-icon-theme
您问为什么在仅删除图标主题时要删除 Firefox 和其他软件包。原因是一样的。这个包不知何故,甚至通过一个长链依赖于
adwaita-icon-theme
. 因此,尝试删除它会触发删除这些依赖包。例如,
firefox
取决于libgtk-3-0
,哪个取决于libgtk-3-common
,哪个又取决于adwaita-icon-theme
。所以,虽然 Firefox 不直接依赖图标主题,但它的一些依赖项需要它。(您可以使用apt-cache depends packagename
命令语法来验证这一点)对于为什么在此处安装的问题,可以给出相同的答案
gnome-icon-theme
。希望有帮助。
OP在评论中询问
是的,取决于特定的主题是不好的。但是图形桌面环境也需要某种图标,对吗?如果 DE 不需要图标,它将如何呈现图标和主题组件?这就是为什么每个 DE 都为其指定默认/备用图标主题的原因。对于 GNOME,它是
adwaita-icon-theme
. 所以,如果你删除它,GNOME 应用程序可能也会让你再见!在我的系统中,当我发出删除它的命令时,它试图删除346 个包。但除了这些默认值之外,您还可以添加和删除任何其他主题包。