मैं Ubuntu Desktop 16.04.1 LTS की पूरी तरह से अनअटेंडेड स्थापना कैसे बनाऊँ?


43

उद्देश्य

मैं Ubuntu डेस्कटॉप 16.04.1 LTS को पूरी तरह से अनअटेंडेड स्थापित करना चाहता हूं। आईएसओ सीडी को अंदर रखें और चले जाएं।

मुद्दे

  • बूट पैरामीटर गलत हैं
  • अभी भी प्रश्न पूछे जा रहे हैं और माउस क्लिक की आवश्यकता है
  • किकस्टार्ट / preseed का उपयोग करके उल्टे जवाब
  • दस्तावेज़ीकरण उदाहरण काम नहीं के रूप में कहा गया है, विशेष रूप से partman और ubunutu से

मैं यहाँ इस पोस्ट पर आया था और यह मेरी ज़रूरत के करीब था, लेकिन उबंटू सर्वर के लिए इसके बाद से मुझे जो चाहिए था, वह पूरा नहीं हुआ। पोस्ट "गैर-ग्राफ़िकल" उबंटू इंस्टॉल का उपयोग करने का सुझाव देता है, लेकिन मुझे उबंटू डेस्कटॉप के लिए एक गैर-ग्राफ़िकल इंस्टॉल नहीं मिला, जो समझ में आता है। मैंने चरणों को अनुकूलित करने और इसे Ubuntu डेस्कटॉप 16.04.1 LTS के लिए काम करने की कोशिश की।

प्रलेखन इस्तेमाल किया

मैंने निम्नलिखित सभी संसाधनों का उपयोग किया है ...

जाहिरा तौर पर मैं अपने सभी संसाधनों को शामिल नहीं कर सकता क्योंकि आस्कुबंटु 2 से अधिक लिंक की अनुमति नहीं देता है। वैसे यह बहुत उपयोगी नहीं है - तो यहाँ सिर्फ एक सूची है:

  • AskUbuntu
  • उबंटू install.en.pdf
  • Preseed उदाहरण
  • सर्वव्यापक संस्थापन का दस्तावेज
  • पार्टमैन प्रलेखन और उदाहरण
  • विभाजन संख्या 3 संख्या और उनके भार की व्याख्या
  • एक और अधिक जटिल Preseed उदाहरण

वर्तमान समाधान

मैंने वर्तमान में एक अनअटेंडेड इनस्टॉल बनाया है, लेकिन अगर यह सही है तो मुझे यकीन नहीं है - इसका अर्थ है कि मुझे आइसोलेटिन / आइसोलिनक्स.सीएफजी संपादित करना चाहिए

मेरे द्वारा पोस्ट की गई पोस्ट और उबंटू डेस्कटॉप इमेज के बीच कई अंतर थे। यहाँ मेरा समाधान है:

चरण 1

माउंटेड उबंटू आईएसओ ताकि मैं सामग्री को किसी अन्य निर्देशिका में कॉपी कर सकूं और फिर प्रासंगिक फाइलों को संपादित कर सकूं।

mkdir -p /mnt/iso
mount -o loop ubuntu.iso /mnt/iso

चरण 2

फिर मैंने एडिटिंग के लिए ISO फाइल को दूसरी डायरेक्टरी में कॉपी कर लिया।

mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso

चरण 3

मैंने isolinux/isolinux.cfgफ़ाइल संपादित की और निम्नलिखित के साथ अंदर सब कुछ बदल दिया:

default live-install
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---

आसान पढ़ने के लिए एपेंड लाइन बहुत लंबी है, यहां उन सभी विकल्पों का उपयोग किया गया है जो मैंने उपयोग किए हैं:

file=/cdrom/ks.preseed 
auto=true 
priority=critical 
debian-installer/locale=en_US 
keyboard-configuration/layoutcode=us 
ubiquity/reboot=true 
languagechooser/language-name=English 
countrychooser/shortlist=US 
localechooser/supported-locales=en_US.UTF-8 
boot=casper 
automatic-ubiquity 
initrd=/casper/initrd.lz 
quiet 
splash 
noprompt 
noshell

मैंने पाया कि इन सभी बूट मापदंडों को पूरी तरह से अप्राप्य स्थापित करने के लिए आवश्यक था। Ubuntu सर्वर के लिए, यह अलग हो सकता है।

चरण 4

