2011-10-16 32 views
5

Tôi đang cố gắng tạo gói Debeb .deb. Gói đã được tạo thành công nhưng tôi nhận được lỗi sau khi tôi cố gắng để cài đặt nó: cấu trúc thư mụcdpkg cho lỗi "Là một thư mục"

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

Các gói phần mềm là:

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

Trong preinst Tôi đã - mkdir -p /opt/myDir postinst trống

Nếu tôi cố gắng cài đặt gói trên một máy chủ lưu trữ khác, tôi nhận được lỗi dưới đây:

package control info rmdir of `opt' didn't say not a dir: Directory not empty

Bất kỳ ý tưởng nào?

+1

Trước tiên, bạn không muốn tạo thư mục trong cài đặt trước. Dpkg sẽ tạo ra điều này khi cần thiết. Thứ hai, bạn không muốn cài đặt các gói Debian trong/opt. Đó là sự vi phạm Chính sách Debian và FHS. Có nói rằng, tôi không biết chính xác lý do tại sao bạn đang nhìn thấy lỗi. –

+0

Vui lòng đăng toàn bộ tập lệnh 'preinst' của bạn. – Flimzy

Trả lời

4

Bố cục thư mục của bạn sai. Nó phải là như thế này:

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

Sau khi bạn xây dựng gói của bạn, bạn có thể kiểm tra định dạng của nó với lintian:

lintian my-package.deb 

tôi đã có vấn đề tương tự như bạn và Lintian giúp tôi sửa chữa nó.

Các vấn đề liên quan