이전에는 테스트 서버를 Asia/Shanghai
으로 설정했는데, 이틀 전 갑자기 시간대가 맞지 않더군요.
실패하기 전에 업그레이드했는데libc-2.12.so -> libc-2.14.so
, 그것과 관련이 있는지는 모르겠습니다.
tzselect
을 사용하여 다시 선택했지만 작동하지 않습니다.
재설정/etc/localtime
, 유효하지 않음
/etc/sysconfig/clock
설정도 유효하지 않습니다
마지막으로 .bash_profile
에 TZ='America/Nassau'; export TZ
을 설정했는데, 현재 사용자에게만 유효하고 다른 사용자에게는 유효하지 않습니다.
시스템 버전은 다음과 같습니다.
으아아아Google과 Baidu를 검색했지만 여전히 해결책을 찾지 못해 여기에 도움을 청할 수 밖에 없습니다.
알겠습니다. 제가 직접 해결했습니다.
이유는 업그레이드로 인해 발생
libc.so.6
!GNU의 TZ 환경 변수에 대한 설명에서는
TZ
에 값이 없으면 기본적으로 시간대가 선택되며 특정 주소는 libc.so.6 라이브러리에 의해 결정된다는 점을 지적합니다. 업그레이드 전 centos의 기본 시간대 파일은/etc/localtime
이었습니다. 새로 컴파일한 라이브러리를 컴파일할 때--prefix=/usr/local/glibc-2.14
을 설정했는데, 이로 인해 기본 경로가/usr/local/glibc-2.14/etc/localtime
이 되었고 당연히 기본 시간대를 찾을 수 없었습니다.해결책:
으아악완료!