숫자가 아닌 패키지 구성 요소를 버전으로 사용하는 이유는 무엇입니까?

숫자가 아닌 패키지 구성 요소를 버전으로 사용하는 이유는 무엇입니까?

우분투(우분투뿐만 아니라) 기본 저장소에서는 다음과 같은 것을 볼 수 있습니다 2.2.14-5ubuntu8.12.

관리자는 왜 그렇게 이상한 버전을 제공합니까?중앙 패키지 저장소?

2.2.14-42이 버전으로 해결할 수 없는 작업은 무엇입니까?

답변1

네임스페이스:

  • 2.2.14apache.org의 업스트림 패키지 버전 번호입니다.
  • -5데비안 패키지 버전인가요?
  • Ubuntu는 여기에 몇 가지 수정을 가하여 반복할 때마다 버전 번호를 늘립니다.ubuntu8.12

-6Debian이 a를 만들고 Ubuntu가 이를 채택하기로 선택한 경우 2.2.14-6Ubuntu에는 a 등이 있을 것이며 2.2.14-6ubuntu1숫자는 더 커질 것입니다. 이는 업그레이드로 간주하려는 경우 중요합니다 apt.

직접 수정하려면 자신만의 네임스페이스를 추가해야 할 수도 있습니다: 2.2.14-5ubuntu8.12zerkms1

Ubuntu가 2.2.14-5ubuntu8.13 또는 2.2.14-5ubuntu9 또는 2.2.14-6을 출시하면 업그레이드가 될 것입니다.

답변2

버전 문자열의 일부는 "업스트림" 버전입니다. 상류원래 소스를 향해 이동하는 것을 의미하며,하류배포 패키지를 의미합니다. 나는 일반적으로 이것 사이에 실질적인 차이가 없다고 생각하므로 기본적으로 두 단계(원본 소스 코드와 컴파일된 배포 패키지)가 있습니다.

예를 들어 bash-4.2.39가 이를 수행합니다. bash-4.2.39의 원본 소스는 페도라, 우분투, 아치 등을 사용하든 정확히 동일하며 동일한 위치에서 제공됩니다. bash-4.2.39에는 소스가 하나만 있습니다. "4.2.39"는 제가 업스트림 버전 번호라고 부르는 것입니다.

그러나 소스는 (시스템 아키텍처를 넘어서) 다양한 방법으로 컴파일될 수 있습니다. 물론 이는 bash의 경우입니다. 이는 원본 소스에 없는 콘텐츠(예: 구성)를 포함할 수도 있는 다운스트림 패키저가 내린 결정입니다. 이 시점에서 우분투용으로 패키지된 bash 4.2.39와 페도라용으로 패키지된 bash 4.2.39 사이에는 상당한 차이가 있을 수 있습니다(동일 배포 버전 간의 차이점도 마찬가지입니다). 이는 대부분 버전 문자열의 마지막 부분인 "ubuntu8.12" 등으로 표시됩니다. 또한 우분투 10 및 12에 사용 가능한 bash 4.2.39가 있더라도 패키지에 필요한 다른 패키지(공유 라이브러리)와 일치하므로 패키지가 컴파일된 배포 및 배포 버전이 정확히 중요합니다. 교환 가능.

"-42"와 같은 것은 배포판의 일부 추가 버전 다운스트림을 나타냅니다. 이는 구성 차이, 배포판 패치 등과 관련될 수 있으며, 이 경우 동일한 "-42" 버전이 배포판(및 그 파생물)의 여러 버전에 대한 여러 저장소에서 사용될 수 있습니다.

이는 다음을 나타내는 고유한 버전 문자열에 추가됩니다.원본 소스 버전, 이것패키지 버전,게다가특정 릴리스 + 릴리스 버전.

관련 정보