commit: e9411435f572e21fb37e58f9560ae1f733d36f8b Author: Alexey Sokolov <alexey+gentoo <AT> asokolov <DOT> org> AuthorDate: Tue Dec 27 12:51:25 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Dec 28 00:49:37 2022 +0000 URL: https://gitweb.gentoo.org/data/gentoo-news.git/commit/?id=e9411435
2022-12-27-alternatives-introduction: add Ru translation Signed-off-by: Alexey Sokolov <alexey+gentoo <AT> asokolov.org> Signed-off-by: Sam James <sam <AT> gentoo.org> .../2022-12-27-alternatives-introduction.ru.txt | 98 ++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.ru.txt b/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.ru.txt new file mode 100644 index 0000000..254bb40 --- /dev/null +++ b/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.ru.txt @@ -0,0 +1,98 @@ +Title: Нововведение: пакеты app-alternatives +Author: Sam James <s...@gentoo.org> +Translator: Alexey Sokolov <alexey+gen...@asokolov.org> +Posted: 2022-12-24 +Revision: 1 +News-Item-Format: 2.0 + +В Gentoo будет новая категория пакетов под названием «app-alternatives» для +случаев, когда пользователь хочет поменять символическую ссылку, указывающую +на распространённую программу, доступную в разных пакетах. + +По традиции, для этого использовался eselect, но, хотя eselect всё ещё бывает +нужен, он плохо подходит для случаев, таких как /bin/awk и /bin/sh, потому что +а) он предотвращает использование корневой файловой системы в режиме только +для чтения, б) что более важно с точки зрения системы управления пакетами, он +зависит от осиротевших символических ссылок: ни один пакет не владеет файлами +/bin/awk, /bin/sh и т. д. Это не надёжно, и в некоторых случаях может привести +к мёртвой ссылке или даже к отсутствию ссылки [0]. + +При использовании для этих целей пакетного менеджера вместо ручной +конфигурации вовне система станет более надёжной. + +Начальный список пакетов с поддержкой альтернатив такой: +- app-alternatives/awk +- app-alternatives/bzip2 +- app-alternatives/bc +- app-alternatives/cpio +- app-alternatives/gzip +- app-alternatives/lex +- app-alternatives/sh +- app-alternatives/tar +- app-alternatives/yacc + +Стабилизация этих пакетов, а также пакетов, от них зависящих, происходит в +баге 886017 [1]. + +## Требования для обновления + +Настройка по умолчанию для систем Gentoo выглядит так: +FEATURES="protect-owned"; это работает подобно FEATURES="collision-protect", +но позволяет конфликты между файлами-сиротами. В этом случае возникнет +одноразовый конфликт, когда пакет из app-alternatives/ присвоит себе +символическую ссылку, которая до этого не принадлежала ни одному пакету. + +Похожая ситуация была при миграции на libxcrypt, когда обновления ломались у +пользователей при использовании старой, более агрессивной настройки +FEATURES="collision-protect". + +Мы рекомендуем вам обновить свою конфигурацию, и убрать «collision-protect» из +FEATURES. Вместо этого можете явно включить «protect-owned» или не указывать +там ничего, потому что это итак настройка по умолчанию. Также можно выключить +«collision-protect» временно, только для этого обновления, и затем включить +обратно. + +ВНИМАНИЕ: Пользователи, использующие collision-protect, должны убрать его из +FEATURES в /etc/portage/make.conf, либо установить +FEATURES="-collision-protect". collision-protect находит конфликты между +файлами, даже когда ни один пакет не владеет файлом. + +## Миграция + +Для миграции достаточно убрать eselect-awk и eselect-sh из world, и обновить +систему как обычно: +1. # emerge --deselect app-eselect/eselect-awk app-eselect/eselect-sh +2. # emerge --sync +3. # emerge -a -uvDU @world (или похожая команда для стандартного обновления +системы) + +## Конфигурация + +Если вы не заинтересованны в использовании разных реализаций перечисленных +выше инструментов, эту секцию можно пропустить. + +По умолчанию никакая конфигурация не требуется, но вы можете настраивать +поведение пакетов из app-alternatives/, как раньше использовали для этого, +например, eselect-sh и eselect-awk. + +Теперь для этого будет использоваться /etc/portage/package.use. + +Пожалуйста, просмотрите USE-флаги, доступные для различных пакетов из +app-alternatives, таких как app-alternatives/sh, и настройте их на ваше +усмотрение. + +Например, чтобы /usr/bin/gzip был предоставлен пакетом app-arch/pigz, это +автоматически параллелизует gzip, нужен такой текст в /etc/portage/package.use: +``` +# https://wiki.gentoo.org/wiki/Gzip#Parallelization +# Пусть /usr/bin/gzip будет ссылкой на pigz для ускорения сжатия +app-alternatives/gzip -reference pigz +``` + +## Дополнительные материалы + +Больше технических подробностей описано в вики [2]. + +[0] https://wiki.gentoo.org/wiki/Project:Base/Alternatives#Why.3F +[1] https://bugs.gentoo.org/886017 +[2] https://wiki.gentoo.org/wiki/Project:Base/Alternatives