मैंने कई preseed फ़ाइलों का उपयोग करने और बनाने की कोशिश की, लेकिन मुझे त्रुटियों के लिए अधिक जटिल, अधिक मौका मिला। यह वर्तमान में मेरी सरल preseed फ़ाइल है जो उपरोक्त isolinux.cfgफ़ाइल के साथ काम करती है ।

### Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/choose_recipe select atomic

# This makes partman automatically partition without confirmation
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us

# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto

# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true

# Packages, Mirrors, Image
d-i base-installer/kernel/override-image string linux-server
d-i base-installer/kernel/override-image string linux-image-amd64
d-i mirror/country string US
d-i mirror/http/proxy string
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
d-i pkgsel/install-language-support boolean false
tasksel tasksel/first multiselect ubuntu-desktop

# Users
d-i passwd/user-fullname string Liason
d-i passwd/username string liason
d-i passwd/user-password-crypted password [crpyt 3]
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password [crypt 3]
d-i user-setup/allow-password-weak boolean true

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

# Custom Commands

मैंने अपने एन्क्रिप्ट किए गए पासवर्ड को शामिल नहीं किया है, इसलिए यदि आप इस preseed फ़ाइल को आज़माते हैं, तो कृपया उन्हें एन्क्रिप्टेड पासवर्ड में बदलें। यहां पासवर्ड बनाने के 3 तरीके दिए गए हैं।

चरण 5

मैंने /opt/ubuntuiso/निर्देशिका से नया आईएसओ बनाया ।

mkisofs -D -r -V ATTENDLESS_UBUNTU -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso

चरण 6

मैंने आखिरकार इसे वर्चुअलबॉक्स के साथ परीक्षण किया और इसने पूरी तरह से अनअटेंडेड इंस्टाल बनाया।

प्रशन

क्या मुझे isolinux/isolinux.cfgफ़ाइल का संपादन करना चाहिए ?

अन्य पोस्ट में, ऐसा लगता है कि वे isolinux/txt.cfgफ़ाइल को संपादित करने में सक्षम हैं और उस काम को करने में सक्षम हैं। मैंने उपयोग करने के लिए लगभग एक घंटे तक कोशिश की isolinux/txt.cfg, लेकिन यह काम नहीं किया।

क्या किसी के पास अधिक जटिल partman नुस्खा है जो सीधे विभाजन को निर्दिष्ट करता है? या एक काम LVM सेटअप? मैंने एक साधारण LVM सेटअप का उपयोग करने की कोशिश की, लेकिन रिबूट के बाद यह बूट नहीं होता और बस एक काली स्क्रीन पर बैठ जाता। इसके अलावा, दस्तावेज़ीकरण में सूचीबद्ध किसी भी एक उदाहरण का मैंने एक भी काम नहीं किया।

हर प्रकार की सहायता के लिए आपका धन्यवाद।

जवाबों:


21

उत्तर देना

मैंने इसे मूल रूप से अपना प्रश्न पूछने के लिए कुछ समय दिया, यह देखने के लिए कि क्या कोई अन्य समाधान था, लेकिन ऐसा लगता है कि जिस समाधान के साथ मैं इंतजार कर रहा था वह एकमात्र व्यवहार्य समाधान है जिसे मैंने अब तक देखा है।

ग़लतफ़हमी

चूंकि यह बहुत भ्रम का स्रोत था, इसलिए मैं इसे साफ करने की कोशिश करूंगा। ऐसा लगता है कि कुछ उत्तरों ने उबंटू 16 सर्वर छवि का उपयोग करने की कोशिश की, जब मैं विशेष रूप से एक अनबंटे उबंटू 16 डेस्कटॉप छवि स्थापित करने की कोशिश कर रहा था। Di (डेबियन इंस्टॉलर) और सर्वव्यापकता के कार्यान्वयन अंतर के कारण समस्या उत्पन्न होती है। चूँकि सर्वर इमेज ध्यान देगी और preseed फाइल में सभी di कमांड्स का उपयोग करेगी, इसलिए मैंने जो भी सवाल पूछे हैं उनमें से ज्यादातर सर्वर इमेज के लिए अप्रासंगिक हैं। हालाँकि, डेस्कटॉप छवि के इंस्टॉलर के रूप में सर्वव्यापीता के कार्यान्वयन के कारण बहुत सारे डी कमांड को अनदेखा किया जाता है और आप बहुत सीमित हैं और बहुत सारे दस्तावेज गायब हैं।

