La estructura establecida del .deb
nombre del archivo es package_version_architecture.deb
.
De acuerdo con este párrafo:
Algunos paquetes no siguen la estructura del nombre
package_version_architecture.deb
. Los paquetes renombrados por dpkg-name seguirán esta estructura. En general, esto no afectará la forma en que dselect / dpkg instala los paquetes, pero otras herramientas de instalación pueden depender de esta estructura de nombres.
Pregunta:
Sin embargo, ¿hay situaciones reales en las .deb
que no se recomienda cambiar el nombre del archivo del paquete ? ¿Es una práctica normal proporcionar un .deb
nombre de archivo personalizado para mi software?
Ejemplo:
My Program for Linux v1.0.0 (Pro).deb
- el nombre personalizadomy-program_1.0.0-1_amd64.deb
- el nombre oficial apropiado
Nota:
Estoy sin la intención de crear un acuerdo de recompra, sólo estoy aloja el .deb
paquete de software de mi en mi sitio web para su descarga directa.
Respuestas:
Con los años, he acumulado una gran cantidad de
.deb
paquetes con nombres no estándar, y no recuerdo haber tenido ningún problema. Los paquetes "famosos" con nombres no estándar que la gente podría encontrar hoy en día incluyengoogle-chrome-stable_current_amd64.deb
ysteam.deb
. (En ambos casos, el nombre fijo sin versión garantiza que se pueda usar una URL estable para las descargas y un nombre estable para las instrucciones de instalación).Sin embargo , no recuerdo haber encontrado ninguno con espacios en sus nombres; eso tampoco debería causar problemas con las herramientas, pero podría causar confusión a los usuarios (ya que necesitarán citar el nombre del archivo o escapar de los espacios si usan herramientas basadas en shell).
Otro punto a tener en cuenta es que el uso de un nombre no estándar que no es el mismo que el nombre de su paquete (tal como está almacenado en el
control
archivo) también podría causar confusión, por ejemplo , al intentar eliminar el paquete (ya que el nombre del paquete no será el mismo que el nombre usado para instalarlo).Como resultado de todo esto, si no desea apegarse al nombre canónico, recomendaría algo como
my-program.deb
omy-program_amd64.deb
(dependiendo de si desea admitir múltiples arquitecturas). También puede hacer que sea un enlace simbólico al nombre de archivo versionado si desea permitir que se descarguen versiones anteriores.fuente
Los nombres de los archivos están estandarizados principalmente para el beneficio del software de mantenimiento de archivos y el caché local.
En los viejos tiempos, antes de que la
m68k
arquitectura fuera agregada a Debian, los nombres de los archivos usaban " package _ version .deb", sin problemas. El nombre de la arquitectura se agregó al nombre del archivo cuando el software de archivo necesitaba almacenari386
ym68k
paquetes del mismo paquete y versión en el mismo directorio. Como la lista de paquetes siempre ha contenido nombres de archivo largos y 8.3 , eso podría implementarse sin romper clientes.Dpkg generalmente no se preocupa por los nombres de archivo de los paquetes. Durante las ejecuciones de instalación, APT genera un directorio con todos los archivos de paquete para esta ejecución de instalación, y cada archivo tendrá el número en la ejecución actual antepuesto al nombre del archivo (es decir, si instala la
foo
versión 1 del paquete y labar
versión 2 del paquete , quefoo
depende de , apt pasará0-bar_2_all.deb
y1-foo_1_amd64.deb
dpkg).APT generalmente asume que los nombres son únicos para propósitos de almacenamiento en caché. Si reutiliza un nombre, los usuarios que ya tienen este archivo en su caché intentarán reanudar la descarga si el nuevo archivo es más grande, lo que los dejará con un archivo no válido que se descartará posteriormente ya que falla la prueba de suma de comprobación. Sin embargo, este error se muestra al usuario y debe reiniciar la ejecución de la instalación.
fuente