zic 시간대 컴파일러로 잘못된 시간대 오프셋을 수정하는 방법

zic 시간대 컴파일러로 잘못된 시간대 오프셋을 수정하는 방법

iOS 3.1.3을 실행하는 iPod touch(2세대)가 있는데(iOS 4에서는 제대로 실행되지 않기 때문입니다) 컴퓨터에 연결하면 시계가 항상 실제 시간보다 1시간 빠르게 설정됩니다.

SSH를 통해 장치에 연결할 때:

  • date "+%Z"반환되는 ARST것은옳은(저는 아르헨티나 부에노스아이레스에 있어요)
  • date "+%z"결과 -0200잘못된그리고 그래야 한다-0300

내 질문은 다음과 같습니다시간대 오프셋을 실제 값으로 수정하는 방법은 무엇입니까?

"IANA 시간대 데이터베이스"에 대한 언급과 참조를 찾았습니다 zic. 전체 "zoneinfo" 폴더를 대체하기 위해 컴파일된 파일을 찾으려고 했지만, 내가 찾은 다운로드는 iPod에서와 다른 폴더 구조를 사용하는 것 같았습니다.zdump

편집하다:내 시간대 "ARST"가 올바르게 구성되도록 시간대 정보를 편집하거나 업데이트하는 방법을 찾고 있습니다. 이라는 컴파일러에 대한 여러 참조를 찾았습니다 zic. 둘
다 장치에 존재하므로 SSH 및 UNIX 명령을 통해 수행할 수 있다고 믿게 됩니다.ziczdump

답변1

해결책을 찾았습니다여기.

그러나 tzdata 소스가 URI를 변경했습니다. 이제 다음에서 찾을 수 있습니다.ftp://ftp.iana.org/tz/또는http://www.iana.org/time-zones더 많은 정보를 알고 싶습니다.

  1. 이 예에서는 업데이트된 tzdata 파일을 다운로드하여 tzdata2012j.tar.gz임시 폴더에 추출합니다.

  2. SSH를 통해 iPod에 연결하고 압축을 푼 파일을 iPod에 복사합니다. User/Downloads새 (임시) 폴더를 선택 하고 생성한 tzfix후 모든 내용을 여기에 복사했습니다.

  3. 그런 다음 다음 명령을 사용하여 컴파일합니다. zic southamerica몇 초 정도 걸립니다.

  4. 그런 다음 다음 명령을 사용하여 파일을 복사합니다.

    cp /usr/share/zoneinfo/America/Argentina/Buenos_Aires /usr/share/zoneinfo/America/Buenos_Aires

  5. 이제 테스트 date "+%z"하고 date "+%Z"올바른 값을 반환합니다 -0300.ART

마침내! 트위터가 로그인을 거부하거나 Google OTP가 잘못된 인증 코드를 던지는 일 없이 시계를 정확한 시간으로 설정할 수 있습니다.

편집하다:현재 업데이트해야 하는 별도의 데이터베이스가 있습니다. 바로 ICU 데이터베이스입니다. 이는 동일한 tzdata를 사용하며 /usr/share/icu/icudt40l.dat.시계 및 달력 애플리케이션이 정확한 시간을 표시하는 데 필요한 이 데이터 로 컴파일되어야 합니다 .

관련 정보