다음과 같은 문제가 있습니다: 추가 패키지와 함께 사용자 정의 생성 ISO에서 데비안 9 설치를 실행하고 있습니다. 패키지 중 하나가 postinst 스크립트에서 이 패키지에 정의된 python 명령을 실행하지만 postinst 스크립트가 오류와 함께 실패합니다.
my-command command not found
따라서 모든 소프트웨어 설치 단계가 실패합니다. 내 패키지.postinst:
#!/bin/bash
my-command
postinst가 주석 처리되면 모든 절차가 성공적으로 완료됩니다. 다시 시작한 후 프로세스가 실패하더라도 명령줄에서 My-command를 실행할 수 있습니다(dpkg -l은 iF 상태에서 my_package를 반환합니다).
my-package.postinst를 실행하는 동안 올바르게 설치되지 않은 Python 패키지에 문제가 있는 것 같지만 사전 종속으로 이동해도 도움이 되지 않습니다.
어떤 아이디어나 방향이 있나요? 어떤 도움이라도 대단히 감사하겠습니다.
미리 감사드립니다, 베로니카
사용자 정의 Debian 9 iso 디스크는 simple-cdd를 사용하여 생성됩니다.
pkg-root/DEBIAN/my-package 제어:
Package: my-package
Version: 1.0
Priority: optional
Architecture: all
Depends: geoip-bin, openssh-server, ntp, sshguard, lsb-release, vim, less, nload, iotop, logrotate, passwd, python-requests
Pre-depends: python, apt-transport-https, iproute2, python-setuptools
mypackage/setup.py
from setuptools import setup
setup(
name='my-package',
version='1.0',
namespace_packages=['MyModules', 'MyModules.System'],
packages=['MyModules.System.Tools'],
entry_points={
"console_scripts": [
"my-command = MyModules.System.Tools:cli_my_command"
]
},
license='MyLicense'
)
패키징 프로세스 중에 다음 명령을 실행하여 관련 진입점, 종속성_링크 및 네임스페이스_패키지를 만듭니다.
python setup.py install -f --install-layout=deb --prefix=/usr/local --root=pkg-root
답변1
모든 Python 패키지가 올바르게 설치되었으므로 cli 명령을 찾을 수 없는 유일한 문제는 PATH 변수에 있습니다. 이 단계에서는 my-command의 위치가 포함되어 있지 않습니다(/usr/local/bin - 추가된 것 같습니다) 이후) . 해결책은 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
실행하기 전에 my-package.postinst 스크립트에 다음을 추가하는 것 입니다 my-command
.