fpm .deb 패키지 도커 종속성

fpm .deb 패키지 도커 종속성

.deb간단한 패키지를 만들었어요불소 PM. 이 패키지는 매우 기본적이며 다음을 실행합니다.도커가 작성함문서(내 다른 질문 참조여기패키지 설명의 경우).

패키지에 필요한 사항을 지정하려고 합니다.도커그리고도커가 작성함그리고:

fpm \
  -s dir -t deb \
  --deb-use-file-permissions \
  -p diagnosticator-0.1.0-1-any.deb \
  --name diagnosticator \
  --license agpl3 \
  --version 0.1.0 \
  --architecture all \
  --depends bash \
  --depends docker \
  --depends docker-compose \
  --description "Diagnosticator local app" \
  --url "https://diagnosticator.com" \
  --maintainer "Enrico Cocchi" \
  diagnosticator=/usr/bin/diagnosticator diagnosticator.1=/usr/share/man/man1/diagnosticator.1 docker-compose.yml=/usr/lib/diagnosticator/docker-compose.yml

그러나 다음을 사용하여 설치하려고 하면 sudo dpkg -i diagnosticator-0.1.0-1-any.deb:

dpkg: dependency problems prevent configuration of diagnosticator:
 diagnosticator depends on docker; however:
  Package docker is not installed.
 diagnosticator depends on docker-compose; however:
  Package docker-compose is not installed.

내 사용자를 위해 설치하고 작동하더라도 다음과 같습니다.

$ which docker
/usr/bin/docker

$ which docker-compose
/usr/local/bin/docker-compose

내가 여기서 뭘 잘못하고 있는 걸까?

답변1

패키지 종속성은 바이너리가 아닌 패키지 이름에 따라 달라집니다.

의 경우 다음 docker을 실행하여 적절한 패키지 이름을 결정할 수 있습니다.

dpkg -S /usr/bin/docker

의 경우 docker-compose먼저 고유한 패키지를 생성하거나 다음으로 전환해야 할 수도 있습니다.관련 패키지.

apt install ./diagnosticator-0.1.0-1-any.deb패키지를 설치하는 대신 을 사용하여 dpkg -i종속성을 해결하려고 할 수도 있습니다. 또한 패키지 파일 이름은 diagnosticator_0.1.0-1_all.deb.

관련 정보