summaryrefslogtreecommitdiff
path: root/metadata/news/2022-12-27-alternatives-introduction
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-28 02:11:45 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-28 02:11:45 +0000
commitaf929819f9adfd95dd0e667ce1fc598c65d63a4c (patch)
treec715eb1a652fbd07711bcb47e94c7d4168cd09e5 /metadata/news/2022-12-27-alternatives-introduction
parente44b9cf3e5b67eaf723e4a335faf39c87167abd3 (diff)
gentoo auto-resync : 28:12:2022 - 02:11:45
Diffstat (limited to 'metadata/news/2022-12-27-alternatives-introduction')
-rw-r--r--metadata/news/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.ru.txt98
1 files changed, 98 insertions, 0 deletions
diff --git a/metadata/news/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.ru.txt b/metadata/news/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.ru.txt
new file mode 100644
index 000000000000..254bb4095008
--- /dev/null
+++ b/metadata/news/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.ru.txt
@@ -0,0 +1,98 @@
+Title: Нововведение: пакеты app-alternatives
+Author: Sam James <sam@gentoo.org>
+Translator: Alexey Sokolov <alexey+gentoo@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