데비안에서 시간대를 변경하면 UTC로 현지 시간이 유지됩니다


27

내 정신을 위해 프로그램을 로컬 시간에 로그인하려고합니다.

시간대를 다음과 같이 업데이트했습니다.

 dpkg-reconfigure tzdata

그러나 그 명령의 결과는 다음과 같습니다.

Current default time zone: 'Australia/Adelaide'
Local time is now:      Mon May 20 03:09:52 UTC 2013.
Universal Time is now:  Mon May 20 03:09:52 UTC 2013.

UTC 를 주목하십시오Local time

이것이 왜 그런가?

나는 많은 인터넷 검색을 수행했지만 내 문제는 그들 모두와 다르게 보입니다.

자세한 내용은 다음과 같습니다.

# cat /etc/timezone
Australia/Adelaide

# date
Mon May 20 03:41:06 UTC 2013

# export TZ='Australia/Adelaide'; date
Mon May 20 13:16:11 CST 2013

export TZ='Australia/Adelaide';내 설정 은 bash 세션에서 기본적 /etc/profile으로 date작동하지만 시스템 로그 날짜는 변경하지 않습니다 (서비스를 다시 시작한 후)

편집하다:

# ls -l /etc/localtime
lrwxrwxrwx 1 root root 20 May 10 14:48 /etc/localtime -> /usr/share/zoneinfo/

# ls /etc/localtime/
Adelaide    Chile    GMT        Japan      PST8PDT    Universal
Africa      Cuba     GMT+0      Kwajalein  Pacific    W-SU
America     EET      GMT-0      Libya      Poland     WET
Antarctica  EST      GMT0       MET        Portugal   Zulu
Arctic      EST5EDT  Greenwich  MST        ROC        iso3166.tab
Asia        Egypt    HST        MST7MDT    ROK        localtime
Atlantic    Eire     Hongkong   Mexico     Singapore  localtime.dpkg-new
Australia   Etc      Iceland    Mideast    SystemV    posix
Brazil      Europe   Indian     NZ         Turkey     posixrules
CET         Factory  Iran       NZ-CHAT    UCT        right
CST6CDT     GB       Israel     Navajo     US         zone.tab
Canada      GB-Eire  Jamaica    PRC        UTC

대답:

jamzed 덕분에 해결되었습니다. 어떤 이유로 나는 / etc / localtime을 심볼릭 링크로 사용했습니다 ... 여기서 IT Guy는 턴키 12를 사용하여 서버를 설정했기 때문에 문제 일 수 있습니다.

# mv /etc/localtime /etc/localtime.old
# cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime
# date
Thu May 23 09:36:17 CST 2013

답변:


22

이 방법으로 시도하십시오 :

$ sudo cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime

cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime나를 위해 아무것도 변경하지 마십시오 :( 현지 시간은 여전히 ​​UTC ls -l /etc/localtime입니다. 또한 말하는 것을 추가했습니다 .

2
왜 심볼릭 링크를 만들었습니까? 하나의 파일을 복사해야합니다 ... symlink "rm / etc / localtime"을 제거하여 수정하고 "cp / usr / share / zoneinfo / Australia / Adelaide / etc / localtime";-)

symlink는 기본적으로 존재합니다. mv /etc/localtime /etc/localtime.old cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime문제를 해결 :) 감사합니다!
complistic

2
복사가 잘못되었다고 생각합니다. zoneinfo 파일이 변경되면 어떻게됩니까? / etc / localtime이 심볼릭 링크 인 경우 (데비안에 있음) 다른 zoneinfo 파일을 덮어 씁니다.
XTF

32

이것을 달성하는 가장 좋은 방법은 다음을 실행하는 것입니다.

sudo dpkg-reconfigure tzdata

+1, 이것은 데비안 시스템에서 올바른 방법입니다.
jhauris

2
네, dpkg-reconfigure tzdata제가 시도한 첫 번째 것입니다. /etc/localtime어떤 이유로 symlink 이기 때문에 그것은 나를 위해 작동하지 않았습니다 . 두 가지 방법으로 수정하면 시간대가 올바르게 변경됩니다.
complistic

예! ppl은 그렇게 생각하는 것처럼 보이지만 도커 컨테이너에서 데비안을 사용하고 있습니다.
슈퍼 히어로

-1

"Network Time Protocol"을 사용하여 시간을 자동으로 설정하십시오. 다음 명령을 사용하여 데비안에 ntp를 설치하십시오.

$ sudo apt-get 설치 ntp

자세한 내용은 https://wiki.debian.org/DateTime 설명서를 참조하십시오.


여기에 단계를 제공하고 자세한 내용을 보려면 링크를 참조로 사용하는 것이 좋습니다. 그렇게하면 링크가 유효하지 않을 때 답변이 모든 가치를 잃지 않습니다.
Anthon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.