搜索已安装的不可用软件包(反向移植和第三方)

搜索已安装的不可用软件包(反向移植和第三方)

我想删除从第三方存储库安装的所有软件包。我最近从 PPA 存储库安装了一些反向移植,我怀疑其中一个破坏了我的 Ubuntu 12.04 服务器系统。

有什么方法可以列出所有当前安装但在存储库中不可用的软件包,或者哪个版本高于当前存储库中可用的版本?

答案1

有两种简洁的方法,并且工作原理相同:

sudo add-apt-repository --remove ppa:whatever/ppa

或者

sudo ppa-purge ppa:repository-name/subdirectory

答案2

首先你应该安装并使用 deborphan。它将找到不再需要的库和东西。

Aptitude 可以使用以下方法查找过时的软件包aptitude search '~o'

下面是我执行此操作的预 aptitude 命令。但是当我在多架构设置上测试时,这显示了一些误报。

# 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 '^\-'

相关内容