Saya memiliki VM Debian 7 yang lebih lama untuk pengujian. Saya mencoba mengurangi ukuran jejak VM karena saya kehabisan ruang. Saya ingin menghapus Iceweasel karena saya tidak benar-benar menggunakannya, dan saya biasanya bisa bertahan wget
. Ketika saya menjalankannya Apt
memberitahu saya itu juga menghapus 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.
...
Mengapa menghapus Iceweasel nuke GNOME?
Setelah menghapus Iceweasel dan kemudian membuat autoclean
dan autoremove
lulus, ini disajikan. Saya cukup yakin VM ini telah dianggap tidak berguna.
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.
Apt
memberitahu saya dependensi. Saya menarik mengetahui mengapa ketergantungan itu ada. Saya raguaptitude
akan memberi tahu saya mengapa ada ketergantungan.debian-desktop
(saya tahu ini adalah Debian dan bukan Ubuntu tetapi hanya demi argumen) di antara browser lain maka itu akan memberitahu Anda bahwa seseorang berpikir bahwa browser web sangat penting untuk desktop grafis.apt-mark
yang terinstal secara manual sebelum Anda menghapus task-gnome-desktop). Jika Anda telah menggunakan debian untuk sementara waktu, mungkin ini mengejutkan karena debian awalnya tidak menggunakan metapackage tunggal ini untuk mengimplementasikan "tugas" mereka.*
? Saya menghancurkan gnome sayaapt-get remove wine*
sebelumnya.Jawaban:
Seperti yang telah dijelaskan orang lain, paket meta desktop - seperti
task-desktop
ataugnome-core
- instal browser web saat ini (yah, sebenarnya cukup lama). Anda mungkin berharapgnome-core
untuk menginstal Epiphany, atau setidaknya mengizinkannya sebagai alternatif untuk Iceweasel, tetapi tidak untuk alasan keamanan . Thegnome-core
keterangan menyebutkan ketergantungan peramban:Jadi alasannya tergantung pada Iceweasel ada dua:
Dulu ada ketergantungan alternatif
gnome-www-browser
, tapi itu dihapus pada 2011 (tanpa penjelasan sejauh yang saya tahu). Mungkin ada baiknya meminta pengelola untuk mengenalkannya kembali, tetapi itu tidak akan membantu Anda menginstalgnome-core
tanpa browser.Mekanisme yang menyebabkan GNOME dihapus jika Anda menghapus Iceweasel relatif mudah. Ketika Anda meminta
apt-get
untuk melakukan sesuatu, itu berusaha sangat keras untuk melakukannya - jadi menghapus paket akan menghapus apa pun yang bergantung padanya (setelah meminta Anda).gnome-core
tergantung padaiceweasel
, dangnome
tergantung padagnome-core
, jadijuga menghapus
gnome-core
dangnome
.Menghapus paket-paket meta ini menyebabkan semua paket yang mereka andalkan menjadi kandidat untuk dihapus menggunakan
autoremove
, karena sistem pengemasan sekarang menganggapnya tidak perlu (tidak ada paket yang ditandai sebagai tidak diinstal secara otomatis tergantung pada mereka). Sistem pengemasan menganggap bahwa pengguna benar-benar menginginkan paket-paket yang ditandai sebagai diinstal secara eksplisit, dan yang lainnya hanya diinstal untuk mendukung paket-paket itu. Jadi, jika ada yang menghapusgnome
ataugnome-core
, saat Anda menjalankan berikutnyaapt-get autoremove
, itu akan mempertimbangkan bahwa banyak paket yang diinstal tidak diperlukan ...Ada beberapa solusi:
gnome-core
menginstal tanpa Iceweasel, gunakanequivs
atauapt-holepunch
(yang terakhir lebih mudah digunakan dalam kasus ini, terima kasih Joshua !) untuk membanguniceweasel
paket palsu dan menginstalnya bersamagnome-core
;pergi melalui semua paket yang
gnome
dangnome-core
tergantung pada, memutuskan mana dari mereka Anda ingin menggunakan dan / atau kebutuhan ( misalnyagdm3
,gnome-session
,nautilus
...), dan menandai mereka menggunakanatau menggunakan
aptitude
GUI (yang akan jauh lebih mudah).Bagaimanapun Anda tidak dapat merusak VM Anda dengan menghapus paket kecuali Anda mulai menghapus paket-paket penting (dan
apt-get
akan dengan keras mengeluh sebelum membiarkan Anda melakukannya), atau kernel. Anda mungkin akhirnya harus masuk ke konsol teks, tetapi Anda dapat memperbaiki hal-hal dari sana juga dari emulator terminal X.sumber
gnome-www-browser
paket "virtual" itu?gnome-www-browser
telah dihapus pada 2011 tetapi masih disediakan oleh Chromium, Epiphany, Iceweasel dan Firefox ... (Dan Cinnamon masih menggunakannya.)Tugas dipilih pada waktu instalasi (
tasksel
), dan tidak ada tugas yang terpisah untuk "browser web" ... Secara teori, ini bisa khusus untuk desktop, seperti pada hari-hari KDE3. Orang-orang mengharapkan desktop default untuk menyertakan browser web, jika tidak ada yang lain untuk mendapatkan bantuan pada sistem baru mereka :). Oleh karena itu tugas desktop mencakup browser web default, QED.Kecuali komentar pertanyaan kita salah. task-gnome-desktop tidak memerlukan iceweasel. Itu hanya merekomendasikannya.(Jawaban yang paling banyak dipilih menunjukkan ada hubungan tidak langsung yang memang membutuhkannya. Di depannya, mungkin ada ruang untuk perbaikan dalam struktur ketergantungan ini. Namun saya pikir yang berikut masih valid.)
Anda melewatkan sesuatu yang sangat penting.
Ternyata (setelah menghapus iceweasel?) Anda tidak memiliki paket yang diinstal yang bergantung pada atau direkomendasikan
task-desktop
. Juga tidak ditandai sebagai diinstal secara manual. Jadi tentu sajaapt-get autoremove
menghapusnya.Tanda tanya karena melihat pada basis data paket Debian, saya tidak melihat bagaimana iceweasel bergantung atau merekomendasikan
task-desktop
. Mungkin sudah dilepas secara otomatis.Berhati-hatilah saat menggunakan penghapusan otomatis. Jika penghapusan otomatis mengatakan seluruh desktop Anda dianggap tidak perlu, maka batalkan dan tandai desktop Anda telah diinstal secara manual (
apt-mark
).VM tidak sia-sia; Anda dapat masuk ke konsol dan menjalankan
apt-get install task-gnome-desktop
. Jika Anda tidak ingin paket yang disarankanseperti iceweasel, Anda dapat mencoba menggunakannyaapt-get install task-gnome-desktop iceweasel-
.Mungkin juga untuk menghapus tanda dependensi yang disarankan dengan menggunakan
synaptic
(GUI) atauaptitude
(TUI). (Perhatikan bahwa aptitude memang menghapus otomatis secara default, sedangkan synaptic memiliki daftar paket yang tidak diperlukan lagi yang dapat Anda temukan di suatu tempat). Sayangnya, IME sinaptik dapat menjadi sangat kikuk dan lamban saat ini jika Anda mencoba melakukan hal-hal semacam ini. Lihat /ubuntu/622031/how-do-i-exclude-specific-packages-from-installation-with-apt-getsumber
Anda benar - benar tidak boleh menggunakan * regex untuk menghapus sesuatu - dan saya tahu itu dari pengalaman. Menggunakan * menghapus setiap paket dengan nama yang mengandung "iceweasel". Jika Anda ingin menghapus iceweasel hapus paket iceweasel (tanpa tanda bintang) dan hapus isi folder iceweasel. Saya tidak tahu apa paket "iceweasel" yang menyinggung itu, bisa jadi itu adalah dependensi sebaliknya
hyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils xinit xorg
. Semua itu. Tampilan cepat dan autoremovingxorg
/x11
sendirian akan memecahkan 99% dari * Nix GUI. Untuk mengetahui paket iceweasel apa yang Anda hapus lakukangrep iceweasel /var/log/apt/history.log
dan cari baris yang dimulai dengan di"Remove:"
bawahCommandline: apt-get remove iceweasel*
Jika Anda masih penasaran memposting hasilnya dan saya (atau orang lain) dapat mengetahui masalah dependensi yang tepat. :)sumber