शायद "सॉवरेन" इंटरनेट बनाने के लिए हाल ही में सरकार की पहल के प्रकाश में, GNU / Linux के कई उपयोगकर्ता, लोकप्रिय GNU / Linux वितरण के रिपॉजिटरी की अनुपलब्धता से सुरक्षित होने के लक्ष्य से हैरान थे।
कोई जो CentOS, Ubuntu, Debian रिपॉजिटरी डाउनलोड करता है, कोई अपने वितरण को मौजूदा वितरण के आधार पर बनाता है, और कोई व्यक्ति LFS (लिनक्स स्क्रैच से) और BLFS (बियॉन्ड लिनक्स से स्क्रैच) से लैस है, पहले ही स्रोत से उनके वितरण को संकलित करना शुरू कर दिया है। उनका मानना है कि "संप्रभु" इंटरनेट हैकर हमलों, वायरस के प्रकोप, डेटा लीक की स्थितियों में निश्चित रूप से होगा, और बायनेरिज़ बस कुछ समय बाद पुराना हो जाएगा।
हाल ही में, यह लिनक्स से स्क्रैच सिस्टमड संस्करण v.8.3 पुस्तक के निर्देशों के आधार पर एक वर्चुअल मशीन को पूरी तरह से संकलित करने के लिए आया था। मैं आपके साथ परिणाम साझा करने की जल्दबाजी करता हूं।
लिनक्स निर्माण प्रक्रिया
स्रोत से लिनक्स के निर्माण की प्रक्रिया को तीन चरणों में विभाजित किया जा सकता है:
- मौजूदा ऑपरेटिंग सिस्टम के आधार पर, LFS बिल्ड वातावरण बनाया जाता है।
- बिल्ड वातावरण LFS वर्चुअल मशीन की एक छवि बनाता है।
- वर्चुअल मशीन BLFS पुस्तक से अतिरिक्त पैकेज स्थापित करती है जो LFS पुस्तक में नहीं हैं।
स्टेटिक स्क्रिप्ट फ़ाइलें
बिल्ड वातावरण के साथ काम करते समय, क्लिपबोर्ड और एसएसएच का उपयोग करना सुविधाजनक होता है: पुस्तक से कमांड कॉपी करें और उन्हें बिल्ड पर्यावरण कंसोल में पेस्ट करें।
बनाई गई वर्चुअल मशीन को शुरू करने के बाद, गंभीर समस्याएं दिखाई दीं। टर्मिनल विंडो के विपरीत, कोड को वर्चुअल मशीन के क्लाइंट विंडो में नहीं डाला जा सकता है। कीबोर्ड के साथ टाइपिंग कमांड असुविधाजनक है और टाइपोस का एक बड़ा जोखिम है। टाइपोस का खतरा इस तथ्य में निहित है कि वे तुरंत प्रकट नहीं हो सकते हैं, लेकिन थोड़ी देर के बाद और गंभीर समस्याएं पैदा कर सकते हैं।
यह ज्ञात है कि कमांड न केवल कीबोर्ड से बल्कि मानक धारा (STDIN) से भी दर्ज किए जा सकते हैं। मानक स्ट्रीम का स्रोत धारावाहिक पोर्ट के साथ-साथ स्क्रिप्ट प्रोग्राम तथाकथित मानक आउटपुट (STDOUT) के परिणाम का उपयोग कर सकता है।
बहुत से लोग जानते हैं कि wget कमांड, डाउनलोड की गई फ़ाइल की सामग्री को मानक आउटपुट (STDOUT) में आउटपुट कर सकती है:
wget http://example.com -O -
यदि wget कमांड का आउटपुट दुभाषिया को भेजा जाता है, तो मनमाने कोड को निष्पादित किया जा सकता है। कोड को निष्पादित किया जाएगा जैसे कि यह कीबोर्ड पर टाइप किया गया था या क्लिपबोर्ड से कॉपी किया गया था:
wget http://umvirt.com/linux/helloworld.sh -O - | bash
इस प्रकार, आप कुछ वेब सर्वर पर कमांड के साथ फाइल रख सकते हैं और दुभाषिया को अपनी सामग्री भेज सकते हैं।
डायनेमिक स्क्रिप्ट फ़ाइलें
स्थैतिक फाइलें निश्चित रूप से एक अच्छी बात हैं यदि आप जानते हैं कि वास्तव में क्या किया जाना चाहिए, और यदि पैकेज स्थापित किया गया है, अगर निर्भरता स्पष्ट रूप से स्थापित नहीं है या नहीं, तो क्या है?
एक गतिशील साइट जो
LAMP वेब सर्वर (Linux-Apache-MySQL-PHP) पर आधारित है, बचाव के लिए आती है। यदि कोई साइट गतिशील रूप से पृष्ठों (HTML-files) और चित्रों को उत्पन्न कर सकती है, तो उसे साधारण पाठ फ़ाइलों के साथ सामना करने में सक्षम होना चाहिए।
और इसलिए यह हुआ। साइट को
लिखें UVirt LFS पैकेज जो बैश दुभाषिया के लिए स्क्रिप्ट उत्पन्न करता है। साइट डेटाबेस में पैकेज, निर्भरता, पैच, परिवर्धन और बिल्ड कमांड के बारे में जानकारी होती है।
अब, mc पैकेज (मिडनाइट कमांडर) स्थापित करने के लिए, आप कमांड लिख सकते हैं:
wget --no-check-cerificate https://umvirt.com/linux/packages/0.1/mc/install -O - | bash
साइट स्क्रिप्ट स्वयं डेटाबेस से डेटा प्राप्त करेगी और पैकेज स्थापित करने के लिए निर्भरता और स्क्रिप्ट कोड की जाँच के लिए एक कोड उत्पन्न करेगी। दुभाषिया स्क्रिप्ट से निर्देशों को संसाधित करेगा।
इसे संभव बनाने के लिए, डेटाबेस में स्थापित पैकेजों की जानकारी वर्चुअल मशीन डिस्क पर संग्रहीत की जाती है।
इंस्टॉल किए गए पैकेजों का डेटाबेस निर्देशिका
/ var / cache / ulfs- पैकेजों में स्थित है, जो
पैकेजों के नाम के अनुरूप नामों वाली खाली फाइलों की सूची है।
यदि पैकेज डेटाबेस में नहीं मिला है, तो एक निर्भरता पुनरावर्ती रूप से स्थापित है।
सुविधा
संकुल की स्थापना को और अधिक सुविधाजनक बनाने के लिए, मैंने चिम्प स्क्रिप्ट को एक और
UmVirt LFS सहायक वेबसाइट पर लिखा, जो
UmVirt LFS2 डेटाबेस का उपयोग करता है।
उमविर्ट एलएफएस असिस्टेंट का मुख्य कार्य अन्य कमांड्स का निष्पादन है।
चिम्प का उपयोग करना, पैकेज स्थापित करना और भी आसान है:
chimp install mc
प्रदर्शन
UmVirt LFS पैकेज और
UmVirt LFS सहायक सेवाओं के काम से परिचित होने के लिए
, आप मूल छवि
आरंभिक UmVirt LFS v.0.1 अपडेट 1 डाउनलोड कर सकते हैं। एक कमांड चलाकर Xorg स्थापित करें:
chimp install X
स्क्रिप्ट की प्रक्रिया में स्वचालित मोड में 141 पैकेज स्थापित किए जाएंगे। संकलन समय बचाने के लिए, आप "/ -j1" (एक धारा) से "/ -j6" (छह धागे) के लिए / etc / प्रोफाइल फ़ाइल में मान को बदल सकते हैं।
विकेंद्रीकरण और अनुकूलन
सुरक्षा, स्वायत्तता और अनुकूलन उद्देश्यों के लिए, उमविर्ट एलएफएस पैकेज और उमविर्ट एलएफएस सहायक सेवाओं का स्रोत कोड सार्वजनिक डोमेन में प्रकाशित किया गया है। कोई भी इसे डाउनलोड कर सकता है, इसे तैनात कर सकता है और अपने बुनियादी ढांचे के भीतर सेवाओं को बदल सकता है।