एक मरम्मत का अनुकूलन: LFS के लिए सड़क

कई बार ऐसा होता है कि हमें LiveCD से एक सिस्टम को सुधारना पड़ता है, और इस प्रक्रिया में कुछ बिंदु पर हमने खुद को एक उपकरण का अभाव पाया है और जब हम इसे स्थापित करना चाहते हैं, तो LiveCD OS हमें बताता है कि यह अंतरिक्ष और लहसुन और पानी से बाहर चला गया है। बंद बकवास करने के लिए और पर पकड़)।

LFS में जाने के कारण यह समस्या वास्तव में मेरे पास आई है (लिनक्सफ्रॉमस्क्रैच), जो एक कस्टम लिनक्स स्थापित करने के लिए एक गाइड (एक वितरण ही नहीं) है। इस "वितरण" की बात यह है कि किसी भी लाइवसीडी से, और उपयुक्त उपकरणों के साथ, आप अपनी खुद की प्रणाली बनाने के लिए कर्नेल कोड और अन्य टूल डाउनलोड करते हैं (सब कुछ थोड़ा-थोड़ा करके संकलन)। यदि आप चरण-दर-चरण मार्गदर्शिका का पालन करना चाहते हैं, तो आपको कई टूल और कंपाइलर की आवश्यकता होती है, और सब कुछ के साथ कोई लाइवसीडी नहीं है, इसलिए आपको एक को अनुकूलित करना होगा।

हो जाए। हम उपयोग करेंगे SystemRescueCd, जो एक काफी व्यापक जेंटू-आधारित वातावरण प्रदान करता है।

हमारे उदाहरण में (स्क्रैच पुस्तक से लिनक्स के बाद खरोंच से लिनक्स स्थापित करना) हम बाइसन और मेकइनफो कार्यक्रमों को याद कर रहे हैं, इसलिए हम इस डिस्क की एक नई आईएसओ छवि बनाने जा रहे हैं लेकिन नए उपकरणों के साथ।

सूचना: Gentoo एक वितरण है जो संकलित करता है साइट पर सभी पैकेज स्थापित किए जाने हैं, इसलिए प्रोग्राम जोड़ने और अपडेट करने की प्रक्रिया धीमी है।

हालांकि एक पैकेज मैनेजर का उपयोग किया जाता है (जैसे डेबियन के एप्ट-गेट), पैकेज डाउनलोड करने के बजाय, स्रोत कोड को आपके मशीन पर संकलित करने के लिए डाउनलोड किया जाता है।

इस प्रक्रिया के लिए आपको कम से कम 4G फ्री के साथ Linux विभाजन (उदाहरण के लिए ext1.5) की आवश्यकता होगी, हालांकि अधिक की सिफारिश की जाती है। यदि आप अपने विभाजन के साथ बेला नहीं करना चाहते हैं, तो एक आभासी मशीन का उपयोग करें। बेशक, यह सलाह दी जाती है कि विभाजन में कई गीगाबाइट हैं क्योंकि संकलन, स्थापना, रिपॉजिटरी के सिंक्रनाइज़ेशन की प्रक्रियाओं के दौरान ... अस्थायी स्थान की आवश्यकता है; मैं एक 8G + 2G स्वैप विभाजन का उपयोग करने की सलाह देता हूं (4 जी + 1 जी के साथ यह पर्याप्त होना चाहिए, लेकिन यही हम सुनिश्चित करते हैं, अगर रैम / स्वैप गायब है तो प्रक्रिया और भी धीमी हो जाएगी)

