Iceweasel을 제거하면 왜 GNOME이됩니까?


19

테스트를 위해 이전 데비안 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을 제거하면 왜 GNOME이됩니까?


Iceweasel을 제거한 다음 autocleanand and 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.

도움이되는 명령 은 askubuntu.com/questions/5636/… 을 참조하십시오 .
phk

감사합니다 PHK. Apt의존성을 말해줍니다. 종속성이 존재하는 이유를 알고 흥미 롭습니다. aptitude의존성이 존재하는 이유를 의심 할 것입니다.

1
오, OK. 그러나 예를 들어 debian-desktop다른 브라우저간에 ( 예를 들어 우분투가 아니라 논쟁을 위해 데비안이라는 것을 알고 있습니다) 누군가의 직접적인 의존성 이었다면 누군가 웹 브라우저가 그래픽 데스크탑.
phk

(이 경우의 트릭은 한 계층 아래로 내려 가서 실제로 원하는 task-gnome-desktop의 종속성과 task-gnome-desktop을 apt-mark제거하기 전에 수동으로 설치된 종속성을 선택해야한다는 것입니다 ). 데비안을 한동안 사용했다면, 데비안이 원래 이러한 단일 메타 패키지를 사용하여 "작업"을 구현하지 않았기 때문에 놀라운 일입니다.
sourcejedi

1
어쩌면 그것은 때문 *입니까? 나는 apt-get remove wine*전에 그놈을 파괴했다 .
Rio6

답변:


23

다른 사람이 설명했듯이, 데스크톱 메타 패키지 - 같은 task-desktop또는 gnome-core- (꽤 오랜 시간이 사실에 대해 잘) 요즘 웹 브라우저를 설치합니다. 당신이 기대하는 gnome-core주현절을 설치, 또는 적어도 Iceweasel에 대한 대안으로 허용하지만, 그것은 보안상의 이유로하지 않습니다 . gnome-core설명은 브라우저 종속성을 언급한다 :

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

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

그놈 데스크탑의 공식“핵심”모듈이 들어 있습니다.

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

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

에 대한 대체 종속성이 gnome-www-browser있었지만 2011 년제거되었습니다 (내가 말할 수있는 한 설명하지 않음). 관리자에게 다시 소개하도록 요청하는 것이 좋을지 모르지만 gnome-core브라우저없이 설치하면 도움이되지 않습니다 .

Iceweasel을 제거하면 그놈이 제거되는 메커니즘은 비교적 간단합니다. 당신 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 보다 감사합니다 !)를 사용하십시오 .iceweaselgnome-core
  • 모든 패키지를 통해 이동 gnomegnome-core의존, 사용하려는 및 / 또는 필요 (그 결정 예를 들어 gdm3 , gnome-session, nautilus...)을 사용하여 표시

    apt-mark manual ...
    

    또는 aptitude의 GUI를 사용 하면 훨씬 쉽습니다.

어쨌든 필수 패키지를 제거하기 시작하지 않으면 패키지를 제거하여 VM을 중단 할 수 없으며 apt-get그렇게하기 전에 크게 불평합니다. 텍스트 콘솔에 로그인해야 할 수도 있지만 X 터미널 에뮬레이터뿐만 아니라 거기에서도 문제를 해결할 수 있습니다.


좋은 답변입니다! 그냥 궁금는 무엇인가 gnome-www-browser"가상"패키지에 대한 다음?
phk

2
@phk 그것은 훌륭한 의문입니다. 대체 의존성 은 2011 년gnome-www-browser제거 되었지만 여전히 Chromium, Epiphany, Iceweasel 및 Firefox에서 제공됩니다 ... (그리고 계피는 여전히 사용합니다)
Stephen Kitt

1
덧붙여, 다음은 build-env가 패키지에 의존하지 않고 의존성에서 패키지를 제외시키는 작업입니다. mail-archive.com/debian-bugs-dist@lists.debian.org/msg900702/…
Joshua

