
Estoy usando reprepro
para crear una réplica local parcial de Debian. Mi conf/updates
archivo 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
FilterList
apunta al archivo mirror.packages
que 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-selections
contiene algunas líneas donde el nombre del paquete termina en :i386
. Ejemplo:
libxxf86dga1:i386 install
libxxf86vm1:i386 install
lighttpd install
i386
Faltan exactamente esos paquetes. Solucioné esto eliminando el sufijo:
dpkg --get-selections | sed 's/:i386//g' > conf/mirror.packages
Ahora mis preguntas:
- ¿Es esto un error en reprepro? ¿O estoy haciendo algo mal? La página de manual indica que
FilterList
toma el formato de salida dedpkg --get-selections
. - ¿Hay alguna forma de
dpkg
suprimir la arquitectura? - ¿Por qué algunos paquetes tienen el
:i386
sufijo pero la mayoría no? - ¿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.