2010-01-14 13 views
10

मैं अपने प्रोग्राम की सेटिंग्स और आंकड़ों को 'सबकुछ एक फ़ाइल' तरीके से बेनकाब करना चाहता हूं - कैसे/proc/and/sys/works का प्रकार।अपना खुद का 'सब कुछ एक फ़ाइल है' इंटरफ़ेस

उदाहरण के तौर पर, एक पल के लिए कल्पना करें कि apache2 में इस प्रकार का इंटरफ़ेस था। इसके बाद आप कुछ इस तरह (काल्पनिक) करने में सक्षम हो जाएगा:

cd /apache2/virtual_hosts 
mkdir 172.20.30.50 
cd 172.20.30.50 
echo '/www/example1' > DocumentRoot 
echo 'www.example1.com' > ServerName 
echo 1 > control/enabled 
cat control/status 
    enabled true 
    uptime 4080 
    hits 0 

अब, वहाँ किसी भी ट्यूटोरियल या ऐसा करने के तरीके पर समान कर रहे हैं? मैं मुख्य रूप से 'फाइल या डीआईआर होने का नाटक' करने के लिए तकनीकों की तलाश में हूं। मैं लिनक्स पर हूं, पॉज़िक्स या अन्य पोर्टेबल विधि बेहतर होगी, लेकिन आवश्यक नहीं है।

+3

लिनक्स पर, आपको शायद फ्यूज (http://fuse.sourceforge.net/) – jldupont

उत्तर

10

लिनक्स पर, Fuse पर एक नज़र डालें: उपयोगकर्तास्पेस प्रोग्राम में पूरी तरह कार्यात्मक फाइल सिस्टम लागू करें।

  • सरल पुस्तकालय एपीआई
  • सरल स्थापना
  • सुरक्षित कार्यान्वयन
  • यूज़रस्पेस (पैच करने के लिए या पुन: संयोजित गिरी कोई जरूरत) - कर्नेल इंटरफेस बहुत ही कुशल गैर विशेषाधिकार प्राप्त उपयोगकर्ताओं द्वारा
  • उपयोग किए जाने योग्य है
  • लिनक्स कर्नेल 2.4.एक्स और 2.6.एक्स
  • समय के साथ बहुत स्थिर साबित हुआ है

संगत प्लेटफॉर्म here पर देखें। ट्यूटोरियल के मामले में, मेरे पास आने वाले अच्छे लोगों में से एक here है।

+0

पर ध्यान देने की आवश्यकता है, धन्यवाद। –

4

FUSE के अतिरिक्त, एक और समाधान 9p फाइल सिस्टम निर्यात करना है। उदाहरण के लिए, wmii यह करता है।

+2

यह एक अच्छा विचार है। प्लान 9 पर पढ़ना वास्तव में यही कारण था कि मुझे यह विचार वैसे भी शुरू हुआ। –

+0

यदि आप 9 पी रूट जाना चाहते हैं, तो http://kyuba.org/libduat पर एक नज़र डालें - 9 पी फाइल सिस्टम को लागू करने के लिए एक लाइब्रेरी। – camh

+0

धन्यवाद। मुझे यह भी पता चला कि डेबियन के पास v9fs बढ़ने के लिए 9 माउंट पैकेज है। –

1

शायद ऐसा करने का तरीका सिर्फ "असली" फाइलों का उपयोग करना है और परिवर्तन के बाद परिवर्तन-सूचना लाइब्रेरी (पसंदीदा को सूचित करना) का उपयोग करें ताकि वे आपके व्यवहार को बदलते और अपडेट कर सकें।

/proc और/sy कर्नेल-उपयोगकर्ता संचार के लिए हैं और वास्तव में उपयोगकर्ताओं के प्रोग्राम के आईपीसी के लिए नहीं हैं - आपसे इसके लिए नामित पाइप, सॉकेट, साझा मेमोरी आदि का उपयोग करने की उम्मीद है।

(एबी) FUSE का उपयोग करना वास्तव में इस मामले में एक अच्छा विचार नहीं है, मुझे लगता है।

+0

मुझे अन्य कार्यक्रमों के साथ बहुत से बातचीत की उम्मीद है, और इस मामले में यह बिल को अच्छी तरह से फिट करता है। मैं भी उत्सुक हूं और यह सीखना चाहता हूं कि यह कैसे करें। –

+0

और एक और कारण यह है कि मैं ऐसा करना चाहता हूं क्योंकि मैं विभिन्न कार्यक्रमों के लिए कई अलग-अलग निगरानी इंटरफेस रखने से परेशान हूं, और मैंने इस दृष्टिकोण को शुरू करना शुरू कर दिया है कि यह वास्तव में एफएस में है। –

संबंधित मुद्दे