web-dev-qa-db-ja.com

Iceweasel nuke GNOMEを削除するのはなぜですか?

古いDebian 7を持っていますVMテスト用です。VMスペースが足りないので、フットプリントのサイズを小さくしようとしています。Iceweaselを削除したいと思いました私は実際にそれを使用していないので、通常はwgetで十分です。Aptを実行すると、GNOMEも削除されていることがわかりました。

$ Sudo apt-get remove iceweasel*
...

The following packages were automatically installed and are no longer required:
  hyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils
  xinit xorg
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  icedove iceowl-extension
Suggested packages:
  apparmor calendar-google-provider
The following packages will be REMOVED:
  gnome gnome-core iceweasel task-gnome-desktop
The following NEW packages will be installed:
  icedove iceowl-extension
0 upgraded, 2 newly installed, 4 to remove and 0 not upgraded.
Need to get 44.7 MB of archives.
After this operation, 100 MB of additional disk space will be used.
...

Iceweasel nuke GNOMEを削除するのはなぜですか?


Iceweaselを削除し、autocleanおよびautoremoveパスを作成した後、これが提示されました。私はこのVMが役に立たなくなったと確信しています。

The following packages will be REMOVED:
  aisleriot ant ant-optional argyll at-spi2-core baobab browser-plugin-gnash
  ca-certificates-Java caribou caribou-antler cheese dconf-tools default-jre
  default-jre-headless empathy empathy-common espeak-data file-roller finger
  fonts-cantarell fonts-opensymbol fonts-sil-gentium fonts-sil-gentium-basic
  gcalctool gdebi gdm3 gedit gedit-common gedit-plugins gir1.2-atspi-2.0
  gir1.2-gdata-0.0 gir1.2-gnomekeyring-1.0 gir1.2-goa-1.0 gir1.2-gtop-2.0
  gir1.2-gucharmap-2.90 gir1.2-javascriptcoregtk-3.0 gir1.2-rb-3.0
  gir1.2-tracker-0.14 gir1.2-webkit-3.0 gir1.2-wnck-3.0 glchess glines gnash
  gnash-common gnect gnibbles gnobots2 gnome-backgrounds gnome-color-manager
  gnome-dictionary gnome-disk-utility gnome-documents gnome-font-viewer
  gnome-games gnome-games-data gnome-games-extra-data gnome-icon-theme-extras
  gnome-mag gnome-nettool gnome-orca gnome-packagekit gnome-packagekit-data
  gnome-screenshot gnome-Shell-extensions gnome-sudoku gnome-system-log
  gnome-Tweak-tool gnome-video-effects gnomine gnotravex gnotski gnuchess
  gnuchess-book grilo-plugins-0.1 gtali gucharmap guile-2.0-libs
  hamster-applet hyphen-en-us iagno icedtea-6-jre-cacao icedtea-6-jre-jamvm
  icedtea-netx icedtea-netx-common inkscape iputils-tracepath Java-common
  libapache-pom-Java libatk-adaptor libatk-adaptor-data libatk-bridge2.0-0
  libatk-wrapper-Java libatk-wrapper-Java-jni libatspi1.0-0 libatspi2.0-0
  libavahi-gobject0 libavahi-ui-gtk3-0 libblas3gf
  libboost-program-options1.49.0 libboost-thread1.49.0 libcaribou-gtk-module
  libcaribou-gtk3-module libcmis-0.2-0 libcolamd2.7.1 libcolorblind0
  libcommons-beanutils-Java libcommons-collections3-Java
  libcommons-compress-Java libcommons-digester-Java libcommons-logging-Java
  libcommons-parent-Java libdb-Java libdb-je-Java libdb5.1-Java
  libdb5.1-Java-jni libdee-1.0-4 libdiscid0 libdmapsharing-3.0-2 libdotconf1.0
  libespeak1 libexttextcat-data libexttextcat0 libfs6 libgail-common
  libgdict-1.0-6 libgdict-common libgdu-gtk0 libgeocode-glib0 libgexiv2-1
  libgnome-mag2 libgpod-common libgpod4 libgraphite2-2.0.0 libgrilo-0.1-0
  libgtk-vnc-2.0-0 libgupnp-av-1.0-2 libgupnp-dlna-1.0-2 libgvnc-1.0-0
  libhsqldb-Java libhyphen0 libicc2 libicu4j-Java libimdi0 libjaxp1.3-Java
  libjline-Java libjtidy-Java liblinear-tools liblinear1 liblouis-data
  liblouis2 liblucene2-Java libmagick++5 libminiupnpc5 libmtp-common
  libmtp-runtime libmtp9 libmythes-1.2-0 libnatpmp1 libplot2c2 libpstoedit0c2a
  libraw5 libregexp-Java libreoffice libreoffice-base libreoffice-base-core
  libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw
  libreoffice-emailmerge libreoffice-evolution libreoffice-filter-binfilter
  libreoffice-filter-mobiledev libreoffice-gnome libreoffice-gtk
  libreoffice-help-en-us libreoffice-impress libreoffice-Java-common
  libreoffice-math libreoffice-report-builder-bin libreoffice-style-galaxy
  libreoffice-style-tango libreoffice-writer librhythmbox-core6 libsctp1
  libservlet2.5-Java libsofia-sip-ua-glib3 libsofia-sip-ua0 libsonic0
  libspeechd2 libstlport4.6ldbl libsvm-tools libtelepathy-farstream2
  libunique-3.0-0 libvisio-0.0-0 libwnck-common libwnck22 libwpd-0.9-9
  libwpg-0.2-2 libwps-0.2-2 libxalan2-Java libxerces2-Java
  libxml-commons-external-Java libxml-commons-resolver1.1-Java libxss1
  libxz-Java lightsoff lksctp-tools lp-solve mahjongg media-player-info
  minissdpd mobile-broadband-provider-info mythes-en-us network-manager-gnome
  nmap openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib openjdk-7-jre
  openjdk-7-jre-headless p7Zip-full perlmagick pstoedit python-brlapi
  python-louis python-mako python-markupsafe python-pyatspi python-pyatspi2
  python-speechd python-uno python-wnck python-zeitgeist quadrapassel rdesktop
  rhythmbox rhythmbox-data rhythmbox-plugin-cdrecorder rhythmbox-plugins rygel
  rygel-playbin rygel-preferences rygel-tracker seahorse shotwell
  shotwell-common simple-scan sound-juicer sound-theme-freedesktop
  speech-dispatcher swell-foop task-desktop telepathy-gabble telepathy-idle
  telepathy-logger telepathy-rakia telepathy-salut transmission-common
  transmission-gtk ttf-liberation ttf-sil-gentium-basic tzdata-Java uno-libs3
  unoconv ure vinagre vino x11-apps x11-session-utils x11-xfs-utils xbrlapi
  xdg-user-dirs-gtk xfonts-mathml xinit xorg xul-ext-adblock-plus
  zeitgeist-core
