जवाबों:
एक उपकरण जो मुझे उपयोग करने में आसान लगा, वह है dpkg-reconfigure
। उपयोग:
sudo dpkg-reconfigure tzdata
आपको विकल्पों में से एक भीड़ दी जाएगी, जिसमें कुछ ऐसे भी शामिल हैं जो इसमें शामिल नहीं हैं tzselect
।
यह संभवतः ओपी के लिए थोड़ा देर से है, और यहां पहुंचने वाले अन्य खोजकर्ताओं के लिए और अधिक इरादा है।
यदि आपको एक गैर-संवादात्मक समाधान की आवश्यकता है, तो इस समाधान को dpkg-reconfigure tzdata और debconf-set-selections के साथ बदलते समय से देखें
echo "Europe/Zurich" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
आप / usr / share / zoneinfo में इधर-उधर ताक-झांक करके अपने समयक्षेत्र का पता लगा सकते हैं। वास्तव में ऊपर dpkg-reconfigure कमांड उपयुक् त फाइल को वहां से / etc / localtime पर कॉपी करता है। मैं बस मैन्युअल रूप से ऐसा करता था, और यह ठीक काम करता है।
अगर लंबे समय तक चलने वाली प्रक्रियाओं में बदलाव नहीं हुआ तो बहुत आश्चर्यचकित न हों। उदा। अपाचे लॉग टाइमस्टैम्प मन में आते हैं। इस बात पर विचार करें कि क्या यह मायने रखता है, और इसलिए क्या आपको प्रक्रियाओं को फिर से शुरू करने या रिबूट करने की आवश्यकता है।
/etc/localtime
पहले से मौजूद नहीं है। यदि यह मौजूद है और इसके लिए एक सॉफ्टलिंक है /usr/share/zoneinfo/whatever
, तो इसे आधार के रूप में लिया जाता है और यह है /etc/localtime
कि आपके परिवर्तनों को लिखते हुए, तदनुसार अपडेट किया जाता है।
इसे हाल ही में डेबियन और उबंटू संस्करणों (स्ट्रेच / एक्सनियल आदि) पर गैर-संवादात्मक रूप से संपादित करने के लिए, आपको इसे भी हटाने की आवश्यकता है /etc/localtime
, अन्यथा /etc/timezone
ओवरराइट किया जाएगा।
echo 'Europe/Zurich' > /etc/timezone
rm /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
यह उत्तर mc0e के उत्तर पर आधारित है। मैं अपनी प्रतिष्ठा के साथ एक टिप्पणी नहीं जोड़ सकता।
टी एल; डॉ
echo "TZ=Etc/UTC" >> /etc/environment
tzconfig
जहाँ Etc/UTC
आप अपने पसंदीदा समयक्षेत्र का उपयोग कर रहे हैं tzselect
।
लंबा संस्करण
जब आप उपयोग कर रहे हैं
dpkg-reconfigure tzdata
रिबूट के बाद टाइमजोन की जानकारी नहीं रखी जाती है। आप अपनी सेटिंग्स को सत्यापित कर सकते हैं
diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
यदि आप केवल अपडेट कर रहे हैं /etc/timezone
, तो अपडेट इसके अनुरूप नहीं होगा /etc/localtime
, इसलिए इसे निष्पादित करना बेहतर है
tzconfig
tzselect
यह जानने के लिए प्रयोग करें कि वास्तव में कौन से समय क्षेत्र मौजूद हैं (या बस /usr/share/zoneinfo
निर्देशिका ब्राउज़ करें )।
POSIX सिस्टम में TZ
इससे पहले पूर्वता लेना चाहिए /etc/localtime
:
export TZ='Europe/Berlin'
$ date
Tue Apr 10 08:51:03 CEST 2018
export TZ='Pacific/Efate'
$ date
Tue Apr 10 18:28:33 +11 2018
सीधे उपयोग करने से TZ
आप कई सिस्टम कॉल को बचा सकते हैं क्योंकि अक्सर उपयोग की जाने वाली तारीख / समय संबंधित कार्यों को फाइलसिस्टम तक पहुंचने के लिए प्रत्येक बार कुछ प्रोग्राम वर्तमान तिथि के लिए पूछता है। यह एक माइक्रो-अनुकूलन है, लेकिन काफी सरल है।
TZ
अपनी प्रोफाइल फाइल में पॉजिटिव एक्सपोर्ट कर रहे हैं ? यह मेरे अनुभव में बिल्कुल भी सही नहीं है। शायद आपका मतलब था "सिम्कलिंक बनाने के लिए भी सुनिश्चित करें ..."?
$TZ
चर glibc
कार्यों द्वारा पढ़ा जाता है: gnu.org/software/libc/manual/html_node/TZ-Variable.html
echo "TZ=Etc/UTC" >> /etc/environment
? आप TZ=
हिस्सा याद कर रहे हैं ... (यदि कोई व्यक्ति अभी भी प्राचीन डेबियन संस्करण चला रहा है)। इसके अलावा, /etc/localtime
TZ