मान लें कि आपने 10G डिस्क के साथ एक वर्चुअल मशीन बनाई है, तो आप इसे नए डाउनलोड किए गए SystemRescueCd से बूट करने के लिए कहकर इसे शुरू करते हैं। एक बार अंदर हम fdisk के साथ विभाजन करते हैं (यदि आपने ग्राफिकल सत्र शुरू किया है तो आप इसे gparted के साथ कर सकते हैं, लेकिन इस पोस्ट का उद्देश्य बुनियादी उपकरणों के उपयोग को सिखाना है)। fdisk एक इंटरैक्टिव कमांड है:

  • विकल्प "एन" के साथ हम एक नया विभाजन बनाते हैं
  • विकल्प "टी" के साथ हम फाइलसिस्टम के प्रकार को बदलते हैं जो विभाजन में जाएगा
  • विकल्प के साथ «w» हम डिस्क पर लिखते हैं
  • विकल्प «क्ष» के साथ हम परिवर्तन लिखे बिना छोड़ देते हैं

जब हम "एन" विकल्प का उपयोग करते हैं, तो यह हमें कई विकल्प देगा, हर समय हम डिफ़ॉल्ट का उपयोग करेंगे, जबकि पहले विभाजन में अंतिम सेक्टर को छोड़कर, जिसे हमें "+ 8 जी" लिखना होगा, इस प्रकार उस प्रोग्राम को इंगित करना जो हम अपना विभाजन चाहते हैं। 8GB पर कब्जा।

दूसरा विभाजन बनाते समय हम डिफ़ॉल्ट विकल्पों का उपयोग करेंगे क्योंकि शेष स्थान पर कब्जा कर लिया जाएगा। इसके अलावा, fdisk को बताने के लिए कि दूसरा विभाजन टाइप स्वैप का होगा, "t" विकल्प (स्वैप के लिए हेक्सकोड 82) का उपयोग करें। इंटरफ़ेस इस तरह दिखता है:

% fdisk / dev / sda कमांड (मदद के लिए एम):

एक बार जब सब कुछ हो जाता है, तो हम डिस्क में बदलाव और बाहर निकलने के लिए लिखने के लिए "डब्ल्यू" विकल्प का उपयोग करते हैं।
अब विभाजन को प्रारूपित करने का समय आ गया है। हम तुरंत इसका उपयोग करने के लिए स्वैप के साथ शुरू करेंगे:

% mkswap / dev / sda2% स्वैप / देव / sda2

हमारे पास पहले से ही स्वैप विभाजन स्वरूपित है, और कमांड के साथ जोड़ा जा चुका हमने इसका उपयोग शुरू कर दिया है। अब हम ext4 में पहले विभाजन को प्रारूपित करते हैं:

% mkfs.ext4 /dev/sda1

हम वर्णित चरणों का पालन करना शुरू कर सकते हैं http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, यहाँ मैं विषम टिप्पणी के साथ उनका अनुवाद / वर्णन करता हूँ।

हम विभाजन को उसके स्थान पर माउंट करते हैं (लाइवसीडी पहले से ही एक फ़ोल्डर / mnt / कस्टम के साथ तैयार हो जाता है जहां हम जिस विभाजन में उचित बदलाव करेंगे, उसे माउंट किया जाना चाहिए)। बढ़ते हुए भी हमें डिस्क से फ़ाइलों को निकालना होगा, यह पहले से तैयार की गई स्क्रिप्ट के साथ हासिल किया गया है। स्क्रिप्ट में थोड़ा समय लगेगा (क्योंकि यह सैकड़ों मेगाबाइट मेमोरी को डुबो देता है), यदि आप जांचना चाहते हैं कि यह वास्तव में काम कर रहा है, तो दूसरे टर्मिनल पर जाएं (उदाहरण के लिए Alt + F4 के साथ) और एक करें df -h.

% माउंट / देव / sda2 / mnt / कस्टम% / usr / sbin / sysresccd- कस्टम अर्क

यदि आप अब भीतर नेविगेट करते हैं / mnt / कस्टम / कस्टम एलसीडी, आप कई फ़ोल्डर्स देखेंगे। में / mnt / कस्टम / कस्टम एलसीडी / फाइलें रूट फाइलसिस्टम पाया जाता है। अब भविष्य की नई प्रणाली को तैयार करने का समय आ गया है। यहाँ मैं कमांड डालने जा रहा हूँ, चुरोट के बारे में अधिक जानकारी के लिए आप देख सकते हैं यह ट्यूटोरियल मैंने एक महीने पहले लिखा था

