Как установить Emacs 27.1 через ppa на 20.04.1?

Вопрос или проблема

У меня свежая Ubuntu 20.04.1, и я хочу установить Emacs 27. Стандартный Emacs из apt-get – 26.3, поэтому я хочу установить его через ppa.

Запускаю software-properties-gtk, перехожу в другие программы и добавляю ppa:kelleyk/emacs. Появляется всплывающее окно с просьбой обновить источники пакетов, я подтверждаю. Теперь я пытаюсь установить его:

$ sudo apt-get install emacs27
[sudo] пароль для myusername:
Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение информации о состоянии... Готово
Следующие пакеты были установлены автоматически и больше не нужны:
  emacs-bin-common emacs-common emacs-el emacs-gtk gsfonts imagemagick-6-common libfprint-2-tod1
  liblqr-1-0 libmagickcore-6.q16-6 libmagickwand-6.q16-6
Используйте 'sudo apt autoremove', чтобы удалить их.
Следующие дополнительные пакеты будут установлены:
  emacs27-common
Следующие НОВЫЕ пакеты будут установлены:
  emacs27 emacs27-common
0 обновлено, 2 новыми установлено, 0 для удаления и 12 не обновлено.
Необходимо скачать 21,9 МБ архивов.
После этой операции будет использовано 95,8 МБ дополнительного дискового пространства.
Вы хотите продолжить? [Y/n] Y
Получение:1 http://ppa.launchpad.net/kelleyk/emacs/ubuntu focal/main amd64 emacs27-common all 27.1~1.git86d8d76aa3-kk2+20.04 [18,2 MB]
Получение:2 http://ppa.launchpad.net/kelleyk/emacs/ubuntu focal/main amd64 emacs27 amd64 27.1~1.git86d8d76aa3-kk2+20.04 [3.651 kB]
Загружено 21,9 МБ за 5с (4.847 kB/s)   
Выбор ранее невыбранного пакета emacs27-common.
(Чтение базы данных ... 185797 файлов и каталогов в настоящее время установлено.)
Подготовка к распаковке .../emacs27-common_27.1~1.git86d8d76aa3-kk2+20.04_all.deb ...
Распаковка emacs27-common (27.1~1.git86d8d76aa3-kk2+20.04) ...
dpkg: ошибка при обработке архива /var/cache/apt/archives/emacs27-common_27.1~1.git86d8d76aa3-kk2+20.04_all.deb (--unpack):
 пытается перезаписать '/usr/include/emacs-module.h', который также есть в пакете emacs-common 1:26.3+1-1ubuntu2
dpkg-deb: ошибка: под процессом paste была прервана сигналом (Broken pipe)
Выбор ранее невыбранного пакета emacs27.
Подготовка к распаковке .../emacs27_27.1~1.git86d8d76aa3-kk2+20.04_amd64.deb ...
Распаковка emacs27 (27.1~1.git86d8d76aa3-kk2+20.04) ...
Во время обработки возникли ошибки:
 /var/cache/apt/archives/emacs27-common_27.1~1.git86d8d76aa3-kk2+20.04_all.deb
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)

Появляется всплывающее окно от обновления программного обеспечения:

Система пакетов сломана
Проверьте, используете ли вы сторонние репозитории. Если да, отключите их, так как они являются распространенным источником проблем.
Кроме того, выполните следующую команду в терминале: apt-get install -f
Транзакция не удалась: система пакетов сломана
 Следующие пакеты имеют неудовлетворенные зависимости:

emacs27: Зависит от: emacs27-common, но он не установлен
         Зависит от: libgmp10 (>= 2:6.0.0), но установлен 2:6.2.0+dfsg-4
         Зависит от: libice6 (>= 1:1.0.0), но установлен 2:1.0.10-0ubuntu1
         Зависит от: libxfixes3 (>= 1:4.0.1), но установлен 1:5.0.3-2
         Зависит от: zlib1g (>= 1:1.1.4), но установлен 1:1.2.11.dfsg-2ubuntu1.1

Но sudo apt-get install libgmp10 libice6 libxfixes3 zlib1g показывает, что они уже установлены.

После установки emacs27-common с помощью sudo apt-get install emacs27-common я могу установить emacs27 с помощью sudo apt-get install emacs27. Я не уверен, почему это необходимо, поскольку оба пакета находятся в одном и том же ppa…

Ответ или решение

Чтобы установить Emacs 27.1 на Ubuntu 20.04.1 через PPA, следуйте приведенной ниже пошаговой инструкции. Данная инструкция учитывает возникшие ошибки и особенности, описанные вами.

Шаг 1: Добавление PPA репозитория

Откройте терминал и добавьте PPA репозиторий, используя следующую команду:

sudo add-apt-repository ppa:kelleyk/emacs

Вы также можете использовать графический интерфейс, как вы уже упоминали, через software-properties-gtk. Однако, использование терминала — быстрее и более эффективно.

Шаг 2: Обновление индекса пакетов

После добавления PPA, обновите индекс пакетов:

sudo apt update

Это действие последовательно обновит список доступных пакетов и позволит системе обнаружить новые версии, включая Emacs 27.1.

Шаг 3: Установка Emacs 27.1

Попробуйте установить Emacs с помощью следующей команды:

sudo apt install emacs27

Решение возникающих ошибок

Если вы столкнетесь с ошибками, похожими на те, что были описаны вами, это может быть связано с конфликтом версий пакетов, как, например, emacs-common. Если установка зависает или не проходит, попробуйте следующее:

  1. Устранение проблем с зависимостями. Если система сообщает о «порванной» системе пакетов, выполните команду:

    sudo apt --fix-broken install

    Это поможет исправить проблемы с зависимостями и может установить необходимые пакеты, если они еще не были установлены.

  2. Прямой импорт пакета. Если ошибка продолжает возникать, попробуйте установить emacs27-common отдельно:

    sudo apt install emacs27-common 

    Затем установите emacs27:

    sudo apt install emacs27

Шаг 4: Проверка установки

После успешной установки проверьте версию Emacs, чтобы убедиться, что все прошло корректно:

emacs --version

Это должно вывести GNU Emacs 27.1.

Итоги

Установка Emacs 27.1 на Ubuntu 20.04.1 через PPA не должна вызвать серьезных проблем, если придерживаться вышеуказанных шагов. В случае возникновения конфликтов с уже установленными пакетами, придется немного поработать с ними, как описано. Удачи в работе с Emacs!

Оцените материал
Добавить комментарий

Капча загружается...