Title: Миграция в ~arch с glibc[crypt] на libxcrypt Author: Andreas K. Hüttel Author: Sam James Translator: Alexey Sokolov Posted: 2021-07-23 Revision: 1 News-Item-Format: 2.0 Реализация библиотеки libcrypt.so в glibc давно устарела и скоро будет удалена. Прочие дистрибутивы годы назад уже переключились на внешнюю реализацию под названием libxcrypt. Мы решили последовать их примеру и тоже переключиться на libxcrypt. Вначале изменения затронут системы на ~arch. Это будет обычное обновление, и, скорее всего, вам не нужно будет предпринимать никаких действий, и проблем возникнуть не должно. Однако, мы рекомендуем сперва *полностью* обновить систему. Это стандартная рекомендация, но в этом конкретном случае более простой граф зависимостей поможет portage вычислить порядок обновлений. Так что, чтобы упростить процесс обновления, пожалуйста, обновите систему сейчас, до начала самой миграции. Для пользователей ~arch изменение произойдёт 14 июля 2021, пользователи стабильной ветки перейдут на libxcrypt позже. Если по какой-либо причине вы *не* хотите пока переходить на libxcrypt (всего лишь отлагая неизбежное), выполните следующие действия: * размаскируйте и включите USE-флаг crypt пакета sys-libs/glibc * замаскируйте USE-флаг system пакета sys-libs/libxcrypt * замаскируйте >=virtual/libcrypt-2 Если вы хотите перейти на libxcrypt уже, точная процедура описана в wiki (см. ниже), но суть такая: * принудительно выключите USE-флаг crypt пакета sys-libs/glibc * размаскируйте USE-флаги system и, если требуется, split-usr пакета sys-libs/libxcrypt * размаскируйте ~virtual/libcrypt-2 Обратите внимание: если последний раз вы меняли пароль до ~2008 года, он может использовать в /etc/shadow слабые хеш-функции, такие как md5crypt. При этом ошибка в PAM [0][1] может помешать вам войти в систему. Мы рекомендуем вам сменить пароль командой "passwd", чтобы были использованы современные методы хеширования паролей. Новая версия PAM с исправлением этой ошибки уже добавлена в дерево. В некоторых случаях Portage может попытаться пересобрать некоторые пакеты в неправильном порядке [2]. Если какой-то пакет не собирается, попробуйте сначала обновить libcrypt и libxcrypt: # emerge -v1 virtual/libcrypt sys-libs/libxcrypt А затем продолжите обновление системы с помощью опции Portage "--keep-going=y". Дополнительные сведения можно найти здесь: * https://wiki.gentoo.org/wiki/Project:Toolchain/libcrypt_implementation * https://bugs.gentoo.org/699422 [0] https://bugs.gentoo.org/802267 [1] https://bugs.gentoo.org/802807 [2] https://bugs.gentoo.org/802210