Ubuntu

搜尋已安裝的不可用包(backports 和第 3 方)

  • April 19, 2013

我想刪除我從第三方儲存庫安裝的所有軟體包。我最近從 PPA 儲存庫安裝了一些反向移植,我懷疑其中一個破壞了我的 Ubuntu 12.04 伺服器系統。

有什麼方法可以列出儲存庫中不可用的所有目前安裝的軟體包,或者哪個版本高於目前儲存庫中可用的版本?

兩種干淨的方法都可以做到這一點:

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

或者

sudo ppa-purge ppa:repository-name/subdirectory

首先你應該安裝和使用 deborphan。這將找到不再需要的庫和東西。

Aptitude 可以找到過時的軟體包aptitude search '~o'

我執行此操作的 pre-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 '^\-'

引用自:https://serverfault.com/questions/488006