क्या मैं एक मैनिफ़ेस्ट से उबंटू आईएसओ बना सकता हूं?


14

यह उत्तर आईएसओ मैनिफेस्टों के बारे में बात करता है - एक उदाहरण यहां है।

क्या मैनिफ़ेस्ट फ़ाइल से ISO बनाना संभव है, या क्या मैनिफ़ेस्ट फ़ाइल केवल dpkg --get-selectionsटेक्स्ट फ़ाइल में डाली गई है?

संबंधित, क्रमबद्ध करें:

जवाबों:


23

Filesystem.manifest कमांड के साथ उत्पन्न होता है:

dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest

सिंटैक्स इस प्रकार है package_name version, उदाहरण:

 xserver-xorg-video-nouveau  1:0.0.16+git20110411+8378443-1

का प्रारूप dpkg --get-selectionsथोड़ा अलग है,package_name install

उदाहरण

xserver-xorg-video-nouveau  install 

तो आप फ़ाइल का उपयोग कर सकते हैं, शायद अधिक तो एक ही तरीके से,

apt-get install -y $(awk '{print $1}' filesystem.manifest)

ईमानदार होने के लिए, वर्षों में कुछ कस्टम आइसो बनाने के बाद, यह सीखने का एक वक्र है कि यह कैसे काम करता है। एक बार जब आप कुछ चीजों को समझ लेते हैं, तो यह बहुत कठिन नहीं होता है, यह केवल अपेक्षित ज्ञान होता है, यह बहुत बड़ा होता है और कोई एकल, अप टू डेट, सूचना का स्रोत नहीं होता है।

आप 2 बिल्ड निर्देशिका का उपयोग करें

~/custom - build directory for the iso
~/rootfs - build directory for the root file system.

कस्टम - इस निर्देशिका में सभी फाइलें शामिल हैं जो अंतिम आईएसओ पर जाएगी। इसमें रूट फाइल सिस्टम, एक कर्नेल, इनट्राम्राम्स और आइसोलिनक्स शामिल हैं।

rootfs - इस निर्देशिका में लाइव सीडी फाइल सिस्टम है और आप इस निर्देशिका (mksquashfs का उपयोग करके) को संक्षिप्त करते हैं और इसे सीडी में शामिल करते हैं। आप इसे डीबूटस्ट्रैप (स्क्रैच से लाइव डी) के साथ बनाते हैं या फाइल सिस्टम को ubuntu-desktop.iso (लाइव सीडी को कस्टमाइज़ करें) से निकालते हैं। विवरण के लिए ubuntu wiki लिंक नीचे देखें।

प्रमुख बिंदु

1) mksquashfs को समझें - आप रूट फाइल सिस्टम को कंप्रेस करने के लिए mksquashfs का उपयोग करते हैंcasper/filesystem.squashfs

sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs

2) आइसोलेटिन को समझें - यह आईएसओ बूट करने योग्य बनाता है, साथ ही साथ आपकी सीडी (बूट) मेनू भी। आर्क लिनक्स विकी syslinux देखें ।

आप ग्रब 2 को आइसोलिनक्स के विकल्प के रूप में उपयोग कर सकते हैं, लेकिन फिर आपको यह समझने की आवश्यकता होगी कि ग्रब 2 कैसे काम करता है))। अधिकांश लाइव सीडी अभी भी आइसोलिनक्स का उपयोग कर रहे हैं।

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

#extract to a working_directory , I use ~/initrd
cd ~/initrd
lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames

# Make your edits / adjustments
# Package
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../custom.initrd.lz

फिर आप अपने नए initrd.lz को अपने कस्टम बिल्ड डायरेक्टरी में ले जाते हैं, custom/casper/initrd.lz

4) कैस्पर। कैस्पर, और कैस्पर स्क्रिप्ट 3 स्थानों में स्थित हैं, और सभी 3 एक भूमिका निभा सकते हैं। वे सभी बैश स्क्रिप्ट हैं, और कुछ बिंदु पर आप लगभग निश्चित रूप से उनके माध्यम से देखना चाहते हैं।

एक मेजबान - /usr/share/initramfs-tools/scripts/casper

