2013-04-03 26 views
8

Adlandırılmış borular aracılığıyla birbiriyle konuşan birkaç işlem var. Şu anda tüm borularmı yerel olarak oluşturuyorum ve uygulamaları aynı çalışma dizininde tutuyorum. Bir noktada, bu programların farklı dizinlerden çalıştırılabileceğini (ve alacağını) varsayar. Bilinen bir yerde kullanıyorum bu boruları oluşturmak gerekir, bu yüzden tüm farklı uygulamalar ihtiyaç duydukları boruları bulmak mümkün olacak.Adlandırılmış boruları Linux'a yerleştirmek için uygun yer neresidir?

Linux üzerinde çalışmaya yeni başladım ve dosya sistemi yapısı ile aşina değilim. Windows'da, bu boruları tutmak için AppData klasörü gibi bir şey kullanırdım. Linux'ta eşdeğerin ne olduğundan emin değilim. muhtemelen sadece güzel işlev görebileceği gibi

/tmp dizin görünüyor. Sistem kapanmalarında temizlendiği birkaç yerde okudum (ve bu, yeniden başladığımda boruları muhtemelen yeniden oluşturmuyorum.) Ama birkaç kişi daha dosya kaybettiklerini söylediler. Sistem kapalıyken, periyodik olarak temizlenmiş gibi, uygulamaların bu boruları kullanırken gerçekleşmesini istemiyorum!

bir yer uygulamaya özel mağazalar için daha uygun var mı? Ya da bunları saklamak istediğim yer olan /tmp olur (çünkü hepsinden öte, geçicidir.)?

cevap

7

Ben /var/run kullanarak SaltStack gördüm. Tek sorun, bu dizine yazmak için root erişimine ihtiyaç duymanızdır, ancak işleminizi sistem arka planı olarak çalıştırdığınızı varsayalım. SaltStack, yükleme zamanında /var/run/salt'u oluşturur ve daha sonra root ayrıcalıkları olmadan kullanılabilmesi için sahibini salt olarak değiştirir.

Ben de Dosya Sistemi Hiyerarşi Standart kontrol edilip o kadar çok çok önemli olmadığı halde, hatta derler: Geçici UNIX domain soketleri korumak

Sistem programları bu dizinde koyun gerekir.

Adlandırılmış borular çok benzer bir şey olduğundan, aynı şekilde giderdim. (Zaten yoksa giriş sırasında pam_systemd tarafından oluşturulan) systemd /run/user/<userid> ile yeni Linux dağıtımlarının üzerinde

+0

Cevabınızı daha önce görmediğiniz için özür dilerim, ama bu tam olarak aradığım cevaptır. '[Dosya Sistemi Hiyerarşi Standardı]' nın (http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#Directory_structure) farkında değildim ve görünüşe göre kendim gibi yeni bir Linux geliştiricisi için her türlü bilgi var. '/ Var/run' seçeneğine ek olarak, '/ var/tmp' de benim kullanım durumum için de kabul edilebilir gibi görünüyor, çünkü bunları yeniden başlatma yoluyla da koruyor. Yine, bir demet teşekkürler! – nitz

+0

Sevindim ;-) ;-) – tchap

3

açılması prizler ve yalnızca kök erişimi vardır /var/run yerine orada pid dosyaları koymak için kullanılabilir. Ayrıca, /var/run'un /run'a bir bağlantı olduğunu ve /var/run/user/<userid>'un da kullanılabileceğini unutmayın. Daha fazla bilgi için this thread'a bakın. Fikir sistem süreçleri doğru izinlere sahip yükleme sırasında oluşturulan /var/run/<daemon name>/ dizin var ve (örneğin PulseAudio'dan gibi) kullanıcı tarafından çalıştırılan cinleri /run/user/<userid>/ kullanmalıdır varken onların yuva/pid dosyaları koymak gerektiğidir. Başka bir seçenek /tmp ve /var/tmp.