कस्टमाइज़्ड उबंटू सर्वर आईएसओ कैसे बनाएं?


42

मैं एक अनुकूलित उबंटू सर्वर 12.04 आईएसओ बनाना चाहता हूं, लेकिन यह कैसे करना है पर एक स्पष्ट दृष्टिकोण नहीं पा सका। मैं देख रहा हूं कि एक स्वनिर्धारित उबंटू डेस्कटॉप बनाने के लिए उबंटू-बिल्डर एक बहुत अच्छा ऐप है, लेकिन उबंटू सर्वर का क्या?

जवाबों:


61

डाउनलोड

इस स्थान से उबंटू सर्वर आईएसओ डाउनलोड करें । आपके पास 32-बिट या 64-बिट जाने का विकल्प है। सर्वर संस्करण के लिए फ़ाइल का नाम इस तरह दिखेगा:

ubuntu-13.10-server-i386.iso 
ubuntu-13.10-server-amd64.iso 

मैं निम्नलिखित निर्देशों में 13.10 64-बिट संस्करण मानूंगा, इसलिए कमांड को आपके द्वारा डाउनलोड किए गए डाउनलोड में समायोजित करें। अपने डाउनलोड की एक प्रति अपने पास रखें ताकि आप अपनी परियोजना को बेहतर बनाने के लिए मूल डाउनलोड से कई नए संस्करण बना सकें। मैं यह भी मानूंगा कि हम ~/Downloads/अपने सभी काम करने के लिए उपयोग करते हैं।

प्रारंभिक व्यवस्था

यह आपकी डाउनलोड डायरेक्टरी के अंदर 2 डायरेक्टरी "आइसो" और "आइसो न्यू" बनाएगा, आईएसओ को माउंट करेगा और एक नया प्रोजेक्ट शुरू करने के लिए "आइसो" से कंटेंट को "आइसो" पर कॉपी करेगा।

इसे एक टेक्स्ट फ़ाइल में रखें, इसे सहेजें, इसे निष्पादन योग्य बनाएं और इसे निष्पादित करें:

