標籤:http os 使用 ar strong for 檔案 資料 art
添加一個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
[email protected]:~$ 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/
[email protected]:/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軟體庫