systemd-tmpfiles: Failed to create file /tmp/socket: Read-only file system
Linux / DevOps
Ошибка systemd-tmpfiles: Read-only file system — Как исправить
При старте службы systemd-tmpfiles-setup.service происходит сбой создания сокетов, каталогов или PID-файлов: Failed to create file /tmp/...: Read-only file system.
| Признак | Возможная причина | Действие ядра |
|---|---|---|
ФС смонтирована ro | Ошибки I/O метаданных Ext4/XFS | Ядро переводит раздел в Read-Only (errors=remount-ro) |
| Отказ монтирования tmpfs | Некорректная запись в /etc/fstab | tmpfiles пытается писать на физический диск вместо RAM |
| SMART ошибки накопителя | Bad blocks / hardware failure | Контроллер блокирует операции записи |
- Проверьте системный лог ядра на предмет ошибок ввода-вывода накопителя:
dmesg -T | grep -E -i "ext4|xfs|error|I/O|read-only" - Проверьте монтирование
/tmpи статус файловой системы:mount | grep " / " mount | grep " /tmp" - Если файловая система перешла в RO из-за сбоев, перезагрузитесь в Emergency Mode и выполните
fsck:# Отмонтируйте раздел перед проверкой (если применимо) sudo fsck -yf /dev/sda1 - Убедитесь, что
/etc/fstabсодержит корректную конфигурацию для tmpfs:tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 - Перезапустите сервис конфигурации временных файлов:
sudo systemctl restart systemd-tmpfiles-setup.service
Критично: Если `dmesg` сообщает об аппаратных ошибках секторов (I/O error, sector relocation), немедленно создайте резервную копию данных перед запуском fsck!
Практический опыт инженера:
На виртуальных машинах (VMware/KVM) эта ошибка часто вызывается кратковременным разрывом связи с SAN/NFS-хранилищем (Storage Timeout).
Частые вопросы (FAQ)
Почему Linux перемонтирует диск в Read-Only самостоятельно?
Это защитный механизм ядра (параметр errors=remount-ro). При обнаружении повреждения структур данных запись блокируется, чтобы предотвратить дальнейшее разрушение ФС.
Как временно перемонтировать корень в режим чтения/записи?
Выполните: mount -o remount,rw /