새로운 Centos 8 시스템에서 이 명령은 date
시간대가 올바르게 설정되고 올바른 TZ 데이터 파일을 가리키는 경우에도 timedatectl
많은 /etc/localtime
시간대를 표시하지 않습니다.
예를 들어:
# timedatectl set-timezone Asia/Tokyo
# date
Thu May 7 19:18:34 JST 2020
# timedatectl set-timezone Asia/Singapore
# ls -ld /etc/localtime
lrwxrwxrwx 1 root root 36 May 7 18:16 /etc/localtime -> ../usr/share/zoneinfo/Asia/Singapore
# date
Thu May 7 18:18:18 +08 2020
첫 번째 경우에는 "JST"가 올바르게 표시되지만 두 번째 경우에는 "SGT" 대신 "+08"이 표시됩니다.
Centos 6에서는 시간대 이름이 올바르게 표시됩니다. 다른 패키지를 설치해야 합니까?
나를 편집하다
요청에 따라바이너리 스타, "싱가포르"를 직접 지정해 보았습니다. 기쁨이 없습니다.
# timedatectl set-timezone Singapore
# date
Thu May 7 20:52:53 +08 2020
# ls -ld /etc/localtime
lrwxrwxrwx 1 root root 31 May 7 20:52 /etc/localtime -> ../usr/share/zoneinfo/Singapore
실제로 많은 시간대가 숫자 오프셋만으로 보고됩니다. 콘텐츠에 대해 스크립트를 실행했는데 /etc/zoneinfo/Asia
70 시간대 문제가 발생했습니다...
Aden Thu May 7 16:06:44 +03 2020
Almaty Thu May 7 19:06:44 +06 2020
Anadyr Fri May 8 01:06:44 +12 2020
Aqtau Thu May 7 18:06:44 +05 2020
Aqtobe Thu May 7 18:06:44 +05 2020
Ashgabat Thu May 7 18:06:44 +05 2020
Ashkhabad Thu May 7 18:06:44 +05 2020
Atyrau Thu May 7 18:06:44 +05 2020
Baghdad Thu May 7 16:06:44 +03 2020
Bahrain Thu May 7 16:06:44 +03 2020
Baku Thu May 7 17:06:44 +04 2020
Bangkok Thu May 7 20:06:44 +07 2020
Barnaul Thu May 7 20:06:44 +07 2020
Bishkek Thu May 7 19:06:44 +06 2020
Brunei Thu May 7 21:06:44 +08 2020
Chita Thu May 7 22:06:44 +09 2020
Choibalsan Thu May 7 21:06:44 +08 2020
Colombo Thu May 7 18:36:44 +0530 2020
Dacca Thu May 7 19:06:44 +06 2020
Dhaka Thu May 7 19:06:44 +06 2020
Dili Thu May 7 22:06:44 +09 2020
Dubai Thu May 7 17:06:44 +04 2020
Dushanbe Thu May 7 18:06:44 +05 2020
Ho_Chi_Minh Thu May 7 20:06:44 +07 2020
Hovd Thu May 7 20:06:44 +07 2020
Irkutsk Thu May 7 21:06:44 +08 2020
Istanbul Thu May 7 16:06:44 +03 2020
Kabul Thu May 7 17:36:44 +0430 2020
Kamchatka Fri May 8 01:06:44 +12 2020
Kashgar Thu May 7 19:06:44 +06 2020
Kathmandu Thu May 7 18:51:44 +0545 2020
Katmandu Thu May 7 18:51:44 +0545 2020
Khandyga Thu May 7 22:06:44 +09 2020
Krasnoyarsk Thu May 7 20:06:44 +07 2020
Kuala_Lumpur Thu May 7 21:06:44 +08 2020
Kuching Thu May 7 21:06:44 +08 2020
Kuwait Thu May 7 16:06:44 +03 2020
Magadan Fri May 8 00:06:44 +11 2020
Muscat Thu May 7 17:06:44 +04 2020
Novokuznetsk Thu May 7 20:06:44 +07 2020
Novosibirsk Thu May 7 20:06:44 +07 2020
Omsk Thu May 7 19:06:44 +06 2020
Oral Thu May 7 18:06:44 +05 2020
Phnom_Penh Thu May 7 20:06:44 +07 2020
Qatar Thu May 7 16:06:44 +03 2020
Qostanay Thu May 7 19:06:44 +06 2020
Qyzylorda Thu May 7 18:06:44 +05 2020
Rangoon Thu May 7 19:36:44 +0630 2020
Riyadh Thu May 7 16:06:44 +03 2020
Saigon Thu May 7 20:06:44 +07 2020
Sakhalin Fri May 8 00:06:44 +11 2020
Samarkand Thu May 7 18:06:44 +05 2020
Singapore Thu May 7 21:06:44 +08 2020
Srednekolymsk Fri May 8 00:06:44 +11 2020
Tashkent Thu May 7 18:06:44 +05 2020
Tbilisi Thu May 7 17:06:44 +04 2020
Tehran Thu May 7 17:36:44 +0430 2020
Thimbu Thu May 7 19:06:44 +06 2020
Thimphu Thu May 7 19:06:44 +06 2020
Tomsk Thu May 7 20:06:44 +07 2020
Ulaanbaatar Thu May 7 21:06:44 +08 2020
Ulan_Bator Thu May 7 21:06:44 +08 2020
Urumqi Thu May 7 19:06:44 +06 2020
Ust-Nera Thu May 7 23:06:44 +10 2020
Vientiane Thu May 7 20:06:44 +07 2020
Vladivostok Thu May 7 23:06:44 +10 2020
Yakutsk Thu May 7 22:06:44 +09 2020
Yangon Thu May 7 19:36:44 +0630 2020
Yekaterinburg Thu May 7 18:06:44 +05 2020
Yerevan Thu May 7 17:06:44 +04 2020
편집 2
의 응답아니스크그는 시간대 데이터가 "tzdata 패키지에서 제공되므로 날짜 출력은 이 패키지에 따라 달라집니다"라고 말했습니다.
시간대 이름은 Centos 6에는 있지만 Centos 8에는 없습니다. 그렇다면 이는 tzdata
패키지에 버그가 있음을 의미합니까 ?
센토스 6:
$ zdump /usr/share/zoneinfo/Asia/Singapore
/usr/share/zoneinfo/Asia/Singapore Fri May 15 08:25:58 2020 SGT
$ yum list installed | grep tz
tzdata.noarch 2015d-1.el6 installed
tzdata-java.noarch 2015d-1.el6 installed
센토스 8:
$ zdump /usr/share/zoneinfo/Asia/Singapore
/usr/share/zoneinfo/Asia/Singapore Fri May 15 08:52:30 2020 +08
$ yum list installed | grep tz
tzdata.noarch 2019c-1.el8 @anaconda
tzdata-java.noarch 2019c-1.el8 @AppStream
답변1
date
/etc/localtime
이 명령은 디렉토리에 있는 파일을 가리키는 시간대 데이터 파일에서 이름을 가져옵니다 /usr/share/zoneinfo/
. 내용을 읽을 때싱가포르당신이 볼 수 있는 시간대시간대 이름예+08그리고 시간대 이름아시아/도쿄예일본과학기술협회:
( zdump
명령은 시간대 덤퍼입니다)
$ zdump /usr/share/zoneinfo/Asia/Singapore
/usr/share/zoneinfo/Asia/Singapore Thu May 14 06:53:21 2020 +08
$ zdump /usr/share/zoneinfo/Asia/Tokyo
/usr/share/zoneinfo/Asia/Tokyo Thu May 14 07:53:31 2020 JST
이러한 파일은 tzdata
패키지에서 제공되므로 출력은 date
이 패키지에 따라 달라집니다.
답변2
IANA(Internet Assigned Numbers Authority)는 2017년에 많은 국가의 시간대 명명 정책을 변경한 것으로 보입니다. 변경 사항이 tzdata
데이터베이스 에 반영되어 rpm으로 전파된 것 같습니다 .
출시일 2017a - 2017-02-28 00:05:36 -0800
[...]
과거 및 미래 시간대 약어 변경
남아메리카에서는 고안된 약어를 제거하기 위한 진행 중인 프로젝트의 일환으로 숫자 시간대 약어로 전환하고 있습니다. 이렇게 하면 새로운 칠레 지역에 대한 약어를 만들 필요가 없습니다. 마찬가지로 아프가니스탄, 미국령 사모아, 아조레스 제도, 방글라데시, 부탄, 영국령 인도양 지역, 브루나이, 카보베르데, 채텀 제도, 크리스마스 1세, 코코스(킬링) 제도, 쿡 제도, 두바이가 발명한 시간대 약어가 숫자 시간대 약어로 바뀌었고, 동티모르, 유클라, 피지, 프랑스령 폴리네시아, 그린란드, 인도차이나, 이란, 이라크, 키리바시, 로드하우섬, 맥쿼리, 말레이시아, 몰디브, 마샬군도, 모리셔스, 미크로네시아, 몽골, 미얀마, 나우루, 네팔, 뉴칼레도니아, 니우에, 노퍽섬, 팔라우, 파푸아뉴기니, 필리핀, 핏케언, 카타르, 레위니옹섬, 생피에르미클롱, 사모아, 사우디아라비아, 세이셸, 싱가포르, 솔로몬 제도, 토켈라우, 투발루, 웨이크 섬, 바누아투, 월리스 푸투나 제도 및 신장; 1943년 이전 벨리즈 및 1975년 이전 도미니카 공화국의 일광 절약 시간 30분; 1946년, 1975년 이전 기니비사우, 1969년 이전 아이슬란드, 1942년 이전 인도 일광 절약 시간제, 1964년 이전 인도네시아, 1960년 이전 케냐, 1973년 이전 라이베리아, 1967년 이전 마데이라, 1943년 이전 나미비아, 1937-1939년 이전 네덜란드, 1971년 이전 파키스탄, 서부 1977년 이전의 사하라와 1880년부터 1924년까지의 자포로제.