![ローカルリポジトリからすべての i386 パッケージを削除しますか?](https://rvso.com/image/1083359/%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%8B%E3%82%89%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%20i386%20%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
以前の Ubuntu バージョン (13、saucy) のリポジトリをコピーしました。パッケージの i386 バージョンと amd64 バージョンの両方が含まれています。このリポジトリを 64 ビット PC で使用したいのですが、i386 バージョンをすべて削除できるターミナル コマンドはありますか?
編集: すべてのパッケージに amd64 バージョンがあると想定しています。そうでない場合、パッケージに i386 バージョンしかない場合は、それを保持したいと思います。
答え1
2 段階の方法としては、パッケージへのパスを指定してバージョンの存在を確認し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 {} +
全体を 1 つのfind
コマンドで実行できるかもしれませんが、これで十分なはずです。