Собираю Docker образ из library/alt:sisyphus. Для значительного уменьшения размера этого образа ограничиваю список устанавливаемых i18n, например, fr_FR: [root@cf2717cdcd7d /]# cat /etc/rpm/macros %_install_langs fr_FR: %_rpmscript_werror 1 Директория при этом /usr/share/locale/en_GB отсутствует: [root@36121e2f67cd /]# ls -la /usr/share/locale/en_GB ls: cannot access '/usr/share/locale/en_GB': No such file or directory Безуспешно пытаюсь установить glibc-locales: [root@cf2717cdcd7d /]# rpm -ivvv ~/glibc-locales_6%3a2.35.0.6.491f2e-alt1%3asisyphus+295115.100.1.1\@1644420165_x86%5f64.rpm ... D: skipnstate 040755 1 ( 0, 0) 0 /usr/share/locale/en_GB D: skipnstate 040755 1 ( 0, 0) 0 /usr/share/locale/en_GB/LC_MESSAGES D: create 100644 1 ( 0, 0) 1433 /usr/share/locale/en_GB/LC_MESSAGES/libc.mo;62b2f492 fdio: 20740 reads, 166612160 total bytes in 1.618491 secs error: unpacking of archive failed on file /usr/share/locale/en_GB/LC_MESSAGES/libc.mo;62b2f492: cpio: open ufdio: 6 reads, 793160 total bytes in 0.000589 secs error: glibc-locales-6:2.35.0.6.491f2e-alt1.x86_64: install failed Убеждаемся, что /usr/share/locale/en_GB/LC_MESSAGES/libc.mo языко-независимый файл и соответственно будет установлен независимо от заданного %_install_langs: [root@cf2717cdcd7d /]# rpm -q --qf='[%{FILENAMES}:%{FILELANGS}\n]' -p ~/glibc-locales_6%3a2.35.0.6.491f2e-alt1%3asisyphus+295115.100.1.1\@1644420165_x86%5f64.rpm | awk -F":" '{if (length($2) <= 0 && substr($1, length($1) - 2) == ".mo") print $1}' /usr/share/locale/en_GB/LC_MESSAGES/libc.mo Данный список генерируется %find_lang во время сборки пакета: [builder@localhost glibc-2.35.0.6.491f2e-alt1]$ cat libc.lang %defattr(644,root,root,755) %lang(zh) /usr/share/locale/zh_CN/LC_MESSAGES/libc.mo ... %lang(eo) /usr/share/locale/eo/LC_MESSAGES/libc.mo /usr/share/locale/en_GB/LC_MESSAGES/libc.mo lang(en) выседичивается find-lang'ом: https://git.altlinux.org/gears/r/rpm-build.git?p=rpm-build.git;a=blob;f=scripts/find-lang.in;h=2699a1817ac03d1f850fb78dc7afa9af49b2eb24;hb=HEAD#l191 с очень давних пор: https://git.altlinux.org/gears/r/rpm-build.git?p=rpm-build.git;a=commit;h=b0a478061a959c977d3cc87062363e5b14d9e0b4 Наверное, en_* i18n должна быть доступна всегда? Если это так, то и весь путь к устанавливаемой en_* i18n должен маркироваться как языко-независимый, в противном случае, приходится создавать все требуемые директории вручную в зависимости от устанавливаемого приложения. Пример некорректной(?) генерации для glibc-locales: %lang(en_GB) %dir /usr/share/locale/en_GB %lang(en_GB) %dir /usr/share/locale/en_GB/LC_MESSAGES %lang(en_GB) %dir /usr/share/locale/en_GB/LC_TIME