램디스크에서 다른 파티션으로 /tmp 이동

램디스크에서 다른 파티션으로 /tmp 이동

Debian의 RAM이 부족하여 /tmp를 SSD 드라이브로 이동해야 합니다. 하지만 이를 사용하는 프로그램이 /tmp 경로 아래에서 계속 액세스할 수 있도록 이 작업을 수행하는 방법을 모르겠습니다.

그래서 기본적으로 제가 달성하고 싶은 것은 /tmp를 램디스크에서 /home/tmp로 옮기는 것입니다. /tmp를 통해 액세스할 수 있습니다.

답변1

systemctl mask tmp.mount

이 명령은 /tmp에 RAM 기반 파일 시스템( )을 마운트 systemd하지 않도록 지시합니다. tmpfs변경 사항을 적용하려면 시스템을 다시 시작해야 합니다.

대부분의 경우, 이것이 여러분이 해야 할 전부입니다. /tmp를 /home/tmp 또는 다른 곳으로 리디렉션할 필요가 없습니다. 이 방법은 공식적으로 권장됩니다시스템 문서 --

tmpfs가 지원하는 /tmp를 제거하고 싶습니다!

세 가지 옵션이 있습니다:

  1. 루트와 동일한 물리적 파일 시스템에 상주하도록 /tmp에 대한 모든 마운트를 비활성화합니다. 이렇게 하려면 다음을 실행하세요. systemctl mask tmp.mount
  2. 다른 물리적 파일 시스템을 /tmp에 마운트합니다. 이렇게 하려면 다른 파일 시스템과 마찬가지로 /etc/fstab에 해당 항목을 생성하면 됩니다.
  3. /tmp를 유지하되 크기를 늘리거나 줄입니다. 이렇게 하려면 다른 tmpfs 파일 시스템과 마찬가지로 /etc/fstab에 해당 항목을 만들고 올바른 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
# ...

관련 정보