B. रूट फाइल सिस्टम - कस्टम / usr / शेयर / initramfs- उपकरण / स्क्रिप्ट / कैस्पर

C. initramfs में - / स्क्रिप्ट निर्देशिका देखें।

देखें उबंटू मैन कैस्पर

5) आप उपयोगकर्ता इंटरफ़ेस / अनुप्रयोगों के लिए अनुकूलन करते हैं /usr/share, /usr/share/gnome*उदाहरण के लिए, रिलीज़ के साथ सटीक स्थान भिन्न होते हैं, /usr/share/gnome-background-properties/ubuntu-wallpapers.xmlसंस्करणों में एक क्लासिक और काफी मानक है।

6) यदि आप इसमें कस्टमाइज़ेशन नहीं कर सकते /usr/share/हैं /etc/skel, तो यहाँ /etc/skel/.bashrcएक क्लासिक है, वह फ़ाइल ~ / .bashrc में कॉपी हो जाती है। आप फ़ायरफ़ॉक्स या सूक्ति के लिए या क्या नहीं, पर विभिन्न कन्फ़ग फाइलों को रख सकते हैं, लेकिन यदि संभव हो तो (सेटिंग द्वारा भिन्न होता है) / usr / शेयर बेहतर है।

7) mkisofs - आप अपनी बिल्ड डायरेक्टरी को iso में बदलने के लिए mkisofs का उपयोग करते हैं

cd ~/custom
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-12.04-custom.iso .

8) दृढ़ता। आप कई लाइव सीडी के साथ दृढ़ता का उपयोग कर सकते हैं, जिसमें ubuntu- डेस्कटॉप सीडी और एक कस्टम सीडी शामिल है, यह कैस्पर द्वारा कार्यान्वित किया जाता है।

ए रूट - कैस्पर casper-rw/ पर गाय के ओवरले के रूप में लेबल किए गए विभाजन या फ़ाइल को माउंट करेगा । यदि आप एक पैकेज स्थापित करते हैं, या एक कॉन्फ़िगर फ़ाइल को संशोधित करते हैं, तो परिवर्तन एक रिबूट पर बने रहेंगे।

इस संयम का प्रयोग करें। यदि आप सभी पैकेजों को अपडेट करते हैं, तो यह बहुत अधिक जगह लेगा। मुझे यह भी पता चलता है कि यह विधि कभी-कभी छोटी है।

बी होम - कैस्पर सेल एक विभाजन या फ़ाइल को एएएस लेबल के साथ माउंट home-rw/ ओवरले के रूप में माउंट करता है।

मैं इसे पसंद करता हूं क्योंकि मेरे फ़ायरफ़ॉक्स बुकमार्क और निजी डेटा को बूट्स में संरक्षित किया जाएगा और मुझे यह अधिक विश्वसनीय लगता है।

लगातार घर (लगातार / के लिए कैस्पर-आरडब्ल्यू में परिवर्तन)

# this is a 1 Gb file, increase or decrease the count to make it larger or smaller
dd if=/dev/zero of=home-rw bs=1M count=1000

# make a file system
mkfs.ext4 home-rw
mke2fs 1.41.14 (22-Dec-2010)
home-rw is not a block special device.
Proceed anyway? (y,n) y <-- ANSWER 'y' here

#tune the file system to remove reserved blocks and label it 'home-rw'
tune2fs -m 0 -L home-rw home-rw

रखो home-rw(विभाजन के रूट निर्देशिका में) या एक फ्लैश ड्राइव (एक उप निर्देशिका में नहीं) पर में /।

जब आप लाइव सीडी को बूट करते हैं, तो F6कुंजी को मारो , वे Esc, persistentबूट पैरामीटर में विकल्प जोड़ते हैं , '-' के सामने

quiet splash persistent --

कास्पर बूट स्क्रिप्ट फिर एक माउंट को स्वचालित रूप से खोज लेगा।

उबंटू विकी पर्सिस्टेंस देखें - ubuntu wiki पेज पर केवल कैस्पर-आरडब्ल्यू पर चर्चा की गई थी, लेकिन होम-आरडब्ल्यू को कैस्पर स्क्रिप्ट में संदर्भित किया गया है और उसी तरह से काम करता है, केवल नाम बदल दिया गया है।

