निम्न कमांड का आउटपुट अलग क्यों है?
root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var#
और क्या मैं लिनक्स पर वर्तमान समय को बदल सकता हूं?
निम्न कमांड का आउटपुट अलग क्यों है?
root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var#
और क्या मैं लिनक्स पर वर्तमान समय को बदल सकता हूं?
जवाबों:
आमतौर पर आप समय को स्वचालित रूप से सेट करना चाहते हैं, और उस स्थिति में, आप ntpd
स्वचालित रूप से आपके लिए समय निर्धारित करना चाहते हैं।
उदाहरण वितरण से वितरण में थोड़ा भिन्न होते हैं, लेकिन यदि आप उबंटू चल रहे हैं, उदाहरण के लिए, उबंटू पर NTP स्थापित करने के लिए एक गाइड है । अन्यथा, सिर्फ Google ntpd <distribution-name>
, और आप शायद इसे पा लेंगे।
यदि आप इसे मैन्युअल रूप से सेट करना चाहते हैं, तो आप उपयोग कर सकते हैं date --set="<date string>"
। इसके उदाहरण हो सकते हैं:
date --set="23 June 1988 10:00:00"
date --set="10:00:00"
हार्डवेयर घड़ी को वर्तमान सिस्टम समय पर सेट करें।
# hwclock --systohc
हार्डवेयर घड़ी से सिस्टम का समय निर्धारित करें।
# hwclock --hctosys
बस ntpdate ntp.ubuntu.com
और सब ठीक हो जाएगा।
इसके बारे में उबंटू के आधिकारिक दस्तावेज में अधिक जानकारी है
एक और आम, बहुत कष्टप्रद समस्या है, जब गलत समय क्षेत्र का चयन किया जाता है ...
दिनांक आउटपुट के साथ समयक्षेत्र जांचें:
$ तारीख
फ्री अगस्त 23 18:47:04 यूटीसी 2013
समयक्षेत्र प्रकार को ठीक करने के लिए:
$ सुडो त्झसेलेत
और संबंधित संख्या के साथ सही क्षेत्र का चयन करें।
दूसरा काम सही समय निर्धारित करना है:
$ सुडो तिथि - शुरुआत = "18:37:00"
या बस एचडब्ल्यू-घड़ी से समय लें:
$ सूडो hwclock --hctosys
में CentOS
समय-क्षेत्रों में स्थित हैं /usr/share/zoneinfo/
, एक करने के लिए प्रणाली की तारीख बदलने के लिए विशिष्ट समय क्षेत्र आप कर सकते हैं:
सबसे पहले, मौजूदा स्थानीय समय फ़ाइल का बैकअप बनाएं।
sudo mv /etc/localtime /etc/localtime.bak
अगला, लिंक बनाएं:
sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime
टाइप करके नई प्रणाली तिथि जांचें date
।
लिनक्स प्रणाली की तारीख को मैन्युअल रूप से समायोजित करने के लिए आप टाइप कर सकते हैं:
date -s "11 MAR 2006 11:11:11"
या
date --set="11 MAR 2015 11:11:11"
या
date +%Y%m%d -s "20150311"
हार्डवेयर घड़ी को वर्तमान सिस्टम समय पर सेट करने के लिए:
hwclock --systohc
या
hwclock -w
"hwclock" हार्डवेयर (मशीन) की तारीख है, और "तारीख" सॉफ्टवेयर (ऑपरेटिव सिस्टम) की तारीख है।
परिवर्तन के लिए पीसी हार्डवेयर तिथि:
hwclock --set --date="2013-7-31 09:30"
सॉफ़्टवेयर दिनांक बदलने के लिए:
date --set "2013-7-31 09:30"
date
उस समय के रूप में दिए गए समय को उस समय से लौटाएं, जब सीपीयू ने आंतरिक हार्डवेयर घड़ी को शुरू किया था, hwclock
उस समय को देता है जब आंतरिक घड़ी होती है।
सीपीयू आधारित समय मशीन को ऊपर उठाने के लिए प्रेरित करता है, यही कारण है कि hwclock --hctosys
कमांड के अस्तित्व के पीछे । नेटवर्क प्रोटोकॉल समय के उपयोग के पीछे भी एक कारण है, जिसका उपयोग इंटरनेट पर अंतर्राष्ट्रीय स्तर पर समन्वय करने के लिए किया जाता है।
यदि एनटीपी क्लाइंट नहीं है तो इसका उपयोग करें
date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)
URL में eest आपका स्थानीय समयक्षेत्र है
आप utc ... और आदि का उपयोग कर सकते हैं
क्या मैं लिनक्स पर वर्तमान समय को बदल सकता हूं?
मेरे लिए, मुझे पहले इस कमांड को चलाने की आवश्यकता थी:
sudo systemctl stop systemd-timesyncd
अन्यथा, systemd तुरंत समय रीसेट कर देगा। Systemd सेवा को रोकने के बाद, चल रहे date
काम के रूप में अपेक्षित:
$ sudo date -s 'january 1 1971'
Fri Jan 1 00:00:00 CET 1971
$ date
Fri Jan 1 00:00:00 CET 1971
जब सेवा चल रही थी, तो date -s
कमांड काम कर रही थी, लेकिन date
एक पल बाद चलने से मुझे फिर से सिस्टमड टाइम मिलेगा।