0 upgraded, 0 newly installed, 278 to remove and 0 not upgraded.
19
user56041

他の人が説明したように、デスクトップメタパッケージ(task-desktopまたは gnome-core など)は、最近(実際にはかなり長い間)Webブラウザーをインストールします。あなたはgnome-coreがEpiphanyをインストールするか、少なくともIceweaselの代替として許可することを期待するかもしれませんが、 セキュリティ上の理由から です。 gnome-coreの説明には、ブラウザの依存関係が記載されています。

これらは、直感的で魅力的なデスクトップであるGNOMEデスクトップ環境のコアコンポーネントです。

このメタパッケージは、ファイルマネージャー、画像ビューアー、Webブラウザー、ビデオプレーヤー、その他のツールなど、プログラムの基本セットに依存しています。

GNOMEデスクトップの公式の「コア」モジュールが含まれています。

Iceweaselに依存する理由は2つあります。

  • webブラウザーに依存するものとして定義されています。
  • epiphanyは十分なセキュリティサポートを備えておらず、Chromiumはデスクトップに適切に統合されていないため、GNOMEデスクトップに依存する賢明なブラウザーはIceweaselだけです。

以前はgnome-www-browserに別の依存関係がありましたが、それは 2011年に削除されました (私が知る限り説明なし)でした。メンテナに再導入するように依頼することは価値があるかもしれませんが、ブラウザなしでgnome-coreをインストールするのには役立ちません。

