【问题标题】:Set a custom install directory when making a deb package with fpm使用 fpm 制作 deb 包时设置自定义安装目录
【发布时间】:2015-08-19 11:28:10
【问题描述】:

我正在使用 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。我用我的dpkg 命令尝试了--installdir--root,但它抱怨cannot access archive: No such file or directory

其他信息:

  • 我正在安装到 ubuntu 机器上
  • 我对 deb 打包很陌生,所以可能漏掉了一些明显的东西
  • 我不受 fpm 的约束,很高兴听到其他可行的建议
  • my_project 内部是一个 python virtualenv 和我的 django 项目

【问题讨论】:

    标签: django packaging devops deb fpm


    【解决方案1】:

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

    基本上 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),右边是我想要的地方安装到远程机器上...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-01
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多