“İstemci” makinelerde, taşınmanın güvenli yolu /tmp
yeniden başlatmaktır. Burada, istemci tarafından, /tmp
özellikle X sunucuları ve ekran gibi soketleri yerleştiren programları çalıştıran herhangi bir şey kastediyorum .
Yeni /tmp
kesinlikle doğru izinlere sahip olmalı (1777), aksi takdirde bir çalışma sistemine sahip olmayı ümit edemezsiniz.
Çünkü /tmp
hiçbir dosyayı kopyalayamazsınız. Çünkü çoğu zaman bir şeyler yerleştiren programlar /tmp
dosyaları açar. Dosyayı kopyalarsanız, bu içerik kopyalanır, ancak programların hala eski dosyaları açıktır. Bunlara bir hata ayıklayıcı ( ptrace
) ile erişebilirsiniz , ancak bu yeniden başlatmadan çok daha karmaşık olacaktır ve birçok programda tek yapmanız gereken onları çökmek.
Bilgisayarınız /tmp
doluysa ve yeni bir tanesine canlı olarak geçmek istiyorsanız, orada açık dosyaları olan tüm programları yeniden başlatmanız gerekir. Bu, X ve ekran oturumlarını yeniden başlatmak anlamına geldiğinden, yeniden başlatmaktan daha iyi değil.
Yeni programlar arasında geçiş yapabilmeniz, ancak birleşik bağlama aparatı kullanarak mevcut açık dosyaları yerinde tutmanız gerekir . (Prensip sağlam, ama hiç denemedim, bu yüzden beklenmedik sorunlar olabilir.) İşte bunu Linux'ta yapmanın bir yolu.
/tmp
Manuel olarak seçilen birkaç büyük dosya dışında mevcut tüm dosyaları saklayın .
- Bir
/tmp.new
(mod 1777) oluşturun.
- Açığa
/tmp
Farklı yolda: mount --bind / /.root.only
. Bu gereklidir çünkü bir sonraki adım gölgelenir /tmp
. Bu adımı gerektirmeyen farklı sendika montajı uygulamaları olabilir.
- Birlik montajı yapın
/.root.only/tmp
ve /tmp.new
üzerine monte edin /tmp
. Bu şekilde oluşturulan yeni dosyalar /tmp
yazılacak /tmp.new
, ancak içindeki dosyalar /.root.only/tmp
da görülebilir /tmp
. Bir olasılık olduğunu
unionfs-sigorta : unionfs-fuse /tmp.new:/.root.only/tmp /tmp
.
Union mount köküne gitmek istemiyorsanız (örneğin, platformunuzda bulunmadığı veya çok fazla sorun olduğu için), en azından eski dizini silmeyin. Çalışan programları eski dizini kullanmaya devam etmek ve yeni programlar yenisini kullanmak için taşıyın . (Tabii yeni programlarda Of içinde yuva veya boru aracılığıyla eski programlarla iletişim mümkün olmayacaktır /tmp
ayarladığınız sürece TMPDIR
veya başka nereye bakacağını onlara.)
mv /tmp /tmp.old && mkdir /tmp