Iceweaselを削除するとGNOMEが削除されるメカニズムは比較的単純です。あなたがapt-getに何かをするように頼むとき、それはそれをするために本当に一生懸命に試みます-したがって、パッケージを削除することは(あなたに尋ねた後に)それに依存するものをすべて削除します。 gnome-coreiceweaselに依存し、 gnomegnome-coreに依存するため、

apt-get remove iceweasel

gnome-coregnomeも削除されます。

これらのメタパッケージを削除すると、依存するすべてのパッケージがautoremoveを使用した削除の候補になります。これは、パッケージシステムがそれらを不要と見なしているためです(自動的にインストールされないとしてマークされているパッケージは依存しません)。パッケージシステムは、ユーザーが明示的にインストールされているとマークされたパッケージを本当に望んでいると見なし、その他のものはそれらのパッケージをサポートするためにのみインストールされます。そのため、何かがgnomeまたはgnome-coreを削除した場合、次にapt-get autoremoveを実行したときに、インストールされているパッケージの多くが不要であると見なされます...

いくつかの回避策があります。

  • iceweaselなしでgnome-coreをインストールしたままにする場合は、 equivs または apt-holepunch を使用します(後者はこの場合、ありがとう Joshua !)偽のiceweaselパッケージを作成し、gnome-coreと一緒にインストールしてください。
  • gnome および gnome-core が依存するすべてのパッケージを確認し、使用または必要とするパッケージを決定します(eggdm3gnome-sessionnautilus...)を使用して、

    apt-mark manual ...
    

    またはaptitudeのGUIを使用します(これははるかに簡単です)。

いずれの場合でも、重要なパッケージの削除を開始しない限り、パッケージを削除してVMをbreakできません(そしてapt-getは、そうする)、またはカーネル。テキストコンソールにログインする必要があるかもしれませんが、X端末エミュレータからだけでなく、そこからも問題を修正できます。

23
Stephen Kitt

タスクはインストール時に選択され(tasksel)、「Webブラウザー」用の個別のタスクはありません...理論的には、KDE3日のように、デスクトップ固有である可能性があります。人々は、新しいシステムで他に何も助けが得られなければ、デフォルトのデスクトップにWebブラウザーが含まれることを期待しています:)。したがって、デスクトップタスクにはデフォルトのWebブラウザであるQEDが含まれています。

私たちの質問のコメントは間違っています。 task-gnome-desktopはiceweaselを必要としません。それだけをお勧めします。

(最も賛成された回答は、それを必要とする間接的な関係があることを示しています一見すると、この依存構造には改善の余地があるかもしれません。Ithinkただし、以下は引き続き有効です。)

あなたは非常に重要な何かを見逃しました。

次のパッケージは自動的にインストールされ、不要になりました。hyphen-en-uslibfs6 task-desktop

(iceweaselを削除した後)task-desktopに依存または推奨するパッケージがインストールされていないことがわかりました。また、手動でインストールされたとマークされていませんでした。したがって、もちろんapt-get autoremoveはそれを削除します。

Debianパッケージデータベースを見て、iceweaselがtask-desktopにどのように依存または推奨しているかはわかりません。すでに自動取り外し可能である可能性があります。

自動削除を使用するときは注意してください。自動削除でデスクトップ全体が不要と見なされた場合は、キャンセルしてデスクトップを手動でインストールしたものとしてマークしてください(apt-mark)。

VMは無用ではありません。コンソールにログインしてapt-get install task-gnome-desktopを実行できます。推奨パッケージが必要ない場合 アイスウィーゼルのようにapt-get install task-gnome-desktop iceweasel-を使用してみてください。

synaptic(GUI)またはaptitude(TUI)を使用して、推奨される依存関係をマーク解除することもできます。 (aptitudeはデフォルトで自動削除を行いますが、synapticにはどこかで見つけることができる不要になったパッケージのリストがあることに注意してください)。悲しいことに、この種のことをしようとすると、IMEシナプスは最近、かなり不格好で扱いにくいものになる可能性があります。 https://askubuntu.com/questions/622031/how-do-i-exclude-specific-packages-from-installation-with-apt-get を参照してください

2
sourcejedi