কম্পিউটার ঘড়ি নিখুঁত নয়। কয়েক দিন, সপ্তাহ বা মাস দেওয়া হলে, তারা প্রবাহিত হয় এবং প্রকৃত সময় দেখানো বন্ধ করে দেয়। সহজ কথায়, তারা প্রবাহিত হওয়ার পরে, তারা দেখাতে পারে এটি "10:30" যখন আসলে এটি "10:33"। পুরানো কম্পিউটারগুলিতে এটি একটি সাধারণ অভ্যাস ছিল যা পর্যায়ক্রমে কম্পিউটারের ঘড়িটি ম্যানুয়ালি রিডজাস্ট করে। কিন্তু, ইন্টারনেট সংযোগ সর্বব্যাপী হয়ে ওঠার পর, আধুনিক অপারেটিং সিস্টেম এনটিপি সার্ভারের সাহায্যে স্বয়ংক্রিয়ভাবে ঘড়ি সামঞ্জস্য করতে শুরু করে।
এনটিপি কি?
NTP হল নেটওয়ার্ক টাইম প্রোটোকলের সংক্ষিপ্ত রূপ। এটি একটি অ্যালগরিদম যা নেটওয়ার্ক সংযোগের মাধ্যমে কম্পিউটার ঘড়িগুলিকে সিঙ্ক্রোনাইজ করতে এবং সেগুলিকে নির্ভুল রাখতে ডিজাইন করা হয়েছে৷
লিনাক্সে টাইম সিঙ্ক্রোনাইজেশন কীভাবে সক্ষম করবেন
সৌভাগ্যবশত, বেশীরভাগ ডিস্ট্রিবিউশন বাক্সের বাইরে কোন না কোন সময় সিঙ্ক্রোনাইজেশন প্রয়োগ করে। আপনি যদি কখনই আপনার কম্পিউটার ঘড়িটি আপনার ফোন ঘড়ি থেকে দূরে সরে যাওয়ার লক্ষ্য না করেন তবে আপনার প্রায় নিশ্চিতভাবেই একটি NTP ক্লায়েন্ট/ডেমন ইতিমধ্যেই চলছে৷
সিস্টেমড সহ লিনাক্স ওএসে
বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশন সিস্টেমড গ্রহণ করেছে এবং এর সাথে "systemd-timesyncd" ডেমন আসে। এর মানে আপনার কাছে একটি NTP ক্লায়েন্ট ইতিমধ্যেই উবুন্টু, ডেবিয়ান, ফেডোরা, আর্চ লিনাক্স, ওপেনসুস, মাঞ্জারো এবং অন্যান্যগুলিতে পূর্বেই ইনস্টল করা আছে। এই ডিস্ট্রোতে, এবং অন্যান্য যেগুলি তাদের উপর ভিত্তি করে (যেমন, প্রাথমিক OS, Zorin OS), NTP সিঙ্ক সক্ষম হয়েছে কিনা তা পরীক্ষা করতে এটি চালান:
timedatectl
আপনি যদি Network time on: yes
দেখেন আউটপুটে, তারপর আপনার কম্পিউটার ঘড়ি স্বয়ংক্রিয়ভাবে NTP এর মাধ্যমে পর্যায়ক্রমে সামঞ্জস্য করা হয়। কখনও কখনও আপনি NTP synchronized: no
লক্ষ্য করতে পারেন যার অর্থ হতে পারে "systemd-timesyncd" ছাড়াও অন্য কোনো টুলের মাধ্যমে ঘড়িটি সিঙ্ক করা হয়েছে। এর মানে এমনও হতে পারে যে systemd-timesyncd এখনও সিঙ্ক হয়নি কিন্তু পরে তা করবে৷
যদি আপনি Network time on: no
দেখতে পান , NTP টাইম সিঙ্ক্রোনাইজেশন সক্ষম করতে নিম্নলিখিত কমান্ডটি চালান।
sudo timedatectl set-ntp true
এই ডিস্ট্রিবিউশনে আপনাকে যা করতে হবে।
সিস্টেমড ছাড়া লিনাক্স ওএসে
এমএক্স লিনাক্স ইদানীং এত জনপ্রিয় হওয়ার সাথে সাথে, এই ওএস সম্পর্কিত একটি উদাহরণ শুরু করা উপযুক্ত বলে মনে হচ্ছে। এটি একটি বিশেষ ক্ষেত্রেও। এটি "ধরনের" সিস্টেম করেছে, কিন্তু এটি "প্রকার" করে না। timedatectl রিপোর্ট করে যে নেটওয়ার্ক সময় "চালু" কিন্তু systemd-timesyncd ব্যবহার করা হয় না।
তাই কিভাবে এটি সিঙ্ক না? আপনি পরবর্তী কমান্ড দিয়ে চেক করতে পারেন যা আপনি অন্য যেকোনো লিনাক্স অপারেটিং সিস্টেমে ব্যবহার করতে পারেন।
sudo cat /var/log/syslog | grep ntp
MX Linux-এ আপনি নিচের ছবিতে যা দেখছেন তার মতোই একটি ফলাফল পাবেন।
এই ফিল্টার করা লগ বার্তা থেকে, আপনি দেখতে পারেন যে "ntpdate" ক্লায়েন্ট একবার দৌড়েছে। এটি একটি জনপ্রিয় ক্লায়েন্ট, অনেক লিনাক্স ডিস্ট্রিবিউশনে ডিফল্টরূপে ইনস্টল করা হয়। এটি হালকা ওজনের এবং শুধুমাত্র বিক্ষিপ্তভাবে NTP সার্ভারগুলিকে জিজ্ঞাসা করে৷ এটি ব্যাকগ্রাউন্ডে চলে না এবং স্ক্রিপ্ট, সিঙ্ক, তারপর প্রস্থান দ্বারা ট্রিগার হয়।
এর মানে হল যে সময় অত্যন্ত উচ্চ নির্ভুলতার সাথে সিঙ্ক করা হয় না (মিলিসেকেন্ড বা মাইক্রোসেকেন্ড মনে করুন), তবে বেশিরভাগ উদ্দেশ্যে এটি যথেষ্ট সঠিক। এটি সাধারণত নির্ভুল, অন্তত দ্বিতীয় পর্যন্ত।
অন্যান্য অপারেটিং সিস্টেমে আপনি "ntpd" দেখতে পারেন যা একটি ডেমন, ক্রমাগত ব্যাকগ্রাউন্ডে চলছে এবং অত্যন্ত নির্ভুল। এটি যত বেশি চলে, ততই সুনির্দিষ্ট হয়।
যদি, কোনো কারণে, আপনি ntp
ইনস্টল করতে চান অথবা ntpdate
সিস্টেমড সহ অপারেটিং সিস্টেমে, প্রথমে সিস্টেমডের এনটিপি ক্লায়েন্ট নিষ্ক্রিয় করুন।
sudo timedatectl set-ntp false
অবশ্যই, নন-সিস্টেমড ডিস্ট্রোতে উপরের কমান্ডটি প্রয়োজনীয় নয়।
ntpdate ক্লায়েন্ট ইনস্টল করুন
এটি হোম কম্পিউটার, ল্যাপটপ এবং অন্যান্য ডিভাইসগুলির জন্য উপযুক্ত যা ক্রমাগত ইন্টারনেটের সাথে সংযুক্ত থাকে না৷
ডেবিয়ান, উবুন্টু, লিনাক্স মিন্ট, জোরিন এবং এর উপর ভিত্তি করে অন্যান্য ডিস্ট্রোতে, চালান:
sudo apt install ntpdate
উপরের সমস্ত ডেবিয়ান-ভিত্তিক ডিস্ট্রোতে এটি একটি নতুন নেটওয়ার্ক সংযোগ দেখার পরে চালানোর জন্য বাক্সের বাইরে কনফিগার করা হয়েছে। আপনি যদি আপনার নেটওয়ার্ক থেকে সংযোগ বিচ্ছিন্ন করেন এবং পুনরায় সংযোগ করেন তাহলে আপনি এখন একটি সময় সিঙ্ক জোর করে করতে পারেন৷
৷ফেডোরাতে, ntpdate অবচয় করা হবে, তাই এটির পরিবর্তে ntpd ডেমন ব্যবহার করার পরামর্শ দেওয়া হচ্ছে (পরবর্তী বিভাগটি দেখুন)। দুটি কারণে অন্য সব ডিস্ট্রোতে একই সুপারিশ করা হয়:
- তারা কখনও কখনও একটি পৃথক প্যাকেজে ntpdate অন্তর্ভুক্ত করে না তবে পরবর্তী বিভাগ থেকে ntpd এর সাথে এটি বান্ডিল করে।
- প্রতিটি নেটওয়ার্ক সংযোগে স্বয়ংক্রিয়ভাবে চালানোর জন্য তারা ntpdate স্বয়ংক্রিয়ভাবে চালায় না। আপনাকে একটি স্ক্রিপ্টে ntpdate ঢোকাতে হবে যা নেটওয়ার্ক সংযোগের পরে স্বয়ংক্রিয়ভাবে চলে।
এই ক্ষেত্রে, পরবর্তী বিভাগে নির্দেশিত হিসাবে ntpd ইনস্টল করা আরও বোধগম্য।
ntpd ডেমন ইনস্টল করুন
ডেবিয়ান, উবুন্টু, জোরিন, মিন্ট এবং ডেবিয়ান বা উবুন্টুর উপর ভিত্তি করে অন্যান্য ডিস্ট্রোতে, চালান:
sudo apt install ntp
এই distros অবিলম্বে ntpd শুরু করবে এবং তারপর স্বয়ংক্রিয়ভাবে প্রতিটি বুটে এটি চালু করবে; আপনার থেকে আর কোন পদক্ষেপের প্রয়োজন নেই৷
ফেডোরাতে, এর সাথে ইনস্টল করুন:
sudo dnf install ntp
CentOS এ, চালান:
sudo yum install ntp
আর্চ লিনাক্সের জন্য, ব্যবহার করুন:
sudo pacman -S ntp
এবং openSUSE-এ লিখুন:
sudo zypper install ntp
তারপরে, পরিষেবাটিকে বুট করার সময় চালু করতে সক্ষম করুন এবং তারপরে এটি শুরু করুন:
sudo systemctl enable ntpd sudo systemctl start ntpd
অন্যান্য ডিস্ট্রোতে যা systemd ছাড়া চলে, আপনাকে এর পরিবর্তে এই কমান্ডগুলি চালাতে হতে পারে:
sudo update-rc.d ntpd enable sudo service ntpd start
অথবা যা আপনার OS এর সমতুল্য।
আপনি যদি এমন একটি ত্রুটি পান যে ntpd বিদ্যমান নেই, উপরের কমান্ডগুলিতে "ntpd" কে "ntp" দিয়ে প্রতিস্থাপন করুন। কিছু ডিস্ট্রিবিউশন ntpd ডেমন সার্ভিস ফাইলের নাম ভিন্নভাবে রাখে।
উপসংহার
এটি বিরল যে আপনাকে কমপক্ষে একটি গ্রাফিকাল ইউজার ইন্টারফেস সহ একটি লিনাক্স ওএসে এই পদক্ষেপগুলির যে কোনও একটি অনুসরণ করতে হবে। সময় সিঙ্ক ইতিমধ্যে আপনার জন্য কনফিগার করা উচিত. কিন্তু এই পদক্ষেপগুলি অন্তত কখনও কখনও একটি সমস্যা ডিবাগ করতে সাহায্য করতে পারে। অনেক ডেস্কটপ এনভায়রনমেন্ট কন্ট্রোল প্যানেল আপনাকে সময় সিঙ্ক্রোনাইজেশন সক্ষম এবং অক্ষম করতে দেয়। পটভূমিতে তারা আপনার জন্য এটি কনফিগার করতে অনুরূপ কমান্ড ব্যবহার করে, যাতে গ্রাফিকাল ইউজার ইন্টারফেস সরঞ্জামগুলি ব্যর্থ হলে আপনি নিজেই এটি করতে পারেন৷