배포 저장소가 아닌 개발자로부터 패키지를 설치할 때 발생할 수 있는 문제

배포 저장소가 아닌 개발자로부터 패키지를 설치할 때 발생할 수 있는 문제

이것은 어떤 사람들에게는 사소한 문제처럼 들릴 수도 있지만, 나는 몇 년 동안 Linux를 사용해 왔지만 아직까지 그것을 실제로 파악하지 못했습니다.

배경 정보가 거의 없습니다. 최근 시스템을 Mint12에서 Mint14로 업그레이드했는데 Eclipse 설치를 시작했을 때 SVN을 다시 설치해야 한다는 것을 깨달았습니다. 알고 보니 최신 버전은 1.7.8(현재 기준)이고 저장소에서 가져온 버전은 1.7.5입니다. 이제 일부 사람들은 이것이 큰 일인지 아닌지 논쟁할 수도 있지만 저는 개인적으로 다운스트림 문제를 피하기 위해 현재 버전을 최신 상태로 유지하고 싶습니다.

저장소를 건너뛰고 개발자 홈페이지(이 경우 subversion.apache)에서 설치하면 어떤 문제가 발생할 수 있는지 궁금합니다.

답변1

"개발자가 제공하면 사람들이 사용합니다" 배포 전략(Windows, 보시죠)을 사용하는 다른 시스템과 달리 UNIX와 같은 배포판에는 일반적으로 패키지 관리자와 패키지를 관리하는 일부 팀이 있습니다.

이것기본요점은 모든 것이 잘 작동하도록 만드는 것입니다. 적어도 Windows를 사용할 때 일반적인 시나리오는 프로그램이 최신 버전을 설치하려는 경우 DLL을 업데이트하지만 모든 것이 최신 버전의 라이브러리에서 제대로 작동하는지 여부를 제어할 수 있는 것이 없으며 더 많은 파일을 추가하기만 하면 됩니다. 정글에서 발견할 수 있으며, 부러지면 심하게 부러질 수도 있습니다.

패키지 관리를 통해 새 버전은 (또는~해야 한다게시하기 전에 테스트하여 다운스트림 문제가 발생하지 않도록 하세요. 비 distro 패키지에 발생할 수 있는 문제는 해당 패키지가 배포판에 대해 실제로 테스트되지 않았거나 메타데이터에 종속성 또는 제한 사항이 누락되었을 수 있다는 것입니다. 이것은 대략가방. 배포판에서 패키지가 출시될 때까지 기다리지 않고 개발자로부터 설치하려는 경우 패키지를 선택하세요. 패키지 관리자를 계속 사용하는 한 시스템이 복잡해질 위험은 없습니다.

소스에서 컴파일하거나 단순히 tarball의 압축을 풀기로 결정한 경우 make install다음을 수행하기 전에 두 번 생각하십시오 /. 파일을 덮어쓰거나 패키지 관리자가 추적하지 않는 파일을 추가할 수 있습니다. 이는 호환되지 않는 파일 설치로 인해 발생할 수 있습니다. 패키지 관리자 등을 사용하여 패키지를 제거하면 설정을 취소할 수 없습니다. 이는 개발자가 제공한 설치 스크립트(nVidia 드라이버...)를 절대 사용하고 싶지 않은 이유이기도 합니다.

이를 엔트로피라고 생각하십시오. 패키지 관리자는 실제로 이를 추적하므로 원하는 경우 열역학 제2법칙을 위반할 수 있습니다. 타사 설치 스크립트를 사용하거나 타사 설치 스크립트만 사용하면 make install시스템을 추적하지 않고 시스템 엔트로피가 증가합니다. 이 작업을 완료한 후에는 추가한 모든 항목이 제거되었는지 확인할 수 있는 유일한 기회는 백업을 복원하거나 시스템을 다시 설치하는 것입니다.

긴 이야기 짧게:

  • 동일한 릴리스에 배포된 소프트웨어와 관련된 문제를 포착하려고 시도하는 릴리스 수준 테스트를 우회하고 있습니다.

  • 패키지 관리자를 우회하고 있으며 문제가 발생하면 시스템을 복구할 수 없는 상태로 만들 수 있습니다.

마지막으로 @jordanm이 말했듯이,장점과 단점을 비교해보세요. 가능하다면 위의 두 번째 항목에 대해 최소한 도움을 줄 수 있는 패키지 관리자용 타사 패키지를 찾으세요.

관련 정보