.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
패키지를 다시 빌드하세요.