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


12

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

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

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

답변:


10

서버 결함에 오신 것을 환영합니다. 일반적으로이 유형의 질문은 여기서 주제가 아닙니다. 대부분의 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 은 설치 절차에서 문제가되는 파일 이름을 알고있는 경우 패키지 이름을 찾기에 좋은 장소입니다. 그러나 다른 배포판의 패키지를 일치시키고 혼합하는 것은 권장되지 않습니다.


해결하기가 다소 까다로울 수있는 라이브러리 종속성 문제에 대해 설명하는 섹션을 제공하는 것이 도움이 될 것이라고 생각합니다.
dunxd

내가 권장하는 항목에는 src RPM에 대한 세부 정보와 사용자 정의 로컬 저장소를 유지 관리하는 방법이 포함됩니다. deb 또는 rpm 파일 작성은 별다른 패키지 요구 사항을 처리해야하는 모든 사람의 도구 벨트의 일부 여야합니다.
Tim Brigham

응용 프로그램 스택과 그 함정에 관한 주제를 다루기 위해 이것을 확장 할 가치가 있습니다. "최신 패키지"질문 에 최근 질문이 떠 오릅니다 .
앤드류 B

커뮤니티 위키이므로 자유롭게 추가하거나 직접 답하십시오. :-)
dunxd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.