2011-10-16 2 views
5

Debain .deb 패키지를 만들려고합니다. 패키지가 성공적으로 생성되는하지만 난 그것을 설치하려고 할 때 오류를 다음과 점점 오전 :dpkg에서 "Is a directory"오류가 발생합니다.

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

패키지 디렉토리 구조는 다음과 같습니다

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

나는했습니다 - mkdir -p /opt/myDir는 postinst이 비어

나는 다른 호스트에 패키지를 설치하려고하면

, 나는 오류가 아래 얻을 :

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

아이디어가 있으십니까?

+1

먼저 preinst에 디렉토리를 만들고 싶지는 않습니다. Dpkg는 필요에 따라 이것을 생성합니다. 둘째,/opt에 데비안 패키지를 설치하고 싶지 않습니다. 이는 데비안 정책과 FHS를 위반하는 것입니다. 그런데, 나는 왜 당신이 그 오류를보고 있는지 정확히 알지 못한다. –

+0

전체'preinst' 스크립트를 게시하십시오. – Flimzy

답변

4

디렉토리 레이아웃이 잘못되었습니다. 그것은 다음과 같이해야합니다 :

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

당신은 당신이 lintian과의 형식을 테스트 할 수 있습니다 패키지를 구축 한 후 : 당신과 lintian으로 날을 해결 도움으로
lintian my-package.deb 

내가 같은 문제가 있었다.