添加一个PPA源

sudo add-apt-repository ppa:user/ppa-name

如添加cairo-dock到weekly update源

sudo add-apt-repository ppa:cairo-dock-team/weekly/ubuntu

删除

rm对应文件

/etc/apt/sources.list.d

为什么要删除某个PPA软件库?
1. 这个软件因为其优秀的特性,已经被收录进官方仓库;
2. 因为不再需要这个软件或对其失去了喜爱;
3. 一些位于国外的PPA软件库因为网络原因,有时会拖慢我们的升级过程。

常规步骤

要使一个PPA软件库失效,做法很简单,只需要使用add-apt-repository加上移除的参数-r (–remove) 即可。但是,这个命令总是有那么点不人性化的地方。试想,如果我们忘记了一个PPA软件库的名称该怎么办?

下面以Bazaar这个软件的PPA为例,来看一看如何移除它。出于讲解和实做的需要,我们先来再系统中添加它:


$ sudo add-apt-repository ppa:bzr/p
[sudo] password for user:
你将向系统添加如下 PPA:
This archive contains the latest release or release candidate of bzr, bzr-gtk and bzrtools, built for all currently supported Ubuntu releases.


更多信息: https://launchpad.net/~bzr/+archive/ppa
按回车继续或者 Ctrl+c 取消添加

gpg: 钥匙环‘/tmp/tmp_h2_5p/secring.gpg’已建立
gpg: 钥匙环‘/tmp/tmp_h2_5p/pubring.gpg’已建立
gpg: 下载密钥‘8C6C1EFD’,从 hkp 服务器 keyserver.ubuntu.com
gpg: /tmp/tmp_h2_5p/trustdb.gpg:建立了信任度数据库
gpg: 密钥 8C6C1EFD:公钥“Launchpad PPA for Bazaar Developers”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1 (RSA: 1)
OK

首先我们来看一下移除软件包名要使用的完整命令:

$ sudo add-apt-repository -r ppa:repository-name/subdirectory

添加成功后,我们假设并不知道这个PPA软件库的名称,看一看如何来获取ppa:repository-name/subdirectory这个格式的内容。我们可以查看/etc/apt/sources.list.d/下面,有一个相应的PPA仓库的文件:
$ ls /etc/apt/sources.list.d
bzr-ppa-raring.list

我们来看一下bzr-ppa-raring这个文件,raring表示添加于我们当前系统的版本代号分支,这一部分我们用不上。我们继续看它的前一部分,叫做ppa,这一部分,是相当于ppa:repository-name/subdirectory这个格式中的subdirectory (子目录) 部分,我们这时就可以将ppa这几个字符套用进去,这时还差package (名称) 部分了。除去directory部分,再向前面的所有内容,都属于PPA名称的内容,在这里,PPA的名称为bzr。所以,我们需要执行以下命令:

$ ls /etc/apt/sources.list.d
bzr-ppa-raring.list
user@work:~$ sudo add-apt-repository -r ppa:bzr/ppa
[sudo] password for user:
即将从系统中删除以下 PPA:
This archive contains the latest release or release candidate of bzr, bzr-gtk and bzrtools, built for all currently supported Ubuntu releases.

更多信息: https://launchpad.net/~bzr/+archive/ppa
按 [ENTER] 可继续操作,按 ctrl-c 可取消其删除操作

$

注:如果name部分有多个单词,就会出现这样的形式

maarten-baert-simplescreenrecorder-raring.list

此时我们需要采取相同的做法,凡除子目录名称的部分,其前面都属于PPA软件库的名称,这样,删除的命令就是:

$ sudo add-apt-repository -r ppa:maarten-baert/simplescreenrecorder

删除完名bzr的PPA软件库后,我们会发现系统中还有两处残余。一是与这个PPA相应的apt密钥环:

$ sudo apt-key list | grep -B 1 Bazaar
pub 1024R/8C6C1EFD 2009-01-19
uid Launchpad PPA for Bazaar Developers

另一处是/etc/apt/sources.list.d目录下的两个空文件:

$ cd /etc/apt/sources.list.d/
user@work:/etc/apt/sources.list.d$ ls
bzr-ppa-raring.list bzr-ppa-raring.list.save
$ cat bzr-ppa-raring.list bzr-ppa-raring.list.save
$

我们下面来清理这些残余。由这面的命令我们可以得知,bzr这个软件库的密钥ID为8C6C1EFD,通过这个keyid,我们就可以删除它。

$ sudo apt-key del 8C6C1EFD
OK

另外两个残余的文件,就可以直接通过rm命令来删除了。

$ sudo rm bzr-ppa-raring.list*

简单步骤

写到这里,聪明的你也许会发现,我们还可以使用另一种更为简单的方式还清除PPA软件库,即只需要删除/etc/sources.list.d/中相应的文件bzr-ppa-raring.list和apt的密钥环就可以了。因此,上面的步骤可简化为:

