如何完全刪除PPA軟件庫

添加一個PPA源數據庫

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

如添加cairo-dock到weekly update源服務器

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

 

刪除ui

rm對應文件.net

/etc/apt/sources.list.dcode

 

爲何要刪除某個PPA軟件庫?
1. 這個軟件由於其優秀的特性,已經被收錄進官方倉庫;
2. 由於再也不須要這個軟件或對其失去了喜好;
3. 一些位於國外的PPA軟件庫由於網絡緣由,有時會拖慢咱們的升級過程。server

常規步驟rem

要使一個PPA軟件庫失效,作法很簡單,只須要使用add-apt-repository加上移除的參數-r (–remove) 便可。可是,這個命令老是有那麼點不人性化的地方。試想,若是咱們忘記了一個PPA軟件庫的名稱該怎麼辦?it

下面以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及密鑰環導入,卻沒法將他們完整刪除。這就比如一個軟件有安裝程序,卻無卸載程序,實在讓我等潔癖症患者沒法忍受啊!

相關文章
相關標籤/搜索