Apt

什麼是 emacsen-common 包?

  • February 16, 2022

我試圖刪除 emacs 和所有相關的包,並且幾乎刪除了 emacsen-common。輸出apt remove emacsen-common為:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
 atril-common bolt cinnamon-common cjs evince-common evolution-common evolution-data-server-common
 folks-common fonts-mathjax fwupd fwupd-amd64-signed gedit-common gedit-plugins-common gir1.2-champlain-0.12
 gir1.2-cmenu-3.0 gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdata-0.0 gir1.2-gdm-1.0 gir1.2-gfbgraph-0.2
 gir1.2-ggit-1.0 gir1.2-gmenu-3.0 gir1.2-gnomebluetooth-1.0 gir1.2-graphene-1.0 gir1.2-gtkchamplain-0.12
 gir1.2-gtkclutter-1.0 gir1.2-gtksource-4 gir1.2-gucharmap-2.90 gir1.2-handy-0.0
 gir1.2-javascriptcoregtk-4.0 gir1.2-keybinder-3.0 gir1.2-malcontent-0 gir1.2-meta-muffin-0.0
 gir1.2-mutter-7 gir1.2-nemo-3.0 gir1.2-nma-1.0 gir1.2-rb-3.0 gir1.2-rest-0.7 gir1.2-rsvg-2.0
 gir1.2-timezonemap-1.0 gir1.2-upowerglib-1.0 gir1.2-zpj-0.0 gnome-control-center-data gnome-session-bin
 gnome-session-common gnome-shell-common gnome-software-common gnome-todo-common gstreamer1.0-nice
 gstreamer1.0-pipewire libamtk-5-0 libamtk-5-common libappstream-glib8 libatrildocument3 libcaja-extension1
 libcamel-1.2-62 libchamplain-0.12-0 libchamplain-gtk-0.12-0 libcjs0 libcolord-gtk1 libdee-1.0-4
 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1 libedata-book-1.2-26
 libedata-cal-2.0-1 libedataserver-1.2-25 libevdocument3-4 libfarstream-0.2-5 libflashrom1 libflatpak0
 libfolks25 libfreerdp2-2 libftdi1-2 libfwupd2 libfwupdplugin1 libgadu3 libgcab-1.0-0 libgdl-3-5
 libgdl-3-common libgdm1 libgit2-glib-1.0-0 libgnome-autoar-gtk-0-0 libgnome-menu-3-0 libgnome-todo
 libgpod-common libgpod4 libgspell-1-common libgucharmap-2-90-7 libhandy-0.0-0 libimage-magick-perl
 libimage-magick-q16-perl libimagequant0 libjcat1 libjs-mathjax libkpathsea6 libmagick++-6.q16-8
 libmalcontent-0-0 libmalcontent-ui-0-0 libmeanwhile1 libmuffin0 libmutter-7-0 libnss-myhostname
 libostree-1-1 libpotrace0 libpst4 libpurple-bin libpurple0 libsgutils2-2 libsmbios-c2 libsynctex2
 libtepl-5-0 libtimezonemap-data libtimezonemap1 libunity-protocol-private0 libunity-scopes-json-def-desktop
 libunity9 libvncserver1 libwinpr2-2 libwpe-1.0-1 libwpebackend-fdo-1.0-1 libxmlb1 libytnef0 libzephyr4
 malcontent malcontent-gui metacity-common muffin-common mutter-common pidgin-data python-tinycss2-common
 python3-bs4 python3-evdev python3-html5lib python3-lxml python3-magic python3-mako python3-olefile
 python3-pampy python3-pil python3-scour python3-soupsieve python3-tinycss2 python3-tz python3-webencodings
 realmd shotwell-common switcheroo-control unoconv xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-gtk
 xwayland yelp-xsl zenity-common
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
 libbotan-2-17 libtspi1 thunderbird
Suggested packages:
 fonts-lyx
Recommended packages:
 myspell-en-us | hunspell-dictionary | myspell-dictionary
