Django 使用fpm制作deb包时设置自定义安装目录

Django 使用fpm制作deb包时设置自定义安装目录,django,packaging,devops,deb,fpm,Django,Packaging,Devops,Deb,Fpm,我正在使用fpm创建deb包,但当我安装该deb包时,它安装到了错误的位置,我的fpm命令是: fpm -f -s "dir" -t "deb" -a "all" -n "my_project" -v 1 -C "/tmp/tmpjWTuVp" /tmp/tmpjWTuVp/my_project 我要打包的文件夹存在于/tmp/tmpjWTuVp/my_project,但每次我安装它时: dpkg -i my_package.deb 它将它安装到/tmp/tmpjWTuVp/my_项目中,理

我正在使用fpm创建deb包,但当我安装该deb包时,它安装到了错误的位置,我的fpm命令是:

fpm -f -s "dir" -t "deb" -a "all" -n "my_project" -v 1 -C "/tmp/tmpjWTuVp" /tmp/tmpjWTuVp/my_project
我要打包的文件夹存在于
/tmp/tmpjWTuVp/my_project
,但每次我安装它时:

dpkg -i my_package.deb
它将它安装到
/tmp/tmpjWTuVp/my_项目中
,理想情况下,我希望它安装到
/var/lib/my_项目中
。我用我的
dpkg
命令尝试了
--installdir
--root
,但它抱怨
无法访问存档:没有这样的文件或目录

其他资料:

  • 我正在安装一个ubuntu设备
  • 我对deb packaging很陌生,所以可能错过了一些明显的东西
  • 我不一定要参加fpm,我很高兴听到其他可行的建议
  • myu项目中
    是一个python
    virtualenv
    和我的django项目

我在写下这个问题后立即随机找到了答案

基本上,fpm命令中最后一个未命名的参数可以包含一个等号分隔符,它定义了要来自的目录和要安装到的目录,因此我最终使用的命令是:

fpm -f -s "dir" -t "deb" -a "all" -n "my_project" -v 1 -C "/tmp/tmpjWTuVp" my_project=/var/lib/my_project
请注意
my_project=/var/lib/my_project
,左侧是我的项目的目录名(相对,因为我在查找包之前使用
-C
将目录更改为
/tmp/tmpjWTuVp
),右侧是我要在远程计算机上安装到的位置