% माउंट -o बाइंड / proc / कस्टम / कस्टम एलसीडी / फाइलें / proc% माउंट -o बाइंड / देव / mnt / कस्टम / कस्टम एलसीडी / फाइलें / देव% माउंट -o बाइंड / sys / कस्टम / कस्टम एलसीडी / फाइलें sys% chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

हम पहले से ही क्रोकेटेड सिस्टम में हैं, जिसे लाइव बूट करते ही लाइवसीडी सिस्टम बन जाएगा। हम कमांड का उपयोग करके लापता पैकेज (बाइसन और टेक्सिनफो) स्थापित करेंगे उभरना (जो पार्सल को संभालता है भारवाहन gentoo से)।

पहले हम पोर्टेज ट्री (इसके बराबर) को सिंक्रोनाइज़ करते हैं उपयुक्त - मिल अद्यतन)
# emerge-webrsync ध्यान दें: हम इस आदेश का उपयोग "उभर -sync" के बजाय करते हैं क्योंकि यह तेज़ है, क्योंकि यह वेब से टार पैक डाउनलोड करता है। यह कदम आवश्यक है, क्योंकि यदि यह नहीं उभरता है तो यह स्वतः ही उभर जाएगा -sync, धीमा।

पोर्टेज ट्री को सिंक्रोनाइज़ करने के बाद हम पैकेजों को स्थापित करने के लिए आगे बढ़ सकते हैं:

# इमर्जिंग sys-devel / bison # उभरता हुआ sys-devel / texinfo
बाइसन को संकलित होने में थोड़ा समय लगेगा, धैर्य रखें

हम चुरोट छोड़ते हैं:# exit

हम "/ खरीद" को अनमाउंट करते हैं ताकि नए स्थापित पैकेज स्क्वैशफॉउस में संग्रहीत हो जाएं। हम "/ dev" और "/ sys" को भी अनमाउंट करते हैं ताकि हम बाद में भूल न जाएं
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

जैसा कि हमारे पास पहले से ही नया स्क्वैश फाइल सिस्टम तैयार है, हम इसे निम्नलिखित कमांड के साथ बनाते हैं
% /usr/sbin/sysresccd-custom squashfs
यदि हम ISO इमेज में कोई फाइल जोड़ना चाहते हैं, लेकिन हम चाहते हैं कि यह स्क्वैशफॉउस के बाहर हो, तो हमें इसे फ़ोल्डर में रखना होगा «/ mnt / custom / customcd / isoroot»

% cp -a my-files /mnt/custom/customcd/isoroot

इस बिंदु पर, आधिकारिक गाइड आपको बताता है कि आप कीमैप को डिफ़ॉल्ट कीबोर्ड के साथ बूट करने के लिए सेट कर सकते हैं (उदाहरण के लिए स्पेनिश कीबोर्ड के लिए "es")। लेकिन कई परीक्षणों को करते हुए, वे स्क्रिप्ट जो मेरे लिए उपयोग करते हैं, उन्होंने काम नहीं किया है और यह कर्नेल को लोड करते समय एक त्रुटि हुई, इसलिए मैं इस चरण को छोड़ दूंगा।

गौरवशाली क्षण आ गया है, अब हम अपने अनुकूलित सिस्टम के साथ नई आईएसओ छवि उत्पन्न कर सकते हैं!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" वह नाम है जिसे हम वॉल्यूम देते हैं, आप इसे जो चाहें कह सकते हैं। छवि को «/ mnt / कस्टम / कस्टम एलसीडी / आइसोफाइल» में सहेजा जाता है, इसके अलावा .md5 फ़ाइल को «बनाया जाता है।

