CentOS में एक कस्टम ISO इमेज कैसे बनाएं


20

मैं एक कस्टम आईएसओ छवि बनाने की कोशिश कर रहा हूं जो मेरे ऐप के कुछ कस्टम लिखित RPM के साथ न्यूनतम आवश्यक RPMS स्थापित करेगा। और इसके अलावा कुछ पोस्ट इंस्टाल करना चाहते हैं जैसे मेरे ऐप और वीपीएन कॉन्फ़िगरेशन को कॉन्फ़िगर करना आदि।

मैंने गूगल पर कुछ लिंक देखे लेकिन वे रेपो और आईएसओ को माउंटेड डिस्क या आईएसओ इमेज से बनाने का इशारा कर रहे हैं।

धन्यवाद रमेश


आप भी इसे और अधिक आसान और अधिक लचीला विकल्प अधिक जानकारी यहां इस काम के लिए redhat किकस्टार्ट उपयोग कर सकते हैं access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/...
fyarci

जवाबों:


46
  1. अपने स्रोत को माउंट करने के लिए एक निर्देशिका बनाएं।

    mkdir /tmp/bootiso
    
  2. लूप को उस स्रोत को माउंट करें जिसे आप संशोधित कर रहे हैं। (Red Hat / CentOS से डाउनलोड करें।)

    mount -o loop /path/to/some.iso /tmp/bootiso
    
  3. अपने अनुकूलित मीडिया के लिए एक कार्यशील निर्देशिका बनाएं।

    mkdir /tmp/bootisoks
    
  4. स्रोत मीडिया को कार्य निर्देशिका में कॉपी करें।

    cp -r /tmp/bootiso/* /tmp/bootisoks/
    
  5. स्रोत आईएसओ को अनमाउंट करें और निर्देशिका को हटा दें।

    umount /tmp/bootiso && rmdir /tmp/bootiso
    
  6. कार्य निर्देशिका पर अनुमतियाँ बदलें।

    chmod -R u+w /tmp/bootisoks
    
  7. अपनी किकस्टार्ट स्क्रिप्ट को कॉपी करें जिसे संकुल के %postलिए और कार्यशील निर्देशिका में संशोधित किया गया है ।

    cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg
    
  8. निर्देशिका संरचना में किसी भी अतिरिक्त RPM को कॉपी करें और मेटाडेटा को अपडेट करें।

    cp /path/to/*.rpm /tmp/bootisoks/Packages/.
    cd /tmp/bootisoks/Packages && createrepo -dpo .. .
    
  9. बूट विकल्प में किकस्टार्ट जोड़ें।

    sed -i 's/append\ initrd\=initrd.img/append initrd=initrd.img\ ks\=cdrom:\/ks.cfg/' /tmp/bootisoks/isolinux/isolinux.cfg
    
  10. नई ISO फ़ाइल बनाएँ।

    cd /tmp/bootisoks && \ 
    mkisofs -o /tmp/boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "CentOS 7 x86_64" -R -J -v -T isolinux/. .
    
  11. (वैकल्पिक) isohybridयदि आप ddISO फ़ाइल को बूट करने योग्य USB कुंजी में उपयोग करना चाहते हैं ।

    isohybrid /tmp/boot.iso
    
  12. एक MD5 चेकसम जोड़ें (मीडिया के परीक्षण की अनुमति देने के लिए)।

    implantisomd5 /tmp/boot.iso
    

यदि आपको किकस्टार्ट स्क्रिप्ट बनाने में अधिक सहायता की आवश्यकता है , तो मेरा सुझाव है कि आप आधिकारिक Red Hat प्रलेखन के साथ शुरुआत करें।


1
क्या यह संभव है कि आप चरण 4 से चूक गए या बॉट गए, फिर?
हारून कोपले

3
@AaronCopley हां, आप शायद सही हैं। मुझे यह भी मिला: github.com/joyent/mi-centos-7 जिसने मेरी मदद की।
सिवनी

1
चरण 9 पर, मेरा मानना ​​है कि आपको अंतिम पैरामीटर देना होगा। (डॉट) वर्तमान निर्देशिका को इंगित करने के लिए। डिफ़ॉल्ट व्यवहार को अजीब लेकिन इसके बिना, mkisofs एक आईएसओ फाइल बनाता है जिसमें केवल शीर्ष निर्देशिका से फाइलें होती हैं और कोई उपनिर्देशिका और उससे आगे नहीं होती हैं।
हशीब

2
मुझे चरण 4 के साथ भी समस्या थी। "cp" कमांड के उपयोग के साथ यह छिपी हुई फ़ाइलों की प्रतिलिपि नहीं बनाता है। discinfo और .treeinfo। उन लोगों के बिना, निर्मित आईएसओ स्थापना के दौरान विफल रहता है कि शिकायत "सीडी / रोम नहीं मिली"।
हशीब

1
आप के साथ एक कमांड के साथ सब कुछ कॉपी कर सकते हैं - "cp -r / tmp / bootiso / / tmp / bootisoks /।" (यह एक छोटे से मुश्किल है - टिप्पणी एकल के बाद / tmp / bootiso /।)
hshib
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.