प्रलेखन लिंक मिला

  • यहाँ preseed / late_command को अनदेखा करने वाले Ubiquity के लिए लिंक है (मेरा मानना ​​है कि यह preseed / initial_command को भी अनदेखा करता है)
  • यहाँ यह सर्वव्यापी दस्तावेज है, जिसके बारे में बात की जाती है कि कौन से इंस्टॉलर घटकों का उपयोग सर्वव्यापीता में नहीं किया जाएगा, लेकिन जैसा कि आप इस दस्तावेज में भी देखेंगे कि यह पूर्व / प्रारंभिक_कमांड कहता है, लेकिन मैं परीक्षण करूंगा कि यह पूरी तरह से सत्यापित करने के लिए काम नहीं करता है। मुझे (मैं मानता हूँ कि मैंने जल्दी से परीक्षण नहीं किया है। शायद मैं गलत हो सकता हूं)।

सफल प्रक्रिया

यहां एक अनअटेंडेड उबंटू डेस्कटॉप 16.04 LTS iso को सफलतापूर्वक बनाने की मेरी प्रक्रिया है ।

माउंट उबंटू आईएसओ

आपको आईएसओ फाइलों को माउंट करने की आवश्यकता होगी ताकि आप प्रासंगिक फाइलों को संपादित कर सकें।

mkdir -p /mnt/iso
mount -o loop ~/Downloads/ubuntu-16.04.1-desktop-amd64.iso /mnt/iso

आईएसओ फाइलें कॉपी करें

हमें माउंटेड आईएसओ में फ़ाइलों को एक अलग निर्देशिका में कॉपी करने की आवश्यकता होगी ताकि हम उन्हें संपादित कर सकें। अपनी पसंद के किसी भी निर्देशिका का उपयोग करने के लिए स्वतंत्र महसूस करें, मैंने एक और कैसे-के कारण / ऑप्ट निर्देशिका का चयन किया, लेकिन / जैसे ही आसानी से उपयोग किया जा सकता है।

mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso

Txt.cfg फ़ाइल संपादित करें

यहां हम /opt/ubuntuiso/isolinux/txt.cfg फ़ाइल संपादित करेंगे और पूरी तरह से अनअटेंडेड इंस्टॉल प्राप्त करने के लिए अपने बूट पैरामीटर को कस्टमाइज़ करेंगे जिसमें एक प्रिज़ेड फ़ाइल शामिल होगी। अपनी पसंद के किसी भी संपादक का उपयोग करें:

#default live
#label live
#  menu label ^Try Ubuntu without installing
#  kernel /casper/vmlinuz.efi
#  append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash ---
#label live-install
#  menu label ^Install Ubuntu
#  kernel /casper/vmlinuz.efi
#  append  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash ---
#label check
#  menu label ^Check disc for defects
#  kernel /casper/vmlinuz.efi
#  append  boot=casper integrity-check initrd=/casper/initrd.lz quiet splash ---
#label memtest
#  menu label Test ^memory
#  kernel /install/mt86plus
#label hd 
#  menu label ^Boot from first hard disk
#  localboot 0x80

default live-install
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---

कृपया कुछ बातों पर ध्यान दें:

  • मैंने फ़ाइल में सभी मूल पाठ को टिप्पणी की।
  • मैंने नीचे "डिफ़ॉल्ट लाइव-इंस्टॉल" सहित सभी पाठ जोड़े
  • मैंने preseed फ़ाइल को "ks.preseed" नाम दिया है और यह ISO (/ opt / ubuntuiso) के शीर्ष स्तर की निर्देशिका में होगा

एक प्रिज़ेड फ़ाइल का उपयोग करें या बनाएँ

सावधानी के साथ पहले से मौजूद मौजूदा फ़ाइल का उपयोग करें! मुझे कोई ऐसा नहीं मिला है जो सिर्फ काम करता हो। यह कहना नहीं है कि वे मौजूद नहीं हैं, मुझे अभी कोई खोज नहीं मिली है। एक preseed फ़ाइल को कॉन्फ़िगर करने के कई तरीके हैं, लेकिन मुझे अनदेखा किए जाने के लिए कई विकल्प मिले, जो कि मैंने यूबीक्विटी डॉक्यूमेंटेशन में उल्लिखित किया था और जो कि preseed / late_command बनाम ubiquity / success_command के लिंक में है। मैं अपनी सरल वर्किंग प्रिज़ेड फ़ाइल को शामिल कर रहा हूँ जो उपरोक्त txt.cfg फ़ाइल के साथ काम करती है।

