我刚刚复制了 Ubuntu 上一个版本(13,saucy)的存储库。它包含 i386 和 amd64 版本的软件包。我想在 64 位 PC 上使用此存储库。是否有一个终端命令可用于删除所有 i386 版本?
编辑:我假设所有软件包都有 amd64 版本。否则,如果软件包只有 i386 版本,我想保留它。
答案1
一个两阶段方法是创建一个脚本,给定一个包的路径,检查版本是否存在amd64
,如果找到这样的版本,则删除该i386
包。
就像是:
#! /bin/bash
for i
do
PKG=${i/i386/amd64}
if [[ -f $PKG ]]
then
rm $1
fi
done
例如,另存为script.sh
。然后:
find ${REPOSITORY_ROOT} -iname '*i386.deb' -exec ./script.sh {} +
整个过程也许只用一个find
命令就可以完成,但这应该足够了。