Ранее я добавил несколько внешних источников, /etc/apt/sources.list.d
но теперь хочу удалить один из них. Я также хочу:
- удалить все пакеты исключительно из этого источника
- вернуть все пакеты к версиям в моем оригинальном источнике (ах)
- в качестве альтернативы, составьте список всех пакетов из этого источника, чтобы я мог выполнить эту процедуру вручную
Как я могу это сделать?
debian
apt
repository
uninstall
david.libremone
источник
источник
apt-cache policy
покажет вам происхождение всех ваших настроенных репозиториев (ищитеo=
в выходных данных).Или с помощью dpkg:
dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i yourkeyword
Например
dpkg -l | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | grep -i multimedia
возвращает:
Это показывает мне пакеты с deb-multimedia.org. Тот же результат с
dpkg-query -W -f='${Section}\t\t${Package}\n' | awk '/^.i/ {print $2}' | xargs apt-cache policy | awk '/^[a-z0-9.\-]+:/ {pkg=$1}; /\*\*\*/ {OFS="\t"; ver=$2; getline; print pkg,ver,$2,$3}'|grep -v /var/lib/dpkg/status| sed -e 's/://'|awk '{printf "%-40s %-36s %-36s %-16s \n",$1,$2,$3, $4}' | egrep -i multimedia
источник