के लिए netcfg / get_hostname स्ट्रिंग और netcfg / get_domain स्ट्रिंग आप जो कुछ भी यह होना चाहता हूँ डाल सकते हैं। मैंने बिना असाइन किए-होस्टनाम और बिना असाइन किए हुए डोमेन का उपयोग किया क्योंकि मैं इसे बाद में स्क्रिप्टिंग प्रक्रिया के माध्यम से बदल दूंगा।

किसी भी कस्टम कमांड के लिए जिसे आप इंस्टालेशन के बाद चलाना चाहते हैं:

ubiquity ubiquity/success_command string

आप जिस भी कमांड को चलाना चाहते हैं, उसका अनुसरण करें। स्ट्रिंग को जारी रखने पर ध्यान दें "; \" और "/ लक्ष्य" का उपयोग करके स्थापित नई प्रणाली से संबंधित कुछ भी बदलने के लिए।

# Partitioning
# Old style using d-i command
#d-i partman-auto/disk string /dev/sda
#d-i partman-auto/method string regular
#d-i partman-lvm/device_remove_lvm boolean true
#d-i partman-md/device_remove_md boolean true
#d-i partman-auto/choose_recipe select atomic

# Newer ubiquity command
ubiquity partman-auto/disk string /dev/sda
ubiquity partman-auto/method string regular
ubiquity partman-lvm/device_remove_lvm boolean true
ubiquity partman-md/device_remove_md boolean true
ubiquity partman-auto/choose_recipe select atomic

# This makes partman automatically partition without confirmation
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us

# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto

# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true

# Packages, Mirrors, Image
d-i mirror/country string US
d-i apt-setup/multiverse boolean true
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true

# Users
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password-crypted password yourEncryptedPasswd
d-i passwd/user-default-groups string adm audio cdrom dip lpadmin sudo plugdev sambashare video
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password rootEncryptedPasswd
d-i user-setup/allow-password-weak boolean true

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

# Custom Commands
ubiquity ubiquity/success_command string \
  sed -i -e 's/dns=dnsmasq/#dns=dnsmasq/' /target/etc/NetworkManager/NetworkManager.conf ;\
  cp -a /cdrom/scripts/ /target/root/ ;\
  cp -a /cdrom/salt/ /target/root/

कृपया इन बातों पर ध्यान दें क्योंकि मैंने उन्हें दृष्टांत उद्देश्यों के लिए छोड़ दिया था और वे संभवतः आपके छद्म कमांड में भिन्न होंगे।

  • उपयोगकर्ता / रूट पासवर्ड को आपके द्वारा जोड़ा जाना चाहिए। यहां वह लिंक है जो आपको क्रिप्ट 3 पासवर्ड बनाने के लिए 3 अलग-अलग तरीके दिखाता है।
  • आप उन समूहों को बदलना चाहते हैं जिन्हें आपके उपयोगकर्ता को सौंपा गया है।
  • आप निश्चित रूप से success_command को बदलना चाहेंगे। मैंने इसे यह दिखाने के लिए छोड़ दिया कि इसे कैसे स्वरूपित किया जा सकता है और / लक्ष्य वातावरण का उपयोग कैसे किया जाए ।

नया ISO बनाएँ

आईएसओ बनाएं ताकि आप अपनी preseed फ़ाइल का परीक्षण कर सकें। यदि आप एक का उपयोग करते हैं या अपना खुद का बनाते हैं, तो आपको इसका परीक्षण करने की आवश्यकता होगी क्योंकि यह LIKELY होगा जहां आपकी प्रक्रिया विफल हो जाएगी। मैंने त्वरित परीक्षण के लिए एक स्क्रिप्ट लिखी थी, लेकिन आप बस एक http: // होस्ट की गई प्रिज़ेड फ़ाइल पर प्रिज़ की गई फ़ाइल को इंगित कर सकते थे और उस तरह से बहुत तेज़ी से परीक्षण कर सकते थे।

mkisofs -D -r -V "UNATTENDED_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /tmp/ubuntu16-desktop-unattended-install.iso /opt/ubuntuiso

