По умолчанию папка для временных файлов расположена в корне: /tmp.
В некоторых дистрибах эта папка монтируется в память. Но если оперативки мало, а чья-то софтина активно пишет в неё, есть смысл перенести папку /tmp куда-нибудь на диск.
Ну а если папка /tmp лежит на корневом разделе, а на разделе нет места, то это тоже проблема.
Самый распространённый и быстрый вариант: смонтировать отдельный диск прямо в /tmp.
Но перед этим нужно понять, какая файловая система будет использоваться, узнать её UUID через lsblk -f и остановить процессы, которые активно работают с /tmp.
Упоротым софтом в моём случае была некая многопоточная конвертилка PDF-файлов, которая раздувала папку tmp до — я ебёшь! И пока она не сделает свои дела, за собой не уберёт.
Поэтому изобретают подобный велосипед.
Создаём mount unit /etc/systemd/system/tmp.mount:
[Unit]
Description=Mount a dedicated disk on /tmp
Before=local-fs.target
[Mount]
What=/dev/disk/by-uuid/<UUID>
Where=/tmp
Type=ext4
Options=defaults
[Install]
WantedBy=local-fs.target
Название файла не может быть любым: у нас есть путь /tmp, поэтому unit называется tmp.mount.
Если бы было /mnt/tmp/bashdays, то файл нужно было бы назвать mnt-tmp-bashdays.mount.
Ага, вот такие нюансы, иначе оно грязно выругается и нассыт тебе в глаз.
По юниту всё интуитивно понятно, расписывать не буду.
А потом, как обычно: сначала выставляем права в корне новой файловой системы, затем включаем unit и перезагружаемся. Делать это лучше из rescue-режима, когда /tmp не занят рабочими процессами.
sudo mkdir -p /mnt/new-tmp
sudo mount UUID=<UUID> /mnt/new-tmp
sudo chmod 1777 /mnt/new-tmp
sudo umount /mnt/new-tmp
sudo systemctl daemon-reload
sudo systemctl enable tmp.mount
sudo reboot
Права 1777 важны для временных директорий, чтобы все пользователи могли создавать файлы, но не удаляли чужие. Единичка — это sticky bit.
1777 важны для временных директорий, чтобы все пользователи могли создавать файлы, но не удаляли чужие.Проверяем:
findmnt /tmp
df -h /tmp
stat -c '%a %n' /tmp
Всё, дело в шляпе. Аналогично делается с папкой логов, но там есть свои нюансы, попозже расскажу.








Комментарии