¿Debian actualizará los paquetes que he creado personalmente a partir de sus fuentes oficiales?

¿Debian actualizará los paquetes que he creado personalmente a partir de sus fuentes oficiales?

Hola y feliz año nuevo a todos..

Recientemente, compilé el paquete nginx deb v1.4.4 a partir de la fuente del backport de Debian que, por supuesto, agregué a apt sources.list y todo salió muy bien.

Mi pregunta:¿Debian actualizará automáticamente los paquetes que he creado personalmente a partir de sus fuentes oficiales? Me refiero a actualizar los de seguridad.

ACTUALIZAR:

Lo ejecuté apt-get updatehoy apt-get -V upgradepara comprobar cómo se comportaría Debian 7 apt... y esto es lo que obtuve:

root@debian-lab:~/nginx-1.4.4-packages# apt-get -V upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
   nginx-full (1.4.4-1~bpo70+1 => 1.4.4-1~bpo70+1)
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/464 kB of archives.
After this operation, 9,027 kB disk space will be freed.
Do you want to continue [Y/n]?

Como puede ver, apt está intentando actualizar desde(1.4.4-1~bpo70+1 => 1.4.4-1~bpo70+1), que son básicamente dos versiones idénticas, pero mi paquete deb instalado tiene módulos nginx personalizados agregados al nginx-full predeterminado y después de la actualización, todos mis módulos personalizados desaparecieron y fueron reemplazados por el backport deb estándar de Debian Wheezy. He construido mi nginx paquete backport deb desde la fuente de backport de Debian y también instalé build-deb a través del backport, pero algunas dependencias se instalaron automáticamente desde el estable, eso es lo que vi en la salida detallada.

¿Puedes ayudarme a evitar esto con un ejemplo?

ACTUALIZAR

Intenté fijar el paquete con apt y no funcionó y aquí está el resultado que obtuve:

apt-cache policy nginx-full
nginx-full:
Installed: 1.4.4-1~bpo70+1
Candidate: 1.4.4-1~bpo70+1
Version table:
 1.4.4-1~bpo70+1 0
    100 http://ftp.uk.debian.org/debian/ wheezy-backports/main amd64 Packages
*** 1.4.4-1~bpo70+1 0
    100 /var/lib/dpkg/status
 1.2.1-2.2+wheezy2 0
    500 http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
    500 http://security.debian.org/ wheezy/updates/main amd64 Packages

Y la siguiente es la política nginx de apt-cache:

/etc/apt/preferences.d# apt-cache policy nginx
nginx:
  Installed: 1.4.4-1~bpo70+1
  Candidate: 1.4.4-1~bpo70+1
  Package pin: 1.4.4-1~bpo70+1
  Version table:
 *** 1.4.4-1~bpo70+1 1001
        100 http://ftp.uk.debian.org/debian/ wheezy-backports/main amd64 Packages
        100 /var/lib/dpkg/status
     1.2.1-2.2+wheezy2 1001
        500 http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
        500 http://security.debian.org/ wheezy/updates/main amd64 Packages

¡Pero aún así apt está intentando actualizarlo y reemplazarlo!

Contenido de la lista de fuentes:

deb http://ftp.uk.debian.org/debian/ wheezy main
deb-src http://ftp.uk.debian.org/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

# wheezy-updates, previously known as 'volatile'
deb http://ftp.uk.debian.org/debian/ wheezy-updates main
deb-src http://ftp.uk.debian.org/debian/ wheezy-updates main

# Wheezy Backports repository
deb http://ftp.uk.debian.org/debian wheezy-backports main
deb-src http://ftp.uk.debian.org/debian wheezy-backports main

Intenté fijar una vez el nombre del paquete 'nginx' y otra vez con nginx-full.

¡Pero ambos no pueden sostener el paquete!

Respuesta1

Le recomendaría que cambie la versión del paquete. APT sabe que ambos paquetes no son iguales y está intentando instalar el paquete desde fuentes confiables. dch -ies todo lo que necesita, simplemente agregue una breve descripción y reconstruya el paquete.

También puedes fijar el paquete de otra manera:

Package: nginx-full
Pin: origin ""
Pin-Priority: 999

Esto le dará más prioridad al paquete instalado localmente.


Si la cadena de versión del repositorio reemplaza la versión instalada actual y no tiene ninguna fijaciónySe lanza alguna versión, sí, apt instalará el paquete desde los repositorios (con suerte con el parche ya aplicado) si tiene las fuentes correctas.

Respuesta2

Si fija el paquete, apt-get no intentará actualizarlo.

Para fijar el paquete, cree un archivo en /etc/apt/preferences.d, por ejemplo, /etc/apt/preferences.d/nginx

Pon esto en el archivo:

Package: nginx
Pin: version 1.4.4-1~bpo70+1
Pin-Priority: 1001

información relacionada