ubuntu自定义deb安装目录

编译打包和其他
回复
4343
帖子: 1
注册时间: 2023-02-22 14:40
系统: Ubuntu20.04

ubuntu自定义deb安装目录

#1

帖子 4343 » 2023-02-22 14:54

ubuntu 的 构建deb 包是默认会安装在 /usr/local/test 目录下,并且存在维护者脚本。
如果想自定义安装目录,比如想安装在 /app/test 目录下,发现无法通过 dpkg -i --instdir=/app/test test_1.0.0_amd64.deb 目录安装

后面找到替代的安装命令:
dpkg --force-script-chrootless --instdir=/app --install hello_5.0.0-1_amd64.deb

但是发现最终的安装路径为 /app/usr/local/test

另外发现 ubuntu deb 包指定自定义目录是,会将默认的安装目录追加到指定的自定义目录后面,

请问有什么办法可以将自定义的目录 /app 替换 打包时默认的安装目录 /usr/local
debug4
帖子: 85
注册时间: 2020-10-29 7:34

Re: ubuntu自定义deb安装目录

#2

帖子 debug4 » 2023-02-23 20:50

最简单粗暴的方法:
dpkg -b . xxx.deb
头像
astolia
论坛版主
帖子: 6477
注册时间: 2008-09-18 13:11

Re: ubuntu自定义deb安装目录

#3

帖子 astolia » 2023-02-24 14:35

你编译时就该设置用/app作为基目录。
修改已经编译好了的包,要看它的二进制文件中有没有嵌入/usr/local的路径,没有的话才能用

代码: 全选

dpkg-deb -R 包路径 解包目录
来解包,修改完目录结构和相关脚本之后,再用

代码: 全选

dpkg-deb -b 解包目录 包路径
来重新打包。
另外如果包里包含了第三方库文件,可能还需要改ld.so.conf的相关设置
回复