Centos 8의 "date" 명령은 많은 시간대를 표시하지 않습니다.

Centos 8의 "date" 명령은 많은 시간대를 표시하지 않습니다.

새로운 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/Asia70 시간대 문제가 발생했습니다...

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으로 전파된 것 같습니다 .

독서IANA 시간대 뉴스 페이지:

출시일 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년까지의 자포로제.

관련 정보