लिनक्स में टाइमज़ोन सेटिंग [बंद]


157

मैं अपने लिनक्स मशीन पर GMT + 6 के लिए टाइमज़ोन सेट कर रहा हूँ ज़ोनफो फाईल को कॉपी करके /etc/localtime, लेकिन dateकमांड अभी भी समय दिखा रहा है UTCtime-6। क्या कोई मुझे इस व्यवहार की व्याख्या कर सकता है?

मैं मान रहा हूं कि dateकमांड को UTCtime+6समय प्रदर्शित करना चाहिए । यहां मैं निम्नलिखित कदम उठा रहा हूं:

date
Wed Jan 22 17:29:01 IST 2014

date -u
Wed Jan 22 11:59:01 UTC 2014

cp /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime

date
Wed Jan 22 05:59:21 GMT+6 2014

date -u
Wed Jan 22 11:59:01 UTC 2014

TZ पर्यावरण चर सेट किया गया है ( echo $TZकुछ उत्पादन करता है लेकिन एक खाली लाइन)? इसके अलावा /etc/localtimeवास्तविक फ़ाइल की प्रतिलिपि बनाने के बजाय एक सिम्लिंक बनाने के लिए यह एक बेहतर विचार हो सकता है (जिस तरह से आप सुरक्षित रहेंगे, यदि मामले में कभी भी ऐसा डेटा बदल जाता है जिसकी संभावना सबसे अधिक होती है)।
सामी लाईन

क्या है डिस्ट्रो? विभिन्न डिस्ट्रोस इसे अलग तरीके से संभालते हैं!
स्लम

@ एसएलएम: मैं ubuntu 12.04 का उपयोग कर रहा हूं
राहुल धोबी

आप संभवतः इस नीति को नहीं जानते हैं, लेकिन आपको लगता है कि अलग-अलग SE साइटों पर समान Q की पोस्ट को पार नहीं किया जाएगा। stackoverflow.com/questions/21282367/timezone-setting-in-linux
SLM

2
"यह सवाल कई साइटों पर पोस्ट किया गया है" हुह, यह मेरे लिए एक नया है। कभी भी एसई साइट का सामना नहीं करना पड़ा जैसे कि करीबी कारण। वैसे भी, यह पहला सवाल है जो Google पर आता है कि लिनक्स में टाइम ज़ोन को कैसे बदलना है, और यह मेरे द्वारा देखे गए सभी लोगों का सबसे अधिक वोट देने वाला सवाल है, इसलिए शायद इसे फिर से खोल दिया जाए?
Ajedi32

जवाबों:


272

इस ब्लॉग पोस्ट पर एक नज़र डालें: कैसे लिनक्स में टाइमजोन को बदलने के लिए कैसे: 2 तरीके

रेड हैट डिस्ट्रोस

यदि आप Red Hat जैसे वितरण का उपयोग कर रहे हैं, तो फ़ाइल की प्रतिलिपि बनाने का आपका तरीका अधिकतर स्वीकार्य होगा।

नोट: यदि आप डिस्ट्रो-अज्ञेयवादी समाधान की तलाश कर रहे हैं, तो यह डेबियन पर भी काम करता है, हालांकि नीचे सरल दृष्टिकोण हैं यदि आपको केवल डेबियन मशीनों से संबंधित होने की आवश्यकता है।

$ ls /usr/share/zoneinfo/
Africa/      CET          Etc/         Hongkong     Kwajalein    Pacific/     ROK          zone.tab
America/     Chile/       Europe/      HST          Libya        Poland       Singapore    Zulu
Antarctica/  CST6CDT      GB           Iceland      MET          Portugal     Turkey       
Arctic/      Cuba         GB-Eire      Indian/      Mexico/      posix/       UCT          
Asia/        EET          GMT          Iran         MST          posixrules   Universal    
Atlantic/    Egypt        GMT0         iso3166.tab  MST7MDT      PRC          US/          
Australia/   Eire         GMT-0        Israel       Navajo       PST8PDT      UTC          
Brazil/      EST          GMT+0        Jamaica      NZ           right/       WET          
Canada/      EST5EDT      Greenwich    Japan        NZ-CHAT      ROC          W-SU         

मैं हालांकि इसे कॉपी करने के बजाय इसे लिंक करने की सलाह दूंगा।

$ sudo unlink /etc/localtime 
$ sudo ln -s /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime

अब दिनांक अलग-अलग समय-क्षेत्र दिखाती है:

$ date -u
Thu Jan 23 05:40:31 UTC 2014

$ date 
Wed Jan 22 23:40:38 GMT+6 2014

उबंटू / डेबियन डिस्ट्रोस

