Ubuntu 16.04에 Emacs25 패키지를 설치하는 중 오류가 발생했습니다.

Ubuntu 16.04에 Emacs25 패키지를 설치하는 중 오류가 발생했습니다.

Ubuntu 16.04에 Emacs 24 및 Emacs-snapshot(현재 Emacs 27.0.50)과 함께 Emacs25 패키지를 설치하려고 합니다.

다음 명령을 실행했습니다.

sudo add-apt-repository ppa:kelleyk/emacs 
sudo apt-get update 

그 뒤를 쫓아 달려갔어

sudo apt install emacs25

그 와중에 이거 받았어

user@user-desktop:$ sudo apt install emacs25
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  emacs25-common
The following NEW packages will be installed:
  emacs25 emacs25-common
0 upgraded, 2 newly installed, 0 to remove and 132 not upgraded.
Need to get 0 B/21.0 MB of archives.
After this operation, 90.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 298195 files and directories currently installed.)
Preparing to unpack .../emacs25-common_92792-c3ff671-emacs-25.2~ubuntu16.04.1_all.deb ...
Unpacking emacs25-common (92792-c3ff671-emacs-25.2~ubuntu16.04.1) ...
dpkg: error processing archive /var/cache/apt/archives/emacs25-common_92792-c3ff671-emacs-25.2~ubuntu16.04.1_all.deb (--unpack):
 trying to overwrite '/usr/share/emacs/site-lisp/subdirs.el', which is also in package emacs-snapshot-common 20190326:96618-9a6cba2~ubuntu16.04.1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Selecting previously unselected package emacs25.
Preparing to unpack .../emacs25_92792-c3ff671-emacs-25.2~ubuntu16.04.1_amd64.deb ...
Unpacking emacs25 (92792-c3ff671-emacs-25.2~ubuntu16.04.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1.1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
Errors were encountered while processing:
 /var/cache/apt/archives/emacs25-common_92792-c3ff671-emacs-25.2~ubuntu16.04.1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

이 문제를 어떻게 해결할 수 있나요?

답변1

인용된 출력에서 ​​다음 오류 메시지를 사용하여 이 문제를 해결할 수 있습니다.

Unpacking emacs25-common (92792-c3ff671-emacs-25.2~ubuntu16.04.1) ...
dpkg: error processing archive /var/cache/apt/archives/emacs25-common_92792-c3ff671-emacs-25.2~ubuntu16.04.1_all.deb (--unpack):
 trying to overwrite '/usr/share/emacs/site-lisp/subdirs.el', which is also in package emacs-snapshot-common 20190326:96618-9a6cba2~ubuntu16.04.1

emacs-snapshot-common및 가 둘 다 emacs25-common포함되어 있기 때문에 설치에 실패했습니다 /usr/share/emacs/site-lisp/subdirs.el.

이를 해결하는 방법은 여러 가지가 있지만 Emacs 패키지 이름에 버전 번호가 포함되어 있지만 함께 설치되도록 설계되지 않았다는 점을 고려해 볼 가치가 있습니다. (실제로 Debian 10 및 Ubuntu 18.10부터 패키지 이름에는 더 이상 버전 번호가 포함되지 않습니다.)

이 문제를 해결하는 가장 깔끔한 방법은 파일의 패키지 복사본 중 하나(예: emacs25보관하려는 복사본)를 전송하는 것입니다.

sudo dpkg-divert --package emacs25 --divert /usr/share/emacs/site-lisp/subdirs.el.moved --rename /usr/share/emacs/site-lisp/subdirs.el

(구문은 다소 직관에 어긋납니다.dpkg-divert맨페이지더 알아보기). 이렇게 하면 다른 패키지 에서 subdirs.el제공하는 버전의 이름이 .emacs25subdirs.el.moved

관련 정보