Iceweasel을 제거하면 그놈이 핵무기로 작동되는 이유는 무엇입니까?

Iceweasel을 제거하면 그놈이 핵무기로 작동되는 이유는 무엇입니까?

테스트를 위해 이전 Debian 7 VM이 있습니다. 공간이 부족해서 VM 공간 크기를 줄이려고 합니다. 나는 Iceweasel을 실제로 사용하지 않기 때문에 제거하고 싶었고 일반적으로 wget. 내가 실행했을 때 Apt그놈도 제거되고 있다고 말했습니다.

$ 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을 제거하면 그놈이 핵무기로 작동되는 이유는 무엇입니까?


Iceweasel을 제거한 후 an autocleanand autoremovepass를 한 후 이것이 제시되었습니다. 나는 이 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— 요즘에는 웹 브라우저를 설치하세요(사실 꽤 오랫동안). gnome-coreEpiphany를 설치하거나 최소한 Iceweasel의 대안으로 허용할 것으로 예상할 수도 있지만보안상의 이유가 아닙니다. 설명 gnome-core에는 브라우저 종속성이 언급되어 있습니다.

이는 직관적이고 매력적인 데스크탑인 GNOME 데스크탑 환경의 핵심 구성요소입니다.

이 메타 패키지는 파일 관리자, 이미지 뷰어, 웹 브라우저, 비디오 플레이어 및 기타 도구를 포함한 기본 프로그램 세트에 따라 다릅니다.

여기에는 그놈 데스크탑의 공식 "핵심" 모듈이 포함되어 있습니다.

따라서 Iceweasel에 의존하는 이유는 두 가지입니다.

  • 웹 브라우저에 따라 정의됩니다.
  • GNOME 데스크탑에 의존할 수 있는 유일한 브라우저는 Iceweasel입니다. Epiphany는 보안 지원이 충분하지 않고 Chromium은 데스크탑에 제대로 통합되지 않기 때문입니다.

에 대한 대체 종속성이 있었지만 gnome-www-browser이는2011년에 삭제됨(내가 알 수 있는 한 설명 없이). 관리자에게 이를 다시 도입하도록 요청할 가치가 있을 수 있지만 gnome-core브라우저 없이 설치하는 데는 도움이 되지 않습니다 .

Iceweasel을 제거하면 그놈이 제거되는 메커니즘은 비교적 간단합니다. 당신이 무언가를 요청하면 apt-get, 그것은 그것을 하기 위해 정말 열심히 노력합니다. 따라서 패키지를 제거하면 (당신에게 요청한 후) 그것에 의존하는 모든 것이 제거됩니다.gnome-core에 따라 달라집니다 iceweasel.gnome에 의존 gnome-core하므로

apt-get remove iceweasel

또한 제거 gnome-core하고 gnome.

이러한 메타 패키지를 제거하면 해당 패키지가 의존하는 모든 패키지가 를 사용하여 제거할 후보가 됩니다 autoremove. 이제 패키징 시스템은 해당 패키지를 불필요한 것으로 간주하기 때문입니다(자동 설치되지 않은 것으로 표시된 패키지는 해당 패키지에 종속되지 않음). 패키징 시스템은 사용자가 명시적으로 설치된 것으로 표시된 패키지를 정말로 원하고 다른 모든 것은 해당 패키지를 지원하기 위해서만 설치된다고 간주합니다. 따라서 gnomeor 가 제거되면 gnome-core다음에 실행할 때 apt-get autoremove설치된 패키지 중 상당수가 불필요한 것으로 간주됩니다.

몇 가지 해결 방법이 있습니다.

  • gnome-coreIceweasel 없이 계속 설치하려면 다음을 사용하세요.equivs또는apt-holepunch(이 경우 후자가 사용하기가 훨씬 쉽습니다. 감사합니다.여호수아iceweasel!) 가짜 패키지를 만들고 gnome-core;

  • 모든 패키지를 살펴보세요.gnome그리고gnome-core의존하고, 어느 것을 사용하고/하거나 필요로 하는지 결정하십시오(예를 들어 gdm3, gnome-session, nautilus...)를 사용하여 표시합니다.

      apt-mark manual ...
    

    또는 aptitude님의 GUI를 사용하는 것이 좋습니다(훨씬 쉬울 것입니다).

어쨌든 당신은 할 수 없습니다부서지다필수 패키지 제거를 시작하지 않는 한 패키지를 제거하여 VM(그리고 apt-get그렇게 하기 전에 큰 소리로 불평할 것임) 또는 커널. 결국 텍스트 콘솔에 로그인해야 할 수도 있지만 X 터미널 에뮬레이터뿐만 아니라 텍스트 콘솔에서도 문제를 해결할 수 있습니다.

답변2

작업은 설치 시( tasksel) 선택되며 "웹 브라우저"에 대한 별도의 작업은 없습니다... 이론상으로는 KDE3 시절처럼 데스크톱에만 해당될 수 있습니다. 사람들은 새 시스템에 대한 도움을 받을 수 있는 다른 것이 없다면 기본 데스크탑에 웹 브라우저가 포함되기를 기대합니다. :) 따라서 데스크톱 작업에는 기본 웹 브라우저인 QED가 포함됩니다.

우리의 질문 의견이 틀렸다는 점을 제외하면. task-gnome-desktop에는 iceweasel이 필요하지 않습니다. 추천할 뿐입니다.

(가장 많은 지지를 받은 답변은 간접적인 관계가 있음을 나타냅니다.하다그것을 요구합니다. 표면적으로는 이러한 의존성 구조에 개선의 여지가 있을 수 있습니다. 나생각하다그러나 다음은 여전히 ​​유효합니다.)

당신은 매우 중요한 것을 놓쳤습니다.

다음 패키지는 자동으로 설치되었으며 더 이상 필요하지 않습니다: Hyphen-en-us libfs6 task-desktop

(iceweasel을 제거한 후?) 에 의존하거나 권장되는 패키지가 설치되어 있지 않은 것으로 나타났습니다 task-desktop. 수동으로 설치된 것으로 표시되지도 않았습니다. 그러니 당연히 apt-get autoremove제거합니다.

물음표는 데비안 패키지 데이터베이스를 보면 iceweasel이 어떻게 task-desktop. 이미 자동 제거가 가능했을 수도 있습니다.

자동 제거를 사용할 때는 주의하세요. 자동 제거에서 전체 데스크탑이 불필요한 것으로 간주되면 이를 취소하고 데스크탑을 수동으로 설치된 것으로 표시하십시오( apt-mark).

VM은 쓸모가 없습니다. 콘솔에 로그인하여 실행할 수 있습니다 apt-get install task-gnome-desktop. 추천 패키지를 원하지 않는 경우얼음 족제비처럼, 당신은 사용해 볼 수 있습니다 apt-get install task-gnome-desktop iceweasel-.

synaptic(GUI) 또는 (TUI)를 사용하여 권장 종속성을 표시 해제할 수도 있습니다 aptitude. (적성은 기본적으로 자동 제거되는 반면, 시냅틱에는 더 이상 필요하지 않은 패키지 목록이 있으므로 어디에서나 찾을 수 있습니다.) 안타깝게도 요즘 이런 종류의 작업을 시도하면 IME 시냅틱이 상당히 투박하고 느려질 수 있습니다. 보다https://askubuntu.com/questions/622031/how-do-i-exclude-special-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의 메타데이터를 만든 사람들의 실수입니다. 그래도 버그 보고서를 제출하기 전에 정확한 문제를 파악하겠습니다. 따라서 위의 대답은 다음과 같습니다. :디

관련 정보