स्क्रीन शॉट के लिए उबंटू मंचों पर इस पोस्ट को देखें (हालांकि विभिन्न विकल्पों के साथ)।

C. आप कई ग्राफिकल टूल, उदाहरण के लिए unetbootin के साथ दृढ़ता को सक्षम कर सकते हैं। आलेखीय उपकरण (जहाँ तक मुझे पता है) उपयोग करते हैं casper-rw

ठीक है, अब एक बार जब आप यह सब समझ जाते हैं, तो ये दोनों पृष्ठ अधिक समझ में आने लगेंगे

उबंटू विकी लाइव सीडी को खरोंच से

उबंटू विकि लाइव सीडी को अनुकूलित करता है

गूगल

आपको google की आवश्यकता होगी। आपको इंटरनेट पर सलाह के टुकड़े मिलेंगे।

उदाहरण: लाइव सीडी स्प्लैश स्क्रीन कैसे बदलें

डेबियन लाइव

अब जब आप वह सब समझ गए हैं, तो डेबियन लाइव स्क्रिप्ट का उपयोग करें । नाम को आप को बेवकूफ न बनने दें, ये स्क्रिप्ट मिंट और उबंटू सहित किसी भी .deb सिस्टम पर ठीक काम करती हैं।

स्थापित करने के लिए

sudo apt-get install live-build

एक ग्राफिकल इंटरफ़ेस है

sudo apt-get install live-magic

लिव-जादू

यह समझें कि लाइव-मैजिक गुई विफल हो सकती है, जैसे कि रिमास्टर्स और अन्य गुई असफल। उस घटना में, आप लाइव-बिल्ड स्क्रिप्ट पर वापस आते हैं (लाइव-मैजिक बिल्ड डायरेक्टरी उत्पन्न करेगा)।

लाइव-बिल्ड स्क्रिप्ट और निर्देशिका लेआउट / संरचना को सीखने में थोड़ा समय लगता है

डेबियन लाइव मैनुअल ऐ देखें , यह लंबा है, बस एक बार में एक आईएसओ के माध्यम से काम करना है।

लाइव-बिल्ड स्क्रिप्ट का लाभ, एक बार जब आप एक लाइव सीडी के घटकों को समझते हैं, तो स्क्रिप्ट बिल्ड के 90+% को स्वचालित करते हैं, और एक बदलाव करना एक कॉन्फ़िगर फ़ाइल (आमतौर पर) या कभी-कभी एक इनट्रैमफैस का निर्माण करने के लिए एक सरल संपादन है।

बहुत लंबा

यदि वह आपके लिए बहुत लंबा था, तो एक गहरी सांस लें, आराम करें और काम करें, हालांकि उस समय सूचना एक भाग हो। मैं वादा करता हूँ कि यह कुछ समझ में आने लगेगा और आप पाएंगे कि समय इसके लायक है।

यदि आप किसी अन्य टूल सेट से शुरू करते हैं, तो टूल के इस सेट पर वापस आएं और कुछ आइसो के बाद आप निर्देशों के इस सेट की सराहना करेंगे;)

मेरा कस्टम 12.04 बिल्ड, यह gma500, 2d केवल (कोई 3 डी) बॉक्स से बाहर का समर्थन करता है (अगले कुछ दिनों में गामा 500 की भीड़ को सार्वजनिक रूप से उपलब्ध कराएगा)।

gma 500


1
अरे मेरा। यह एक अद्भुत उत्तर है। मुझे पता है कि मैं आज रात क्या कर रहा हूं।
jrg

अच्छा लगा। अगर यह 40 वोट नहीं मिलते हैं, तो उन्हें नहीं प्राप्त करना चाहिए;)
रिनजविंड

रुचि रखने वाले किसी भी व्यक्ति के लिए, मैं विवरण उपलब्ध कराने और डाउनलोड करने के लिए अपना ब्लॉग (यह उबंटू ग्रह पर भी था) देखें। blog.bodhizazen.net/linux/ubuntu-gma500-live-cd
Panther
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.