web-dev-qa-db-ja.com

大きなパッケージが特定のアイコンテーマに依存しているのはなぜですか?

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とプラズマデスクトップ全体を削除しています!

これらの他のパッケージが特定のアイコンテーマに依存しているのはなぜですか?

3
opticyclic

あなたの質問は少し広範です。しかし、とにかく答えています。

ケース1:humanity-icon-themeを削除しようとしたとき

この場合、2つの質問があります。最初は

  • アイコンテーマを削除するときにモノが削除されるのはなぜですか?

ubuntu-monoは、humanity-icon-themeubuntu-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-monohumanity-icon-themeに依存していることは明らかです。

この場合の2番目の質問は

  • パッケージを削除するときに別のパッケージが追加されるのはなぜですか?

adwaita-icon-theme-fullを削除しようとしたときに、humanity-icon-themeがインストールされました。

aptの理論は:いくつかの重要なパッケージが削除されるパッケージに依存している場合、同じ機能を持つ他のパッケージを探しますこの間もなく削除されるパッケージをインストールして、インストールしてみてください。

そして、それはここで起こっています。 humanity-icon-themeを削除していましたが、一部のパッケージでは必要でした。じゃあ何をすればいいの? humanity-icon-themeの仕事をする他のパッケージを探します。 Aptはadwaita-icon-theme-fullにできることを発見したため、インストール用に選択します。

ケース2:adwaita-icon-themeを削除しようとしているとき

アイコンテーマのみを削除しているときに、firefoxやその他のパッケージが削除される理由を尋ねました。理由は同じです。このパッケージは、長いチェーンを介しても_ ​​[SOMECODE] _に依存しています。したがって、これを削除しようとすると、それらの依存パッケージの削除がトリガーされます。

たとえば、firefoxadwaita-icon-themeに依存し、libgtk-3-0libgtk-3-commonに依存し、これはadwaita-icon-themeに依存します。そのため、Firefoxはアイコンテーマに直接依存していませんが、いくつかの依存関係によって必要になります。 (apt-cache depends packagenameコマンド構文を使用してこれを確認できます)

ここでgnome-icon-themeがインストールされている理由についても同じ答えが得られます。

お役に立てば幸いです。


OPがコメントを求めた

ただし、パッケージが特定のテーマに依存する理由はわかりません。テーマのポイントは変更できるのではないでしょうか?

はい、特定のテーマに応じて悪いです。しかし、グラフィカルデスクトップ環境でも何らかのアイコンが必要です。 DEにアイコンが必要ない場合、アイコンとテーマコンポーネントをどのようにレンダリングしますか?すべてのDEがデフォルト/フォールバックアイコンテーマを指定する理由です。 GNOMEの場合、adwaita-icon-themeです。そのため、これを削除すると、GNOMEアプリケーションでも問題が発生する可能性があります。私のシステムでは、削除するコマンドを発行したときに、46パッケージを削除しようとしました。

ただし、これらのデフォルト以外に、他のテーマパッケージを追加および削除できます。

2
Anwar