कंप्यूटर घड़ियां सही नहीं हैं। कुछ दिनों, हफ्तों या महीनों को देखते हुए, वे बहाव करते हैं और वास्तविक समय दिखाना बंद कर देते हैं। सीधे शब्दों में कहें, उनके बहाव के बाद, वे इसे "10:30" दिखा सकते हैं, जबकि वास्तव में यह "10:33" है। पुराने कंप्यूटरों पर समय-समय पर कंप्यूटर घड़ी को मैन्युअल रूप से समायोजित करना आम बात थी। लेकिन, इंटरनेट कनेक्शन सर्वव्यापी हो जाने के बाद, आधुनिक ऑपरेटिंग सिस्टम ने NTP सर्वर की मदद से घड़ी को स्वचालित रूप से समायोजित करना शुरू कर दिया।
NTP क्या है?
NTP नेटवर्क टाइम प्रोटोकॉल का संक्षिप्त नाम है। यह नेटवर्क कनेक्शन के माध्यम से कंप्यूटर घड़ियों को सिंक्रनाइज़ करने और उन्हें सटीक रखने के लिए डिज़ाइन किया गया एल्गोरिदम है।
Linux पर टाइम सिंक्रोनाइज़ेशन कैसे सक्षम करें
सौभाग्य से, अधिकांश वितरण बॉक्स के बाहर, एक रूप या किसी अन्य समय सिंक्रनाइज़ेशन को लागू करते हैं। यदि आपने कभी नहीं देखा कि आपकी कंप्यूटर घड़ी आपके फोन की घड़ी से दूर जा रही है, तो निश्चित रूप से आपके पास निश्चित रूप से एक NTP क्लाइंट/डेमॉन पहले से चल रहा है।
लिनक्स ओएस पर systemd के साथ
अधिकांश Linux वितरणों ने systemd को अपनाया है, और इसके साथ "systemd-timesyncd" डेमॉन आता है। इसका मतलब है कि आपके पास उबंटू, डेबियन, फेडोरा, आर्क लिनक्स, ओपनएसयूएसई, मंजारो और अन्य पर पहले से ही एक एनटीपी क्लाइंट है। इन डिस्ट्रोस पर, और अन्य जो उन पर आधारित हैं (उदाहरण के लिए, प्राथमिक ओएस, ज़ोरिन ओएस), यह जांचने के लिए चलाएं कि एनटीपी सिंक सक्षम है या नहीं:
timedatectl
यदि आप Network time on: yes
. देखते हैं आउटपुट में, तो आपकी कंप्यूटर घड़ी स्वचालित रूप से समय-समय पर एनटीपी के माध्यम से समायोजित हो जाती है। कभी-कभी आप NTP synchronized: no
. भी देख सकते हैं जिसका अर्थ यह हो सकता है कि घड़ी को "systemd-timesyncd" के अलावा किसी अन्य उपकरण के माध्यम से समन्वयित किया गया है। इसका मतलब यह भी हो सकता है कि systemd-timesyncd अभी तक सिंक नहीं हुआ है, लेकिन बाद में करेगा।
यदि आप Network time on: no
. देखते हैं , एनटीपी टाइम सिंक्रोनाइज़ेशन को सक्षम करने के लिए निम्न कमांड चलाएँ।
sudo timedatectl set-ntp true
इन वितरणों पर आपको बस इतना ही करना है।
लिनक्स ओएस पर बिना सिस्टमड के
एमएक्स लिनक्स हाल ही में इतना लोकप्रिय हो रहा है, इस ओएस के बारे में एक उदाहरण शुरू करने के लिए उपयुक्त लगता है। यह भी एक विशेष मामला है। यह "तरह का" सिस्टमड है, लेकिन यह "तरह का" नहीं है। timedatectl रिपोर्ट करता है कि नेटवर्क समय "चालू" है, लेकिन systemd-timesyncd का उपयोग नहीं किया जाता है।
तो यह कैसे सिंक करता है? आप अगले कमांड से जांच सकते हैं जिसे आप किसी अन्य लिनक्स ऑपरेटिंग सिस्टम पर उपयोग कर सकते हैं।
sudo cat /var/log/syslog | grep ntp
एमएक्स लिनक्स पर आपको निम्न चित्र के समान परिणाम मिलेगा।
इस फ़िल्टर किए गए लॉग संदेश से, आप देख सकते हैं कि "ntpdate" क्लाइंट एक बार चला। यह एक लोकप्रिय क्लाइंट है, जो कई लिनक्स वितरणों पर डिफ़ॉल्ट रूप से स्थापित है। यह हल्का है और केवल छिटपुट रूप से NTP सर्वर से पूछताछ करता है। यह पृष्ठभूमि में नहीं चलता है और स्क्रिप्ट द्वारा ट्रिगर होता है, सिंक करता है, फिर बाहर निकलता है।
इसका मतलब है कि समय अत्यधिक उच्च सटीकता (मिलीसेकंड या माइक्रोसेकंड के बारे में सोचें) के साथ समन्वयित नहीं है, लेकिन यह अधिकांश उद्देश्यों के लिए पर्याप्त सटीक है। यह सामान्य रूप से सटीक है, कम से कम दूसरे तक।
अन्य ऑपरेटिंग सिस्टम पर आप "एनटीपीडी" देख सकते हैं, जो एक डेमॉन है, जो लगातार पृष्ठभूमि में चल रहा है और बेहद सटीक है। यह जितना अधिक चलता है, उतना ही सटीक होता जाता है।
अगर, किसी कारण से, आप ntp
install इंस्टॉल करना चाहते हैं या ntpdate
systemd के साथ ऑपरेटिंग सिस्टम पर, पहले systemd के ntp क्लाइंट को अक्षम करें।
sudo timedatectl set-ntp false
बेशक, गैर-सिस्टमड डिस्ट्रोस पर उपरोक्त आदेश आवश्यक नहीं है।
एनटीपीडेट क्लाइंट स्थापित करें
यह घरेलू कंप्यूटर, लैपटॉप और अन्य उपकरणों के लिए उपयुक्त है जो लगातार इंटरनेट से कनेक्ट नहीं होते हैं।
इन पर आधारित डेबियन, उबंटू, लिनक्स मिंट, ज़ोरिन और अन्य डिस्ट्रो पर, रन करें:
sudo apt install ntpdate
उपरोक्त सभी डेबियन-आधारित डिस्ट्रोज़ पर इसे एक नया नेटवर्क कनेक्शन देखने के बाद चलाने के लिए, बॉक्स से बाहर कॉन्फ़िगर किया गया है। यदि आप अपने नेटवर्क से डिस्कनेक्ट करते हैं और फिर से कनेक्ट करते हैं, तो आप अभी समय समन्वयन के लिए बाध्य कर सकते हैं।
फेडोरा पर, ntpdate को पदावनत कर दिया जाएगा, इसलिए यह अनुशंसा की जाती है कि आप इसके बजाय ntpd डेमॉन का उपयोग करें (अगला भाग देखें)। अन्य सभी डिस्ट्रो के लिए दो कारणों से इसकी अनुशंसा की जाती है:
- कभी-कभी वे ntpdate को एक अलग पैकेज में शामिल नहीं करते हैं, लेकिन अगले भाग से ntpd के साथ बंडल करते हैं।
- वे प्रत्येक नेटवर्क कनेक्शन पर स्वचालित रूप से चलने के लिए ntpdate को स्वचालित नहीं करते हैं। आपको ntpdate स्वयं को एक स्क्रिप्ट में सम्मिलित करना होगा जो नेटवर्क कनेक्ट होने के बाद स्वचालित रूप से चलती है।
इस मामले में, अगले भाग में दिए गए निर्देश के अनुसार ntpd स्थापित करना अधिक समझदारी है।
एनटीपीडी डेमॉन स्थापित करें
डेबियन, उबंटू, ज़ोरिन, मिंट और डेबियन या उबंटू पर आधारित अन्य डिस्ट्रो पर, रन करें:
sudo apt install ntp
ये डिस्ट्रोस तुरंत एनटीपीडी शुरू करेंगे और फिर इसे हर बूट पर स्वचालित रूप से लॉन्च करेंगे; आपकी ओर से किसी और कार्रवाई की आवश्यकता नहीं है।
फेडोरा पर, इसके साथ स्थापित करें:
sudo dnf install ntp
CentOS पर, चलाएँ:
sudo yum install ntp
आर्क लिनक्स के लिए, उपयोग करें:
sudo pacman -S ntp
और ओपनएसयूएसई पर, दर्ज करें:
sudo zypper install ntp
बाद में, सेवा को बूट पर लॉन्च करने के लिए सक्षम करें और फिर इसे प्रारंभ करें:
sudo systemctl enable ntpd sudo systemctl start ntpd
अन्य डिस्ट्रोज़ पर जो बिना सिस्टमड के चलते हैं, आपको इसके बजाय इन कमांड को चलाना पड़ सकता है:
sudo update-rc.d ntpd enable sudo service ntpd start
या जो भी आपके OS के समकक्ष हो।
यदि आपको कोई त्रुटि मिलती है कि ntpd मौजूद नहीं है, तो उपरोक्त आदेशों में "ntpd" को "ntp" से बदलें। कुछ डिस्ट्रीब्यूशन ntpd डेमॉन सर्विस फाइल्स को अलग तरह से नाम देते हैं।
निष्कर्ष
यह दुर्लभ है कि आपको कम से कम ग्राफिकल यूजर इंटरफेस के साथ लिनक्स ओएस पर इनमें से किसी भी चरण का पालन करना होगा। समय समन्वयन आपके लिए पहले से ही कॉन्फ़िगर किया जाना चाहिए। लेकिन ये कदम कम से कम कभी-कभी किसी समस्या को दूर करने में आपकी मदद कर सकते हैं। कई डेस्कटॉप वातावरण नियंत्रण पैनल आपको समय सिंक्रनाइज़ेशन को सक्षम और अक्षम करने देते हैं। पृष्ठभूमि में वे आपके लिए इसे कॉन्फ़िगर करने के लिए समान कमांड का उपयोग करते हैं, इसलिए जब ग्राफिकल यूजर इंटरफेस टूल विफल हो जाते हैं तो आप इसे स्वयं कर सकते हैं।