AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 838116
Accepted
opticyclic
opticyclic
Asked: 2016-10-17 16:14:38 +0800 CST2016-10-17 16:14:38 +0800 CST 2016-10-17 16:14:38 +0800 CST

为什么大包依赖特定的图标主题?

  • 772

我使用 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 和整个等离子桌面!

为什么这些其他软件包取决于特定的图标主题?

apt
  • 1 1 个回答
  • 1673 Views

1 个回答

  • Voted
  1. Best Answer
    Anwar
    2016-10-21T07:20:24+08:002016-10-21T07:20:24+08:00

    你的问题有点笼统。但无论如何我都会回答。

    案例 1:尝试删除时humanity-icon-theme

    对于这个案例,您有两个问题。第一个是

    • 为什么在删除图标主题时会删除单声道?

    ubuntu-mono在您尝试删除时正在删除,humanity-icon-theme因为ubuntu-mono取决于humanity-icon-theme包。规则是,删除其他包所依赖的包,也会触发这些依赖包的删除。

    apt-cache depends ubuntu-mono您可以从命令中看到它

    → apt-cache depends ubuntu-mono
    ubuntu-mono
      Depends: adwaita-icon-theme
      Depends: hicolor-icon-theme
      Depends: humanity-icon-theme
    

    很明显,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 个包。

    但除了这些默认值之外,您还可以添加和删除任何其他主题包。

    • 3

相关问题

  • 如何编写 shell 脚本来安装应用程序列表?

  • 如何查看存档中可用的软件包的所有版本?

  • 是否可以说出我安装的哪些软件包不在原版安装中?

  • 如何删除 PPA?

  • 使用 apt-get upgrade 时如何强制安装内核更新?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve