Службы steamcmd systemd не обновляются после обновления с 24.04 до 24.04.1

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

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

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

Учитывая вашу проблему с обновлением сервисов systemd для steamcmd после перехода с версии 24.04 на 24.04.1, давайте разберем возможные причины и решения.

Фон

Ваша проблема связана с тем, что сервис не может корректно выполнить команду перед запуском (ExecStartPre) из-за кода выхода 2 и проблем с переменной окружения домашней директории. Это может быть вызвано изменениями в конфигурации или зависимостях после обновления.

Проблема с ExecStartPre

ExecStartPre=/usr/games/steamcmd является командой, которая должна выполняться перед основным запуском сервиса. Если эта команда завершает выполнение с ошибкой (код 2), это указывает на то, что имеются проблемы с самими настройками или окружением.

  1. Проверка пути и доступа:
    Убедитесь, что путь к steamcmd действительно корректен. В терминале выполните:

    ls -la /usr/games/steamcmd

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

  2. Переменные окружения:
    При использовании systemd переменные окружения могут быть не заданы или неверны. Убедитесь, что у вас правильно настроена домашняя директория. Вы можете установить её явно в файле службы:

    [Service]
    Environment=HOME=/path/to/your/home
    ExecStartPre=/usr/games/steamcmd

Сообщение об ошибке /tmp/dumps is not ours

Это сообщение указывает на то, что директория /tmp/dumps не принадлежит процессу, выполняющему steamcmd. Проверьте права доступа, выполнив:

ls -la /tmp/dumps

Если директория принадлежит другому пользователю или группе, это может вызвать проблемы. Измените владельца или группу, если это необходимо:

sudo chown -R youruser:yourgroup /tmp/dumps

Заключение

Чтобы устранить неполадки, выполните следующие действия:

  1. Проверьте и при необходимости исправьте путь и права доступа к steamcmd.
  2. Убедитесь, что переменная окружения HOME установлена правильно.
  3. Проверьте и корректируйте права доступа к директории /tmp/dumps.

Примечание

Если после выполнения вышеуказанных шагов проблема продолжает сохраняться, вам следует просмотреть журналы systemd с помощью journalctl -xe, чтобы получить более подробную информацию о том, почему ExecStartPre завершается с ошибкой.

С учетом всех этих настроек вы должны восстановить работоспособность ваших сервисов steamcmd. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь запрашивать поддержку более целенаправленно.

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

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