Mover / tmp para RAM

16

Estou tentando mover /tmp para a RAM e obedecer às boas práticas:

  • /var/tmp NÃO deve ser colocado em tmpfs , pois deve sobreviver a reinicializações

  • não monta /tmp como um tmpfs autônomo, mas depende de /dev/shm ou /run/shm

No entanto, as coisas mudaram entre os kernels 2.6 e 3.2:

Alterações na configuração e padrões dos sistemas de arquivos tmpfs

No kernel 3.2, use RAMTMP=yes em /etc/default/tmpfs .

Minha pergunta é: como posso alcançar esse objetivo com kernels mais antigos?

Minha escolha é nem modificar o / etc / fstab nem isso:

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

Existe algo como RAMTMP para os kernels 2.6?

    
por Massimo 15.11.2012 / 01:12

3 respostas

17

Você não precisa fazer tudo isso, basta montar /tmp as tmpfs usando uma linha como a seguinte em /etc/fstab :

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

Você também pode fazer isso ao vivo (mas tenha em mente que as coisas que estão em /tmp no seu sistema de arquivos atual não poderão ser acessadas, exceto pelos descritores de arquivos inode e atualmente abertos, então você deve fazer isso modificando /etc/fstab e reinicializando):

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

Observe que tmpfs pode trocar. Se você quiser um sistema de arquivos verdadeiramente somente RAM, use ramfs .

    
por 15.11.2012 / 01:16
16

/etc/default/tmpfs é para sysvinit , para systemd (padrão Debian desde jessie) você só precisa fazer:

systemctl enable tmp.mount

e no Debian Stretch

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

veja o changelog no link

    
por 07.08.2015 / 21:07
4

Eu sei que isso é bastante antigo, mas na configuração de distribuições do tipo Debian Defina RAMTMP, RAMRUN e RAMLOCK em / etc / default / tmpfs (/ etc / default / rcS ou antes de wheezy) fazer o mesmo trabalho.

    
por 03.01.2015 / 02:26

Tags