2011-10-15 16 views
46

मैं कठपुतली के बारे में सीख रहा हूं और घर पर वीएम पर इसका प्रयोग करने की कोशिश कर रहा हूं। मैं अभी तक एक कठपुतली सर्वर का उपयोग नहीं कर रहा हूं, बस स्थानीय रूप से चीजें चला रहा हूं। यह ठीक काम करता है, लेकिन हर बार जब मैं puppet apply ... चलाने के लिए, मैं कई सेकंड की देरी, जिसके बाद यह संदेशकठपुतली/फाइबर "तथ्य fqdn पुनर्प्राप्त नहीं कर सका": कैसे ठीक करें या बाधित करें?

warning: Could not retrieve fact fqdn 

मुझे लगता है संदेश देरी से जुड़ा हुआ है को प्रदर्शित करता है मिलता है, और मैं इसे से छुटकारा पाने के लिए चाहते हैं (देरी - मैं संदेश के साथ रह सकता हूं)। एक समाधान के लिए गुगलिंग यह इंगित करता है कि यह किसी भी तरह से DNS लुकअप से संबंधित है, लेकिन मुझे इसके बारे में कुछ और नहीं मिल रहा है, जो आश्चर्यजनक प्रतीत होता है। मैं चाहता हूं कि मैं अपने वीएम में जल्दी से प्रकट हो सकूं ताकि मैं प्रयोग कर सकूं। मैं चीजों को कैसे गति दे सकता हूं?

अद्यतन: मैं डिबग आउटपुट में किसी भी अतिरिक्त जानकारी नहीं दिख रहा है, लेकिन यह इस तरह दिखता है:

$ puppet apply -dv puppet-1.pp 
warning: Could not retrieve fact fqdn 
debug: Failed to load library 'rubygems' for feature 'rubygems' 
debug: Failed to load library 'selinux' for feature 'selinux' 
debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing 
... 

अद्यतन: मैं क्योंकि कठपुतली तो कुछ नहीं है "रूबी" टैग जोड़ा अनुयायियों। यदि यह रूबी में नहीं है, या यदि आप इसके लिए एक बेहतर टैग जानते हैं, तो मुझे बताएं।

अद्यतन फिर से:, कठपुतली बारे में कुछ और सीखा करने के बाद अब मैं समझता हूँ कि इस संदेश को घटक "Facter" है कि कि कठपुतली पर चल रहा है प्रणाली के बारे में "तथ्य" बाहर sniffs कहा जाता है से आ रही है। मुझे कुछ कॉन्फ़िगरेशन विकल्प मिले और "certname", "node_name" और "node_name_value" के साथ खेला, लेकिन मुझे जाने में देरी नहीं मिली। क्या कोई विशेष रूप से जानता है कि fqdn को अनदेखा करने के लिए या कैसे उबंटू 11.10 वीएम पर fqdn खोजने में सक्षम करने के लिए फाइबर को कैसे बनाया जाए?

प्रगति:

$ cat /etc/resolv.conf 
# Generated by NetworkManager 
nameserver 192.168.1.1 

मेरी रूटर, जो टमाटर के माध्यम से चल रहा है Dnsmasq है यही कारण है कि। ,

$ time arp -a 
? (10.0.2.2) at 52:54:00:12:35:02 [ether] on eth0 

real 0m5.127s 
user 0m0.004s 
sys  0m0.016s 

मैं पाट करने के लिए नेटवर्किंग नेट से वीएम बदल इतना है कि यह अब एक आईपी है:

$ dig -x 192.168.1.129 192.168.1.1 

; <<>> DiG 9.7.3 <<>> -x 192.168.1.129 192.168.1.1 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21838 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 

;; QUESTION SECTION: 
;129.1.168.192.in-addr.arpa. IN PTR 

;; ANSWER SECTION: 
129.1.168.192.in-addr.arpa. 0 IN PTR desk-vm-ubuntu-beta. 

;; Query time: 14 msec 
;; SERVER: 192.168.1.1#53(192.168.1.1) 
;; WHEN: Sun Oct 16 17:47:47 2011 
;; MSG SIZE rcvd: 77 

;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27462 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 

;; QUESTION SECTION: 
;192.168.1.1.   IN A 

;; ANSWER SECTION: 
192.168.1.1.  0 IN A 192.168.1.1 

;; Query time: 11 msec 
;; SERVER: 192.168.1.1#53(192.168.1.1) 
;; WHEN: Sun Oct 16 17:47:47 2011 
;; MSG SIZE rcvd: 45 

