Software-Installation

fpm .deb 包 docker 依賴項

  • February 12, 2022

我用fpm創建了一個簡單的.deb包。該軟體包非常基本,它只是執行一個docker-compose文件(有關軟體包描述,請參閱我的其他問題

我試圖指定包需要dockerdocker-compose

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

我在這裡做錯了什麼?

包依賴關係是包名稱,而不是二進製文件。

對於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.

引用自:https://unix.stackexchange.com/questions/690322