![Удалить все пакеты i386 из моего локального репозитория?](https://rvso.com/image/1083359/%D0%A3%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C%20%D0%B2%D1%81%D0%B5%20%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D1%8B%20i386%20%D0%B8%D0%B7%20%D0%BC%D0%BE%D0%B5%D0%B3%D0%BE%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F%3F.png)
Я только что скопировал репозиторий предыдущей версии Ubuntu (13, saucy). Он содержит версии пакетов i386 и amd64. Я хочу использовать этот репозиторий на 64-битном ПК. Есть ли команда терминала, которую я могу использовать для удаления всех версий 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
команды, но этого должно быть достаточно.