इन विकृतियों में से किसी एक पर समयक्षेत्र बदलने के लिए आप इस कमांड का उपयोग कर सकते हैं:

$ sudo dpkg-reconfigure tzdata

    ss # १

$ sudo dpkg-reconfigure tzdata

Current default time zone: 'Etc/GMT-6'
Local time is now:      Thu Jan 23 11:52:16 GMT-6 2014.
Universal Time is now:  Thu Jan 23 05:52:16 UTC 2014.

अब जब हम इसकी जाँच करते हैं:

$ date -u
Thu Jan 23 05:53:32 UTC 2014

$ date 
Thu Jan 23 11:53:33 GMT-6 2014

नोट: उबंटू में भी यह विकल्प 14.04 और एक कमांड के साथ उच्चतर है (स्रोत: उबंटू पूछें - टर्मिनल से टाइमज़ोन सेट करना ):

$ sudo timedatectl set-timezone Etc/GMT-6

"आदि / GMT + 6" के उपयोग पर

SO पर @ MattJohnson के उत्तर का अंश

Etc/GMT+6POSIX मानकों के साथ पीछे की ओर संगतता के लिए क्षेत्र को जानबूझकर उलट दिया जाता है। इस फ़ाइल में टिप्पणियां देखें ।

आपको इन ज़ोन का उपयोग करने की आवश्यकता लगभग नहीं होनी चाहिए। इसके बजाय आप की तरह एक पूरी तरह से नामित समय क्षेत्र का उपयोग करना चाहिए America/New_Yorkया Europe/Londonया जो कुछ भी अपने स्थान के लिए उपयुक्त है। यहां सूची देखें ।


1
इस प्रश्न का उत्तर यहाँ देखें stackoverflow.com/questions/21282367/timezone-setting-in-linux
राहुल धोबी

@ user3184706 - आपने यहां एक गड़बड़ कर दी है। आपका प्रश्न यहाँ था कि समयक्षेत्र कैसे बदला जाए, जिसका मैंने उत्तर दिया। जीएमटी का उपयोग करने के बारे में बिट .. टाइमज़ोन या नहीं कि एसओ ए प्रदान की गई सटीक है, लेकिन मैंने इसे यहां शामिल करने की उपेक्षा की, क्योंकि आप वास्तव में उस बारे में नहीं पूछ रहे थे, हालांकि मैंने सोचा था। मैं इस एक के लिए है कि बिट जोड़ सकते हैं या तो या आप / यहाँ अपने खुद के ए के रूप में कॉपी कि जानकारी पेस्ट कर सकते हैं
SLM

@ user3184706 - इसे पूरा करने और साफ करने के लिए मैंने इसे पूरा करने के लिए मैट ए में शामिल किया।
स्लम

1
ध्यान दें कि यदि आप एक कंटेनर में हैं, तो उबंटू के साथ आपको पैकेज स्थापित करना होगा tzdataअन्यथा फाइलें /usr/share/zoneinfoमौजूद नहीं होंगी।
इलियट स्लॉटर

1
timedatectlSLES 12 के लिए भी काम करता है।
अलेक्जेंडर मालाखोव

24

यह मैं उबंटू में कैसे करता हूं। बस Asia/Tokyoअपने समय क्षेत्र के साथ बदलें ।

echo 'Asia/Tokyo' | sudo tee /etc/timezone

sudo dpkg-reconfigure -f noninteractive tzdata

इसमें एक बग है tzdata: कुछ मान सामान्य हो जाते हैं dpkg-reconfigure:

echo 'US/Central' >/etc/timezone
dpkg-reconfigure -f noninteractive tzdata
# Current default time zone: 'America/Chicago'

echo 'US/Eastern' >/etc/timezone
apt-get install --reinstall tzdata
# Current default time zone: 'America/New_York'

यह भी काम करता है, लेकिन डेबियन / उबंटू में, स्लम का उत्तर शायद आसान और कम जोखिम भरा है (टाइपो का कोई मौका नहीं)
एंड्रियास हार्टमैन

17

tzselect कमांड आप क्या चाहते हैं करने के लिए बनाया गया है।


1
और एक ऐसी लाइन में TZसम्मिलित करने के लिए जो आपके स्थानीय समयक्षेत्र के लिए चर सेट करता है - उदाहरण के लिए, अमेरिका / Los_Angeles के लिए export TZ=`printf "2\n49\n21\n1\n" | tzselect 2>&1 | tail -1` । आप इस लाइन को अपने .profile , as tzselect` में मदद कर सकते हैं , सुझाव देते हैं कि क्या आप इसे प्रॉम्प्ट पर चला सकते हैं।
वही
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.