यदि आप एक वर्चुअल डिस्क पर काम कर रहे हैं, तो महत्वपूर्ण चरण बना रहता है: वर्चुअल सिस्टम की आईएसओ छवि निकालें। इसे करने के कई तरीके हैं, मैं "वर्चुअलबॉक्स में एक साधारण" समझाऊंगा कि "गेस्ट एडिशन" या उसके बाद कुछ भी इंस्टॉल करने से बचें।
हम एक ssh सुरंग के माध्यम से फ़ाइल प्राप्त करने के लिए क्लाइंट का उपयोग करेंगे। ऐसा करने के लिए, हमें पहले अतिथि सिस्टम को रूट पासवर्ड से कॉन्फ़िगर करना होगा। Ssh सर्वर स्वचालित रूप से शुरू होता है, हम अभी भी इसे केवल मामले में पुनरारंभ करते हैं।
% passwd
% /etc/init.d/sshd restart

हमें वर्चुअल मशीन के पोर्ट फ़ॉरवर्डिंग को कॉन्फ़िगर करना होगा। VirtualBox में यह निम्नानुसार किया जाता है:

  1. आप वर्चुअल मशीन कॉन्फ़िगरेशन तक पहुँचते हैं
  2. नेटवर्क अनुभाग में आपने पहले ही NAT में एक एडेप्टर कॉन्फ़िगर किया है
  3. पोर्ट फ़ॉरवर्डिंग विकल्प देखें
  4. आप केवल पैरामीटर "होस्ट पोर्ट" और "गेस्ट पोर्ट" के साथ एक नया नियम जोड़ते हैं
  5. मेजबान = 3022 और अतिथि = 22

इसके साथ हमने प्राप्त किया है कि हमारे पीसी का पोर्ट 3022 वर्चुअल मशीन का 22 है। हम Filezilla क्लाइंट शुरू करते हैं:

  1. सर्वर पैरामीटर में हम लिखते हैं: sftp: // localhost
  2. उपयोगकर्ता नाम पैरामीटर में हम लिखते हैं: रूट
  3. पासवर्ड पैरामीटर में हम जो भी उपयोग करते हैं उसे पास करते हैं
  4. पोर्ट पैरामीटर में हम लिखते हैं: 3022
  5. «त्वरित कनेक्शन» पर क्लिक करें

अगर सब कुछ बाईं ओर ठीक हो जाता है तो हम अपने पीसी पर और वर्चुअल मशीन में दाईं ओर नेविगेट कर सकते हैं। यह (वर्चुअल मशीन में) फ़ोल्डर का उपयोग करने के लिए पर्याप्त है «/ mnt / कस्टम / कस्टम एलसीडी / आइसोफाइल» और आईएसओ छवि को उस जगह पर खींचें जिसे हम अपने पीसी पर चाहते हैं।

!! बधाई हो!! यदि सब कुछ ठीक रहा, तो आपके पास आपकी ISO छवि एक स्वनिर्धारित SystemRescueCD के साथ तैयार है और एक CD, USB से बूट करने के लिए तैयार है ...


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   सिंह राशि कहा

    क्या एक अच्छा मार्गदर्शक, कुछ जटिल लेकिन बहुत उपयोगी।
    अच्छा योगदान.

  2.   कोढ़ी_इवन कहा

    फिर थोड़ा और समय के साथ, और आंखों में इतनी असुविधा के बिना, मैं इसे अच्छी तरह से पढ़ूंगा। यह बहुत उपयोगी और दिलचस्प लगता है।

  3.   कार्लोस सांचेज़ कहा

    हेलो वोकर, बहुत अच्छी पोस्ट!

    मैं कुछ वर्षों से एलएफएस के साथ हूं और मैंने अपना स्वयं का आईएसओ बनाया है जो आपकी सेवा कर सकता है, इसमें वह सब कुछ है जो आपको संकलन करने की आवश्यकता है क्योंकि यह एलएफएस है। Is मुझे आशा है कि यह आपके लिए उपयोगी है

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso