ٹائم زون، لوکیل، اور سسٹم زبان
ٹائم زون کیسے سیٹ کریں، وقت کی ہم آہنگی فعال کریں، UTF-8 لوکیل کنفیگر کریں، اور لاگز اور ڈیٹا بیس UTC میں کیوں رکھیں۔
اپ ڈیٹ 23 اگست، 2026
ایک نئی مشین عموماً 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 دوبارہ حساب کریں |
بیک اپ جابز اور لاگنگ سیٹ اپ کرنے سے پہلے ٹائم زون تبدیل کریں۔ لائیو مشین پر، ٹائم زون تبدیل کرنے کا مطلب ہے کہ تمام شیڈولز ایک ساتھ دوبارہ دیکھنے پڑیں گے۔