उत्पादन नाम और निर्देशिका को बदलने के लिए स्वतंत्र महसूस करें, जिसमें आप इसे बचाएंगे।

आईएसओ जला

मैं सुझाव दूंगा कि आप वर्चुअलबॉक्स या जैसे और एक बार जब आप इसे काम कर रहे हों, तब इसे एक डीवीडी में जला दें। अब आपके पास वर्किंग अनअटेंडेड उबंटू डेस्कटॉप 16.04 LTS डीवीडी होना चाहिए।

प्रतिक्रिया, सुधार, त्रुटियां

मैंने यह सब एक बार में लिखा है और इसमें त्रुटियां, टाइपो या ऐसी चीजें हो सकती हैं जो रास्ते में गड़बड़ हो गईं। अगर कोई भी यह कोशिश करता है, तो कृपया मुझे बताएं कि क्या आपको प्रक्रिया में कोई त्रुटि है। और कृपया याद रखें कि यदि आप अपनी खुद की preseed फाइल बनाते हैं, तो मैं शायद यह जवाब नहीं दे पाऊंगा कि आपकी अनअटेंडेड इनस्टॉल क्यों टूटी हुई है और काम नहीं कर रही है क्योंकि ubiquity को अनदेखा करना पसंद है और preseed फाइल में कुछ चीजों को नहीं करना है। मुझे उम्मीद है कि यह किसी के लिए उपयोगी है।


हाय @BrandonAuthier, आपके द्वारा यहां साझा की गई जानकारी के लिए धन्यवाद। मैंने आपके सभी चरणों का बहुत ध्यान से पालन किया और अंत में /tmp/ubuntu16-desktop-unattended-install.iso छवि से अंततः बूट करने योग्य USB कुंजी बनाने की कोशिश की। ऐसा करने के लिए मैंने इस कमांड को रूट के रूप में इस्तेमाल किया (मेरा USB डिवाइस / dev / sdc पर) dd if=/tmp/ubuntu16-desktop-unattended-install.iso of=/dev/sdc bs=4M && sync:। दुर्भाग्य से यूएसबी कुंजी (केवल जब इसमें यह कस्टम आइसो होता है: यह मूल एक के लिए काम करता है) प्रस्तावित बूट विकल्पों में नहीं है, इसलिए ऐसा लगता है कि यह "बूट करने योग्य" नहीं है। शायद आपको अंदाजा हो जाए कि क्या हो रहा है?
हेड्रियन TOMA

वास्तव में USB कुंजी को "USB संग्रहण डिवाइस" (जिससे मैं बूट कर सकता हूं) के बजाय "डिस्केट ड्राइव" के रूप में देखा जाता है।
हेड्रियन तोमा

1
मुझे लगता है कि एक बूट करने योग्य USB कुंजी बनाने के लिए थोड़ा अलग है और syslinux / और syslinux.cfg के लिए आइसोलिनक्स / और आइसोलेटिनक्स.सीजी का नाम बदलने की आवश्यकता होती है। मैंने इसे एक सीडी / डीवीडी के लिए लिखा था और परीक्षण के लिए एक वीएम में इसका उपयोग कर रहा था और फिर एक डीवीडी के माध्यम से स्थापित कर रहा था। मैंने इसे बूट करने योग्य USB में बनाने की कोशिश नहीं की, लेकिन कई चीजें हो सकती हैं जो dd कमांड के साथ गलत हो गईं। यदि आप उन नामों को नहीं बदलते हैं, तो शायद वह इसका हिस्सा था। यदि आपने USB को सही तरीके से प्रारूपित नहीं किया है और इसे fdisk के साथ बूट करने योग्य झंडा दिया है, तो यह एक और हो सकता है। जब मेरे पास थोड़ा और समय होता है, तो मैं यह पता लगा सकता हूं कि यह कैसे करना है और इसे कैसे पोस्ट करना है।
ब्रैंडन लेखक

1
mkusbयदि आप लिनक्स बूटिंग और ग्रब / सिस्लिनक्स लोडिंग के निम्न स्तर की हिम्मत से परिचित नहीं हैं, तो मैं आपके आईएसओ का उपयोग एक यूएसबी पर करने का सुझाव दूंगा।
ड्रैगन

