/ Tmp'yi RAM'a taşıma


16

/tmpRAM'e geçmeye ve iyi uygulamalara uymaya çalışıyorum :

  • /var/tmptmpfsyeniden başlatmalardan hayatta kalması gerektiği için yerleştirilmemelidir

  • bağlanamadı /tmpbir stand-alone olarak tmpfs, ancak itimat /dev/shmveya/run/shm

Ancak, işler 2.6 ve 3.2 çekirdek arasında değişti:

Tmpfs dosya sistemlerinin yapılandırmasında ve varsayılanlarında yapılan değişiklikler

3.2 kernel günü, kullanmak RAMTMP=yesiçinde /etc/default/tmpfs.

Sorum şu: eski çekirdeklerle bu hedefe nasıl ulaşabilirim?

Seçimim ne / etc / fstab ne bu değiştirmek için:

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

RAMTMP2.6 çekirdek için bir şey var mı ?


1
tmpfszararlı olarak kabul edilir . Düşünce için yiyecek.
sr_

8
@sr_ Üzgünüz, bağlantılı makaleye kesinlikle katılmıyorum. /tmpgeçici dosyalar için kullanılabilir ve kullanılmalıdır, tüm mesele budur. /tmpyeniden başlatma ( /var/tmpbunun için kullanın ) hayatta kalmak için değil ve kim RAM + takas (kaydetmeden) yarısı boyutunda bir e-posta oluşturur?
Marco

@Marco eminim, sadece ilgili olduğunu düşündüğüm bir şeyi atıyordum.
sr_

Yanıtlar:


19

Sen sadece monte edebilirsiniz, hepsi yapmak gerekmez /tmpolarak tmpfsaşağıdaki gibi bir satır kullanarak /etc/fstab:

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

Ayrıca canlı olarak da yapabilirsiniz (ancak /tmpgeçerli dosya sisteminizde bulunan şeylere inode ve şu anda açık dosya tanımlayıcıları dışında erişilemeyeceğini unutmayın, bu yüzden bunu değiştirerek /etc/fstabve yeniden başlatarak gerçekten yapmalısınız ):

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

Bir tmpfskutunun değişebileceğini unutmayın . Gerçekten sadece RAM'e sahip bir dosya sistemi istiyorsanız kullanın ramfs.


Chris, benim açımdan "en iyi uygulamalar". Geliştiriciler / tmp'yi ... / shm üzerine bağlamak için yerel destek sağlarlar; Ben aynı tmpfs yeniden kullanmak daha iyi okudum.
Massimo

3
@Massimo Bence en iyi uygulama montajı bağlamak değil . Gereksiz karmaşıklık ekler.
Chris Down

5
@Massimo Bu 'en iyi uygulamaları' nerede buluyorsunuz? /tmpTmpfs olarak bağlanmaya karşı görebilmemin tek nedeni , artık daha fazla bellek ( /tmpve /dev/shm) doldurabilen ve kullanabilen 2 potansiyel tmpfs dosya sistemine sahip olmanızdır . Ancak 2 tmpfs yuvasını doldurmaktan gerçekten endişe ediyorsanız, tmpfs yuvasının maksimum boyutunu azaltabilirsiniz.
Patrick

@ChrisDown Bind mount'ın kötü yanı nedir? Ayrıca tek bir tmpf'ye sahip olmak işleri kolaylaştırır mı?
CMCDragonkai

2
@CMCDragonkai Bağlama bağları, dahili olarak basit bir şeydir, muhtemelen istemediğiniz birkaç sezgisel uyarıyla birlikte gelirler (özellikle yayınlanmış olanı, salt okunur bağlar için yeniden ödeme gerektiren dramadır). Bunun tmpfsyerine iki bağlantı kullanın.
Chris Down

17

/etc/default/tmpfsiçin olduğu sysvinitiçin systemd(jessie beri Debian varsayılan) sadece yapmanız gerekir:

systemctl enable tmp.mount

ve Debian Stretch'te

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

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787542#74 adresindeki değişiklik günlüğüne bakın


Teşekkürler! Bu / tmp dosyasını tmpfs'ye taşımak için doğru yoldur.
Yasiru G

çok teşekkür ederim! gentoo benim / tmp neden tmpfs monte anlamadım. systemd betiği tmp.mount bunu yapar.
ufk

4

Bu oldukça eski olduğunu biliyorum ama Debian tipi dağıtımlar ayarı RAMTMP, RAMRUN ve RAMLOCK / etc / default / tmpfs (/ etc / default / rcS veya wheezy önce) ayarlama aynı işi yapar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.