# Ubuntu custom server 
# rinzwind askubuntu.com
# topic: http://askubuntu.com/questions/409607/how-to-create-a-customized-ubuntu-server-iso/409651#409651
cd ~/Downloads/    
mkdir -p iso newIso
sudo mount -o loop ./ubuntu-13.10-server-amd64.iso ./iso    
sudo cp -r ./iso/* ./newIso/
sudo cp -r ./iso/.disk/ ./newIso/    
sudo umount ./iso/
cd ~/Downloads/newIso/
  • यह 1 त्रुटि संदेश फेंक देगा: mount: block device /discworld/Downloads/ubuntu-13.10-server-amd64.iso is write-protected, mounting read-only

उदाहरण चित्र इस तरह दिखेंगे:

निष्पादित:

निष्पादित

नतीजा:

नतीजा

बूट मेनू विकल्प जोड़ना

इंस्टॉलर के लिए मेनू विकल्प संग्रहीत हैं isolinux/txt.cfgऔर आप इन-बीच default installऔर नए विकल्प बना सकते हैं label install

यह एक नया विकल्प बनाएगा, जिसे "कस्टम कस्टम उबंटू सर्वर स्थापित करें" और यह किकस्टार्ट फाइल को जोड़ेगा (किकस्टार्ट फाइल को विकल्प बदलने के लिए प्रयोग किया जाता है; नीचे समझाया गया है):

label myownoption
  menu label ^Install Custom Ubuntu Server
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/preseed/ks-custom.cfg --
  • myownoption केवल एक लेबल है जिसका उपयोग आप अपने विकल्प की पहचान करने के लिए कर सकते हैं।
  • "कस्टम कस्टम सर्वर स्थापित करें" वह पाठ है जो बूट मेनू में दिखाई देगा।
  • आप अपने मेनू विकल्प डिफ़ॉल्ट रूप से एक बनाना चाहते हैं, तो आप केवल बदलने की जरूरत default installकरने के लिए default myownoption

उदाहरण:

यहाँ छवि विवरण दर्ज करें

और फ़ाइल का संपादन (मैंने नैनो का उपयोग किया है लेकिन अगर उपलब्ध उपयोग gedit, vim या अन्य संपादक)। यहाँ इस फ़ाइल के लिए मेरा जोड़ है जहाँ मैंने एक लेबल के रूप में "लैम्पसेवर" का उपयोग किया है और मेरे बीज का नाम "लैम्पस्वर" भी होगा।

यहाँ छवि विवरण दर्ज करें

किकस्टार्ट (ग्राफिक रूप से एक विन्यास फाइल की स्थापना)

Red Hat Kickstart अधिष्ठापन विधि का प्रयोग मुख्य रूप से (लेकिन विशेष रूप से नहीं) Red Hat Enterprise Linux ऑपरेटिंग सिस्टम द्वारा स्वचालित रूप से अनअटेंडेड ऑपरेटिंग सिस्टम इंस्टालेशन और कॉन्फ़िगरेशन को करने के लिए किया जाता है।

उबंटू के लिए preseeding / किकस्टार्ट पर प्रलेखन । उबंटू को किकस्टार्ट (और प्रीसेडिंग) के लिए सीमित समर्थन है; लापता चीजों में से एक preseeding के लिए एक ग्राफिकल इंटरफ़ेस है। किकस्टार्ट करता है (चित्र देखें) इस के लिए विकल्प हैं, लेकिन इन Ubuntu पर काम करने के लिए नहीं है। हालांकि आप इसे मैन्युअल रूप से कर सकते हैं (नीचे Preseeding देखें)।

संस्थापन और आरंभ किकस्टार्ट:

sudo apt-get install system-config-kickstart
ksconfig

** चेतावनी **

किकस्टार्ट को उबंटू में 13.10 पर लगाया गया है और इसे शुरू करते समय, यह त्रुटिपूर्ण है। यहाँ एक तय है । एक पाठ फ़ाइल में टिप्पणी में पैच रखो, इसे सहेजें (मैंने इसे "पैच" नाम दिया है) और इसे प्रतिबद्ध करें:

यहाँ छवि विवरण दर्ज करें

उसके बाद ksconfigकाम किया और यह एक कॉन्फ़िगरेशन संपादक शुरू करेगा जो आपको बहुत सारे विकल्पों में हेरफेर करने की अनुमति देता है।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

Red Hat Linux 7.2 देखें : आपके द्वारा निर्धारित सभी विकल्पों के विवरण के लिए आधिकारिक Red Hat Linux अनुकूलन गाइड

आपके द्वारा किए जाने के बाद, किसी ks.cfgफ़ाइल में हुए परिवर्तनों को सहेजें और उसे उस ISO पर कॉपी करें जिसे हम बदल रहे हैं:

sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
  • यदि आप यहां कुछ भी बदलते हैं, तो इंस्टॉलर SKIP से उस जानकारी के लिए पूछेगा जो इसे वैध माना जाता है। यदि आपने कोई विकल्प नहीं बदला है तो इंस्टॉलर आपसे जवाब मांगेगा।
  • आप यह भी किकस्टार्ट डाउनलोड कर सकते हैं फ़ाइलों और के रूप में उन लोगों को बचाने ks-custom.cfgमें ~/Downloads/newIso/preseed/

उदाहरण जहां मैंने अपनी साख प्रविष्ट की। मैंने इसकी शुरुआत sudo ksconfigकमांडलाइन से की थी।

यहाँ छवि विवरण दर्ज करें

और इसे परियोजना में सहेजना:

यहाँ छवि विवरण दर्ज करें

Preseeding (मैन्युअल रूप से कॉन्फ़िगरेशन फ़ाइल सेट करना)

स्थापना प्रक्रिया के दौरान पूछे गए प्रश्नों के उत्तरों को सेट करने का एक तरीका है Preseeding , मैन्युअल रूप से स्थापना को चलाने के दौरान उत्तरों को दर्ज किए बिना। इससे अधिकांश प्रकार के इंस्टॉलेशन को पूरी तरह से स्वचालित करना संभव हो जाता है और यहां तक ​​कि सामान्य इंस्टॉलेशन के दौरान कुछ सुविधाएं उपलब्ध नहीं होती हैं।

अपने स्वयं के लेबल पर सामान्य स्थापित करने के लिए preseed को कॉपी करें:

sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
  • myownoptionआपने जो उपयोग किया है उसे बदल दें ।

अब सेटिंग्स बदलने के लिए। का प्रयोग debconf-get-selectionsसे debconf-utilsआप जाँच कर सकते हैं क्या मानकों आप विशिष्ट सॉफ्टवेयर के साथ उपयोग कर सकते हैं।

इसे स्थापित करने का उदाहरण:

यहाँ छवि विवरण दर्ज करें

और कार्यबल के साथ स्थापित किए जाने वाले लैंप-सर्वर को जोड़ना:

यहाँ छवि विवरण दर्ज करें

  • यदि आप "ओपनश" और "बिल्ड-एसेंशियल" पैकेज जोड़ना चाहते हैं, तो आप इसे बीज फाइल में शामिल कर सकते हैं:

    d-i pkgsel/include string openssh-server build-essential
    
  • ओपनश के लिए एक उदाहरण:

    debconf-get-selections | grep openssh
    openssh-server  ssh/vulnerable_host_keys    note
    openssh-server  ssh/use_old_init_script boolean true
    openssh-server  ssh/encrypted_host_key_but_no_keygen    note
    openssh-server  ssh/disable_cr_auth boolean false
    
  • आप इन विकल्पों को जोड़ सकते हैं custom-iso/preseed/ubuntu-myownoption.seed

  • डिबेंकफ सेटिंग्स का उपयोग कर स्पष्टीकरण / उदाहरण
  • एक उदाहरण preseed फ़ाइल
  • के बारे में उदाहरण : स्थानीयकरण, नेटवर्क विन्यास, नेटवर्क कंसोल, घड़ी और समय, विभाजन
  • Preseed फ़ाइल के अंत में आप इस तरह से संकुल (यादृच्छिक उदाहरण) जोड़ सकते हैं:

    % संकुल ओपश-सर्वर mysql-server apache2

ऑफ़लाइन स्थापना

यदि आप पैकेज जोड़ते हैं और जो आईएसओ में नहीं हैं तो इंस्टॉलर रिपॉजिटरी से इन्हें डाउनलोड करेगा। यदि आपके पास एक सक्रिय इंटरनेट कनेक्शन नहीं है तो यह समस्याग्रस्त हो जाएगा, इसलिए आपको अपनी परियोजना में उन सभी पैकेजों (और निर्भरता) को जोड़ने और उन्हें एक डीवीडी में जलाने की आवश्यकता होगी। सौभाग्य से सामान्य सर्वर आईएसओ में बहुत जगह है लेकिन सावधान: सीडी और / या डीवीडी का एक सीमित आकार है।

उन सभी DEB पैकेजों को डाउनलोड करें जिनकी आपको आवश्यकता है और उन्हें स्टोर करें ~/Downloads/। नए आईएसओ पर इन 2 निर्देशिकाओं की आवश्यकता है:

mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/

और यह हमारी परियोजना को नए पैकेजों के साथ अपडेट करेगा:

cd ~/Downloads/newIso
sudo apt-ftparchive packages ./pool/extras/ > dists/stable/extras/binary-i386/Packages
sudo gzip -c ./dists/stable/extras/binary-i386/Packages | tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null
cd ~/Downloads/

आईएसओ बनाएं

cd ~/Downloads/     
sudo md5sum `find ! -name “md5sum.txt” ! -path “./isolinux/*” -follow -type f` > md5sum.txt
sudo mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/isolinux.cat -o ./ubuntu-13.10-myowninstall-amd64.iso -joliet-long newIso/
  • दूसरी पंक्ति एक नया चेकसम बनाती है और केवल संकुल जोड़ते समय इसकी आवश्यकता होती है।
  • 3 अपने प्रोजेक्ट से एक आईएसओ बनाता है जिसे आप डीवीडी में जला सकते हैं।

नतीजा:

यहाँ छवि विवरण दर्ज करें

और अब आप इसे वास्तव में जलाने और स्थापित करके इसे आज़मा सकते हैं। मैं वर्चुअल मशीन के रूप में उपयोग करने की सलाह दूंगा क्योंकि यह प्रारंभिक निर्मित आईएसओ के परीक्षण के लिए तेज होगा (अन्यथा आप रिबूट करते रहें)।

और VirtualBox स्थापित करने के बाद मुझे निम्न मेनू मिलता है:

यहाँ छवि विवरण दर्ज करें

बग का शिकार

स्थापित करते समय 1 समस्याओं में भाग गया: डिफ़ॉल्ट का चयन नहीं किया गया था।

Shadin। टिप्पणी में अपने बीज फ़ाइल से

### Package Selection
tasksel tasksel/first multiselect Custom-Ubuntu-Server
d-i pkgsel/include string openssh-server build-essential
%packages openssh-server postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3

शायद इस तरह की आवश्यकता है:

### Package Selection
tasksel tasksel/first multiselect lamp-server
d-i pkgsel/include string openssh-server build-essential postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3

आप के कार्यस्थल की रेखा को एक LAMP सर्वर नहीं चाहिए (यानी। Apache, Mysql, Php)


क्या इसका उपयोग डेस्कटॉप संस्करणों के लिए किया जा सकता है?
बृज

बहुत बहुत धन्यवाद!! मैं वास्तव में इस प्रक्रिया को आसान और सुचारू बनाने के लिए आपका धन्यवाद नहीं कर सकता! मुझे बस एक समस्या थी, जब मैंने वर्चुअलबॉक्स स्थापित किया और अपना अनुकूलित सर्वर स्थापित करने के लिए चुना, तो मुझे यह त्रुटि संदेश मिला! मान्य XHTML
शादीन

हाँ, मैंने किया। वास्तव में अगर आप मेरी बीज फ़ाइल [ megafileupload.com/en/file/493602/ पर एक नज़र रखना पसंद करते हैं, तो मुझे इस बात पर यकीन नहीं है कि मैंने फ़ाइल के अंत में पैकेज जोड़ा है
Shadin

ओह! धन्यवाद! मैं कोशिश करूँगा और आपको वापस मिलूंगा। मैं यह भी जानना चाहूंगा कि क्या इस प्रक्रिया के दौरान किसी अतिरिक्त सर्वर को हटाने का कोई तरीका है जैसे कि मेल सर्वर, वेब सर्वर, जेबीओएसएस .. आदि। मैं चाहता हूं कि इसमें केवल पोस्टग्रैक्स्ल और इसके पैकेज शामिल हों।
शादिन

2
@ शादिन जो ठीक है देखो कि लुसियो कैसे करता है;; टिप्पणी को साफ किया। Braiam: हाँ यह कर सकते हैं। हालाँकि डेस्कटॉप पर फेरबदल करने के लिए और भी बहुत सारी चीजें हैं लेकिन यह एक शुरुआत है (किकस्टार्ट काम करता है यदि आप इसे पैच करते हैं लेकिन यह अभी भी उबंटू द्वारा समर्थित सीमित है)।
रिनविंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.