【问题标题】:dpkg giving error "Is a directory"dpkg 给出错误“是一个目录”
【发布时间】:2011-12-08 20:02:59
【问题描述】:

我正在尝试创建一个 Debain .deb 包。包已成功创建,但在尝试安装时出现以下错误:

 unable to open file '/var/lib/dpkg/tmp.ci//opt': Is a directory

包目录结构为:

.
└── DEBIAN
    ├── control
    ├── opt
    │   └── myDir
    │       └── myfile
    ├── postinst
    └── preinst

在 preinst 我已经 - mkdir -p /opt/myDir postinst 是空的

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

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

有什么想法吗?

【问题讨论】:

  • 首先,您不想在 preinst 中创建目录。 Dpkg 将根据需要创建它。其次,您不想在 /opt 中安装 Debian 软件包。这违反了 Debian 政策和 FHS。话虽如此,我不知道您看到错误的确切原因。
  • 请发布您的整个preinst 脚本。

标签: debian packaging dpkg


【解决方案1】:

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

.
├── opt
│   └── myDir
│       └── myfile
└── DEBIAN
    ├── control
    ├── postinst
    └── preinst

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

lintian my-package.deb

我遇到了和你一样的问题,林天帮我解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 2023-03-29
    • 2015-11-08
    • 2022-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多