The following packages will be REMOVED:
 aspell aspell-en aspell-es atril chrome-gnome-shell cinnamon cinnamon-control-center-goa cinnamon-core
 cinnamon-desktop-environment dictionaries-common emacsen-common enchant-2 evince evolution
 evolution-data-server evolution-plugin-bogofilter evolution-plugin-pstimport evolution-plugins gdm3 gedit
 gedit-plugin-bookmarks gedit-plugin-bracket-completion gedit-plugin-character-map gedit-plugin-code-comment
 gedit-plugin-color-picker gedit-plugin-color-schemer gedit-plugin-commander gedit-plugin-draw-spaces
 gedit-plugin-find-in-files gedit-plugin-git gedit-plugin-join-lines gedit-plugin-multi-edit
 gedit-plugin-session-saver gedit-plugin-smart-spaces gedit-plugin-synctex gedit-plugin-terminal
 gedit-plugin-text-size gedit-plugin-translate gedit-plugin-word-completion gedit-plugins gir1.2-evince-3.0
 gir1.2-webkit2-4.0 gnome gnome-calendar gnome-contacts gnome-control-center gnome-core gnome-documents
 gnome-getting-started-docs gnome-maps gnome-online-accounts gnome-remote-desktop gnome-session gnome-shell
 gnome-shell-extension-prefs gnome-shell-extensions gnome-software gnome-sushi gnome-todo gnome-tweaks
 gnome-user-docs gnote hunspell-en-us hyphen-en-us inkscape ispanish libatrilview3 libedataserverui-1.2-2
 libenchant-2-2 libevolution libevview3-3 libfolks-eds25 libgoa-backend-1.0-1 libgspell-1-2 libgtkspell0
 libgtkspell3-3-0 libwebkit2gtk-4.0-37 libyelp0 lightdm-webkit2-greeter lutris muffin myspell-es
 mythes-en-us pidgin rhythmbox-plugins shotwell steam-launcher task-cinnamon-desktop task-gnome-desktop
 wspanish yelp zenity
The following NEW packages will be installed:
 libbotan-2-17 libtspi1 thunderbird
0 upgraded, 3 newly installed, 92 to remove and 0 not upgraded.
Need to get 51.0 MB/52.8 MB of archives.
After this operation, 178 MB disk space will be freed.
Do you want to continue? [Y/n] 

那個包是什麼,為什麼它試圖刪除所有其他包?

emacsen-common提供 Emacs 包使用的共享基礎設施;特別是,它允許其他包提供 Emacs 包(在 Emacs 意義上,而不是 Debian 意義上),並在安裝了 Emacs 的任何實現(如果有)中註冊它們。

刪除它會導致許多其他包被刪除,因為它是這些包的依賴項,通常是間接的。大多數情況下,連接包是dictionaries-common,它為字典包提供共享基礎設施,並註冊一個 Emacs 包以簡化 Emacs 中的字典集成。

例如,查看要刪除的包列表中的第一個和最後一個包:

$ aptitude why aspell emacsen-common
i A aspell              Depends dictionaries-common (> 0.40)
i A dictionaries-common Depends emacsen-common (>= 2.0.5)

$ aptitude why zenity emacsen-common
i A zenity               Depends  libwebkit2gtk-4.0-37 (>= 2.15.1)                                                                 
i A libwebkit2gtk-4.0-37 Depends  libenchant-2-2 (>= 2.2.3)                                                                        
i A libenchant-2-2       Depends  hunspell-en-us | hunspell-dictionary | myspell-dictionary | aspell-dictionary | ispell-dictionary
i A hunspell-en-us       Depends  dictionaries-common                                                                              
i A dictionaries-common  Depends  emacsen-common (>= 2.0.5)

libenchant-2-2連接解釋了許多 GNOME 包,包括gnome它本身(通過 shotwell)。

引用自:https://unix.stackexchange.com/questions/690859