0、简介
当在ubuntu下开发了一个工程,期望以deb包的形式发布出去的时候,会涉及到打包操作,基本指令是
dpkg -b <project_folder> <package_name.deb>
然后安装的时候,执行的指令是
sudo dpkg -i <package_name.deb>
这是基本的操作指令,随便一搜就有很多教程,这里不再谈论,这里讨论如何在安装的时候,让程序安装到期望的目录下。
1. 问题引出
按上面步骤打包和安装,会有一些问题,假设我们的工程目录如下最简单只包含一个文件(DEBIAN文件夹没写出来):
debtest/
—test
按简介中操作后,会发现在/
目录下,会生成一个debtest
文件夹,里面包含一个test
文件, 这不是我们期望的结果,我们期望debtest
安装到/usr/local/bin
中,这样才能被系统搜索到,怎么办?
2. 解决方法
其实很简单, ubuntu在安装软件的时候,会把deb包里的文件默认解压到/
下,那我们就给deb包里面的文件创建相对于/
的绝对路径就可以了,我们把目录改成这样
debtest/
—usr/
------local/
---------bin/
------------test
那么安装的时候test
文件就会安装到/usr/local/bin
中去了
参考:
- Creating Debian/Ubuntu .deb packages