/ tmp를 RAM으로 이동


16

/tmpRAM 으로 이동 하고 좋은 습관을 지키려고합니다.

  • /var/tmp에 배치하지 말아 tmpfs은 재부팅을 생존해야하기 때문에,

  • /tmp독립형으로 마운트하지 tmpfs않지만 /dev/shm또는/run/shm

그러나 2.6 커널과 3.2 커널 사이에서 상황이 변경되었습니다.

tmpfs 파일 시스템의 구성 및 기본값 변경

3.2 커널에서 사용 RAMTMP=yes/etc/default/tmpfs.

내 질문은 : 이전 커널로 어떻게이 목표를 달성 할 수 있습니까?

내 선택은 / etc / fstab도 수정하지 않는 것입니다.

mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp

RAMTMP2.6 커널 과 비슷한 것이 있습니까?



8
@sr_ 죄송합니다. 링크 된 기사에 동의하지 않습니다. /tmp임시 파일에 사용될 수 있고 사용해야합니다. /tmp재부팅 후에도 사용할 수 없으며 /var/tmpRAM + 스왑 크기의 절반 (저장하지 않고)의 전자 메일을 누가 작성합니까?
Marco

@Marco는 확실하다고 생각합니다.
sr_

답변:


19

모든 것을 할 필요는 없습니다 . 다음과 같은 줄을 사용하여 마운트 /tmp하면 tmpfs됩니다 /etc/fstab.

tmpfs /tmp tmpfs mode=1777,nosuid,nodev 0 0

당신은 또한 그것을 할 수 있습니다 (그러나 /tmp현재 파일 시스템에있는 것들은 inode와 현재 열려있는 파일 설명자를 통해서는 액세스 할 수 없으므로, 수정 /etc/fstab하고 재부팅 하여 실제로해야합니다 ) :

mount -o mode=1777,nosuid,nodev -t tmpfs tmpfs /tmp

• 그래도 참고 tmpfs캔 스왑. 진정한 RAM 전용 파일 시스템을 원하면을 사용하십시오 ramfs.


크리스, 제 요점은 "모범 사례"입니다. 개발자는 ... / shm을 통해 / tmp를 마운트하도록 기본 지원을 제공했습니다. 동일한 tmpfs를 재사용하는 것이 좋습니다.
Massimo

3
@Massimo 제 의견은 모범 사례는 마운트를 바인딩 하지 않는 것입니다. 불필요한 복잡성을 추가합니다.
Chris Down

5
@Massimo이 '모범 사례'는 어디에서 찾을 수 있습니까? 내가 /tmptmpfs로 마운트하는 것에 대해 볼 수있는 유일한 이유 는 이제 더 많은 메모리 ( /tmp/dev/shm)를 채우고 사용할 수있는 2 개의 tmpfs 파일 시스템이 있기 때문 입니다. 그러나 2 개의 tmpfs 마운트를 채우는 것이 정말로 걱정된다면 tmpfs 마운트의 최대 크기를 줄일 수 있습니다.
패트릭

@ChrisDown 바인드 마운트의 나쁜 점은 무엇입니까? 또한 단일 tmpfs를 사용하면 작업이 더 간단해질 수 있습니까?
CMCDragonkai

2
@CMCDragonkai 바인드 마운트는 내부적으로는 단순하지만 의도하지 않은 몇 가지 직관적이지 않은 경고가 있습니다 (특히 공개 된 마운트는 읽기 전용 마운트의 마운트를 다시 요구해야하는 드라마입니다). tmpfs대신 두 개의 마운트를 사용하십시오.
Chris Down

17

/etc/default/tmpfs입니다 sysvinit, 대한 systemd(제시 이후 데비안 기본값) 만 수행해야합니다

systemctl enable tmp.mount

그리고 데비안 스트레치

cp /usr/share/systemd/tmp.mount /etc/systemd/system/
systemctl enable tmp.mount

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787542#74에서 changelog를 참조하십시오


감사! 이것은 Jessie에서 / tmp를 tmpfs로 옮기는 올바른 방법입니다.
Yasiru G

정말 고맙습니다! 젠투에서 내 / tmp가 tmpfs로 마운트 된 이유를 이해하지 못했습니다. 시스템화 된 스크립트 tmp.mount가이를 수행합니다.
ufk

4

나는 이것이 오래되었지만 Debian-type distributions 설정에서 / etc / default / tmpfs (/ etc / default / rcS 또는 wheezy 이전)의 RAMTMP, RAMRUN 및 RAMLOCK 설정이 동일한 작업을 수행한다는 것을 알고 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.