status=230/PERSONALITY в systemd
Код 230/PERSONALITY относится к параметру Personality=, которым можно заставить процесс считать себя работающим на другой архитектуре — например запустить 32-битную программу в режиме x86 на 64-битной машине. Отказ значит, что запрошенный режим недоступен.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Запрошенная архитектура не поддерживается ядром
Режим x86 на ядре без поддержки 32-битных программ включить нельзя. На чистых 64-битных сборках такой поддержки часто нет.
-
Указано неизвестное значение
Допустимы x86, x86-64, ppc, ppc-le, ppc64, ppc64-le, s390, s390x. Прочие строки не разбираются.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Показывает шаг PERSONALITY и причину.
journalctl -xeu myapp.service --no-pager -n 20Архитектура машины и запрошенный режим рядом.
uname -m && systemctl show myapp.service -p PersonalityРешение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Режим x86 на ядре без поддержки 32-битных программ включить нельзя. На чистых 64-битных сборках такой поддержки часто нет.
- Как проверить
-
Посмотрите значение и поддержку 32-битного режима.
systemctl show myapp.service -p Personality grep -i ia32_emulation /boot/config-$(uname -r) 2>/dev/null
- Как исправить
- Уберите параметр либо запускайте службу на ядре с нужной поддержкой. Для 32-битных программ ещё нужны 32-битные библиотеки.
- Почему происходит
- Допустимы x86, x86-64, ppc, ppc-le, ppc64, ppc64-le, s390, s390x. Прочие строки не разбираются.
- Как проверить
-
Проверьте значение.
systemctl show myapp.service -p Personality
- Как исправить
- Поставьте допустимое значение или удалите параметр: большинству служб он не нужен.
Пример вывода
Запрошен 32-битный режим на ядре без его поддержки. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
× legacy.service - Legacy application
Active: failed (Result: exit-code) since Mon 2026-09-14 23:33:29 MSK; 1s ago
Process: 24900 ExecStart=/opt/legacy/bin/app (code=exited, status=230/PERSONALITY)
systemd[24900]: legacy.service: Failed at step PERSONALITY spawning /opt/legacy/bin/app: Invalid argument
Связанные ошибки
- Exec format error при запуске службы Ошибка формата исполняемого файла: не та архитектура, нет строки #!, повреждённый файл или попытка запустить не программу.
- status=203/EXEC в systemd Код 203/EXEC означает, что systemd не смог выполнить программу из ExecStart=. Разбор причин: путь, права, интерпретатор, синтаксис оболочки.
- signal=FPE (status=8/FPE) в systemd Процесс службы завершён сигналом FPE: арифметическая ошибка, чаще всего деление на ноль в целочисленной арифметике.
- signal=ILL (status=4/ILL) в systemd Процесс службы завершён сигналом ILL: недопустимая инструкция процессора. Обычно сборка не под этот процессор.
- status=207/SIGNAL_MASK в systemd Код 207/SIGNAL_MASK: systemd не смог установить маску сигналов для нового процесса. Редкий код, признак проблем в окружении.
- status=212/TIMERSLACK в systemd Код 212/TIMERSLACK: не удалось задать допуск таймеров процесса из TimerSlackNSec=. Редкий код.
- status=213/SECUREBITS в systemd Код 213/SECUREBITS: не удалось выставить биты безопасности процесса из SecureBits=. Редкий параметр, требующий прав.
- status=220/SETSID в systemd Код 220/SETSID: systemd не смог создать новый сеанс процесса. Редкий код, чаще всего связан с окружением запуска.
Источники
-
systemd.exec(5)
230 EXIT_PERSONALITY: не удалось задать домен исполнения, см. Personality=. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Проверено с Personality=x86 на ядре без поддержки 32-битных программ.