我正在使用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
现在我的问题:
FilterList
采用dpkg --get-selections
的输出格式。 dpkg
压制架构? :i386
后缀,但大多数没有? :i386不是软件包名称的一部分,而是软件包的结构。 这是Debian引入对于从多种体系结构安装软件包(“multiarch”)的支持的结果。
请参阅https://wiki.debian.org/Multiarch获取更多信息。
我不确定是否显示某个特定软件包的体系结构。 起初我以为只有当包裹来自外国build筑时才显示出来,但是从nharrer的评论我显然是错误的。 看看nharrer的列表,并考虑其他上下文,我已经看到:我认为它可能会显示所有“多拱:相同”包
我怀疑在regpro中的filterlist funcationality早于multiarch,并不了解i386意味着什么,因此将其视为包名称的一部分。