내 사용자 계정의 경우 .bash_profile 파일에서 TZ 변수를 america/chicago로 명시적으로 내보냈으므로 date를 입력하면 날짜가 CST 형식으로 표시됩니다. 그러나 다른 사용자에 대해서는 TZ 변수를 설정하지 않았으며 그들이 :date를 입력하면 CST로 날짜도 가져오지만 :timedatectl 명령의 출력에는 시간대가 UTC라고 명시되어 있습니다.
[tim etc]timedatectl 경고: TZ 변수가 무시되었습니다. 시스템의 시간대 설정만 읽습니다.
Local time: Tue 2018-07-17 18:15:53 UTC Universal time: Tue 2018-07-17 18:15:53 UTC RTC time: Tue 2018-07-17 18:15:52 Time zone: UTC (UTC, +0000) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a
TZ 변수를 america/chicago로 설정하지 않은 사용자를 위해 date 명령을 사용하여 America Chicago 출력을 얻는 방법:
[Tim 외] 날짜 2018년 7월 17일 화요일 13:18:46 CDT
또한 lrwxrwxrwx 도 확인했습니다 . 1 루트 루트 25 3월 23일 12:50 현지 시간 -> ../usr/share/zoneinfo/UTC
NTP 지원 회선과 관련이 있습니까? ntpd 데몬이 실행되고 있지 않기 때문에 이것은 또한 나를 혼란스럽게 합니다. 이것은 aws ec2 머신입니다. 도움이 된다면 감사하겠습니다
!
답변1
온라인으로 빠르게 검색하면 timedatectl
유틸리티가 나타났습니다. 내 가상 머신에 시간대 구성이 누락되어 있음이 표시됩니다.
$ sudo timedatectl
Local time: Tue 2018-11-06 17:08:26 UTC
Universal time: Tue 2018-11-06 17:08:26 UTC
RTC time: Tue 2018-11-06 17:08:11
Time zone: Etc/UTC (UTC, +0000)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
심볼릭 링크를 확인하여 하위 수준 시스템의 넓은 시간대 설정을 확인했습니다 /etc/localtime
.
$ ls -la /etc/localtime
lrwxrwxrwx. 1 root root 29 Jun 27 2017 /etc/localtime -> ../usr/share/zoneinfo/Etc/UTC
그런 다음 시간대를 설정하고 결과를 확인하면,
$ sudo timedatectl set-timezone 'America/Toronto'
$ sudo timedatectl
Local time: Tue 2018-11-06 12:09:23 EST
Universal time: Tue 2018-11-06 17:09:23 UTC
RTC time: Tue 2018-11-06 17:09:07
Time zone: America/Toronto (EST, -0500)
NTP enabled: yes
NTP synchronized: no
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
$ ls -la /etc/localtime
lrwxrwxrwx 1 root root 37 Nov 6 12:09 /etc/localtime -> ../usr/share/zoneinfo/America/Toronto
서비스가 새 구성을 학습하려면 재부팅해야 할 수도 있습니다.