در کشور ایران هر 6 ماه زمان یک ساعت به جلو و یا عقب کشیده می شود که طبق مصوبه مجلس از سال 1402 دیگر یک ساعت اعمال نمی شود. ولی سیستم عامل ها یک ساعت را به صورت خودکار اعمال میکنند.
از آنجایی که ایران تحریم است و هیچ پکیجی سیستم عامل ها برای زمان ایران ارائه نمی دهند مجبور هستیم به صورت دستی این تغییرات را اعمال کنیم تا مشکلی در تغییر ساعت سیستم عامل نباشد و با زمان کشور ایران همخوانی داشته باشد.
روش اول :
مرحله اول دریافت فایل tzdb-2022g.tar.lz میباشد. این فایل زمان سیستم عامل را دوباره کامپایل میکند که در ادامه با 1 کامپایل آشنا میشویم.
از سایت https://www.iana.org/time-zones هم میتوانید به این فایل ها دسترسی داشته باشید.
قبل از شروع کار یک بکاب از فایل Tehran میگیریم که در صورت نیاز مجددا از آن استفاده کنیم چون وقتی کامپایل میکنیم این فایل تغییر خواهد کرد.
cp /usr/share/zoneinfo/Asia/Tehran /usr/share/zoneinfo/Asia/Tehran.old
بعد از دریافت فایل tzdb آن را از tar خارج میکنیم و وارد مسیری که از tar خارج کرده میشویم
نکته : دستور zic برای کامپایل مجدد است
sudo zic asia
sudo zic -l Asia/Tehran
کار تمام است و فایل Tehran مجددا کامپایل شد که اگر دستور timedatectl را بزنید خواهید دید که dst دیگر وجود ندارد.
برای اینکه اطمینان پیدا کنیم درست انجام شده باید /etc/localtime حتما لینک شده باشد به Tehran اگر لینک نشده بود دستی انجام دهید :
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Tehran /etc/localtime
روش دوم :
مرحله اول دریافت فایل Tehran-noDST میباشد. Tehran-noDST که میتوانید از اینجا دانلود نمایید.
اگر کامند timedatectl را بزنید نمایش میدهد که DST فعال است و هر شش ماه چه تاریخ و ساعتی تغییرات اجام میشود در واقع اطلاعات LAST DST Change و Next DST Change راه نمایش میدهد.
download Tehran-noDST
cp Tehran-noDST /usr/share/zoneinfo/Asia/Tehran-noDST
timedatectl set-timezone Asia/Tehran-noDST
timedatectl
برای اینکه اطمینان پیدا کنیم درست انجام شده باید /etc/localtime حتما لینک شده باشد به Theran-noDST اگر لینک نشده بود دستی انجام دهید :
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Tehran-noDST /etc/localtime
برچسب:
نویسنده: سجاد رنجبر