2011-10-16 6 views
5

Estoy intentando crear un paquete Debain .deb. El paquete está siendo creado con éxito pero estoy consiguiendo error siguiente cuando intento instalarlo: estructura de directoriosdpkg dando el error "Es un directorio"

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

El paquete es:

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

En preinst he - mkdir -p /opt/myDir postinst está vacía

Si intento instalar el paquete en un host diferente, me sale error a continuación:

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

¿Alguna idea?

+1

En primer lugar, no desea crear directorios en preinst. Dpkg creará esto según sea necesario. En segundo lugar, no desea instalar paquetes Debian en/opt. Eso es una violación de la Política de Debian y de la FHS. Habiendo dicho eso, no sé exactamente por qué estás viendo el error. –

+0

Por favor, publique todo su script 'preinst'. – Flimzy

Respuesta

4

El diseño de su directorio es incorrecto. Debería ser así:

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

Después de construir su paquete usted puede probar su formato con lintian:

lintian my-package.deb 

que tenían el mismo problema que usted y lintian ayudó a corregir el problema.

Cuestiones relacionadas