我有一个自定义二进制包。我正在从 Makefile 创建包。以下是相同的代码:
FIREFOX_DIR = /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
build:
mkdir -p $(app_source_dir)
mkdir -p $(app_source_dir)/opt/Sapience/config
mkdir -p $(app_source_dir)/opt/Sapience/firefox
mkdir -p $(app_source_dir)/$(FIREFOX_DIR)/firefox-extension@sapience
mkdir -p $(app_source_dir)/usr/bin
mkdir -p $(app_source_dir)/DEBIAN
cp $(RT)/../bin/sapiencecollector $(app_source_dir)/usr/bin/.
cp $(RT)/../DEBIAN/control $(app_source_dir)/DEBIAN/.
cp $(RT)/../DEBIAN/postinst $(app_source_dir)/DEBIAN/.
cp $(RT)/../DEBIAN/prerm $(app_source_dir)/DEBIAN/.
cp $(RT)/../config/conf.ini $(app_source_dir)/opt/Sapience/config/.
cp -r $(RT)/../external/firefox-extension/* $(app_source_dir)/$(FIREFOX_DIR)/firefox-extension@sapience/.
dpkg --build $(app_source_dir) $(app_name)-$(version).deb
作为安装的一部分,我需要在 /opt 中创建一个名为 Sapience 的目录。为了做到这一点,我在软件包目录中创建了相同的目录层次结构。/opt 已存在于 Linux 中,我不想在安装软件包的机器上再次创建它。软件包已正确安装。当我尝试使用命令删除软件包时,dpkg -r <pkgname>
出现以下错误:dpkg:warning:删除时,/opt 目录不为空,因此未删除。
我不想删除 /opt 目录,但 dpkg 仍试图删除它。有人能告诉我需要做哪些更改才能避免 dpkg 删除目录吗?