从我的本地存储库中删除所有 i386 软件包?

从我的本地存储库中删除所有 i386 软件包?

我刚刚复制了 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命令就可以完成,但这应该足够了。

相关内容