설명하다

설명하다

설명하다

예를 들어:

  1. 나는 source 에서 빌드할 것이다 my-app.
  2. 몇 가지 종속성이 필요합니다. 설치하십시오 apt-get install foo bar baz.
  3. 애플리케이션을 빌드합니다.
  4. 다른 hello.deb종속성을 설치하십시오 foo.
  5. my-app전체 소스 폴더를 삭제하여 잠시 후에 제거하십시오.
  6. 종속성을 제거했습니다 my-app.

그러나 6단계에서는 패키지가 여전히 필요하기 apt-get remove foo bar baz때문에 단순히 종속성을 게시할 수 없으므로 및 패키지 만 제거해야 합니다.hello.debfoobarbaz

제안

이 문제를 해결하기 위해 가상 패키지를 생성하고 , 의 종속성을 선언하고 foo이 가상 패키지를 간단히 설치할 수 있습니다. 나중에 이 더미 패키지를 제거하여 이러한 모든 종속성을 안전하게 제거할 수 있습니다. 래퍼 스크립트는 이러한 패키지를 동적으로 빌드하고 설치합니다.barbaz

$ apt-get-named install foo bar baz
Intention: for-myapp

질문

이 접근 방식으로 문제가 해결됩니까? 이와 같은 문제에 대한 구현된 솔루션이 있습니까? 이 목적을 위해 더미 패키지를 어떻게 만들 수 있습니까?

답변1

이것을 정확하게 제공할 수 있는 기성 도구는 없습니다. 데비안의 일반적인 기대는 누군가가 그것을 패키지화 my-app하고 그것이 실제 패키지가 되어 my-app설치되어 있는 한 종속성을 계속 사용할 수 있도록 보장하는 것이기 때문입니다( ) 와는 별도로 hello.

하지만 이런 상황에서 유용하게 사용할 수 있는 두 가지 도구가 있습니다. 내가 생각하기에 가장 관련성이 높은 것은 equivs종속성이 있는 더미 패키지를 생성하는 빠른 방법을 제공한다는 것입니다.종속성만 포함하는 .deb 패키지 만들기더 알아보기. 또 다른 도구는 mk-build-deps다른 패키지의 빌드 종속성을 반영하는 가상 패키지를 생성하는 데 사용되며 약간 다른 시나리오에 유용합니다. 목표는 특정 패키지의 빌드 종속성을 하나의 단위로 관리하는 것입니다. 바라보다dpkg-checkbuilddeps에 의해 감지된 충족되지 않은 빌드 종속성을 자동으로 설치합니다.더 알아보기.

관련 정보