Skip to content
VDS · أنظمة التشغيل

المنطقة الزمنية واللغة والإعدادات المحلية

كيف تضبط المنطقة الزمنية، وتُفعّل مزامنة الوقت، وتُعدّ إعدادًا محليًا 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.

تخطيط لوحة المفاتيح في الطرفية

تعرض شاشة “Screen” (VNC) في تبويب “Console” ضمن لوحة /hosting/vds/m/<id> ضغطات المفاتيح كما هي. إذا كنت بحاجة إلى كتابة الأحرف السيريلية هناك مباشرةً:

localectl set-keymap ru

لا تحتاج الخدمات إلى هذا—يكفيها UTF-8.

ما الذي يُترك بتوقيت UTC

من المنطقي إبقاء النظام نفسه وقاعدة البيانات بتوقيت UTC، وإظهار الوقت المحلي للأشخاص فقط.

  • السجلات بتوقيت UTC قابلة للمقارنة عبر الآلات ولا تتغير عند تغيّر الساعات.
  • قاعدة البيانات بتوقيت UTC لا تُفسد حسابات الفواصل الزمنية.
  • يحسب cron الوقت حسب المنطقة الزمنية للنظام: إذا غيّرت المنطقة الزمنية، فأعد قراءة الجداول.
systemctl restart cron
crontab -l

الأخطاء الشائعة

العَرَضالسببالحل
setlocale: LC_ALL: cannot change localeالعميل يرسل لغته المحلية الخاصة، لكنها غير موجودة على الخادمأنشئ اللغة المحلية أو أزل تمرير LANG على العميل
أحرف مشوّهة في أسماء الملفاتاللغة المحلية ليست UTF-8LANG=ru_RU.UTF-8 ثم سجّل الدخول مرة أخرى
“انحراف” الوقت بدقائقالمزامنة معطّلةtimedatectl set-ntp true
نُفّذت المهمة في الساعة الخاطئةغيّرت المنطقة الزمنية لكن الجدول بقي كما هوأعد حساب crontab

غيّر المنطقة الزمنية قبل إعداد مهام النسخ الاحتياطي والتسجيل. على آلة قيد التشغيل، يعني تغيير المنطقة الزمنية مراجعة جميع الجداول دفعةً واحدة.