
Linux 생활의 대부분을 Debian을 사용하여 보냈기 때문에 다른 배포판을 살펴보고 있는데 버전 간 원활한 업그레이드를 제공하지 않는 정도에 정말 놀랐습니다. 데비안은 무한히 업그레이드가 가능하며, 저는 현재 몇 가지 주요 안정 버전을 통해 업그레이드했습니다.
저는 Fedora(및 파생 제품), 심지어 Ubuntu 및 파생 제품과 같이 잘 지원되는 배포판에 대해 이야기하고 있습니다. CentOS와 같은 안정적인 서버 지향 배포판도 마찬가지입니다.
데비안의 패키지 관리 시스템과 패키지 업그레이드 스크립트가 다른 배포판이 제공하는 것보다 훨씬 더 발전했기 때문일까요?
아니면 배포판에 관계없이 전반적으로 더 나은 아이디어로 메이저 버전 업그레이드를 처음부터 다시 설치하는 것입니까?
답변1
그것은 여러 가지 요인의 조합입니다.
대부분의 배포판은 중요하고 때로는 주요 변경 사항을 구현하는 시간으로 주요 릴리스를 사용합니다. 예를 들어 Fedora 15에는 systemd가 추가되었고 Ubuntu에는 6.10에 upstart가 추가되었습니다. 데비안은 여러 면에서 매우 보수적인 배포판입니다. 크고 파괴적인 변화는 눈살을 찌푸리게 합니다.
그 결과, 예를 들어 데비안의 릴리스 주기는 새 릴리스의 표준에 맞게 모든 중요한 패키지를 수정해야 하기 때문에 매우 멀리 떨어져 있습니다.
데비안의 패키지 관리 기술은 Fedora나 Ubuntu보다 우수하지는 않지만(분명히 Ubuntu와 동일하기 때문에), 데비안은 문화적으로 원활한 업그레이드 시스템을 갖는 것이 중요하다고 결정했습니다.
답변2
더 구체적으로 말하자면, 업그레이드를 수행할 때 많은 배포판에서 문제가 발생했습니다. 예를 들어 Ubuntu는 릴리스 간에 설치된 패키지 기반을 대폭 변경합니다. 기존 'dist-upgrade'를 수행하면 설치된 패키지가 새 릴리스로 업데이트되지만 최종 결과에는 새로운 라인업 변경 사항이 없습니다. 기본 설치 패키지의 수준이 '지원됨' 또는 더 나쁜 경우 '지원되지 않음'으로 내려가도 해당 패키지는 그대로 유지됩니다. 이제 새 패키지가 기본 설치에 있으면 해당 패키지가 설치되지 않습니다. 귀하의 릴리스가 '기술적으로' 업그레이드된 릴리스이더라도 새 릴리스 환경을 반영하지 않습니다. 같은 경우도 매우 정확합니다. CentOS5와 CentOS6을 비교할 때 패키지 이름을 완전히 재구성했습니다.
데비안은 이러한 급격한 변화를 희생하면서 원활한 업그레이드를 우선시합니다. 이것이 데비안이 새로운 기능에서 더 느린 이유입니다. 커뮤니티에서는 절충안이 허용됩니다. 이전 답변을 반영하기 위해 패키지 관리 기술 자체와는 아무런 관련이 없습니다. 끊임없는 우분투 재설치가 나를 괴롭힌다고 말할 것입니다.
답변3
당신이 말하는 것은 가족 전체에 해당되지 않습니다.롤링 릴리스배포판.
시스템 유지 관리 소프트웨어의 경우 시스템의 일부만 업그레이드하거나 업그레이드 전체에서 구성 일관성을 유지하는 경우 패키지 간 호환성 문제를 해결하는 것이 훨씬 더 어렵습니다. 다양한 소프트웨어 패키지가 서로 원활하게 작동하도록 조정해야 합니다.
그렇기 때문에 가장 쉬운 이유는 (즉동일한 개발 시간 노력으로 가장 안정적인) 시스템 업데이트를 제공하는 솔루션은 정기적으로 철저하게 테스트된 전체 설치 릴리스를 준비하는 것입니다. Red Hat과 같은 엔터프라이즈 솔루션은 고객에게 안정적인 시스템을 제공해야 하며 가능한 한 오랫동안 업그레이드를 중단함으로써 문제를 겪어야 한다는 입장을 취합니다. (물론, 사소한 업그레이드와 버그 수정이 가능해야 하거나 자동으로 가져와야 합니다). 이는 CentOS와 같은 무료 서버 배포판의 일반적인 철학이기도 합니다.
릴리스 간 원활한 업그레이드 경로를 최종 사용자에게 제공하는 것은 시스템 개발자에게 큰 과제입니다. 많은 배포판은 이에 대해 부족한 시간을 희생하지 않기로 선택합니다. 많은 인기 패키지(예: QT)는 업그레이드하기 어렵고 종종 전체 재설치가 필요합니다. 더욱 중요한 것은 많은 프로젝트가 개발 노력의 감소를 보이거나 신기술로 대체된다는 것입니다. 시스템 패키지의 경우 상당한 시스템 재설계가 필요한 경우가 많습니다. 일부 사람들은 버전 C에서 D로 업그레이드하기를 원하지만 다른 사람들은 중간에 형식 B나 A에서 또는 일부 사용자 지정 상태에서 전환한다는 사실을 고려해야 하는 경우 마이그레이션 절차를 구현하기가 특히 어려울 수 있습니다.
따라서 이미 짐작하셨겠지만 가장 어려운 접근 방식은 롤링 릴리스입니다. 나는 데비안의 접근 방식을 자세히 알지 못하지만, 설명을 보면 그 중간쯤에 있다는 것을 알 수 있습니다.