dpkg给出错误"是一个目录"

use*_*208 5 debian packaging dpkg

我正在尝试创建一个Debain .deb包.正在成功创建包但我在尝试安装时遇到以下错误:

 unable to open file '/var/lib/dpkg/tmp.ci//opt': Is a directory
Run Code Online (Sandbox Code Playgroud)

包目录结构是:

.
??? DEBIAN
    ??? control
    ??? opt
    ?   ??? myDir
    ?       ??? myfile
    ??? postinst
    ??? preinst
Run Code Online (Sandbox Code Playgroud)

在preinst中我 - mkdir -p /opt/myDirpostinst是空的

如果我尝试在不同的主机上安装软件包,我会收到以下错误:

'opt'的包控制信息rmdir没有说不是dir:目录不是空的

有任何想法吗?

cub*_*bit 5

您的目录布局错误.它应该是这样的:

.
??? opt
?   ??? myDir
?       ??? myfile
??? DEBIAN
    ??? control
    ??? postinst
    ??? preinst
Run Code Online (Sandbox Code Playgroud)

构建软件包后,您可以使用lintian测试其格式:

lintian my-package.deb
Run Code Online (Sandbox Code Playgroud)

我遇到了和你一样的问题,林天帮助我解决了这个问题.