Skip to content
VDS · অপারেটিং সিস্টেম

টাইমজোন, লোকেল, এবং সিস্টেম ভাষা

কীভাবে টাইমজোন সেট করবেন, সময় সিঙ্ক্রোনাইজেশন চালু করবেন, UTF-8 লোকেল কনফিগার করবেন, এবং কেন লগ ও ডেটাবেস UTC-তে রাখা উচিত।

আপডেট: ২৩ আগস্ট, ২০২৬

একটি নতুন মেশিন সাধারণত UTC-তে এবং ন্যূনতম লোকেল সেট নিয়ে চলে। যতক্ষণ আপনি লগ পড়েন না বা নির্ধারিত কাজ চালান না, ততক্ষণ এটি টের পাবেন না। কিন্তু cron, ইমেইল এবং রিপোর্ট আসার সাথে সাথেই সময় ও এনকোডিং খুব গুরুত্বপূর্ণ হয়ে ওঠে।

টাইম জোন

timedatectl
timedatectl list-timezones | grep Moscow
timedatectl set-timezone Europe/Moscow

timedatectl লোকাল সময়, UTC এবং সিঙ্ক্রোনাইজেশন স্ট্যাটাস দেখায়। System clock synchronized: yes লাইনটির মানে হলো ঘড়িটি নেটওয়ার্কের মাধ্যমে সিঙ্ক্রোনাইজ করা হয়েছে।

যদি সিঙ্ক্রোনাইজেশন বন্ধ থাকে:

timedatectl set-ntp true
systemctl status systemd-timesyncd

AlmaLinux এবং CentOS Stream-এ সাধারণত chronyd সময়ের জন্য দায়ী:

systemctl enable --now chronyd
chronyc tracking

লোকেল

লোকেল বার্তার ভাষা, এনকোডিং এবং সংখ্যা ও তারিখের ফরম্যাট নির্ধারণ করে। প্রয়োজনীয় ন্যূনতম হলো UTF-8; অন্যথায় রুশ ফাইলের নাম এবং প্রোগ্রামের আউটপুট প্রশ্নবোধক চিহ্নে পরিণত হয়।

Debian এবং Ubuntu:

apt install -y locales
dpkg-reconfigure locales
localectl set-locale LANG=ru_RU.UTF-8

AlmaLinux এবং CentOS Stream:

dnf install -y glibc-langpack-ru
localectl set-locale LANG=ru_RU.UTF-8

যাচাই করুন:

locale
locale -a | grep -i utf

পরিবর্তনগুলো নতুন সেশনে কার্যকর হয়—SSH-এর মাধ্যমে আবার লগ ইন করুন।

কনসোলে কীবোর্ড লেআউট

/hosting/vds/m/<id> প্যানেলের “Console” ট্যাবে “Screen” (VNC) ভিউ কীস্ট্রোক হুবহু পাস করে। যদি ঠিক সেখানেই সিরিলিক টাইপ করার প্রয়োজন হয়:

localectl set-keymap ru

সার্ভিসগুলোর এটির প্রয়োজন নেই—তাদের জন্য UTF-8 যথেষ্ট।

UTC-তে কী রাখবেন

সিস্টেম নিজেই এবং ডেটাবেস UTC-তে রাখা যুক্তিসঙ্গত, আর শুধু ব্যবহারকারীদের লোকাল সময় দেখানো উচিত।

  • UTC-তে লগ বিভিন্ন মেশিনের মধ্যে তুলনাযোগ্য থাকে এবং ঘড়ি পরিবর্তনের সময় লাফায় না।
  • UTC-তে থাকা ডেটাবেস ইন্টারভাল গণনা নষ্ট করে না।
  • Cron সিস্টেম টাইম জোন অনুযায়ী সময় গণনা করে: আপনি যদি টাইম জোন পরিবর্তন করেন, তাহলে শিডিউলগুলো আবার পড়ুন।
systemctl restart cron
crontab -l

সাধারণ ভুল

লক্ষণকারণসমাধান
setlocale: LC_ALL: cannot change localeক্লায়েন্ট তার নিজের লোকেল পাঠায়, কিন্তু তা সার্ভারে নেইলোকেল জেনারেট করুন বা ক্লায়েন্টে LANG ফরওয়ার্ডিং সরিয়ে দিন
ফাইলের নামে বিকৃত অক্ষরলোকেল UTF-8 নয়LANG=ru_RU.UTF-8 এবং আবার লগ ইন করুন
সময় কয়েক মিনিট “সরে গেছে”সিঙ্ক্রোনাইজেশন বন্ধtimedatectl set-ntp true
কাজটি ভুল ঘণ্টায় চলেছেআপনি টাইম জোন পরিবর্তন করেছেন কিন্তু শিডিউল একই আছেcrontab পুনরায় গণনা করুন

ব্যাকআপ কাজ এবং লগিং সেট আপ করার আগে টাইম জোন পরিবর্তন করুন। একটি লাইভ মেশিনে টাইম জোন পরিবর্তন করার মানে হলো একসাথে সব শিডিউল পুনরায় দেখা।