preseed.cfg होस्टनाम सेटिंग की अनदेखी कर रहा है


13

मैं का उपयोग कर VirtualBox में डेबियन Wheezy (netinstall) स्थापित कर रहा हूं preseed.cfg

मैंने दोनों की कोशिश की d-i netcfg/get_hostname string somehostऔर d-i netcfg/get_hostname string somehost, लेकिन दोनों मामलों में मेजबान "डेबियन" के रूप में सेट हो जाता है। मैंने एक ही समय में दोनों की कोशिश की, लेकिन अभी भी मेजबान "डेबियन" के रूप में सेट है।

Preconfiguration फ़ाइल के बारे में डेबियन की मार्गदर्शिका के अंश :

यदि आप होस्टनाम के लिए बाध्य करना चाहते हैं, तो इस बात की परवाह किए बिना कि क्या डीएचसीपी सर्वर रिटर्न करता है या आईपी के लिए रिवर्स डीएनएस प्रविष्टि क्या है, अनकम्फैंडैंड निम्नलिखित लाइन को समायोजित करता है।

di netcfg / hostname स्ट्रिंग somehost

यह एक बग है या मैं सिर्फ बदकिस्मत हूं?

जवाबों:


10

समाधान नहीं, बल्कि समाधान है

मुझे भी इसी तरह के मुद्दे का सामना करना पड़ा है और मैंने अपने अंत में जोड़े गए निम्न पंक्तियों के माध्यम से स्थापना के बाद मेजबान नाम सेट करके इसके चारों ओर काम किया है pressed.cfg:

d-i pressed/late_command string\
    in-target /bin/bash -c 'echo desired_name > /etc/hostname'

यह in-targetआवश्यक है ताकि /लक्ष्य फाइलसिस्टम को संदर्भित करता है (जो अंततः आपका रूट फाइल सिस्टम बन जाएगा) जो आमतौर पर /targetस्थापना के दौरान दिखाई देता है ।


1
मैंने इसका उपयोग भी किया है लेकिन एक मामूली संशोधन के साथ ताकि होस्टनाम स्वचालित रूप से DNS लुकअप से सेट हो जाए d-i pressed/late_command string in-target /bin/bash -c 'echo $(dig +short -x $(facter ipaddress)) | sed -e \'s/\.$//\' > /etc/hostname':। यह आईपी पते को प्राप्त करने के लिए कठपुतली से "फैक्टर" का उपयोग करता है लेकिन आप कुछ इसी तरह का उपयोग कर सकते हैं ip addrऔर sed
डेविड गार्डनर

9

यदि आप netbooting (PXE और दोस्तों के साथ) कर रहे हैं, तो होस्टनाम preseed फ़ाइल लाने से पहले सेट किया गया है, इसलिए होस्टनाम को कर्नेल कमांड-लाइन पर इस तरह सेट किया जाना चाहिए:

hostname=myhostname domain=mydomain

से परिशिष्ट बी की शुरूआत डेबियन-संस्थापक मैनुअल की (preseeding पर):

प्रीसिडिंग विधियों के बीच एक महत्वपूर्ण अंतर वह बिंदु है जिस पर प्रीकॉन्फ़िगरेशन फ़ाइल लोड और संसाधित होती है। Initrd preseeding के लिए यह स्थापना की शुरुआत में सही है, इससे पहले कि पहले सवाल भी पूछा जाए। फ़ाइल preseeding के लिए यह सीडी या सीडी छवि लोड होने के बाद है। नेटवर्क प्रीसेडिंग के लिए यह नेटवर्क कॉन्फ़िगर होने के बाद ही होता है।


4

मैंने पाया कि यह समस्या तब दूर हुई जब मैं priority=criticalउन तर्कों से हटा दिया गया, जो मैं नेट-इन कमांड लाइन (pxelinux.cfg निर्देशिका प्रविष्टियों के माध्यम से) में कर्नेल के लिए कर रहा था।

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

यदि आप यह बदलाव करते हैं, तो आप पा सकते हैं कि आपको अन्य सवालों के जवाब के लिए कुछ कम-से-महत्वपूर्ण जवाबों को बाद में इंस्टॉल की प्रक्रिया में जारी करना होगा ...


3

यह डेबियन-इंस्टॉलर सीमा है। जब तक आप नेटवर्क से अपनी preseed config फाइल लाते हैं, netcfgतब तक यह काम कर चुका होता है और चला जाता है, इसलिए यह मानों को वापस नहीं करेगा।

अपनी preseed.cfgलाइन में उपयोग करने के लिए कुछ हद तक अपमानजनक है :

d-i preseed/run string http://example.net/d-i/jessie/preseed.sh

और उसमें preseed.shफिर निर्दिष्ट करें:

#!/bin/sh
kill-all-dhcp; netcfg

इस तरह, जब नेटवर्क स्थापित किया है और preseed.cfgप्राप्त किए गए है, preseed.shभी लाने और चलाने, तो यह पुनः आरंभ करेगा हो जाएगा netcfgजो तब के लिए सभी preseed मूल्यों पढ़ा जाएगा netcfg/*और उन्हें सही ढंग से कॉन्फ़िगर ( /etc/hostsname, /etc/hosts, /etc/network/interfacesअगर आपका सेटिंग स्थिर IP विन्यास के माध्यम से preseed आदि)


आप इसे एक अलग फ़ाइल के बिना भी कर सकते हैं: d-i preseed/early_command string kill-all-dhcp; netcfgआपकी preseed फ़ाइल में पर्याप्त है। एक स्वचालित netinstall में स्ट्रेच के साथ परीक्षण किया गया।
19
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.