Это немного о том, чтобы возиться с запросами молнии.
1) Найдите установленные пакеты из non-opensuse-distribution-repositories:
zypper search -s | grep "i |" | grep -vi "| patch" | grep -vi "| opensuse" > list1.txt
2) Найти пакеты, которые доступны в репозиториях opensuse (независимо от того, установлены они или нет):
zypper search -s | grep "v |" | grep -vi "| patch" | grep -i "| opensuse" > list2.txt
3) Определите пакеты из списка1, которые не представлены в списке2:
cat list1.txt | cut -d " " -f3 | cut -d " " -f1 | while read line do if [ "$(cat list2.txt | grep -i $line)" = "" ]; then echo "$line" fi done
Это как бы решает проблему (протестировано на openSUSE 11.3).