fpm으로 생성된 .deb 패키지를 실행하세요.

fpm으로 생성된 .deb 패키지를 실행하세요.

.deb패키지를 만들었어요불소 PM. 패키지는 단지 다음을 실행하므로 매우 간단합니다.도커가 작성함초과하다이것 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

패키지를 다시 빌드하세요.

관련 정보