strace एआरपी के लिए जो प्रत्येक facter के लिए 5 सेकंड के लिए अवरुद्ध किया गया था और कहा जाता है दो बार, मुझे का नेतृत्व किया नेटवर्क पर, और arp तुरंत लौटता है। (मैं कोई नेटवर्किंग गुरु नहीं हूं, इसलिए मुझे नहीं पता कि यह क्यों काम करता है, लेकिन यह कोशिश करने के लिए एक उचित बात लग रही थी।) लेकिन facter अभी भी चलाने के लिए लगभग 4-5 सेकंड लेता है और अभी भी रिपोर्ट करता है "तथ्य fqdn पुनर्प्राप्त नहीं कर सका"। facter -d "डोमेन के लिए मूल्य अभी भी शून्य है" की कई घटनाओं को दिखाता है, अंत तक सभी तरह से। मैं कुछ सोच रहा हूं अभी भी सही नहीं है।

उत्तर

33

चूंकि कठपुतली fqdn तथ्य का उपयोग करती है यह निर्धारित करने के लिए कि यह कौन सा नोड चल रहा है, यदि इसे निर्धारित नहीं किया जा सकता है तो इसे चलाने के लिए संभव नहीं हो सकता है। जो भी आप वर्णन कर रहे हैं उसे देखते हुए, डीबग करने की सबसे आसान चीज आपके कठपुतली कमांड लाइन के बजाय facter fqdn है।

यदि "कई सेकंड" बिल्कुल 5 सेकंड के बहुत करीब हैं, तो यह संभावना है कि आपकी DNS कॉन्फ़िगरेशन सूचीबद्ध एक खराब DNS सर्वर से टूट गई है। /etc/resolv.conf में क्या है? क्या होता है यदि आप resolv.conf में सूचीबद्ध पहले नेमसर्वर के साथ dig -x $HOSTIP $DNSSERVERIP चलाते हैं?

यदि आप facter/fqdn.rb में देखते हैं तो आप देख सकते हैं कि वास्तव में fqdn को हल करने के लिए वास्तव में क्या करने का प्रयास कर रहा है। संस्करण में मेरे पास सबसे आसान है यह facter/hostname.rb और facter/domainname.rb का उपयोग कर रहा है जो facter/util/resolution.rb से कोड को कॉल करता है।

वास्तव में क्या होता है यह इस बात पर निर्भर करेगा कि आपके पास वास्तव में कौन सा संस्करण है, ओएस, और संभवतः आपने जो भी इंस्टॉल किया है, उस पर निर्भर करेगा। कॉलिंग /bin/hostname, uname (आदि) और DNS लुकअप करने की पूरी संभावना है। तुम हमेशा strace -t facter fqdn का उपयोग देखने के लिए समय (timestamps में अंतर के लिए देखो)

सब कुछ से आप का वर्णन किया है ले जा रहा है सकते हैं, यह समस्या की तरह लगती है कि कठपुतली/facter वास्तव में एक डोमेन नाम होना चाहता है और आपके पास एक नहीं है, आपके पास सिर्फ नग्न होस्टनाम है।

domain example.com को /etc/resolv.conf में जोड़ने से चाल चलनी चाहिए। चल रहा है hostname foo.example.com चाल भी करना चाहिए (लेकिन फिर से लागू करने की आवश्यकता होगी)। स्थायी समाधान सटीक ओएस सेटअप पर निर्भर करते हैं।

+3

आह! 'strace' कुछ मिला:'/usr/lib/ruby ​​/ 1.8/facter/arp.rb' 'arp -a' को कॉल कर रहा था जो 5 सेकंड के लिए अवरुद्ध था। मैंने resolv.conf, खुदाई आउटपुट, और मेरे उत्तर में arp आउटपुट जोड़ा। यह अब तेज़ है, लेकिन अभी भी तेज़ नहीं है। क्या एक डेस्कटॉप कोर पर एक वीएम के लिए 4-5 सेकेंड सही लगता है? –

+0

यह डोमेन नाम खोजने और हर तरह से प्रयास करने में विफल होने में वास्तव में कठिन प्रयास कर रहा है। इसे एक डोमेन दें और यह तेजी से सफल होगा। मैं एक पल में जवाब में कुछ जोड़ दूंगा। – freiheit

+1