$ sudo rm bzr-ppa-raring.list

$ sudo apt-key del 8C6C1EFD

到这里,完整删除PPA软件库的步骤就全部介绍完了。小编要开始吐槽了,由Ubuntu创建的用来添加PPA软件库的命令add-apt-repository可以将PPA及密钥环导入,却无法将他们完整删除。这就好比一个软件有安装程序,却无卸载程序,实在让我等洁癖症患者无法忍受啊!

如何彻底删除PPA软件库的更多相关文章

  1. 在Ubuntu中添加和删除PPA的软件源

    PPA,英文全称为 Personal Package Archives,即个人软件包档案.是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launchpa ...

  2. Ubuntu 添加,删除ppa

    PPA,英文全称为 Personal Package Archives,即个人软件包档案.是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launchpa ...

  3. Ubuntu添加与删除PPA源

    目录 PPA,英文全称为 Personal Package Archives,即个人软件包档案.是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launc ...

  4. Ubuntu13.10添加/删除PPA

    什么是ppa ppa即Personal Package Archive(个人安装包文档),简单来说就是一些个人或者团体通过独立的网站发布的第三方的软件源.将这些软件源添加到你的电脑上后,你就可以像使用 ...

  5. ubuntu/linuxmint如何添加和删除PPA源

    [添加] 1.sudo add-apt-repository ppa:user/ppa-name 2.sudo apt-get update (然后再安装软件sudo apt-get install ...

  6. ubuntu删除ppa源

    cd /etc/apt/sources.list.d 都在这里了 drwxr-xr-x 2 root root 4096 5月 22 23:41 ./ drwxr-xr-x 6 root root 4 ...

  7. linux ubuntu ppa源

    ubuntu10.04添加删除PPA源 增加ppa资源以后,今后的版本更新什么的都会从launchpad去下载,在国内访问launchpad速度比乌龟还慢   Ubuntu里,PPA代表一种非稳定版本 ...

  8. Ubuntu: repository/PPA 源

    在Ubuntu中,每个PPA源是单独存放在/etc/apt/sources.list.d/文件夹中的,进入到该文件夹,使用ls命令查询即可列出当前系统添加的PPA源. 添加 sudo add-apt- ...

  9. Ubuntu PPA软件源

    PPA,其英文全称为 Personal Package Archives,即个人软件包档案.是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launchp ...

随机推荐

  1. 利用Continuous Testing实现Eclipse环境自己主动单元測试

    当你Eclipse环境中改动项目中的某个方法时,你可能因为各种原因没有执行单元測试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io ...

  2. MyEclipse高效开发之必备快捷键技能

    学习了Java之后,使用MyEclipse开发已经有一段时间了,奈何MyEclipse的界面是英文版的,很多功能都不了解,对于那些英文,每次在调程序的时候,都需要一个一个的查,效率很是低下.于是,就想 ...

  3. redhat 5.0 python2.4升级到2.7

    )安装devtoolset yum groupinstall "Development tools" )安装编译Python需要的包包 yum install zlib-devel ...

  4. 解决Visual Studio 2010新建工程时出现『1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt』错误

      VS2010在经历一些更新后,建立Win32 Console Project时会出"error LNK1123" 错误. 解决方案为: 第一步:将:项目|项目属性|配置属性|清 ...

  5. QT显示输出及其桌面

      /* 应用程序桌面 */ QDesktopWidget* desktop = QApplication::desktop(); /* 指定显示器的屏幕尺寸(1024 * 768) */ QRect ...

  6. 问题分析探讨 --> 大约有700W数据的表,把当天的10W数据select导入新表,整个原来的表就锁死

    Sun shine  16:15:55 帅哥  我有个手机表 大约有700百数据,,每天新增 大约五万,并且新也有update 大约10万  然后 我每晚 把当天的数据select 导入一个新表中的时 ...

  7. Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(二)

    在上一篇文章中我详细的介绍了如何搭建maven环境以及生成一个maven骨架的web项目,那么这章中我将讲述Spring MVC的流程结构,Spring MVC与Struts2的区别,以及例子中的一些 ...

  8. iOS 跳转至 指定 StoryBoard 中 指定的 Scene

    UIStoryboard *stryBoard=[UIStoryboard storyboardWithName:@"second" bundle:nil]; UIViewCont ...

  9. centos6.5 apache+tomcat结合 负载均衡

    一. 负载均衡:根据 uri 表达式把请求分发给各个服务器处理.如:/*.jsp = lb_s  就是说把所有jsp请求交给lb_s , 当然它是个Tomcat. 二. 安装配置mod_jk    m ...

  10. Linux下如何在打开终端的时候自动配置相关环境

    参考博客“Linux启动文件.设置环境变量的位置”(http://www.2cto.com/os/201305/208251.html) 在不可取的root权限的时候可以选择编辑~/.bashrc文件 ...