Apt升级并将所有软件包降级到当前版本

我最近从Ubuntu 12.04升级到14.04。 使用12.04时,我通过PPA安装了几个软件包。 现在我升级到14.04,我发现仍然安装了12.04的一些PPA包。 升级过程中删除了所有这些PPA存储库。

我想卸载Ubuntu存储库中存在的任何软件包的PPA软件包版本。 例如,我有一个SVN版本的Audacity比Ubuntu存储库中的版本更新,但我想用Ubuntu存储库版本替换它。

我想对所有PPA安装包执行相同的操作。 我尝试在/etc/apt/preferences.d/main固定它

 Package: * Pin: release a=trusty Pin-Priority: 2001 Package: * Pin: release a=trusty-updates Pin-Priority: 2002 Package: * Pin: release a=trusty-security Pin-Priority: 2003 

然后

 apt-get update; apt-get upgrade 

不幸的是,它没有像我希望的那样降级任何软件包。 例如,运行apt-cache show catfish显示版本1.0.2-2可以从Ubuntu存储库中获得,但我仍然安装了1.0.82-1~precision~ppa1。

我想将所有软件包降级到Ubuntu存储库中的当前版本。

这不可能以任何自动方式轻松完成,特别是如果您有任何给予404的PPA。(大多数人都这样做)另外,根据您安装的软件包,完全自动降级可能会真正搞砸您的系统。 请按照以下步骤手动查找和降级软件包。

  1. 如果您还没有安装Synaptic ,请安装它
  2. 打开Synaptic
  3. 单击左侧,显示“ Installed (local or obsolete)
  4. 选择要在右侧降级的包
  5. 从菜单中选择:Package – > Force Version
  6. 对要降级的每个包重复上述步骤

我相信你想使用ppa-purge

sudo ppa-purge ppa:name-of-ppa/to-be-purged

man ppa-purge表示这将“自动将给定PPA中的所有包降级回ubuntu版本。”