filtersproject忽略包含以下内容的包:i386

我正在使用reprepro来创build一个局部Debian镜像。 我的conf/updates文件如下所示:

 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指向包含所有当前安装包的文件mirror.packages 。 我用dpkg创build这个文件:

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

到现在为止还挺好。 它运作良好。 但后来我注意到,我的本地存储中缺less一些软件包。 dpkg --get-selections的输出包含一些行,其中包名以:i386结尾。 例:

 libxxf86dga1:i386 install libxxf86vm1:i386 install lighttpd install 

恰恰那些i386包装丢失了。 我通过删除后缀来解决这个问题:

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

现在我的问题:

  1. 这是一个在remapro中的错误? 还是我做错了什么? 手册页指出FilterList采用dpkg --get-selections的输出格式。
  2. 有没有办法让dpkg压制架构?
  3. 为什么有些软件包有:i386后缀,但大多数没有?
  4. 为什么包的名称是体系结构的一部分呢? 是否有可能在同一个系统上使用来自不同体系结构的相同软件包?

:i386不是软件包名称的一部分,而是软件包的结构。 这是Debian引入对于从多种体系结构安装软件包(“multiarch”)的支持的结果。

请参阅https://wiki.debian.org/Multiarch获取更多信息。

我不确定是否显示某个特定软件包的体系结构。 起初我以为只有当包裹来自外国build筑时才显示出来,但是从nharrer的评论我显然是错误的。 看看nharrer的列表,并考虑其他上下文,我已经看到:我认为它可能会显示所有“多拱:相同”包

我怀疑在regpro中的filterlist funcationality早于multiarch,并不了解i386意味着什么,因此将其视为包名称的一部分。