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


19

テスト用に古い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.

その際に役立つコマンドについては、askubuntu.com / questions / 5636 /…を参照してください。
phk

PHKに感謝します。Apt依存関係を教えてくれます。依存関係が存在する理由を知るのは興味深いです。aptitudeなぜ依存関係が存在するのか教えてくれないでしょう。

1
ああ、debian-desktop他のブラウザーの中で、たとえば、それが直接的な依存関係である場合(これはDebianであり、Ubuntuではなく、単に議論のためだけです)、Webブラウザーはグラフィカルデスクトップ。
phk

(その場合の秘trickは、1層下に移動し、実際に必要なtask-gnome-desktopの依存関係と、task-gnome-desktop apt-markを削除する前に手動でインストールした依存関係を選択する必要があることです)。debianをしばらく使用している場合、debianはこれらの単一のメタパッケージを使用して「タスク」を実装しなかったため、これは驚くべきことです。
sourcejedi

1
たぶんそれは*?私はapt-get remove wine*以前にノームを破壊しました。
Rio6

回答:


23

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

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

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

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

そのため、Iceweaselに依存する理由は2つあります。

  • Webブラウザーに依存していると定義されています。
  • Epiphanyには十分なセキュリティサポートがなく、Chromiumはデスクトップに適切に統合されないため、GNOMEデスクトップに依存する唯一の賢明なブラウザはIceweaselです。

以前はに代替の依存関係gnome-www-browserがありましたが、2011年削除されました(説明できる限り説明はありません)。メンテナに再紹介するように頼む価値があるかもしれませんがgnome-core、ブラウザなしでインストールするのは助けにはなりません。

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

apt-get remove iceweasel

gnome-coreおよびも削除しgnomeます。

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

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

  • gnome-coreIceweaselなしでインストールしたい場合は、equivsまたはapt-holepunchを使用して(この場合、後者の方がはるかに使いやすい、Joshuaに感謝します!)偽のiceweaselパッケージをビルドしてインストールしgnome-coreます;
  • ことをすべてのパッケージを通過gnomeし、gnome-core依存する、あなたが使用したいそれらのかを決定および/または必要性(例えば gdm3gnome-sessionnautilus...)、および使用してそれらをマーク

    apt-mark manual ...
    

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

いずれにせよ、重要なパッケージの削除を開始しない限り(そして、許可する前に大声で文句を言う)、またはカーネルを除いて、パッケージを削除してVMを壊すことはできませんapt-get。テキストコンソールにログインしなければならない場合がありますが、X端末エミュレーターと同様にそこから問題を修正できます。


素晴らしい答えです!ただ、何であるか、不思議gnome-www-browserについて、パッケージ「仮想」?
phk

2
優れた質問です@phk、上の代替依存性がgnome-www-browserされた2011年に取り外しが、それはまだ...クロム、エピファニー、でIceweaselおよびFirefoxから提供された(そしてシナモンはまだそれを使用しています。)
スティーブン・キット

1
ちなみに、build-envがequivsに
Joshua

ステファン、ありがとう。髪を分割するつもりはありませんが、なぜそれが依存関係なのでしょうか?「Webブラウザーに依存していると定義されている」に関しては、依存関係が存在する理由を理解できません。それは本当に私の質問です。混乱させて申し訳ありません。

また、「...これらの特定のパッケージを削除してVMを壊すことはできません」についても正しいです。再起動後、非GUIログオン画面が表示され、SSHをボックスに入れることができました。ターミナル/コマンドラインに満足しているので、明らかに壊れていたり役に立たなかったりしません。ただし、デスクトップが必要な場合もあります。母や父がマシンを使用するのは望ましくありません。

2

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

質問のコメントが間違っていることを除いて。task-gnome-desktopはiceweaselを必要としません。推奨するだけです。

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

非常に重要なものを見逃しました。

次のパッケージは自動的にインストールされ、不要になりました:hyphen-en-us libfs6 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シナプスは非常に不格好で遅れがちになります。/ubuntu/622031/how-do-i-exclude-specific-packages-from-installation-with-apt-getを参照してください


2

あなたは本当に *正規表現を使用して物事を削除するべきではありません-私は経験からそれを知っています。*を使用すると、「iceweasel」を含む名前を持つすべてのパッケージが削除されます。iceweaselを削除する場合は、iceweaselパッケージ(アスタリスクなし)を削除し、iceweaselフォルダーの内容を削除します。問題のある「アイスウィーゼル」パッケージが何であるかはわかりませんhyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils xinit xorg。それらのいずれか。クイックルックと自動削除xorg/ x11単独では、* Nix GUIの99%が壊れます。削除したiceweaselパッケージが何をするのかを見つけ、 まだ興味がある場合は結果の下にあるgrep iceweasel /var/log/apt/history.log行を探して、私(または他の誰か)が正確な依存関係の問題を見つけ出すことができます。:)"Remove:"Commandline: apt-get remove iceweasel*

このような依存関係の問題はもちろん非論理的であり、その存在は、.debのメタデータを作成した人々の間違いです。しかし、バグレポートを提出する前に正確な問題を把握します。したがって、上記の私の答え。:D


よろしくお願いします。依存関係が存在する理由にもっと興味があります。依存関係ではありません。

存在しないはずです。その存在は、完全ではない.debのメタデータを作成した人々の間違いです。彼らが予見しない結果があります。
trudgemank

iceweaselメタパッケージの一部ではない「iceweasel」パッケージを削除しておく必要があります。おそらくデフォルトで1つインストールされています。
trudgemank

Trudgemank-コメントではなく、あなたの答えで私が尋ねた質問に答えてくれたら、喜んで答えを受け入れます。完全を期すために、ここで私が正しいと思う答えを以下に示します。「... [それは] .debのメタデータを作成した人々の間違いです。髪を分割してすみません。それは本当に私にとって興味のある項目でした。手元に情報があれば、バグレポートを提出できます。

私が助けた限り、公式の断言は必要ありません。しかし、あなたは特定の依存関係の問題ではないので、バグレポートを提出したいなら本当にすべきです。
trudgemank
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.