در CentOS، منطقه زمانی سیستم، هنگام نصب تنظیم میشود و پس از آن به راحتی قابل تغییر است.
استفاده از منطقه زمانی صحیح برای بسیاری از کارها و فرآیندهای مرتبط با سیستم بسیار حیاتی است. به عنوان مثال، برنامه cron daemon برای اجرای فرآیندهای خود از منطقه زمانی سیستم استفاده میکند و برچسبهای زمان در فایلهای گزارش بر اساس منطقه زمانی سیستم خود مقداردهی میشوند.
این آموزش، نحوه تنظیم یا تغییر منطقه زمانی را در CentOS 7 توضیح میدهد.
توجه داشته باشید؛ که برای اینکه بتوانید منطقه زمانی سیستم را تغییر دهید، باید به عنوان root یا کاربر دارای امتیازات sudo وارد سیستم شوید.
مشاهده منطقه زمانی سیستم
در CentOS و سایر توزیعهای جدید لینوکسی، میتوانید از دستور timedatectl برای نمایش و تنظیم زمان و منطقه زمانی سیستم استفاده کنید.
timedatectl
خروجی زیر نشان میدهد؛ که منطقه زمانی سیستم بر روی UTC تنظیم شده است:
Local time: Wed 2019-02-06 22:43:42 UTC
Universal time: Wed 2019-02-06 22:43:42 UTC
RTC time: Wed 2019-02-06 22:43:42
Time zone: Etc/UTC (UTC, +0000)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
منطقه زمانی سیستم با ارجاع etc/localtime/ به یک شناسه منطقه زمانی باینری در دایرکتوری usr/share/zoneinfo/ پیکربندی میشود. بنابراین، گزینه دیگر برای بررسی منطقه زمانی این است که مسیری که etc/localtime/ به آن اشاره میکند را با استفاده از دستور ls نشان دهیم:
$ ls -l /etc/localtime
با اجرای این دستور خروجی به صورت زیر نمایش داده می شود:
lrwxrwxrwx. 1 root root 29 Dec 11 09:25 /etc/localtime -> ../usr/share/zoneinfo/Etc/UTC
تغییر منطقه زمانی در CentOS
قبل از تغییر منطقه زمانی، باید نام طولانی منطقه زمانی مورد نظر خود را پیدا کنید. ساختار نامگذاری منطقه زمانی معمولاً از قالب "منطقه / شهر" استفاده میکند.
برای لیست کردن تمام مناطق زمانی موجود، میتوانید فایلها را در دایرکتوری usr/share/zoneinfo/ لیست کنید، یا از دستور timedatectl استفاده نمایید.
$ timedatectl list-timezones
در اینصورت خروجی به صورت زیر خواهد بود:
...
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Whitehorse
America/Winnipeg
...
پس از شناسایی منطقه زمانی دقیق مکان مورد نظر خود، دستور زیر را به عنوان کاربر sudo اجرا کنید:
$ sudo timedatectl set-timezone your_time_zone
به عنوان مثال، برای تغییر منطقه زمانی سیستم به America/Toronto دستور را به صورت زیر بازنویسی نمایید:
$ sudo timedatectl set-timezone America/Toronto
یا به عنوان مثالی دیگر، برای تغییر منطقهزمانی سیستم به Asia/Tehran دستور زیر را اجرا میکنیم:
$ sudo timedatectl set-timezone Asia/Tehran
برای تأیید تغییرات، دستور timedatectl را اجرا کنید:
$ timedatectl
خروجی اجرای این دستور به صورت زیر نمایش داده می شود:
Local time: Wed 2019-02-06 17:47:10 EST
Universal time: Wed 2019-02-06 22:47:10 UTC
RTC time: Wed 2019-02-06 22:47:10
Time zone: America/Toronto (EST, -0500)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2018-11-04 01:59:59 EDT
Sun 2018-11-04 01:00:00 EST
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2019-03-10 01:59:59 EST
Sun 2019-03-10 03:00:00 EDT
این مطلب نیز ممکن است برای شما مفید باشد: حل مشکل اختلاف زمان در بوت دوگانه ویندوز و لینوکس
تغییر منطقه زمانی با ایجاد یک Symlink (فایل ارجاع دهنده)
اگر نسخه قدیمی CentOS را اجرا میکنید و دستور timedatectl در سیستم شما موجود نیست، میتوانید منطقه زمانی را با استفاده از ارجاع etc/localtime/ به فایل منطقه زمانی در دایرکتوری usr/share/zoneinfo/ تغییر دهید.
فایل etc/localtime/ (فایل ارجاع دهنده) فعلی را حذف کنید:
$ sudo rm -rf /etc/localtime
با استفاده از دستور زیر، منطقه زمانی مورد نظر خود را مشخص کرده و یک فایل ارجاع دهنده ایجاد نمایید:
$ sudo ln -s /usr/share/zoneinfo/America/Toronto /etc/localtime
اکنون میتوانید با لیست کردن فایل ارجاع دهنده etc/localtime/ یا اجرای دستور date آن را تأیید کنید:
$ date
که در این صورت خروجی به صورت زیر خواهد بود:
Wed Feb 6 17:52:58 EST 2019
منبع:
0 دیدگاه
نوشتن دیدگاه