
Из-за дефицита оперативной памяти в Debian мне нужно переместить /tmp на SSD-диск. Но я все еще не могу понять, как это сделать, чтобы программы, которые его используют, по-прежнему имели к нему доступ по пути /tmp.
Так что в принципе, я хочу переместить /tmp с ramdisk, например, в /home/tmp. И иметь возможность доступа к нему через /tmp
решение1
systemctl mask tmp.mount
Эта команда говорит systemd
не монтировать файловую систему на основе RAM ( tmpfs
) на /tmp. Чтобы применить изменение, необходимо перезагрузить систему.
В большинстве случаев это все, что вам нужно сделать. Не обязательно перенаправлять /tmp в /home/tmp или куда-либо еще. Этот метод рекомендуется в официальномсистемная документация --
Я просто хочу избавиться от /tmp, поддерживаемого tmpfs!
У вас есть три варианта:
- Отключите любое монтирование в /tmp, чтобы он находился в той же физической файловой системе, что и корневой каталог. Для этого выполните
systemctl mask tmp.mount
- Смонтируйте другую, физическую файловую систему в /tmp. Для этого просто создайте для нее запись в /etc/fstab, как вы бы сделали для любой другой файловой системы.
- Сохраните /tmp, но увеличьте/уменьшите его размер. Для этого просто создайте для него запись в /etc/fstab, как вы бы сделали для любой другой файловой системы tmpfs, и используйте правильный параметр size=.
Почему не нужно перенаправлять /tmp, например, в /home/tmp?
Вышеуказанное должно оставить /tmp как доступный для записи каталог внутри /
(корневая файловая система). Программное обеспечение для Debian или большинства других дистрибутивов Linuxдолжениспользуйте /tmp только для небольшого набора файлов, поэтому я бы не беспокоился о нехватке места в корневой файловой системе. Это требование, по-видимому, в основном вытекает из идеи, что /tmp может быть файловой системой RAM :-).
- https://systemd.io/TEMPORARY_DIRECTORIES.html
- В чем разница между /tmp и /var/tmp?[unix.stackexchange.com]
Вам не нужно беспокоиться о том, что со временем /tmp заполнится устаревшими файлами. /tmp автоматически очищается во время загрузки:
$ cat /usr/lib/tmpfiles.d/tmp.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# See tmpfiles.d(5) for details
# Clear tmp directories separately, to make them easier to override
D /tmp 1777 root root -
#q /var/tmp 1777 root root 30d
# There are more lines here, but they are not important to this answer
# ...