Здається, немає запису про походження встановленого пакету.
Якщо ви добре отримаєте місцезнаходження, звідки буде завантажений однойменний пакет, це доступно через
apt-cache policy
. Наступний (досить потворний) сценарій робить для мене хитрість:
LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W '*' \
| fgrep ':install ok installed' \
| cut -d: -f1 \
| (while read pkg; do
inst_version=$(apt-cache policy $pkg \
| fgrep Installed: \
| awk '{ print $2 }');
origin=$(apt-cache policy "$pkg" \
| fgrep " *** ${inst_version}" -C1 \
| tail -n 1 \
| cut -c12-);
echo $pkg $origin;
done)
Зауважте, що він досить крихкий, оскільки він робить припущення про вихід apt-cache policy
, який може змінюватися у різних версіях ...