소프트웨어 종속성 문제를 도와 줄 수 있습니까? 캐 노니

이것은이다 캐 노니 컬 질문 컴파일 종속성 및 패키지 관리에 대한.

포트 / 소프트웨어 컴파일 또는 * nix 서버에 RPM 설치에 관한 질문이 있습니다. 이 작업을 시도하면 누락 된 종속성에 대한 많은 메시지가 나타납니다.

서버 결함 커뮤니티가 도움을 줄 수 있습니까?



답변

서버 결함에 오신 것을 환영합니다. 일반적으로이 유형의 질문은 여기서 주제가 아닙니다. 대부분의 sysadmin은 자신의 워크 스테이션에서 땜질을 통해 sysadmin이되기 전에 이미이 문제에 직면했을 것으로 예상됩니다. 그러나 Windows 배경에서 온 sysadmin은이 문제에 직면하지 않았을 수 있으므로 다음 사항을 고려해야합니다.

패키지 관리자를 사용하여 서버에 소프트웨어를 설치하십시오.

패키지 관리자 등 yum또는 apt당신을 위해 이러한 종속성을 처리합니다. 또한 서버의 소프트웨어 업데이트를 관리하는 데에도 사용할 수 있습니다. * nix의 대부분 버전에는 기본적으로 패키지 관리자가 설치되어 있으며 특히 OS가 사전 설치된 VPS에 설치되어 있습니다. 이 기능을 처음 사용하는 경우 프로덕션 시스템에서이 중 하나를 사용하고 테스트 환경을위한 최첨단 RPM을 컴파일하거나 설치하는 모험을 피하십시오.

그러나 패키지 관리자에서 사용할 수있는 것보다 최신 패키지를 사용해야합니다!

대부분의 패키지 관리자는 다른 리포지토리를 사용하도록 구성 할 수 있습니다. 필요한 패키지 버전을 제공하면서도 패키지 관리자의 기능을 활용할 수있는 패키지 관리자가있을 수 있습니다.

필요한 패키지는 repos 또는 패키지 관리자를 통해 사용할 수 없습니다

이 경우 당신은 아마 종속성 알아낼 필요가 (또는 그것을 빨아 소프트웨어의보다 안정적인 / 일반 버전을 사용). 테스트 환경에서 다음을 수행하고 수행 한 작업을주의해서 기록해야합니다.

  • 설치하려는 소프트웨어의 설명서를 반드시 읽으십시오. 여기에는 아마도 먼저 설치해야하는 것이 나와 있지만 해당 소프트웨어에 필요한 것은 아닙니다 .
  • 대부분의 경우 이러한이 – 필요한 것들을 설치하려면 패키지 관리자를 사용 합니다 사용할 수 있습니다.
  • 이 작업을 완료하면 설치를 시도하십시오.
  • 여전히 누락 된 종속성에 대한 메시지가 표시되면 모든 종속성을 기록한 후 패키지 관리자를 사용하여 가능한 많은 수의 설치를 다시 시도하십시오.
  • 종속성이 없으면 하위 작업으로 간주하고 재귀 적으로 처리해야합니다 (소스 tarball을 찾고 종속성을 찾고 설치).
  • 반복적 인 과정입니다.

여전히 문제가 있습니다!

위의 모든 단계를 수행 한 후에도 여전히 문제가 발생하면 다른 서버 오류로 기꺼이 도와 줄 이상한 문제가 발생했을 수 있습니다. 설치하려는 소프트웨어, 버전 및 정확한 오류 메시지에 대한 세부 정보를 제공하는 새 질문을 작성하십시오.

주요 패키지 관리 시스템에 대한 구체적인 조언

RPM (RHEL / Fedora 및 클론) 및 DEB (Debian / Ubuntu 및 클론) 패키지 관리

  • 파일 이름을 제공하는 yum은 RHEL 유형 시스템에서 특정 파일 또는 라이브러리를 제공하는 패키지를 찾는 훌륭한 방법입니다.
  • ./configure && make && make install가능하면 맹목적으로 사용하지 마십시오 ! 패키지 관리는 이러한 이유로 여러 충돌 파일을 추적 할 수없는 설치로 인한 어색하고 유지하기 어려운 혼란을 방지하기 위해 고안되었습니다.
  • 많은 라이브러리는 이진 (예 : 공유 객체)과 개발 (헤더)의 두 부분으로 나뉩니다. 따라서 libfoolibfoo-devel(또는 -dev) 패키지 가 모두 필요 합니다.
  • tarball을 깔끔한 RPM 및 DEB로 변환하려면 fpm( https://github.com/jordansissel/fpm ) 사용을 고려하십시오
  • 자신의 패키지를 롤링하는 경우 업데이트, 테스트 및 유지 관리를 담당하는 사람입니다. 이를위한 인프라가 없다면 목표는 너무 높아야합니다.

RPM의 파일 이름으로 종속성 찾기

http://rpmfind.net 은 설치 절차에서 문제가되는 파일 이름을 알고있는 경우 패키지 이름을 찾기에 좋은 장소입니다. 그러나 다른 배포판의 패키지를 일치시키고 혼합하는 것은 권장되지 않습니다.