1
@HadrienTOMA dragon788 शायद mkusb का उपयोग करने के बारे में सही है यदि आपके पास एक उबंटू मशीन है क्योंकि यह एक पीपीए द्वारा स्थापित किया जा रहा है। ईमानदारी से, fdisk के साथ USB को प्रारूपित करने के तरीके को देखते हुए, उचित फाइल सिस्टम का निर्माण, और फिर dd-ing सीखने के लायक है। केवल एक चीज जिसकी मुझे चिंता थी वह यह थी कि मेरी ISO छवि सिर्फ dd-ing द्वारा काम नहीं कर सकती है। मैं एक बार आपको इसका परीक्षण करने का मौका दे दूंगा।
ब्रैंडन लेखक

1

मुझे यह सुनकर दुख हुआ कि मेरी पूर्व विधि काम नहीं आई। सौभाग्य से, मुझे रिनक सोननबर्ग ( नेटसन ) द्वारा डिज़ाइन की गई एक स्क्रिप्ट मिली, जो गिटहब पर उबंटू सर्वर के अनअटेंडेड एएमडी 64 आईएसओ बनाएगी, और मैंने इसे फोर्क किया। फिर मैंने I386 ISO बनाने की क्षमता को जोड़कर स्क्रिप्ट में सुधार किया। मैंने उबंटू सर्वर से उबंटू डेस्कटॉप पर भी ओएस बदल दिया। आपको GitHub रिपॉजिटरी की यात्रा करने की आवश्यकता नहीं है, आप बस नीचे दिए गए निर्देशों का पालन कर सकते हैं।

ये आदेश चलाएँ:

$ wget https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh
$ chmod +x create-unattended-iso.sh
$ sudo ./create-unattended-iso.sh

कभी-कभी wgetउपलब्ध नहीं होता है। यदि यह मामला है, तो उपयोग करें curl:

$ curl -O https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh

यदि इनमें से कोई भी काम नहीं करता है, तो इसे डाउनलोड करें और इसे अपने घर फ़ोल्डर में स्थानांतरित करें।

फिर आपसे पूछा जाएगा कि उबंटू का कौन सा संस्करण स्थापित करना है, और फिर उबंटू प्रश्न पूछेगा कि क्या आप मैन्युअल इंस्टॉल कर रहे हैं। इसके बाद स्क्रिप्ट उबंटू आईएसओ डाउनलोड कर लेगी, और उसके बाद इसमें किए गए बदलावों को लागू करेगी। अब आपके पास एक आईएसओ है जो एक अनअटेंडेड इंस्टॉलेशन के लिए तैयार है!

यह आपके सवाल का जवाब देना चाहिए, क्योंकि यह मेरे लिए ठीक काम किया। यह भी अच्छा है कि यह विधि मेरे पूर्व उत्तर की तुलना में कहीं अधिक आसान है। मुझे उम्मीद है कि यह आपके लिए काम करता है जैसा कि यह हमारे लिए किया था।


1
मैं उत्तर की सराहना करता हूं और आपकी स्क्रिप्ट के माध्यम से पढ़ने के बाद मैं देख रहा हूं कि आप उबंटू सर्वर का उपयोग कर रहे हैं जिसे मैंने स्पष्ट रूप से कई बार कहा है अब मैं उपयोग नहीं करना चाहता हूं। मुझे पहले से ही पता है कि उबंटू सर्वर डीआई का उपयोग करता है और वास्तव में पारंपरिक preseed मापदंडों का उपयोग करता है। हालाँकि, मैं उबंटू डेस्कटॉप चाहता हूं क्योंकि मेरा प्रश्न स्पष्ट रूप से बताता है। मैं सर्वर को स्थापित नहीं करना चाहता और स्थापित करने के बाद डेस्कटॉप संस्करण का निर्माण करना है।
ब्रैंडन लेखक

ठीक। मैं इसे उबंटू डेस्कटॉप में बदल दूंगा।
iplustech.net

मैंने ठीक कर दिया। मुझे उम्मीद है कि अब यह आपके लिए काम करता है।
iplustech.net

1
वैसे यह बहुत सरल होना चाहिए - आपकी स्क्रिप्ट केवल SERVER छवियों को डाउनलोड करती है - जो कि मैंने जो पूछा वह नहीं है और यही कारण है कि आपकी स्क्रिप्टिंग समाधान विफल हो जाती है। इसका मेरे सिस्टम के साथ सब कुछ है और यह कुछ भी अजीब नहीं है क्योंकि यह DESKTOP संस्करण है जिसे मैंने स्पष्ट रूप से इस धागे के प्रश्न में कहा है। प्रयास करने के लिए धन्यवाद, लेकिन सर्वर छवि इस प्रश्न को हल नहीं करेगी।
ब्रैंडन ऑथर

