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

标签 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_project ,理想情况下我希望它安装到 /var/lib/my_project .我试过 --installdir--root和我的 dpkg命令,但它提示 cannot access archive: No such file or directory
其他信息:
  • 我正在安装到 ubuntu 盒子
  • 我对 deb 包装很陌生,所以可能错过了一些明显的东西
  • 我不受约束 fpm并很高兴听到其他可行的建议
  • my_project是 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),右侧是我想安装到远程机器上的位置.. .

    关于django - 使用 fpm 制作 deb 包时设置自定义安装目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32094205/

    相关文章:

    python - 我们能否明确说明 python 打包和导入的工作原理?

    amazon-web-services - 使用 AWS CodePipeline 回滚构建

    docker - 如何通过 docker swarm 连接两台本地机器?

    python - syncdb 和 migrate 有什么区别?

    python - 如何在 django 表单中以列表形式输入数据?

    python - Fandjango 的神秘问题

    oop - MATLAB代码的打包

    python - 有没有办法通过 ssh 将 Python psutil 模块发送到没有互联网访问权限的计算机?

    azure - azure devops 上的 Vitest 覆盖范围

    Django 测试没有运行特定的应用程序测试