Типичная проблема после перехода на Debian 13: скрипты postinst при конфигурации пакетов падают с ошибкой
Insecure directory in $ENV{PATH} while running with -T switch at ...
Это связано с тем, что в Debian 13 ужесточили требования к безопасности Perl: если в переменной PATH есть небезопасные пути (например, с правами записи для других пользователей или . в начале), Perl при запуске с опцией -T (taint mode) блокирует выполнение.
Что происходит
- В скриптах postinst (например, у hplip, colord, network-manager, exim4, avahi) используется Perl + taint mode.
- Ваш $PATH содержит директории, которые небезопасны с точки зрения прав (например, /usr/local/bin с 775, или директорию с правами 750/770, доступную группе/другим).
- В результате конфигурация пакетов рушится, и куча зависимых пакетов остаются «не до конца установленными».
Как лечить
- Проверить текущий PATH и проблемные каталоги
Выполните:echo $PATH ls -ld $(echo $PATH | tr ':' ' ')
Обратите внимание на права (drwxrwxr-x или наличие записи для “others”).
- Исправить права на директории в PATH
Все каталоги, находящиеся в $PATH, должны быть как минимум:drwxr-xr-x (755)
или строже (только root владеет и никто кроме root не пишет).
Примеры:sudo chmod 755 /usr/local/bin sudo chmod 755 /usr/bin sudo chmod 755 /bin
Если у Вас ранее стояли 750 на системных каталогах (я помню, Вы меняли права на /bin, /usr, /sbin и т.д.), это как раз и вызвало ошибку — Perl теперь считает такие директории небезопасными.
- Переустановить/доконфигурировать пакеты
После исправления прав:sudo apt update sudo apt --fix-broken install sudo dpkg --configure -a
Ошибки должны уйти, пакеты сконфигурируются.