2
github.com/iPlus-TechNet अब मौजूद नहीं है? मेरे पास 404 त्रुटि है।
हैड्रीन टुमा

1

इस पर एक नज़र: https://github.com/core-process/linux-unattended-installation

यह परियोजना आपको सभी लिनक्स की एक न्यूनतम स्थापना की एक अनअटेंडेड स्थापना बनाने की आवश्यकता है, जबकि एक OpenSSH सेवा और पायथन सहित - जो आप लिनक्स वितरण के मानक इंस्टॉलर से प्राप्त कर सकते हैं - सबसे हल्के सेटअप के लिए न्यूनतम अनुवाद करता है। विचार यह है, आप न्यूनतम सेटअप पूरा करने के बाद अपने सभी विन्यास और सेवाओं को Ansible या इसी तरह के उपकरणों की मदद से करेंगे।


हम्म, कुछ दिलचस्प लग रहा है। मैं निश्चित रूप से 18.04 एलटीएस का इंतजार करूंगा, लेकिन मैं सिर्फ यह देखने के लिए गड़बड़ कर सकता हूं कि यह कैसे काम करता है। मैं पहले से ही समाप्त हो गया है सब कुछ के रूप में ऊपर के रूप में यह पता लगाने से हल। हालांकि, यह देखना कि अन्य लोग इसे कैसे हल करते हैं, हमेशा विभिन्न विचारों के लिए अच्छा है।
ब्रैंडन लेखक

1
बस डिस्क छवियों के साथ ही आईएसओ छवियों का निर्माण करने के लिए समर्थन जोड़ा। का आनंद लें!
निकल्स

1

आपकी पोस्ट और निर्देशों के लिए बढ़िया नौकरी ब्रैंडन ऑथर, आपने मेरी बहुत मदद की।

हालाँकि, आपकी विधि के साथ मेरा एक मुद्दा था: मुझे पता चला कि स्थापित होने के बाद और पीसी GRUB हैंग हो जाता है।

इसलिए मैंने निम्नलिखित को ks.preseed में जोड़ा:

# Due notably to potential USB sticks, the location of the MBR can not be
# determined safely in general, so this needs to be specified:

d-i grub-installer/bootdev  string /dev/sda

# To install to the first device (assuming it is not a USB stick):
#d-i grub-installer/bootdev  string default

यदि आप USB स्टिक को नहीं निकालते हैं तो यह ग्रब इंस्टॉल को क्रैश करने से बचाता है। मुझे यह https://www.debian.org/releases/stable/example-preseed.txt से मिला है


इसलिए यह लटका हुआ है क्योंकि USB अभी भी डाला गया था और फिर से USB से बूट करने की कोशिश की गई थी? मैं निश्चित रूप से ऊपर दी गई फ़ाइल में इसे जोड़ सकता हूं, लेकिन यह सुनिश्चित करना चाहता हूं कि मुझे पता है कि क्या हुआ और यह क्या रोकता है।
ब्रेंडन ऑथर

0

कृपया इस विधि की कोशिश मत करो। काम नहीं करता है (आप समय पर काम करने की कोशिश कर रहे हैं):

मैंने इसका उत्तर चारों तरफ से देखा है। मैं आपको सबसे सामान्य समाधान बताऊंगा। मैंने इसे अपने आप से पहले कभी नहीं आजमाया है, इसलिए यह पुराना हो सकता है। मैं वास्तव में इसके बारे में बात नहीं समझता, क्योंकि मैन्युअल रूप से स्थापित करने से खुद को आसान हो जाएगा, लेकिन वैसे भी ...

रूट या रन के रूप में लॉगिन करें $ sudo su -

आईएसओ को डाउनलोड और माउंट करें। इसे Ubuntu वेबसाइट से मैन्युअल रूप से न करें।

# mkdir -p /mnt/iso
# mount -o loop ubuntu.iso /mnt/iso

प्रासंगिक फ़ाइलों का बैकअप लें और उन्हें स्थानांतरित करें।

# mkdir -p /opt/ubuntuiso
# cp -rT /mnt/iso /opt/ubuntuiso

