Ubuntu 리포지토리에 최신 버전의 소프트웨어가없는 이유는 무엇입니까?


145

공식 데비안 Sid, PPA, 저자 등의 최신 (업스트림) 버전보다 공식 Ubuntu 리포지토리의 패키지가 오래된 이유는 무엇입니까?


2
이것은 실제로 우분투뿐만 아니라 모든 배포판에서 발생합니다 .
dr01

9
@ dr01 항상 업데이트되는 롤링 배포판이있는 배포판이 있습니다. 따라서 모든 배포판이이 질문 또는 우분투 개발주기를 따르지는 않습니다
Thomas Ward

답변:


120

Ubuntu 릴리스는 실제로 완성 된 제품으로 공개하기 전에 여러 단계를 거칩니다.

  • 우분투가 릴리스를 시작하기 전에 언젠가는 특정 시점에서 패키지를 고정시킵니다.

  • 릴리스가 끝나기 전에 패키지가 정지 된 후에는 패키지에있을 수있는 모든 버그와 문제를 해결하기위한 작업이 대부분 수행됩니다. 패키지 또는 기능이 정지 된 후에는 새 패키지 버전을 더 이상 저장소로 가져 오지 않습니다.

  • 릴리스가 발생하면 해당 패키지에 대한 추가 변경 사항은 버그 수정 및 보안 문제에 대해서만 발생합니다. 새 버전의 패키지가 릴리스 된 경우에도 공식 저장소의 패키지에 대한 업그레이드는 더 이상 수행되지 않습니다.

다음 릴리스가 발생하고 동일한 프로세스가 반복 될 때까지 다음 데비안 릴리스의 데비안에서 새 버전의 패키지를 지속적으로 가져옵니다.

예를 들어 12.04출시 일정을 살펴볼 수 있습니다 .

4 월에 12.04가 릴리스되었지만 1 월 12 일에 Debian Import Freeze 라는 것이 발생 했음을 알 수 있습니다 .

이것은 실제 릴리스 이전에 발생하는 많은 동결 단계 중 첫 번째 단계이며, 그 시점에서 데비안 테스트에서 패키지 가져 오기 또는 불안정한 중지 및 작업을 시작하여 패키지 문제를 사용자 정의하고 수정합니다.

많은 패키지에서 해당 시점 이후에는 업그레이드가 수행되지 않으며 해당 시점에서 패키지가 보유한 버전은 현재 버전이며 릴리스 수명 동안 유지됩니다.

따라서 개발자의 PPA 또는 Ubuntu + 1 리포지토리에 동일한 패키지의 상위 버전이 있지만 다음 릴리스의 Ubuntu에만 포함됩니다.

이것은 안정성, 보안 및 기능을 위해 수행됩니다. 새로운 출혈 패키지를 항상 메인 리포지토리로 가져 오면 문제가 해결되고 더 많은 문제가 해결됩니다. 패키지 버전이 멈 추면 최종 사용자가 우분투를 더 안전하고 안정적으로 만들 수 있습니다.

새로운 버전의 Ubuntu는 6 개월마다 릴리스되므로 6 개월마다 새로운 패키지가 준비, 테스트, 사용자 정의 및 새 버전으로 릴리스됩니다. 향후 버전의 패키지는 PPA를 통해 또는 웹 사이트에서 다운로드하여 시스템에 설치할 수 있지만 공식 저장소의 패키지 버전은 동일하게 유지됩니다.

10.04에서 12.04가 출시 될 때까지 우분투에서 발생한 일에 대한 자세한 이해와 흥미로운 개요를 보려면 ReleaseSchedule-LTS에서 LTS로안정 릴리스 업데이트 페이지 에서 Ubuntu 안정 릴리스에 대한 전체 개요와 설명을 참조하십시오 .


2
이 정책에는 특히 웹 브라우저 (Firefox, Chromium)에 예외가있는 것 같습니다. 95 % 이상의 패키지가 아래 표시를 따를 수 있지만 웹 브라우저는 대부분의 사용자에게 가장 많이 사용되는 응용 프로그램 일 수 있습니다.
dotpush

최신 소프트웨어를 원하면 런치 패드 PPA 저장소를 사용하십시오.
iBug