चूंकि वीएम एक डेस्कटॉप डिस्ट्रो है, इसलिए मैंने अपने राउटर में एक डोमेन सेट किया है और नेटवर्क-मैनेजर को पुनरारंभ किया है, और इसमें डोमेन को resolv.conf में जोड़ा गया है। उसने डोमेन और fqdn का ख्याल रखा। मुझे पहले कभी डोमेन नाम कॉन्फ़िगर करने की आवश्यकता नहीं मिली है। यह अब लगभग 4 सेकंड अधिकतम है - इससे कहीं बेहतर है, और मुझे यकीन नहीं है कि यह बहुत बेहतर होगा। आपकी सहायताके लिए धन्यवाद! –

5

FQDN "पूरी तरह से योग्य डोमेन नाम" के लिए खड़ा है। एक विंडोज डोमेन (या अन्य समान एलडीएपी-आधारित डोमेन) में, उदाहरण के लिए, यह आपके नेटवर्क डोमेन का नाम होगा, जैसे कि "organization.internal" - वह डोमेन जो आपके कंप्यूटर और सर्वर से जुड़े हुए हैं, और डोमेन आपके नेटवर्क समूह और उपयोगकर्ता खाते हैं।

तो, शायद यह कॉन्फ़िगरेशन चरणों के बाकी हिस्सों को करने के लिए आवश्यक कुछ प्रमाणीकरण के लिए fqdn प्राप्त करने में परेशानी थी, मेरा अनुमान होगा।

http://en.wikipedia.org/wiki/Fully_qualified_domain_name

यह है कि आप, ServerFault पर एक बेहतर जवाब मिल जाएगा प्रणाली/विन्यास प्रबंधन को भी अपने दायरे में पार के बाद से संभव है।

+1

ठीक है, मैं समझता हूं कि एक fqdn क्या है। मैंने संकेतों को देखा है कि यह किसी भी तरह से लेखक से संबंधित है, लेकिन यह वास्तव में कुछ भी होने से नहीं रोकता है। यह सब काम करता है। यह सिर्फ एक परेशान देरी पेश करता है। यह विंडोज बॉक्स या विंडोज डोमेन पर भी नहीं है। यह वर्चुअलबॉक्स वीएम उबंटू 11.11 चला रहा है। सर्वरफॉल्ट के बारे में अच्छा विचार - अगर मुझे यहां कोई और इनपुट नहीं मिलता है, तो मैं देख सकता हूं कि क्या मैं इस बारे में पता लगा सकता हूं कि प्रश्न को कैसे स्थानांतरित किया जाए। मैंने थोड़ा और विस्तार जोड़ा जो मैंने अपने प्रश्न के लिए खोजा है। –

+1

आह, गोचा। प्रश्न को माइग्रेट करने के लिए, लोगों को मूल रूप से इसे बंद विषय के रूप में बंद करने के लिए मतदान करना होगा (यह सर्वरफॉल्ट पर जाने का सुझाव देता है)। यदि आपको कोई कर्षण नहीं मिलता है, तो आपको शायद इसे स्वयं पोस्ट करना होगा। – jefflunt

+0

कूल। सहायता के लिए धन्यवाद। –

25

मुझे अपनी होम मशीन (जुबंटू) पर कठपुतली चलाने पर एक ही त्रुटि मिली। मेरे लिए क्या काम किया गया /etc/hosts फ़ाइल की दूसरी पंक्ति बदल रहा था। परिवर्तन से पहले पहले दो लाइनों:

127.0.0.1 localhost 
127.0.1.1 box 

और परिवर्तन के बाद:

127.0.0.1 localhost 
127.0.1.1 box.example.com box 

अब, आदेश hostname -f रिटर्न box.example.com बजाय box, और कठपुतली खुश है।

+1

मुझे इसे संक्षिप्त नाम से पहले पूरा करना था/etc/hosts अन्यथा यह अभी भी काम नहीं करता है। – flickerfly

+4

सुनिश्चित करें कि आपके पास अपने रीडायरेक्ट का सही क्रम है। आपको '127.0.1.1 बॉक्स www.box.com' –

4

संलग्न /etc/resolv.conf

domain abc.com 

रन facter FQDN में इस लाइन फिर से

FQDN डोमेन नाम है, जो हो सकता है आपके हाल में स्थापित ubu12

23

में लापता

config.vm.hostname = "vagrant.example.com" 
मेरी Vagrantfile करने के लिए

मेरे लिए यह तय जोड़ा जा रहा है की आवश्यकता है।

+1

जैसे कुछ करने के लिए देखना होगा यह इस पृष्ठ की जानकारी के साथ ऑनलाइन है: http://blog.doismellburning.co.uk/2013/01/19/ उन्नयन-कठपुतली-इन-आवारा-बक्से / – demaniak