सवाल स्वचालित dpkg-reconfigure tzdata स्वचालित करें


मैं डेबियन सर्वर के समूह के व्यवस्थापक के लिए कठपुतली का उपयोग कर रहा हूँ। मुझे क्लस्टर पर प्रत्येक मशीन के टाइमज़ोन को बदलने की जरूरत है। ऐसा करने के लिए उचित डेबियन तरीका उपयोग करना है dpkg-reconfigure tzdata। लेकिन अगर मैं संवाद का उपयोग करता हूं तो मैं इसे बदल सकता हूं। क्या इसे खोल से स्वचालित करने का कोई तरीका है, इसलिए मैं इसे आसान बनाने के लिए केवल एक एक्सेक लिख सकता हूं?

यदि नहीं, तो मुझे लगता है कि अगला सबसे अच्छा तरीका शायद कठपुतली वितरित करना होगा /etc/timezone तथा /etc/localtime क्लस्टर में सही डेटा के साथ।

किसी भी इनपुट की सराहना की!


51
2017-11-13 18:45


मूल




जवाब:


आपको फ्रंटएंड को 'noninteractive' के रूप में निर्दिष्ट करने की आवश्यकता है और यह आपकी वर्तमान सेटिंग्स को सहेज लेगा।

dpkg-reconfigure वर्तमान सिस्टम सेटिंग्स को सुसमाचार के रूप में ले जाएगा, इसलिए बस अपना टाइमज़ोन सामान्य रूप से बदलें और इसे गैर-इंटरैक्टिव ध्वज के साथ चलाएं

जैसे मेरे लिए "यूरोप / डबलिन" में परिवर्तन करने के लिए जहां मैं हूं:

# echo "Europe/Dublin" > /etc/timezone    
# dpkg-reconfigure -f noninteractive tzdata

जाहिर है, यह आपको कठपुतली / cfengine का उपयोग करने की अनुमति देता है क्योंकि आप / etc / timezone भी वितरित करना चाहते हैं।


91
2017-11-13 18:57



अनुमतियों को बदलने के विकल्प के रूप में, आप ऐसा कुछ कर सकते हैं। echo 'Europe/Dublin' | sudo tee /etc/timezone > /dev/null - gorelative
पूर्णता के लिए, सूडो के माध्यम से गूंजने का एक और तरीका है sudo bash -c 'echo "Europe/Dublin" > /etc/timezone' - MartyMacGyver
सचेत! नया उबंटू / डेबियन संस्करण अब इस तरह से काम नहीं करते हैं। व्यवहार बदल गया। bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1554806 - gertvdijk


के बाद से स्वीकार्य उत्तर अब काम नहीं करता है (डेबियन जेसी, अप्रैल 2017), @ gertvdijk से संशोधित एक दृष्टिकोण टिप्पणी लिंक अब नौकरी करने के लिए प्रतीत होता है:

sudo ln -fs /usr/share/zoneinfo/Europe/Dublin /etc/localtime
sudo dpkg-reconfigure -f noninteractive tzdata

7
2018-04-27 20:30





आप का उपयोग करने में सक्षम होना चाहिए debconf-सेट चयन कॉन्फ़िगरेशन प्रीसेट करने के लिए। Debconf-utils स्थापित करें और चलाएं debconf-get-selections | grep tzdata इसे ठीक से सेट करने के लिए एक उचित तरीके से कॉन्फ़िगर किया गया सिस्टम पर।


4
2017-11-13 18:57



Debconf आधारित चीजों के लिए, यह काम करना चाहिए। लेकिन tzdata / etc / timezone से कॉन्फ़िगर पसंद करता है। तो यह पहले से स्थापित (wheezy) प्रणाली पर काम नहीं करता है। - Elrond


आप नुस्खा का उपयोग भी कर सकते हैं (अब निष्क्रिय) कठपुतली विकी (पुरालेख) जो बदलता है /etc/localtime से उपयुक्त zoneinfo फ़ाइल के साथ /usr/share/zoneinfo: -

class timezone {
    package { "tzdata":
        ensure => installed
    }
}

class timezone::central inherits timezone {
    file { "/etc/localtime":
        require => Package["tzdata"],
        source => "file:///usr/share/zoneinfo/US/Central",
    }
}

class timezone::eastern inherits timezone {
    file { "/etc/localtime":
        require => Package["tzdata"],
        source => "file:///usr/share/zoneinfo/US/Eastern"
    }
}

class timezone::pacific inherits timezone {
    file { "/etc/localtime":
        require => Package["tzdata"],
        source => "file:///usr/share/zoneinfo/US/Pacific"
    }
}

class timezone::mountain inherits timezone {
    file { "/etc/localtime":
        require => Package["tzdata"],
        source =>
             "file:///usr/share/zoneinfo/US/Mountain"
    }
}

मुझे यकीन नहीं है कि क्या डीपीकेजी-पुनर्गठन कुछ भी अतिरिक्त करता है, लेकिन मैंने उपर्युक्त नुस्खा का उपयोग किया है और यह पूरी तरह से काम करता है।


2
2018-05-26 20:23





यह बहुत आसान है और केवल एक कमांड टाइप करने और सरल प्रश्नों का उत्तर देने की आवश्यकता है।
फिर भागो:

/usr/bin/tzselect

-3
2018-04-07 16:53



आदमी tzselect: "ध्यान दें कि tzselect वास्तव में आपके लिए टाइमज़ोन नहीं बदलेगा। इसे प्राप्त करने के लिए 'dpkg-reconfigure tzdata' का उपयोग करें।" - spinkus