テスト用に古い 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 を削除すると GNOME が壊れるのはなぜですか?
autoclean
Iceweasel を削除してandパスを実行した後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.
答え1
他の人が説明しているように、デスクトップメタパッケージ(task-desktop
またはgnome-core
— 最近ではウェブブラウザをインストールすることは一般的です(実際、かなり前から)。Epiphanygnome-core
をインストールするか、少なくともIceweaselの代わりに使用することを想定しているかもしれませんが、セキュリティ上の理由からそうではない説明gnome-core
にはブラウザの依存関係について記載されています。
これらは、直感的で魅力的なデスクトップである GNOME デスクトップ環境のコア コンポーネントです。
このメタパッケージは、ファイル マネージャー、画像ビューアー、Web ブラウザー、ビデオ プレーヤー、その他のツールを含む基本的なプログラム セットに依存します。
GNOME デスクトップの公式「コア」モジュールが含まれています。
Iceweasel に依存する理由は 2 つあります。
- Web ブラウザに依存するものとして定義されます。
- GNOME デスクトップに頼る唯一の合理的なブラウザは Iceweasel です。これは、Epiphany には十分なセキュリティ サポートがなく、Chromium はデスクトップに適切に統合されないためです。
以前は への代替依存関係がありましたgnome-www-browser
が、それは2011年に削除gnome-core
(私が知る限り、説明はありません)。メンテナーに再導入を依頼する価値はあるかもしれませんが、ブラウザなしでインストールするのには役立ちません。
Iceweasel を削除すると GNOME も削除される仕組みは比較的単純です。apt-get
何かを実行するように要求すると、GNOME はそれを実行しようと全力を尽くします。つまり、パッケージを削除すると、そのパッケージに依存するものもすべて削除されます (要求した後)。gnome-core
に依存しiceweasel
、gnome
に依存するgnome-core
ので、
apt-get remove iceweasel
gnome-core
およびも削除されますgnome
。
これらのメタパッケージを削除すると、それらが依存するすべてのパッケージが を使用した削除の候補になりますautoremove
。これは、パッケージング システムがそれらを不要と見なすためです (自動的にインストールされないとマークされたパッケージは、それらに依存しません)。パッケージング システムは、明示的にインストールされるとマークされたパッケージをユーザーが本当に必要としていると見なし、それ以外のものはそれらのパッケージをサポートするためだけにインストールされます。そのため、何かが または を削除するgnome
とgnome-core
、次に を実行するときにapt-get autoremove
、インストールされているパッケージの多くが不要であると見なします...
回避策はいくつかあります。
gnome-core
Iceweaselなしでインストールしたままにしたい場合は、equivs
またはapt-holepunch
(後者の方がこの場合はずっと使いやすいです。ジョシュア!) を使用して偽のパッケージを作成し、それを;iceweasel
とともにインストールします。gnome-core
すべてのパッケージをチェックして
gnome
そしてgnome-core
どれを使用するか、またはどれが必要かを決定します(例えばgdm3
、、gnome-session
...nautilus
)を使用してマークします。apt-mark manual ...
または
aptitude
の GUI を使用します (こちらの方がはるかに簡単です)。
いずれにせよ、壊す必須パッケージの削除を開始しない限り (apt-get
削除を許可する前に大声で文句を言うでしょう)、パッケージを削除して VM をシャットダウンします。テキスト コンソールにログインしなければならない場合もありますが、X ターミナル エミュレーターからの場合と同様に、そこからも問題を修正できます。
答え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) または(TUI)を使用して、推奨される依存関係のマークを外すこともできますaptitude
。(aptitude はデフォルトで自動的に削除しますが、synaptic には不要になったパッケージのリストがあり、どこかで見つけることができます)。残念ながら、IME synaptic は、最近、この種のことをしようとすると、かなり不格好で遅延することがあります。https://askubuntu.com/questions/622031/how-do-i-exclude-specific-packages-from-installation-with-apt-get
答え3
あなた本当に* 正規表現を使用して削除すべきではありません。これは経験からわかっています。* を使用すると、名前に「iceweasel」を含むすべてのパッケージが削除されます。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