GUI के भाषा भाग को प्रदर्शित होने से रोकें

# cd /opt/ubuntuiso
# echo en >isolinux/lang

"किकस्टार्ट" फ़ाइल जोड़ें।

# apt install system-config-kickstart
# system-config-kickstart

[वैकल्पिक] अपनी स्थापना के लिए संकुल जोड़ें

# vim /path/to/ks.cfg #[OPTIONAL]

या बस इसे अपनी फ़ाइलों में खोजें और इसे सीधे संपादित करें। %packagesअनुभाग जोड़ें , और इसके तहत अपने पैकेज डालें।

%packages
# Add your packages below. Example:
@ ubuntu-server
apache2
mysql-server
php7.0
php-pear
libapache2-mod-php7.0 
php7.0-mysql
php7.0-curl
php7.0-json
php7.0-cgi

जैसा कि मैंने कहा, मैंने खुद ऐसा कभी नहीं किया है, इसलिए यदि आपके पास ऊपर जैसा कॉन्फ़िगरेशन है, तो यह वास्तव में LAMP स्टैक स्थापित नहीं कर सकता है और आपको इसे बाद में मैन्युअल रूप से करना होगा।

"Preseed" फ़ाइल के साथ प्रश्नों को दबाएं।

# echo 'd-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
select Finish partitioning and write changes to disk
d-i partman/confirm boolean true' > ks.preseed

फ़ाइलों को सक्रिय करें:

# vi isolinux/txt.cfg

फिर के लिए खोज:

label install
  menu label ^Install Ubuntu Server
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz quiet --

फिर आपको ks=cdrom:/ks.cfgऔर जोड़ना होगा preseed/file=/cdrom/ks.preseed। शब्द निकालें quietऔर vga=788, इसलिए यह इस तरह दिखता है:

append file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --

अब आप नया उत्तर बना सकते हैं:

# mkisofs -D -r -V "ATTENDLESS_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso

और वहाँ तुम जाओ!


अब जब मैंने चारों ओर देखा है, तो मैंने एलाजार लीबोविच से यहां वही सटीक सूत्र देखा । मुझे लगता है कि मैं इसके बारे में सही था कि यह सबसे आम है।
iplustech.net

1
हम्म, मुझे यकीन नहीं है कि इस पोस्ट के बारे में मेरी टिप्पणी से पहले क्या हुआ ... यह उपरोक्त विधि काम नहीं करता है । यदि आप उत्तर की तलाश में इसे पढ़ रहे हैं तो कृपया यह कोशिश न करें कि यह आपके समय की बर्बादी है। मैं विशेष रूप से अपने मूल प्रश्न में इस सटीक प्रक्रिया को स्पष्ट रूप से इस विधि की खामियों को रेखांकित करता हूं: ks उबंटू 16.01 के रूप में बहुत सीमित पीएस फाइलें हैं, सर्वव्यापक होने के कारण, बहुत सी सुविधाओं को अनदेखा करें txt.cfg उबंटू डेस्कटॉप 16.04 के रूप में काम नहीं करता है। इस या अन्य पदों से संकेत मिलता है कि आपको बाईपास के लिए कुछ बूट मापदंडों में गुजरना होगा और कभी-कभी सर्वव्यापकता के लिए पीएस-डिंग तक भी पहुंचना होगा
ब्रैंडन ऑथर

3
पोस्टर ने स्पष्ट रूप से मेरी पोस्ट नहीं पढ़ी। उन्होंने लिखा, "मैंने इसे अपने आप से पहले कभी नहीं आजमाया है , इसलिए यह पुराना हो सकता है। मैं वास्तव में इसके बारे में नहीं समझता हूं , क्योंकि मैन्युअल रूप से स्थापित करने के लिए खुद को करना आसान होगा , लेकिन वैसे भी ..."। यह भी कोशिश नहीं की और एक समाधान के रूप में यह purports ??? दूसरे, मैं समझाता हूं कि मैं एक अप्राप्य स्थापित करना चाहता हूं जहां मैं दूर चल सकता हूं। मैनुअल नहीं। 100 बक्से स्थापित करने की कल्पना करें, क्या आप इसे मैन्युअल रूप से करना चाहते हैं? नंबर
ब्रैंडन लेखक

ओह। उसके लिए माफ़ करना। मैं ऐसा करने के अन्य तरीकों पर गौर कर सकता हूं।
iplustech.net
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.