Какую версию Emacs мне следует использовать на Ubuntu 18.04? [дубликат]

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

У меня Ubuntu 18.04.3 LTS. emacs --version возвращает GNU Emacs 25.2.2, а apt policy emacs возвращает Установлено: 47.0 Кандидат: 47.0. Что это значит? Я думал, что последняя версия Emacs – 27 какая-то. Тем не менее, это не то, что возвращает команда версии Emacs. Может кто-нибудь это объяснить?

Я также думал, что Ubuntu основан на Debian и использует их репозитории, поэтому я проверил на веб-сайте Debian, и там Emacs имеет версию 1:26.1+1-3.2+deb10u1. Значит ли это, что Ubuntu не берет данные из репозитория Debian?

Почему Emacs в Ubuntu все еще застрял на версии 25.2.2, когда последняя версия – 27? Я понимаю, что репозиторий Ubuntu должен быть стабильным, поэтому он часто отстает. Но разве это действительно причина отставать на две версии от официальной версии?

Я обновлен в соответствии с репозиториями Ubuntu?

В моей системе Ubuntu (20.04) программное обеспечение почти в каждом случае новее, чем на соответствующей системе Debian (bullseye/11 testing/sid) (есть несколько случаев, когда они идентичны, я не знаю о тех, где Debian новее, но это возможно, и это обычно всего на несколько часов или день-два, если только Ubuntu не находится в состоянии freeze).

В вашем тексте вы сравниваете релиз Ubuntu апреля 2018 года с релизом Debian июля 2019 года? Эти релизы отличаются более чем на год – так почему вы ожидаете, что у более старого релиза Ubuntu будут версии, которые еще не были выпущены в апреле 2018 года?

Ubuntu обратных портов исправления безопасности; и обновляется только до более поздних версий программного обеспечения ЕСЛИ портирование исправлений безопасности требует больше работы, чем просто обновление версий программного обеспечения (тестирование и т.д.). Это не уникально для Ubuntu. Если вам нужно самое новое, вы можете использовать более поздний релиз (например, Ubuntu 19.10, который является релизом октября 2019 года).

Версии пакетов не могут использоваться как надежный индикатор содержащегося программного обеспечения. Версии пакетов поддерживаются для возможности обновлений; и обновлений релиза до следующего релиза – так что они должны увеличиваться, даже если программное обеспечение, содержащееся в них, идентично при переходе от одного релиза к следующему с использованием процесса обновления релиза, минимальные изменения упаковки или изменения текстовых файлов, которые не являются частью кода upstream. Это неверное предположение, что версия пакета относится к программному обеспечению внутри (несмотря на то, что иногда они эквивалентны; это всего лишь “удачные” совпадения, так как они действительно разные вещи). Это утверждение относится как к Debian, так и к Ubuntu.

Для проверки версии программного обеспечения я бы порекомендовал packages.ubuntu.com (например, https://packages.ubuntu.com/search?suite=all&searchon=names&keywords=emacs для получения информации о emacs). Вы также можете исследовать через ваш терминал, если ваши списки пакетов обновлены и вы используете текущий зеркало (по моему опыту, многие люди не проверяют свои зеркала)

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

На Ubuntu 18.04 версия Emacs, которую вы получите через стандартные репозитории, составляет 25.2.2. Это может вызвать вопросы, особенно если вы заметили, что более новые версии Emacs, такие как 26 или даже 27, доступны на других платформах или в других дистрибутивах. В этой статье мы подробно разберем причины, почему вы видите такую ситуацию, а также варианты, которые доступны для получения более новых версий Emacs.

1. Причины устаревания версии Emacs в Ubuntu

a. Парадигма стабильности Ubuntu

Ubuntu, особенно в LTS (Long Term Support) версиях, придерживается принципа стабилизации и безопасности. Основная цель – обеспечить стабильную среду на протяжении всего срока поддержки. Это означает, что пакеты обновляются только для исправления ошибок и безопасности, а не для добавления функционала. В результате, версии пакетов могут оставаться устаревшими, особенно по сравнению с последними стабильными версиями в других дистрибутивах или на сайте разработчиков.

b. Зависимости и совместимость

Подобные версии пакетов в дистрибутивах Linux также связаны с зависимостями. Обновление программного обеспечения может потребовать дополнительных изменений в зависимостях, что не всегда является простым процессом. Если обновление пакета требует значительных изменений кодовой базы или других зависимостей, команда Ubuntu может предпочесть оставить текущую версию и продолжать с ней работать.

c. Разные циклы релизов

Ubuntu и Debian имеют разные циклы релизов и стратегии обновления. То, что доступно в Debian, может не быть доступным в Ubuntu в тот же самый момент. Ваша версия Ubuntu была выпущена в апреле 2018 года, тогда как более новые версии Emacs и Debian были выпущены позже. Эта разница во времени означает, что более новые пакеты могут просто не попасть в репозитории Ubuntu на момент выпуска.

2. Как получить более новую версию Emacs на Ubuntu 18.04

Если вы хотите воспользоваться более новыми версиями Emacs, у вас есть несколько вариантов:

a. Установка из PPA

Вы можете воспользоваться персональными архивами пакетов (PPA). Некоторые пользователи создали PPA, в которых доступные более новые версии Emacs. Чтобы установить Emacs с помощью PPA, выполните следующие команды в терминале:

sudo add-apt-repository ppa:ubuntu-elisp/ppa
sudo apt update
sudo apt install emacs

b. Компиляция из исходных кодов

Еще один способ — скачать исходные коды последней версии Emacs с официального сайта GNU Emacs и скомпилировать его самостоятельно. Это требует больше времени и технических навыков, но позволяет получить последнюю версию:

sudo apt install build-essential
sudo apt build-dep emacs
wget http://ftp.gnu.org/gnu/emacs/emacs-27.1.tar.gz
tar -xzf emacs-27.1.tar.gz
cd emacs-27.1
./configure
make
sudo make install

c. Использование контейнеров

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

3. Заключение

На Ubuntu 18.04 стандартная версия Emacs действительно не соответствует последним стабильным релизам. Поскольку Ubuntu ориентируется на стабильность и безопасность, возможны задержки в обновлениях пакетов. Если вам необходима более новая версия, вы можете использовать PPA, компилировать из исходных кодов или рассмотреть использование контейнеров. Эти методы предоставят вам доступ к более свежим версиям, сохраняя при этом вашу систему на Ubuntu.

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

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