添加一个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. IOS Label 自动换行 IOS6和IOS7

    IOS 6和ios7 不一样,所以,我们分开来: IOS6: //计算实际frame大小,并将label的frame变成实际大小     CGSize size01 = [ssizeWithFont: ...

  2. Redis学习手册(内存优化)

    自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化.其中,Hash.List和由Integer组成的Sets都可以通过该方式来优化存储结构,以便占用更少的空间,在有些 ...

  3. android113 自定义进度条

    MainActivity: package com.itheima.monitor; import android.os.Bundle; import android.app.Activity; im ...

  4. Linux系统及应用问题分析排查工具

    linux 阿里技术协会 摘要: Linux服务器上经常遇到一些系统和应用上的问题,如何分析排查,需要利器,下面总结列表了一些常用工具.trace tool:最后也列举了最近hadoop社区在开发发展 ...

  5. Android_常用控件及适配器

    TextView 控件中显示的内容必须是文本 TextView中常用的属性 android:text TextView中显示的文本内容 android:textColor 字体颜色 格式为#RGB # ...

  6. 观察者模式Demo

    using System; using System.Collections.Generic; namespace Demo {     #region 抽象层,定义了观察者模式     /// &l ...

  7. Java client 访问 memcached

    在测试项目中引入了memcached作为缓存层,以下是memcached的缓存配置和调用过程. linux下memcached安装过程 直接参考以前的博文linux下安装memcached过程  不再 ...

  8. Scala函数字面量简化写法

    Scala提供了多种方法来简化函数字面量中多余的部分,比如前面例子中filter方法中使用的函数字面量,完整的写法如下: (x :Int ) => x +1 首先可以省略到参数的类型,Scala ...

  9. Jquery关闭离开页面时提醒

    [导读] 离开页面提示多般是放到了发新闻或写日志的页面,我们在百度空间或QQ空间在我们未保存信息时如果离开页面都有提示了,下面我来介绍利用jquery的beforeunload来实现此方法. jque ...

  10. jQuery中的html,val,text区别

    在项目开发中,写jQuery代码有时候会搞混淆一下东西,现在写一下demo来列出jQuery的.html(),.text(),.val()的区别. 1. html()取得第一个匹配元素的内容,简单来说 ...