버전 문자열 앞에 콜론 앞에 일부 패키지에 추가 번호가있는 이유는 무엇입니까?


29

방금 Wine (및 기타 여러 패키지)이 버전 관리 체계를 다음과 같이 변경했음을 알았습니다.

1:1.6.2-0ubuntu3

나는 그 이후 의 모든 것을 이해 합니다 1:...하지만 무엇을 1:의미합니까?

주요 버전을 반영하지 않는 것 같습니다. 보류중인 업그레이드 목록을 보면 다음 2:4.1.3...과 같은 버전 이 있으며 #:접두사가 없는 많은 패키지가 있습니다 .

무슨 일이야?


우분투 특유의 것으로 보입니다. packages.debian.org/sid/wine 에는이 접두사가 없습니다
Sylvain Pineau

우분투 와인 (14.04 현재)에도 새로 도입되었지만 python3-uno( 우분투 데비안의 ) 다른 패키지 에는 일관된 접두사가 있습니다.
Oli

사실, 나는 수퍼 유저에 대한 답을 발견했습니다
실뱅 피노

@Oli 그건 하지 항상 있었다, 와인에 대한 새로운,하지만 그 값이 있었기 때문에 014.04까지 모든 시간을, 그것은 버전 문자열로 작성 생략되었다. 따라서 실제로 포함 된 접두사 없이 많은 패키지를#: 생각할 수 있습니다 0:. 더 잘 이해하기 위해받은 답변을보십시오.
Radu Rădeanu

답변:


26

보낸 사람 man deb-version:

NAME
       deb-version - Debian package version number format

SYNOPSIS
       [epoch:]upstream-version[-debian-revision]

DESCRIPTION
       Version  numbers as used for Debian binary and source packages
       consist of three components. These are:

       epoch  This is a single (generally  small)  unsigned  integer.
              It  may  be omitted, in which case zero is assumed.  If
              it is omitted then the upstream-version may not contain
              any colons.

              It is provided to allow mistakes in the version numbers
              of older versions of a package, and  also  a  package's
              previous version numbering schemes, to be left behind.

따라서 추가 번호 (귀하의 경우 1)는 생략 될 수 있는 에포크 (epoch) 구성 요소를 나타내며,이 경우 0이 가정 됩니다. 그래서, 만약 당신이 보이는 것처럼 보이는 버전 문자열을 보게되면 1.6.2-0ubuntu3실제로 그것은 같다고 생각할 수 있습니다 0:1.6.2-0ubuntu3. 이것이 어떻게 도움이되며 어떻게됩니까? 이전 버전의 패키지 버전 번호와 패키지의 이전 버전 번호 체계에서 실수를 허용하도록 제공됩니다 . 더 잘 이해하려면 데비안 정책 매뉴얼-제어 파일 및 해당 필드 의 다음 설명 단락을 자세히 살펴보십시오 .

두 버전 번호를 비교하면, 먼저 에포크 각각 비교되어 그 다음 upstream_version 경우 에포크가 동일하고있다 debian_revision 경우 upstream_version는 또한 동일하다. 에포크 는 수치 적으로 비교됩니다.

과:

에포크 (epoch)의 목적은 버전 넘버링에서 실수를 버리고 버전 넘버링 체계가 변경되는 상황에 대처할 수 있도록하는 것입니다. 되는 하지 (같은 패키지 관리 시스템이 해석 할 수없는 문자의 문자열이 포함 된 버전 번호에 대처하기위한 ALPHA또는 pre-), 또는 바보없는 순서로.


14

이것은 시대입니다. 두 패키지 중 최신 패키지를 판별 할 때 버전을 대체합니다.

로부터 deb-version매뉴얼 페이지

   epoch  This is a single (generally small) unsigned integer.  It may  be
          omitted,  in  which case zero is assumed.  If it is omitted then
          the upstream-version may not contain any colons.

          It is provided to allow mistakes in the version numbers of older
          versions  of  a  package,  and also a package's previous version
          numbering schemes, to be left behind.

출처

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.