Я хотел бы удалить все пакеты, которые я установил из сторонних репозиториев. Недавно я установил несколько резервных копий из репозиториев PPA и подозреваю, что один из них сломал мою серверную систему Ubuntu 12.04.
Есть ли способ перечислить все установленные на данный момент пакеты, недоступные в репозиториях, или какая версия выше, чем версия, доступная в текущих репозиториях?
Сначала вы должны установить и использовать deborphan. Это позволит найти библиотеки и вещи, которые больше не нужны.
Aptitude может найти устаревшие пакеты с aptitude search '~o'
Моя предварительная команда для этого ниже. Но это показывает некоторые ложные срабатывания, когда я только что тестировал многоархивную настройку.
# the one-line command
diff -u <(dpkg --get-selections | awk ' {print "Package: " $1}' | sort -u) \
<(zcat /var/lib/apt/lists/*_Packages.gz | grep 'Package: ' | sort -u) \
| egrep '^\-'
# breaking it down down with some comments
# See all the installed packages
# dpkg --get-selections | awk ' {print "Package: " $1}' | sort -u
# see all the available packages
# zcat /var/lib/apt/lists/*_Packages.gz | grep 'Package: ' | sort -u
# compare and find the installed that are no longer available.
# diff -u <( installed ) <( available ) | egrep '^\-'
Два простых способа сделать это, которые работают одинаково:
sudo add-apt-repository --remove ppa:whatever/ppa
Или
sudo ppa-purge ppa:repository-name/subdirectory