Dpkg - 安装 deb 包时不创建文件夹

Dpkg - 安装 deb 包时不创建文件夹

这是我第一次尝试从源创建自己的包。我是怎么做到的:

fakeroot
make install DESTDIR=/home/user/temp
cd /home/user/temp
mkdir DEBIAN
find etc | sed "s/^/\//" > DEBIAN/conffiles

之后我创建了 DEBIAN/control 文件并运行dpkg -b /home/user/temp.之后我有了 deb 包,并且作为一个真正的 root 我这样做了dpkg -i /home/user/temp.deb。但是,dpkg 不会将文件从 deb 包复制到 fs,但它会抱怨此类文件夹不存在(没有此类文件或目录)。据我了解,它必须创建 DEBIAN/CONTENTS 中的文件夹,但事实并非如此。我想念什么?

编辑我尝试添加文件 DEBIAN/dirs 和路径列表:

/etc
/etc/selinux/
/etc/selinux/refpolicy
...

但这没有帮助(我尝试使用前导 / 和不使用前导 /)

编辑命令dpkg-deb -c temp.deb有以下输出

drwxr-xr-x user/user       0 2016-09-08 10:57 ./
drwxr-xr-x user/user       0 2016-09-08 10:57 ./etc/
drwxr-xr-x user/user       0 2016-09-08 10:57 ./etc/selinux/
drwxr-xr-x user/user       0 2016-09-08 10:57 ./etc/selinux/refpolicy/
drwxr-xr-x user/user       0 2016-09-08 10:57 ./etc/selinux/refpolicy/src/
drwxr-xr-x user/user       0 2016-09-08 10:57 ./etc/selinux/refpolicy/src/policy/
drwxr-xr-x user/user       0 2016-09-08 10:57 ./etc/selinux/refpolicy/src/policy/support/
-rw-r--r-- user/user    6176 2016-09-08 10:57 ./etc/selinux/refpolicy/src/policy/support/Makefile.devel
-rw-r--r-- user/user       6 2016-09-08 10:57 ./etc/selinux/refpolicy/src/policy/support/undivert.m4
-rw-r--r-- user/user      12 2016-09-08 10:57 ./etc/selinux/refpolicy/src/policy/support/divert.m4
-rw-r--r-- user/user   10673 2016-09-08 10:57 ./etc/selinux/refpolicy/src/policy/support/pyplate.py
-rw-r--r-- user/user   13796 2016-09-08 10:57 ./etc/selinux/refpolicy/src/policy/support/fc_sort.c
..... etc

这是我得到的:

error creating directory `./etc/selinux/refpolicy/src': No such file or directory

答案1

问题似乎是您已将目录标记为文件conffiles中的内容DEBIAN/conffiles。这不受支持并且确实会破坏。最近的版本dpkg-deb会在这些情况下发出警告。

另外,该DEBIAN/dirs文件在这里没有用处,我猜这与源目录 debian/dirs 下的文件混淆了,由debhelper.

相关内容