@iBug 또는 Arch Linux 또는 NixOS 와 같은 다른 배포판을 사용 하거나 Ubuntu 시스템에 Homebrew 를 설치 하십시오.
Boris

16

두 가지 이유가 있습니다. 첫 번째는 분명합니다. 새로운 업스트림이 나올 때 사람이 패키지를 업데이트하는 데 시간을 소비해야합니다. 두 번째는 현재 개발 버전과 달리 안정적인 릴리스를 실행하는 경우 손상을 방지하기 위해 의도적으로 패키지가 의도적으로 업데이트되지 않는다는 것입니다. http://wiki.ubuntu.com/StableReleaseUpdates를 참조 하십시오 .


3
"새로운 업스트림이 나올 때 사람이 패키지를 업데이트하는 데 시간을 소비해야합니다." 이것은 명백히 거짓이며 모든 것이 자동화 될 수 있습니다. 진짜 이유는 당신이 언급 한 두 번째 이유입니다.

15

패키지는 릴리스를 위해 고정되고 여러 가지 이유로 이후에 업데이트되지 않습니다. 새 릴리스가 릴리스 이후에 제공된 경우 새 버전은 ...

  • 새로운 버그를 가져 와서 출시 당시의 기능을 되돌릴 수 있음
  • 패키지, 테스트 및 업로드에 인력이 필요
  • 자체 보안 업데이트 세트가 필요합니다
  • UI에 대한 업데이트 된 번역이 필요합니다
  • 업데이트 된 문서 및 번역이 필요합니다
  • 기술 지원을 더욱 어렵게 만듭니다
  • 이전 버전의 기능에 익숙해 진 사용자를 귀찮게 할 수 있음
  • 저장소에서 다른 앱이 변경된 경우 새로운 앱이 필요할 수 있습니다.
  • 이 패키지에 의존하는 다른 패키지를 손상시킬 수 있습니다
  • 이전 버전 용으로 작성된 사용자 스크립트, 템플릿, 도구 등이 손상 될 수 있음

그러나 우분투 리포지토리에서 소프트웨어 버전의 전체 업데이트를 수행 하는 경우가 있습니다. 예를 들어 Firefox.

또한 ubuntu-backports 리포지토리 사용자는 위에 나열된 것과 같은 문제를 일으키지 않는 소프트웨어 패키지를 선택할 수 있습니다. 기본적으로 활성화되어 있지 않으므로 사용자가이를 옵트 인해야하므로 소프트웨어가 사용자의 마음에 들지 않을 수 있습니다. 또한 직원이 많지 않으므로 패키지가 실제로 얼마나 자주 업데이트를 받는지 잘 모르겠습니다.

또한 SRU 팀은 최근에 정책을 약간 업데이트하여 버그 수정 전용 패키지 업데이트를 얻는 것이 조금 더 간단 해졌습니다.


11

일반적으로 릴리스 된 Ubuntu 버전의 업데이트는 보안 및 버그 수정을위한 것이며 이러한 버그의 예는 다음과 같습니다.

  • 실제 상황에서 보안 취약점을 직접 일으킬 수있는 버그. 이들은 보안 팀이 수행하며 SecurityTeam / UpdateProcedures에 문서화되어 있습니다.

  • 이전 우분투 릴리스에서 심각한 회귀를 나타내는 버그. 여기에는 설치 제거 또는 시작시 충돌과 같이 완전히 사용할 수없는 패키지가 포함됩니다.

  • 실제 상황에서 사용자 데이터 손실을 직접 유발할 수있는 버그 위의 범주에 맞지 않는 버그 (1) 명백한 안전 패치가 있으며 (2) X.org와 같은 중요한 인프라 패키지가 아닌 응용 프로그램에 영향을 미칩니다. 또는 커널).

  • 장기 지원 릴리스의 경우 정기적으로 새 하드웨어를 사용하려고합니다. 이러한 변경 사항은 기존 하드웨어의 업그레이드에 영향을 미치지 않도록 적절하게 제공됩니다. 예를 들어, 새로 도입 된 드라이버의 모달 리아스는 이전에 제공된 드라이버와 겹치지 않아야합니다. Canonical 파트너 아카이브에 상용 소프트웨어의 새로운 버전.

    -FTBFS (소스에서 빌드 실패)도 고려할 수 있습니다. 기본적으로 릴리스 프로세스는 현재 소스에서 빌드되지 않은 바이너리가 없는지 확인합니다. 일반적으로 이러한 버그는 다른 버그 수정과 함께 사용해야합니다.

    새로운 기능을 제공하지만 중요한 버그를 수정하지 않는 새로운 업스트림 버전 패키지의 경우 백 포트를 대신 요청해야합니다.

