Вопрос или проблема
● systemd-timesyncd.service - Синхронизация сетевого времени
Loaded: загружен (/lib/systemd/system/systemd-timesyncd.service; включен; предустановка поставщика: включено)
Active: не удалось (Результат: код выхода) с Сб 2019-08-17 04:32:34 PDT; 11 мин назад
Документация: man:systemd-timesyncd.service(8)
Процесс: 4629 ExecStart=/lib/systemd/systemd-timesyncd (код=вышел, статус=238/STATE_DIRECTORY)
Основной PID: 4629 (код=вышел, статус=238/STATE_DIRECTORY)
Это всё ещё отображается после того, как я создал /var/lib/systemd/timesync/.
Теперь это работает.
# chmod 700 /var/lib/private
# rm -r /var/lib/private/systemd
# systemctl start systemd-timesyncd
# timedatectl status
Локальное время: Ср 2019-08-28 17:55:15 PDT
Универсальное время: Чт 2019-08-29 00:55:15 UTC
Время RTC: Чт 2019-08-29 00:55:15
Часовой пояс: America/Los_Angeles (PDT, -0700)
Системные часы синхронизированы: да
systemd-timesyncd.service активно: да
RTC в локальном ЧП: нет
# ls -ld /var/lib/private/systemd/timesync
drwxr-xr-x 2 systemd-timesync systemd-timesync 4096 Авг 28 17:51 timesync/
Ответ или решение
Если вы столкнулись с проблемой, что служба systemd-timesyncd.service не запускается, важно понять, что может быть причиной. На основе предоставленного описания можно сделать несколько выводов.
Общая постановка проблемы:
Служба systemd-timesyncd.service
, отвечающая за сетевую синхронизацию времени, не запускается из-за ошибки, связанной с кодом выхода 238/STATE_DIRECTORY. Эта ошибка обычно указывает на проблему с доступом или отсутствием необходимых каталогов.
Шаги решения:
-
Проверка каталога:
Ваша система пытается работать с каталогом/var/lib/systemd/timesync/
. В случае отсутствия или неправильной структуры этого каталога, служба может не запускаться. В вашем случае вы уже создали этот каталог, что является правильным первым шагом. -
Права доступа:
Учитывая, что создание каталога не сразу решило вашу проблему, следовало обратить внимание на права доступа. Чтение и запись должны быть корректно сконфигурированы. В вашем решении вы использовали командуchmod 700 /var/lib/private
, которая задаёт права доступа только для владельца. Убедитесь, что права доступа в каталоге/var/lib/systemd/timesync/
также корректно настроены. -
Удаление и пересоздание:
Удаление каталога/var/lib/private/systemd
и пересоздание службы, как видно из вашего примера, аккумулировали проблему. Это может указывать на временные или остаточные файлы, которые мешали нормальной работе. -
Тестирование через системные команды:
Использованиеsystemctl start systemd-timesyncd
и проверка с помощьюtimedatectl status
позволяют убедиться, что служба работает корректно после внесённых изменений. Подтверждение того, что "System clock synchronized: yes" указывает на успешную синхронизацию времени. -
Проверка конечного состояния:
Командаls -ld /var/lib/private/systemd/timesync
позволяет проверить текущую структуру и права доступа. Праваdrwxr-xr-x
показывают, что всё настроено корректно.
Заключение:
Проблема, скорее всего, крылась в некорректных правах доступа или в наличии остаточных файлов, мешающих нормальному запуску службы. Выполнение указанных шагов правильно устранило проблему. Для предотвращения подобных ситуаций в будущем, рекомендуется регулярно проверять права доступа и правильность файловой структуры.
Оптимизация по SEO:
Для более широкой аудитории, обсуждаемую проблему можно описать с упором на ключевые слова, такие как “почему не запускается systemd-timesyncd”, “исправление ошибок systemd-timesyncd”, или “решение ошибок синхронизации времени”. Это гарантирует релевантность содержимого пользователя и улучшает видимость в поисковых системах.
Ваше описание позволяет системным администраторам и пользователям уверенно решать подобные проблемы, поддерживая стабильную работу серверов и систем.