विभाजन को 'सैंडबॉक्स' में बदलना


9

मैं सोच रहा था कि क्या यह संभव है। मैं एक ऐसी लिनक्स प्रणाली स्थापित करना चाहता हूं जो स्थानीय मशीन पर /रिमोट लाइनक्स मशीन की गणना करती है /। हालाँकि, मैं चाहता हूं कि स्थानीय मशीन में सभी बदलावों को रैम में बचाया जाए ताकि यह रिमोट मशीन को प्रभावित न करे। आदर्श रूप से परिवर्तन कभी भी नहीं लिखे जाएंगे, ताकि जब मैं रिबूट करूं, तो यह /पिछले सत्र के दौरान किए गए सभी परिवर्तनों की अवहेलना करने वाले मूल विभाजन को फिर से मापता है।

क्या ऐसा कुछ संभव है?


मैंने आपके दोस्तों के किसी भी उत्तर का परीक्षण करने के लिए इधर-उधर नहीं किया है इसलिए समाधान के रूप में चयन करने के लिए 1 चुनना मुश्किल है। इसलिए मैं आप सभी को
आगे बढ़ाऊंगा

जवाबों:


7

उपयोग unionfs , aufs या (दोनों कर्नेल के लिए बाहरी पैच हैं) unionfsfuse / funionfs (का उपयोग करता है फ्यूज) और अंकन आरओ और आंतरिक फाइल सिस्टम के रूप में बाहरी / द्वारा यूनियन बनाने (tmpfs / ramfs / अतिरिक्त विभाजन जो हर बार साफ किया जाता है के रूप में माउंट)।

वैकल्पिक रूप से आप स्नैपशॉट के साथ फाइल सिस्टम या LVM का उपयोग कर सकते हैं। फिर परिवर्तन लिखे जाते हैं लेकिन आप प्रत्येक बूट पर स्नैपशॉट को साफ कर सकते हैं।


या कोई भी btrfs की सीडिंग सुविधा का उपयोग कर सकता है (< en.wikipedia.org/wiki/Btrfs#cite_ref-16> पर बताया गया ) - केवल पढ़ने के लिए बेस के साथ रीड-राइट fs को सीड करने के लिए। यदि आधार fs btrfs है ...
imz - Ivan Zakharyaschev

5

इस बारे में जाने के कई तरीके हैं। सबसे आसान सेट अप एक यूनियन फाइल सिस्टम का उपयोग करेगा, जो दो निर्देशिका पेड़ों ए और बी का एक ही दृश्य प्रस्तुत करता है, जैसे कि सभी परिवर्तन बी में सहेजे जाते हैं। आपके मामले में, ए एक एनएफएस / सांबा / एसएफ़एसएफ /… माउंट पॉइंट, सी होगा। और B एक tmpfs फाइल सिस्टम पर एक प्रारंभिक खाली निर्देशिका होगी।

लिनक्स में इन-कर्नेल यूनियन फाइल सिस्टम नहीं है, लेकिन कई FUSE कार्यान्वयन हैं: funionfs , Unionfs-fuse


3

यदि स्थानीय मशीन की रैम में / फिट बैठता है और चल रहे अनुप्रयोगों के लिए पर्याप्त जगह छोड़ देता है, तो मूल विचार संभवतः लक्ष्य मशीन पर एक न्यूनतम लिनक्स सिस्टम को बूट करने के लिए होगा और फिर स्वचालित रूप से एक रैमफस वर्चुअल डिस्क बना सकता है, कॉपी / रिमोट से इसमें और इस नए / में chroot यदि रैम पर्याप्त नहीं है, तो आप मूल रूप से एक ही प्रक्रिया का पालन कर सकते हैं लेकिन रैमफ्स का उपयोग नहीं कर सकते हैं लेकिन एक वास्तविक डिस्क विभाजन है जिसकी सामग्री आपको कॉपी करने से पहले साफ़ करनी होगी। समाशोधन और पूर्ण प्रति के बजाय आप उचित विकल्पों के साथ rsync का भी उपयोग कर सकते हैं।


1

आप इसके लिए जा सकते हैं Btrfsऔर यह कॉपी-ऑन-राइट (CoW) फीचर है।

आप जिसे देख रहे हैं वह Btrfs Wiki पर बीज-यंत्र के रूप में वर्णित है :

मूल विचार केवल मूल डेटा के साथ विभाजन को पढ़ने के लिए है, "इसके ऊपर एक अतिरिक्त परत जोड़ने" की तुलना में, जो एक और लेखन योग्य विभाजन है (आप इसे हमेशा RAM में बना सकते हैं, जैसे /dev/shm) और इसे माउंट करें:

btrfstune -S 1 /dev/RO #make it read-only
mount /dev/RO /mnt/temp
btrfs device add /dev/RW /mnt/temp
umount /mnt/temp

और उस क्षण से, हर बार जब आप माउंट करें

mount /dev/RW /mnt/test

परिवर्तन / देव / आरडब्ल्यू पर सहेजे जाते हैं, जबकि / देव / आरओ अछूता रहता है।

(उदाहरण विकि में उन पर आधारित हैं )


0

यह पीएक्सई बूट के साथ बहुत आसान हो सकता है। मैं pxe tftp nfs बूट पर एक लाइव xbmc सिस्टम चला रहा हूं। परिवर्तनों को गाय के साथ NFS शेयर में लिखा जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.