테스트용으로 오래된 Debian 7 가상 머신이 있습니다. 공간이 부족해서 가상 머신 공간을 줄이려고 합니다. 저는 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이 손상되나요?
Iceweasel을 제거하고 한 번 수행한 후 통과 autoclean
하면 autoremove
이것이 표시됩니다. 나는 이 가상 머신이 쓸모 없게 되었다고 확신합니다.
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-core
Epiphany를 설치하거나 최소한 Iceweasel을 대체하도록 허용할 수도 있지만 ,이는 보안상의 이유가 아닙니다.. 설명에는 gnome-core
브라우저 종속성이 언급되어 있습니다.
이는 직관적이고 매력적인 데스크탑인 GNOME 데스크탑 환경의 핵심 구성 요소입니다.
이 메타패키지는 파일 관리자, 이미지 뷰어, 웹 브라우저, 비디오 플레이어 및 기타 도구를 포함한 기본 프로그램 세트에 의존합니다.
여기에는 그놈 데스크탑의 공식 "핵심" 모듈이 포함되어 있습니다.
따라서 두 가지 이유로 Iceweasel을 사용합니다.
- 정의는 웹 브라우저에 따라 다릅니다.
- GNOME 데스크탑이 의존하는 유일한 합리적인 브라우저는 Iceweasel입니다. Epiphany는 보안 지원이 충분하지 않고 Chromium이 데스크탑에 제대로 통합되지 않았기 때문입니다.
이전에는 에 대한 대체 종속성이 있었지만 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-core
Iceweasel 없이 설치를 유지 하려면 다음을 사용하세요.equivs
또는apt-holepunch
(이 경우 후자가 사용하기 더 쉽습니다. 감사합니다.여호수아!) 가짜iceweasel
패키지를 만들고gnome-core
;모든 패키지를 반복
gnome
그리고gnome-core
상황에 따라 다음 중 어느 것을 사용하고/하거나 필요로 하는지 결정하세요(예를 들어gdm3
,gnome-session
,nautilus
...) 라벨링에 사용합니다.apt-mark manual ...
또는
aptitude
GUI를 사용하십시오(훨씬 쉬울 것입니다).
당신이 무엇을 할 수 없더라도나머지필요한 패키지(그리고 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 Synapse가 이제 매우 투박하고 느려질 수 있습니다. 바라보다https://askubuntu.com/questions/622031/how-do-i-exclude-special-packages-from-installation-with-apt-get
답변3
너진짜물건을 삭제하기 위해 * 정규식을 사용해서는 안 됩니다. 저는 경험을 통해 이것을 알고 있습니다. *를 사용하면 이름에 "iceweasel"이 포함된 모든 패키지가 제거됩니다. iceweasel을 제거하려면 iceweasel 패키지(별표 제외)를 제거하고 iceweasel 폴더의 내용을 삭제하세요. 문제의 "iceweasel" 패키지가 무엇인지 모르겠습니다. 그럴 수도 있습니다.anyone 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
"If you're wonder"로 "Remove:"
시작하는 줄을 찾으려면 Commandline: apt-get remove iceweasel*
결과를 게시하세요. 그러면 저(또는 다른 사람)가 정확한 종속성 문제를 파악할 수 있습니다. :)
이와 같은 종속성 문제는 물론 비논리적이며 그 존재는 .deb에 대한 메타데이터를 만든 사람의 잘못입니다. 하지만 버그 리포트를 제출하기 전에 정확한 문제를 찾아보겠습니다. 따라서 위의 대답은 다음과 같습니다. :디