일시적으로 시스템 패키지 덮어쓰기

일시적으로 시스템 패키지 덮어쓰기

저는 고정밀 시간/시간대가 필요한 시스템을 작업 중입니다.

보고 있다tzdata패키지출시 후 며칠 뒤에 업데이트되는 경우도 있습니다.인터넷 할당 번호 기관데이터베이스 파일을 업데이트합니다.

소스를 확인 tzdata하고 IANA에서 데이터베이스를 다운로드 및 추출하여 다시 패키지하는 것은 매우 간단합니다.

하지만 공식적인 업데이트 없이 패키지만 다루고 싶습니다. 저장소에 공식 업데이트가 있으면 tzdata원래 상태로 되돌리고 싶습니다.

이것을 달성하는 가장 좋은 방법은 무엇입니까?

답변1

패키지 버전이 최종적으로 사용할 버전 번호보다 앞에 있는 버전 번호를 사용해야 합니다. 로컬 빌드에 대해 이 작업을 수행하는 표준 방법은 ~ 접미사를 사용하는 것입니다. 왜냐하면 이 접미사는 무엇보다 앞에 오기 때문입니다(따라서 오래된 것으로 간주됨). 따라서 2017a의 경우 버전 번호 2017a~-0.1(-0.1)을 사용합니다. 새 버전 비공식 패키지). 현재 버전 이후에 정렬됩니다.

$ dpkg --compare-versions 2016j-0ubuntu0.16.04 lt 2017a~-0.1
$ echo $?
0

따라서 업그레이드 후보로 선택되고 다음 버전 이전에 순위가 지정됩니다.

$ dpkg --compare-versions 2017a~-0.1 lt 2017a-0ubuntu0.16.04
$ echo $?
0

따라서 다음 공식 버전이 이를 대체할 것입니다.

tzdata이 구성표는 다음 업데이트 소스(Debian 또는 Ubuntu)에 관계없이 작동합니다.

데비안 정책버전에 대하여모든 세부 사항이 있습니다.

답변2

당신은 그것을 확인하고 싶을 것입니다버전이 수정되었습니다.

이것은관련된 또 다른 질문

그러나 주요 릴리스 전에 고정 기능을 사용하여 일시적으로 차단하는 것은 어렵습니다.

sudo apt-mark hold tzdataapthold를 사용하여 패키지 업데이트를 방지할 수 있으므로 원하는 업데이트가 있다는 것을 알 때까지 패키지를 현재 버전으로 유지하기 위해 유지를 추가한 다음 유지 를 해제 sudo apt-mark unhold tzdata하고 업데이트할 수 있습니다.

관련 정보