运行 fpm 创建的 .deb 包

运行 fpm 创建的 .deb 包

我创建了一个.deb氟PM。该包非常简单,因为它只是运行一个docker 撰写超过 docker-compose.yml文件。

该包由 3 个文件组成:

.
├── diagnosticator
├── diagnosticator.1
└── docker-compose.yml

其权限diagnosticator如下:

-rw-rw-r-- 1 enrico enrico 554 feb 12 21:23 diagnosticator

这是我的diagnosticator脚本,只需要运行docker-compose.yml

#!/usr/bin/env bash

#
# == diagnosticator 0.1.0 ==
#

DOCKER_COMPOSE_FILE=/usr/lib/diagnosticator/docker-compose.yml

if [ -s $DOCKER_COMPOSE_FILE ]; then
  docker-compose pull && docker-compose up
else
  echo ' !!! ERROR !!!'
  echo ' ---> missing docker-compose.yml <--- '
fi

exit 0

这里是fpm用于构建它的命令:

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 \
  --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一切正常并且文件放置在它们应该放置的位置时,但是如果我尝试运行它(带和不带sudo):

$ diagnosticator
bash: /usr/bin/diagnosticator: Permission denied

$ sudo diagnosticator
sudo: diagnosticator: command not found

我希望用户能够在没有sudo.我尝试用谷歌搜索并在这里搜索任何解决方案,但我找不到任何解决方案。有人知道我在这里做错了什么吗?

答案1

您的diagnosticator脚本需要可执行:运行

chmod 755 diagnosticator

并再次构建你的包。

相关内容