reprepro FilterList ignora los paquetes que contienen: i386

reprepro FilterList ignora los paquetes que contienen: i386

Estoy usando reprepropara crear una réplica local parcial de Debian. Mi conf/updatesarchivo se ve así:

Name: update-wheezy
Method: http://ftp.tu-graz.ac.at/mirror/debian
Suite: wheezy
Components: main contrib non-free
Architectures: i386
FilterList: purge mirror.packages

FilterListapunta al archivo mirror.packagesque contiene todos los paquetes actualmente instalados. Creo este archivo con dpkg:

dpkg --get-selections > conf/mirror.packages

Hasta ahora, todo bien. Funciona bien. Pero luego noté que faltan algunos paquetes en mi repositorio local. La salida de dpkg --get-selectionscontiene algunas líneas donde el nombre del paquete termina en :i386. Ejemplo:

libxxf86dga1:i386                               install
libxxf86vm1:i386                                install
lighttpd                                        install

i386Faltan exactamente esos paquetes. Solucioné esto eliminando el sufijo:

dpkg --get-selections | sed 's/:i386//g' > conf/mirror.packages

Ahora mis preguntas:

  1. ¿Es esto un error en reprepro? ¿O estoy haciendo algo mal? La página de manual indica que FilterListtoma el formato de salida de dpkg --get-selections.
  2. ¿Hay alguna forma de dpkgsuprimir la arquitectura?
  3. ¿Por qué algunos paquetes tienen el :i386sufijo pero la mayoría no?
  4. ¿Por qué la arquitectura es parte del nombre del paquete de todos modos? ¿Es posible tener el mismo paquete de diferentes arquitecturas en el mismo sistema?

Respuesta1

:i386 no forma parte del nombre del paquete, sino que es una indicación de la arquitectura para la que es el paquete. Esto es el resultado de que Debian introdujo soporte para instalar paquetes de múltiples arquitecturas ("multiarch").

Verhttps://wiki.debian.org/Multiarchpara más información.

No estoy seguro de qué determina si la arquitectura se muestra para un paquete en particular. Inicialmente pensé que solo se mostraba cuando el paquete era de una arquitectura extranjera, pero por los comentarios del nharrer estaba claramente equivocado. Mirando la lista de nharrer y pensando en otros contextos, he visto :<arquitectura> en Creo que puede mostrarse para todos los paquetes "multi-arch:same"

Sospecho que la funcionalidad de la lista de filtros en reprepro es anterior a multiarca, no entiende lo que significa :i386 y, por lo tanto, lo trata como parte del nombre del paquete.

información relacionada