Перемещение /tmp с ramdisk на другой раздел

Перемещение /tmp с ramdisk на другой раздел

Из-за дефицита оперативной памяти в Debian мне нужно переместить /tmp на SSD-диск. Но я все еще не могу понять, как это сделать, чтобы программы, которые его используют, по-прежнему имели к нему доступ по пути /tmp.

Так что в принципе, я хочу переместить /tmp с ramdisk, например, в /home/tmp. И иметь возможность доступа к нему через /tmp

решение1

systemctl mask tmp.mount

Эта команда говорит systemdне монтировать файловую систему на основе RAM ( tmpfs) на /tmp. Чтобы применить изменение, необходимо перезагрузить систему.

В большинстве случаев это все, что вам нужно сделать. Не обязательно перенаправлять /tmp в /home/tmp или куда-либо еще. Этот метод рекомендуется в официальномсистемная документация --

Я просто хочу избавиться от /tmp, поддерживаемого tmpfs!

У вас есть три варианта:

  1. Отключите любое монтирование в /tmp, чтобы он находился в той же физической файловой системе, что и корневой каталог. Для этого выполните systemctl mask tmp.mount
  2. Смонтируйте другую, физическую файловую систему в /tmp. Для этого просто создайте для нее запись в /etc/fstab, как вы бы сделали для любой другой файловой системы.
  3. Сохраните /tmp, но увеличьте/уменьшите его размер. Для этого просто создайте для него запись в /etc/fstab, как вы бы сделали для любой другой файловой системы tmpfs, и используйте правильный параметр size=.

Почему не нужно перенаправлять /tmp, например, в /home/tmp?

Вышеуказанное должно оставить /tmp как доступный для записи каталог внутри /(корневая файловая система). Программное обеспечение для Debian или большинства других дистрибутивов Linuxдолжениспользуйте /tmp только для небольшого набора файлов, поэтому я бы не беспокоился о нехватке места в корневой файловой системе. Это требование, по-видимому, в основном вытекает из идеи, что /tmp может быть файловой системой RAM :-).

Вам не нужно беспокоиться о том, что со временем /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
# ...

Связанный контент