훌륭한 위키 페이지 StableReleaseUpdates에서 가져 왔습니다 .


11

우분투 포럼과 우분투 행성에서의 과거 경험을 바탕으로 귀하의 질문에 대답하려고 노력할 것입니다.

아파트 저장소가 어떻게 업데이트되고 누구에 의해 업데이트되는지 궁금합니다.

APT 저장소는 Ubuntu의 패키징 팀에서 업데이트됩니다. 패키징 팀은 초기 패키징 테스트 및 기타 작업을 수행하는 개발자로부터 모든 업스트림 패키지를 얻습니다. 그런 다음 테스트 팀은 최종 테스트를 수행하여 이동 신호를 보냅니다. 그러나 패키징 팀과 테스트 팀은 종속성과 그 측면이 안정적인 시스템에 미치는 영향에 대해 매우 신중합니다.

지연이 발생하면 개발자가 최신 릴리스를 관련 서버로 푸시하지 않았기 때문입니까?

업스트림 변경 사항을 보면 수천 명의 개발자가 패키지를 푸시하려고합니다. 그러나 모든 것이 주류에 성공한 것은 아닙니다. 여러 가지 이유 때문입니다. Gedit 응용 프로그램, 2.2 버전이 Dbus 2.1 및 Gtk 2.4 등에 적합하고 잘 작동한다고 가정합니다. Gedit 2.4 버전 (최신 버전)이 작동하려면 Gtk 2.5 및 Dbus2.3이 필요합니다. 이제 테스트 및 패키징 팀 (릴리스 팀)도 기존 dbus 및 gtk를 가진 기존 시스템을 새 시스템으로 변경하면 다른 모든 기능이 중단되므로이를 받아들이지 않습니다. 당신이 의존의 지옥을 얻었기를 바랍니다.

개발자가 저장소를 사용할 수있는 형태로 릴리스하는 데 더 많은 작업이 있습니까?

업스트림 채널이 아닙니다. 그러나 릴리스 채널에 예 :).

추신 : 위에서 설명한 것과 비교하여 정식 프로세스에서 약간의 변경 사항이있을 수 있습니다. 그러나 다소 비슷합니다.


6

코멘트로 게시 된 링크 fossfreedom에서 허용되는 답변은 매우 좋습니다.

일반적으로 새로운 릴리스 개발 프로세스의 첫 번째 부분 이후에 릴리스 된 패키지 버전은 해당 릴리스의 주요 리포지토리에 나타나지 않으므로 안정적인 우분투 버전을 철저히 테스트 할 수 있습니다.

일부 패키지가 향후 Ubuntu 릴리스에 성공적으로 통합되어 있고 개발자가 이전 패키지와도 함께 작동한다고 생각하는 경우 백 포트 저장소에 릴리스 될 수 있습니다. 소프트웨어 센터에서 백 포트를 활성화 및 비활성화 할 수 있습니다 (편집-> 소프트웨어 소스-> 업데이트 탭-> 지원되지 않는 업데이트)


1
다른 곳에서 언급했듯이 백 포트는 흔하지 않으며 많지 않습니다.
토마스 워드

-3

답변이 꽉 찼습니다.

Software Center에서 백 포트 버전으로 설치할 수있는 것보다 일부 패키지가 있습니다. 창의 오른쪽에있는 설치 / 변경 버튼 왼쪽에 버전을 변경할 수있는 선택 상자가 있습니다.

모범 사례 : 기본값 conky은 현재 1.8.x이며 1.9.0 (precise-backports)백 포트로 있습니다. 물론 백 포트를 먼저 활성화해야합니다.

출처 : http://bugs.launchpad.net/ubuntu/+source/conky/+bug/1003727

편집 : 아래에 언급 된 것처럼 모든 패키지에 백 포트가있는 것은 아니지만 운이 좋으면 조기에 액세스 할 수 있습니다.


3
모든 패키지에 대해 백 포트가 제공되는 것은 아닙니다.
papukaija
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.