고마워 Stephen. 나는 머리카락을 분할 비트를 의미하지 않는 이유는 그 종속성입니까? "웹 브라우저에 따라 정의되어 있습니다" 와 관련 하여 종속성이 존재하는 이유를 알 수 없습니다. 정말 내 질문입니다. 혼란을 드려 죄송합니다.

또한 "... [이러한 특정] 패키지를 제거하여 VM을 중단 할 수 없습니다"라는 말이 맞습니다 . 재부팅 후, 비 GUI 로그온 화면이 나타 났으며 상자에 SSH로 연결할 수있었습니다. 터미널 / 커맨드 라인에 만족하여 분명히 깨지거나 쓸모가 없습니다. 그러나 다른 사람들은 데스크탑이 필요할 수 있습니다. 어머니 나 아버지가 기계를 사용하기를 원하지 않습니다.

2

작업은 설치 시간 ( tasksel)에 선택되며 "웹 브라우저"에 대한 별도의 작업이 없습니다 ... 이론적으로 KDE3 일과 같이 데스크톱에 따라 다를 수 있습니다. 사람들은 기본 데스크톱에 웹 브라우저가 포함될 것으로 기대합니다. 따라서 데스크탑 작업에는 기본 웹 브라우저 인 QED가 포함됩니다.

우리의 질문 의견이 틀린 것을 제외하고. task-gnome-desktop에는 얼음 족제비가 필요하지 않습니다. 권장합니다.

(가장 upvoted 대답은 간접적 인 관계가있어 표시 하지 그것을 필요는. 그것의 얼굴에, 잘 종속 구조에서 개선의 여지가있을 수 있습니다. 내가 생각하는 다음 그러나 여전히 유효합니다.)

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

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

(아이스 족제비를 제거한 후?) 의존하거나 권장되는 패키지가 설치되어 있지 않습니다 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) 또는 aptitude(TUI) 를 사용하여 권장되는 종속성을 표시 해제 할 수도 있습니다 . aptitude는 기본적으로 자동 제거되지만 시냅틱에는 더 이상 필요하지 않은 패키지 목록이 있습니다. 안타깝게도, IME 시냅틱은 요즘 이런 종류의 일을하려고하면 꽤 성 가시고 게으를 수 있습니다. 참조 /ubuntu/622031/how-do-i-exclude-specific-packages-from-installation-with-apt-get를


2

당신은 정말로 * 정규 표현식을 사용하여 물건을 제거해서는 안되며 경험에서 그것을 알고 있습니다. *를 사용하면 이름이 "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의 메타 데이터를 만든 사람들에게는 실수가 있습니다. 그래도 버그 보고서를 제출하기 전에 정확한 문제를 파악할 것입니다. 따라서 위의 대답. :디


감사합니다. 종속성이 존재하는 이유에 더 관심이 있습니다. 의존성이 무엇인지.

존재하지 않아야합니다. 그것의 존재는 당신의 .deb에 대한 메타 데이터를 만든 사람들이 실수로하는 실수입니다. 그들이 예측하지 못한 결과가 있습니다.
trudgemank

iceweasel 메타 패키지에 포함되지 않은 "iceweasel"패키지를 삭제해야합니다. 기본적으로 설치되어있을 수 있습니다.
trudgemank

Trudgemank-의견이 아닌 답변에서 내가 묻는 질문에 대답하면 기꺼이 답변을 받아 들일 것입니다. 완성도를 높이기 위해 다음과 같은 대답을 드리겠습니다. "... [it]는 .deb에 대한 메타 데이터를 만든 사람들의 실수입니다 . " 머리카락을 나눠서 죄송합니다. 그것은 저에게 정말로 관심 항목이었습니다. 정보를 손에 넣고 버그 보고서를 제출할 수 있습니다.

공식적인 확인이 필요하지 않은 한 괜찮습니다. 그러나 특정 의존성 문제는 아니며 버그 보고서를 제출해야합니다.
trudgemank
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.