답변:
이것은 아마도 OP에 약간 늦었고, 여기에 도착한 다른 검색 자들을위한 것입니다.
비 대화식 솔루션이 필요한 경우 dpkg-reset tzdata 및 debconf-set-selections 를 사용 하여 시간대 를 변경 하여이 솔루션을 사용해보십시오.
echo "Europe/Zurich" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
/ usr / share / zoneinfo에서 검색하여 시간대를 알아낼 수 있습니다. 실제로 위의 dpkg-reconfigure 명령은 해당 파일을 / etc / localtime으로 복사합니다. 나는 그것을 수동으로하는 데 익숙했으며 정상적으로 작동하는 것 같습니다.
장시간 실행되는 프로세스가 변경 사항을 적용하지 않아도 놀라지 마십시오. 예를 들어 Apache 로그 타임 스탬프가 떠 오릅니다. 중요한지 여부와 실행중인 프로세스를 다시 시작해야하는지 또는 다시 부팅해야하는지 고려하십시오.
/etc/localtime
아직 존재하지 않는 요구 사항입니다 . 존재하고에 대한 소프트 링크 /usr/share/zoneinfo/whatever
인 경우 기본으로 사용되며 /etc/localtime
그에 따라 업데이트되어 변경 사항을 덮어 씁니다.
최근 데비안 및 우분투 버전 (Stretch / Xenial 등)에서 대화식으로 편집하지 않으려면 제거해야합니다 . /etc/localtime
그렇지 않으면 /etc/timezone
덮어 씁니다.
echo 'Europe/Zurich' > /etc/timezone
rm /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
이 답변은 mc0e의 답변을 기반으로합니다. 평판이 좋은 의견을 추가 할 수 없습니다.
TL; DR
echo "TZ=Etc/UTC" >> /etc/environment
tzconfig
여기서 Etc/UTC
원하는 시간대 당신은 사용하여 찾을 tzselect
.
더 긴 버전
사용할 때
dpkg-reconfigure tzdata
재부팅 후에는 시간대 정보가 유지되지 않습니다. 당신은 당신의 설정을 확인할 수 있습니다
diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
만 업데이트하는 경우 /etc/timezone
, 업데이트가 일치하지 않습니다 /etc/localtime
때문에, 그것을 실행하는 것이 좋습니다
tzconfig
tzselect
실제로 존재하는 시간대를 찾거나 /usr/share/zoneinfo
디렉토리 를 찾아 보는 데 사용하십시오 .
POSIX 시스템에서는 다음 TZ
보다 우선해야합니다 /etc/localtime
.
export TZ='Europe/Berlin'
$ date
Tue Apr 10 08:51:03 CEST 2018
export TZ='Pacific/Efate'
$ date
Tue Apr 10 18:28:33 +11 2018
직접 사용하면 일부 프로그램이 현재 날짜를 요청할 때마다 자주 사용하는 날짜 / 시간 관련 기능이 파일 시스템에 액세스해야하므로 TZ
많은 시스템 호출 을 저장할 수 있습니다. 미세 최적화이지만 매우 간단합니다.
TZ
프로필 파일로 내 보내면 심볼릭 링크가 만들어 집니까? 그것은 내 경험에서 전혀 사실이 아닙니다. 아마도 "또한 심볼릭 링크를 만들어야합니다 ..."를 의미했을까요?
$TZ
변수는 glibc
함수에 의해 읽 힙니다 : gnu.org/software/libc/manual/html_node/TZ-Variable.html
echo "TZ=Etc/UTC" >> /etc/environment
됩니까? 당신은 TZ=
일부를 잃어 버렸습니다 ... 또한, 데몬과 같은 비대화 형 요소는 여전히 /etc/localtime
하나의 세트 대신 버전을 사용합니다 TZ
.