Службы steamcmd systemd не обновляются с момента обновления с jammy на noble.

Вопрос или проблема

Я недавно обновился с 24.04 на 24.04.1, и ни один из моих файлов systemd для серверов игр steamcmd не работает. В частности, проблема заключается в части обновления сервиса. Execstartpre=/usr/games/steamcmd кажется источником проблемы. Статус и journalctl показывают, что процесс завершился с кодом 2 и что есть проблемы с переменной home. Если я удаляю строку execstartpre, сервис работает. Я вручную обновил игры через steamcmd, и появилось сообщение о том, что steam не был закрыт корректно. У меня также есть сообщение о том, что /tmp/dumps не наш в steamcmd. Я искал повсюду и не нашел аналогичной проблемы здесь или где-либо еще в интернете.

Ответ или решение

Проблема с обновлением SteamCMD в системных службах после перехода с Ubuntu 24.04 на 24.04.1 может быть вызвана несколькими факторами, связанными с изменением системных библиотек, конфигурации системы или обработкой переменных среды. Ниже приведены шаги, которые помогут вам диагностировать и устранить проблему, а также некоторые рекомендации по оптимизации.

1. Анализ текущего состояния сервиса

Для начала важно понять, что именно происходит с вашим сервисом SteamCMD. Ошибка «exited with code 2» говорит о том, что в процессе выполнения возникла проблема. Проверьте статус вашего сервиса с помощью следующей команды:

systemctl status имя_вашего_сервиса

Это даст вам больше информации о том, что происходит на самом деле. Для получения деталей запустите:

journalctl -u имя_вашего_сервиса

2. Проверка переменной окружения HOME

Сообщение о проблеме с переменной HOME может указывать на то, что система не может найти или правильно обработать домашний каталог для пользователя, под которым работает сервис. Убедитесь, что в вашем файле unit сервиса указана правильная переменная окружения. Добавьте следующую строку в ваш .service файл:

Environment=HOME=/путь/к/домашнему/каталогу

Чтобы получить путь к домашнему каталогу вашего пользователя, выполните команду:

echo $HOME

3. Настройка ExecStartPre

Проблемы с командой ExecStartPre могут возникнуть из-за неправильно настроенного окружения или отсутствия прав. Попробуйте изменить ExecStartPre следующим образом:

ExecStartPre=/bin/bash -c "/usr/games/steamcmd +login логин пароль +quit"

Эта строка получает больше контроля над тем, что происходит и позволяет избежать ошибок, связанных с окружением.

4. Сообщение о том, что Steam не был закрыт корректно

Это может произойти из-за того, что предыдущая инстанция SteamCMD не отпустила временные файлы или ресурсы. Перезапустите систему, чтобы убедиться, что все процессы завершены, или очистите временные файлы:

rm -rf /tmp/dumps

5. Проверка прав доступа к временной директории

Ошибка «/tmp/dumps is not ours» указывает на проблемы с правами доступа. Убедитесь, что ваш пользователь имеет соответствующие права на директорию /tmp/dumps. Вы можете изменить владельца напрямую с помощью:

sudo chown -R ваш_пользователь:ваша_группа /tmp/dumps

6. Рекомендации по обновлению

После внесения изменений не забудьте перезагрузить демон systemd и перезапустить службу:

sudo systemctl daemon-reload
sudo systemctl restart имя_вашего_сервиса

Заключение

Надеемся, что изложенные рекомендации помогут вам решить проблемы с обновлением SteamCMD после перехода на Ubuntu 24.04.1. Если, несмотря на все усилия, проблема сохраняется, возможно, стоит обратиться на форумы сообщества Steam или к службам поддержки Ubuntu, предоставив детали о вашем окружении и возникших ошибках. Убедитесь, что все решения, которые вы применяете, соответствуют вашему сценарию использования и внимательно следите за исходными журналами для диагностики.

Оцените материал
Добавить комментарий

Капча загружается...