הערה: היום בלילה עוברים לשעון קיץ ולכן אני מקפיץ את המאמר שכתבתי בנושא.
שעון קיץ וחורף בלינוקס:
כדי שלינוקס יעדכן שעון קיץ/חורף באופן אוטומטי יש לבצע את הפעולות הבאות:
תחילה יש לוודא שהמחשב נמצא באזור הזמן הנכון. ב- gnome יש ללחוץ על השעון ולבחור ב- "כוון תאריך ושעה". נקבל את המסך הבא:
יש לוודא שאנו מכוונים ל- Asia/Jerusalem. במידה ולא נלחץ על Timezone, נקבל את מפת כדור הארץ ונבחר בירושלים. כמובן שבמחשב המריץ לינוקס לא חייבת להיות סביבה גרפית כלשהי, ולכן יש לדעת כיצד לבדוק ולכוון את אזור הזמן ללא שימוש באפליקציה גרפית כלשהי. אחלק את ההסבר לשניים: שינוי אזור זמן למשתמש מסוים ושינוי אזור זמן לשרת עצמו.
שינוי אזור זמן למשתמש מסוים:
מקישים את הפקודה date ומקבלים את התשובה הבאה: Sat Sep 1 18:28:59 IDT 2007.
IDT מציין שאנו באזור זמן ישראל. במידה ואנו לא מוגדרים באזור הזמן הנכון, יש להקיש את הפקודה tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none – I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#? 18
The following information has been given:
Israel
Therefore TZ='Asia/Jerusalem' will be used.
Local time is now: Fri Sep 14 18:19:01 IDT 2007.
Universal Time is now: Fri Sep 14 15:19:01 UTC 2007.
Is the above information OK?
1) Yes
2) No
#? 1
You can make this change permanent for yourself by appending the line
TZ='Asia/Jerusalem'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Jerusalem
ilan@etch:~$
הסבר:
בהתחלה בוחרים באופציה 5 (אסיה), אח"כ באופציה 18 (ישראל) ומאשרים. מקבלים תשובה שעברנו לאזור זמן: TZ='Asia/Jerusalem שזה אזור הזמן הרצוי לנו. אך השינוי שעשינו כרגע הוא שינוי זמני. כדי שהשינוי יהיה קבוע יש לערוך את הקובץ profile./~ ולהוסיף בסופו את הפקודה הבאה:
מאחר שלינוקס יכולה לשרת מאות משתמשים, הפרוסים באזורים גאוגרפיים שונים, ניתן לקבוע לכל משתמש את אזור הזמן המתאים לו.
שינוי אזור זמן לשרת:
מריצים את הפקודה: ls -l /etc/localtime. ניתן לראות שהקובץ מצביע על Asia/Jerusalem.
lrwxrwxrwx 1 root root 34 2007-09-14 18:34 /etc/localtime -> /usr/share/zoneinfo/Asia/Jerusalem
בספריה usr/share/zoneinfo/ מופיעים היבשות והמדינות השונות, ובמידה ורוצים לשנות את אזור הזמן לשרת יש לשנות את ערך המצביע של הקובץ etc/localtime/
דוגמא:
במידה והקובץ localtime לא מצביע על אזור הזמן הנכון (ירושלים) ניתן לתקן זאת ע"י עדכון הקישור הסימבולי כך:
ln -s /usr/share/zoneinfo/Asia/Jerusalem /etc/localtime
מריצים את הפקודה: zdump -v Asia/Jerusalem | grep 2007 ומקבלים את הפלט הבא:
Asia/Jerusalem Thu Mar 29 23:59:59 2007 UTC = Fri Mar 30 01:59:59 2007 IST isdst=0 gmtoff=7200
Asia/Jerusalem Fri Mar 30 00:00:00 2007 UTC = Fri Mar 30 03:00:00 2007 IDT isdst=1 gmtoff=10800
Asia/Jerusalem Sat Sep 15 22:59:59 2007 UTC = Sun Sep 16 01:59:59 2007 IDT isdst=1 gmtoff=10800
Asia/Jerusalem Sat Sep 15 23:00:00 2007 UTC = Sun Sep 16 01:00:00 2007 IST isdst=0 gmtoff=7200
etch:/home/ilan#
הסבר:
בשורה הראשונה רואים שעוברים משעון חורף (IST :Israel Standard Time) לשעון קיץ (IDT: Israel Daylight Time) ב: Fri Mar 30 01:59:59 2007. עד זמן זה אנו היינו ב- UTC-2 (יש לשים לב שהזחת הזמן נמדדת בשניות: 7200 מציין שעתיים), ולאחריו אנו עוברים (שורה שנייה) ל- UTC-3. בזמן הזזת השעון הזמן ב- UTC הוא: UTC = Fri Mar 30 03:00:00 2007 כשהזמן המקומי החדש הוא: Fri Mar 30 00:00:00 2007 . אופן דומה שורות 3- ו- 4 מתייחסות למעבר בין שעון קיץ לשעון חורף.
[ratings]
למה יש הבדל בין זה:
# zdump -v Asia/Jerusalem | grep 2007
Asia/Jerusalem Thu Mar 29 23:59:59 2007 UTC = Fri Mar 30 01:59:59 2007 IST isdst=0
Asia/Jerusalem Fri Mar 30 00:00:00 2007 UTC = Fri Mar 30 03:00:00 2007 IDT isdst=1
Asia/Jerusalem Sat Sep 15 22:59:59 2007 UTC = Sun Sep 16 01:59:59 2007 IDT isdst=1
Asia/Jerusalem Sat Sep 15 23:00:00 2007 UTC = Sun Sep 16 01:00:00 2007 IST isdst=0
לבין זה:
# zdump -v Israel | grep 2007
Israel Thu Mar 29 23:59:59 2007 UTC = Fri Mar 30 01:59:59 2007 IST isdst=0
Israel Fri Mar 30 00:00:00 2007 UTC = Fri Mar 30 03:00:00 2007 IDT isdst=1
Israel Sat Sep 15 22:59:59 2007 UTC = Sun Sep 16 01:59:59 2007 IDT isdst=1
Israel Sat Sep 15 23:00:00 2007 UTC = Sun Sep 16 01:00:00 2007 IST isdst=0
המאמר נראה קצת מבלבל. הוא מסביר הרבה דברים שקשורים לשינוי איזור הזמן אולם לא מסביר מה באמת צריך לעשות (כלום, ברוב ההפצות)
החלק המועיל כאן הוא הבדיקה שמוצגת בסופו.
בד"כ אין טעם לשנות את TZ . ואם כבר שיניתם את TZ, התוכן של /etc/localtime חסר משמעות עבורכם.
oc666: כל ההבדל הוא בשם של איזור הזמן. התוכן זהה.
אין שום הבדל: ניתן להכניס את Israel במקום Asia/Jerusalem
צפריר שלום:
אכן ברמה של התחנה הבודדת יש צורך בבדיקת הפלט של הפקודה zdump בלבד, אך ניסיתי להקיף את הנושא ככל שניתן: בחלק הראשון אני מסביר כיצד לבדוק את אזור הזמן, תוך שימוש ב-gui. במידה ואזור הזמן תקין אין יותר מה לעשות. אך מה עושים אם לא מותקנת אפליקציה גרפית? משתמשים ב- zdump. אם הפלט של הפקודה לא נכון יש להשתמש ב- tzselect. אך כל מה שדובר עד עכשיו הוא ברמת המשתמש הבודד. יתכן שאתה מנהל (system administrator) שרת שנמצא בארה"ב שלו מאות משתמשים ברחבי העולם. יש צורך בבדיקת אזור הזמן של השרת (ברמת root) ויש צורך לדעת כיצד לעדכן למשתמשים את אזור הזמן שלהם. בקיצור: הנושא מבלבל כי יש לו היבטים שונים…
פינגבק: תומר כהן - מחשבים ואינטרנט מנקודת מבט אישית » סליחה, מה השעה?
IST means "Israel *STANDARD* Time"
Mamash lo kriti
תודה אורן, תוקן.
הסבר מקיף של ליאור קפלן לנושא:
http://linmagazine.co.il/node/view/47514