0051 — Debian-Backports
Что такое бэкпорт
Бэкпортом называется перенос функциональности из более новой версии продукта в более старую. Например, в версии 2.0.0
добавили что-то интересное, чего никогда не было в 1.x.x
. Пользователям версий 1.x.x
теперь, чтобы получить эту функциональность, нужно обновить свой продукт до версии 2.0.0
.
Это, конечно же, здорово, если речь идёт о домашнем компьютере. А представьте, что у вас есть парк из 10 000 машин, и на всех установлен софт версии 1.x.x
. Уже не так здорово звучит, да? Это мы ещё не касались темы миграции. Вдруг настройки в 2.0.0
хранятся в другом формате, или часть параметров, отмеченных как устаревшие, была удалена? Очевидно, обновление не будет быстрым и простым.
Так может, посидеть пока на 1.x.x
?
Я не буду касаться причин, по которым системный администратор не будет обновлять свой софт до более новой версии. Их может быть множество, начиная с ломающих изменений и заканчивая требованиям регуляторов.
К счастью, иногда для софта выпускают бэкпорты. Не все и не всегда это делают, да и переносимая функциональность тоже может быть разной. Однако, при бэкпорте в 1.x.x
появляется функциональность из 2.0.0
(как правило, частично).
Релизы Debian Linux
Терминология релизов:
sid
— самая новая версия Debian, которая постоянно ломается. После тестирования пакеты из Sid переезжают в Testing.testing
— версия Debian, которая готовится стать Stable. По мере исправления ошибок версии пакетов фиксируются («прибиваются гвоздями») и больше уже не меняются до самого выпуска, если на это нет очень веских оснований.stable
— стабильная версия Debian. Это опубликованный релиз, версии большинства пакетов в нём зафиксированы, мажорных обновлений не будет. Будут только исправления безопасности.old-stable
— раньше это был Stable, но после выхода новой версии Stable он утратил свои позиции.
Учитывая вышесказанное, очевидно, что если вы используете Debian Bookworm, Emacs 29 вам не видать. По крайней мере, при использовании официальных репозиториев.
Debian Backports
К счастью, Debian поддерживает репозиторий Backports. При его использовании нужно учитывать некоторые особенности:
- По умолчанию приоритет этого репозитория низкий.
- Пакеты в Backports не получают обновлений безопасности. Если безопасность важна, лучше Backports не использовать.
- Некоторые пакеты могут сломать систему.
Чтобы подключить этот репозиторий:
Создайте в каталоге
/etc/apt/sources.list.d/
файлbookworm-backports.list
с таким содержимым:deb http://deb.debian.org/debian bookworm-backports main non-free contrib
Обновите список доступных пакетов:
sudo apt-get update
Теперь вы можете обновить часть пакетов в своей системе:
sudo apt-get dist-upgrade -t bookworm-backports
Emacs 29
Для меня самым интересным в Backports является наличие Emacs 29.
Для установки редактора из Backports выполните команду:
sudo apt-get install emacs-gtk -t bookworm-backports
Чтобы пакеты Emacs автоматически устанавливались именно из репозитория Bookworm Backports, создайте в каталоге /etc/apt/preferences.d/
файл 99-emacs-backports
с таким содержимым:
Package: emacs emacs-bin-common emacs-common emacs-el emacs-gtk emacs-nox emacs-pgtk
Pin: release n=bookworm-backports
Pin-Priority: 600
Теперь при обновлении кеша APT и выполнении команды apt-get dist-upgrade
будет предложено обновить Emacs до версии, хранящейся в Backports.