如何在Ubuntu系統(tǒng)中使用PPA? 在Ubuntu Linux 中使用PPA完全指南

如果你在使用 Ubuntu 系統(tǒng),或其它衍生版本,如 Linux Mint、Linux Lite 或者 Zorin OS 等,可能會遇到添加使用 PPA 的情況。那什么是 PPA?為什么要使用 PPA?如何正確添加、使用,以及 PPA 安全嗎?下面就為大家介紹,如何在 Ubuntu 系統(tǒng)中使用 PPA。
什么是 PPA,為什么使用它
PPA 全稱 Personal Package Archive,顧名思義就是「個人包歸檔」。在正式了解 PPA 之前,您應(yīng)該先了解 Linux 中「存儲庫」的概念:
存儲庫和包管理的概念
「存儲庫」repository 是一組文件,其中包含了有關(guān)各種軟件的版本信息和詳細信息,如「校驗值」。每個 Ubuntu 版本都有自己的 4 個官方「存儲庫」:
Main Canonical 支持的免費和開源軟件Universe 社區(qū)維護的免費和開源軟件Restricted 設(shè)備的專有驅(qū)動Multiverse 有版權(quán)和合法性問題限制的軟件
您可以點擊查看所有 Ubuntu 版本的「存儲庫」,也可以在頁面中查看?!复鎯臁?,例如 Ubuntu 16.04 Main 存儲庫。其實簡單來說,「存儲庫」就是包含有關(guān)軟件信息的 Web URL。
那么,系統(tǒng)是如何得知「存儲庫」repository 位置的呢?其實該信息就存儲在 /etc/apt 目錄的 sources.list 文件中。如果你查看該文本文件,就可以看到存儲庫的 URL。
當(dāng)您執(zhí)行 sudo apt update 命令時,Ubuntu 系統(tǒng)就會使用 APT 工具檢查在線「存儲庫」,并將有關(guān)軟件及其版本的信息存儲到緩存中。 當(dāng)您使用 sudo apt install package_name 安裝軟件時,系統(tǒng)就會使用該信息從存儲實際軟件的 URL 獲取該軟件包。
如果存儲庫中沒有關(guān)于某個軟件包的信息,「終端」中將返回以下錯誤:
E: Unable to locate package
在介紹完「存儲庫」的一些基本信息后,我們就可以開始了解 PPA 了。
什么是 PPA
如您所見,Ubuntu 的「存儲庫」控制著用戶可以在系統(tǒng)上獲得的軟件版本。但如果 ISV 或開發(fā)人員發(fā)布了軟件新版本,Ubuntu 的官方「存儲庫」不可能立即提供。為了確保系統(tǒng)穩(wěn)定性,官方源會檢查新版本是否與系統(tǒng)兼容,所以在軟件發(fā)布新版本后,短時間內(nèi)用戶是無法通過 Ubuntu 的官方「存儲庫」來獲得最新軟件版本的。
另一方面,官方存儲庫僅提供「穩(wěn)定版」軟件,如果 ISV 要發(fā)布軟件版本的 beta 測試,是無法通過官方源來發(fā)布的。
在遇到以上情況時,就需要使用 PPA 了。
如何使用 PPA,以及 PPA 如何工作
PPA 意味著個人包存檔,請注意「個人」這個詞,它暗示了這是開發(fā)人員所獨有的東西,并沒有得到分發(fā)的正式認可。
Ubuntu 提供了一個名為 Launchpad 的平臺,讓軟件開發(fā)人員能夠創(chuàng)建自己的存儲庫,方便最終用戶將 PPA 存儲庫添加到 sources.list。當(dāng)用戶更新系統(tǒng)時,Ubuntu 系統(tǒng)就能夠知道這個新軟件的可用性,而且可以使用標準的 sudo apt install package_name 命令來安裝它,就比如:
sudo add-apt-repository ppa:dr-akulavich/lighttable sudo apt-get update sudo apt-get install lighttable-installer
將上述命令總結(jié)一下就是:
- sudo add-apt-repository <PPA_info> 命令可以將 PPA 存儲庫添加到 sources.list 列表中
- sudo apt-get update 此命令更新軟件包列表
- sudo apt-get install <package_in_PPA> 命令用于安裝軟件包
現(xiàn)在讓我們詳細拆解一下:
sudo add-apt-repository ppa:dr-akulavich/lighttable
上述命令中并沒有列出存儲庫的 URL,這是因為該工具旨在對有關(guān) URL 的信息進行抽象化。如果你添加 ppa:dr-akulavich/lighttable,將會獲取到 Light Table;如果添加的是 ppa:dr-akulavich,將能夠獲取到「上層存儲庫」中的所有存儲庫或軟件包。
基本上,當(dāng)您使用 add-apt-repository 添加 PP A時,相當(dāng)于手動執(zhí)行類似如下命令:
deb http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main deb-src http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main
上述 2 條命令是將存儲庫添加到 sources.list 的傳統(tǒng)方法,而在添加 PPA 時會自動完成對 sources.list 文件的配置,而無需用戶知道確切的存儲庫 URL 和操作系統(tǒng)版本,相當(dāng)于是自動化的。
而相當(dāng)重要的一點就是,使用 PPA 時它不會更改 Ubuntu 系統(tǒng)中的原始 sources.list 配置文件,而是根據(jù)最佳實踐在 /etc/apt/sources.list.d/ 目錄中創(chuàng)建列表文件和對應(yīng)(save 擴展名)的備份文件。
這是一種安全措施,可確保添加 PPA 時不會污染原始 sources.list,而且還有助于 PPA 移除。
官方和非官方 PPA
你可能還聽說過官方 PPA和非官方 PPA的說法,這兩者之間又有什么不同呢?
當(dāng)軟件開發(fā)商或開發(fā)人員為他們的軟件創(chuàng)建 PPA 時,被稱為官方 PPA。但有時,一些個人也會為其它開發(fā)人員的項目創(chuàng)建 PPA。為什么有人這么做呢?主要是因為有的開發(fā)人員只提供軟件源碼,而對很多普通用戶來說,在 Linux 中進行源碼編譯安裝是非常痛苦的事,而通過志愿者創(chuàng)建的非官方 PPA,就可以方便用戶對軟件進行輕松安裝和管理了。
確保你的Linux發(fā)行版可以使用PPA
當(dāng)在 Ubuntu 或其他基于 Debian 的 Linux 發(fā)行版中使用 PPA 時,應(yīng)該記住一些事:
并非每個 PPA 都適用于您的特定 Linux 版本。你需要知道當(dāng)前正在使用哪個 Ubuntu 版本,該版本的代號非常重要。當(dāng)您轉(zhuǎn)到某個 PPA 的網(wǎng)頁時,就可以看到 PPA 支持哪些 Ubuntu 版本。
如何獲取 PPA 的網(wǎng)址呢?只需在互聯(lián)網(wǎng)上搜索 PPA 名稱,如 ppa:dr-akulavich/lighttable,就可以獲得 Launchpad 這一官方 PPA 托管平臺中的結(jié)果。當(dāng)然,你也可以直接到 Launchpad 網(wǎng)站中進行搜索。
為什么PPA不適用于所有Ubuntu發(fā)行版本
Ubuntu 每 6 個月會發(fā)布一個新版本,而必需要為特定版本編譯軟件創(chuàng)建 PPA 才能適配,為每個 Ubuntu 版本更新 PPA 是一項繁瑣的任務(wù),而維護老版本的軟件更新也不太現(xiàn)實,所以并非所有開發(fā)人員或 PPA 維護者都會花時間這么做。
如果PPA不適用于你的Linux版本,要如何安裝應(yīng)用程序?
如果 PPA 不適用于您的 Ubuntu 版本,仍然可以下載 DEB 文件來安裝應(yīng)用程序。您可以點擊「View package details」:
此后可以單擊包以顯示更多詳細信息,還可以在此處找到包的源代碼和 DEB 文件:
由于 Gdebi 在處理依賴項方面要好得多,建議使用 Gdebi 而非「軟件中心」來安裝這些 DEB 文件。
如何刪除PPA
建議在刪除 PPA 之前事先刪除通過 PPA 安裝的軟件,如果你只刪除 PPA,則已經(jīng)安裝的軟件仍然會保留在系統(tǒng)當(dāng)中,而且還無法獲得任何更新。
那么問題來了,如何判斷哪些應(yīng)用程序是通過 PPA 安裝的呢?
找出通過PPA安裝的軟件
Ubuntu「軟件中心」是不包括這個功能的,我們可以通過「新立得包管理器」來找出通過 PPA 安裝的軟件:
sudo apt install synaptic
在「新立得包管理器」中選擇「源自」:
找到包后,您可以直接用「新立得包管理器」來刪除它們,或者執(zhí)行「終端」命令來刪除:
sudo apt remove package_name
刪除用 PPA 安裝的軟件包后,您可以繼續(xù)從 sources.list 中刪除 PPA。
以圖形方式刪除PPA
轉(zhuǎn)到「軟件和更新」——然后轉(zhuǎn)到「其它軟件」選項卡——查找要刪除的 PPA:
你有兩個選擇:您取消選擇 PPA 或直接用「刪除」選項。
其區(qū)別在于:當(dāng)您取消選擇 PPA 條目時,系統(tǒng)會將 /etc/apt/sources.list.d 中的 ppa_name.list 文件注釋掉;如果選擇「刪除」選項,就會直接刪除 /etc/apt/sources.list.d 目錄中的 ppa_name.list文 件。
使用PPA安全嗎
由于提供對軟件安裝的簡單選擇,PPA 在 Debian 和 Ubuntu 用戶群體中很受歡迎。就安全性而言,官方 PPA可以不加考慮的使用,而是否使用非官方 PPA就完全取決于你的個人選擇了。
根據(jù)經(jīng)驗,如果程序需要 sudo 權(quán)限,則應(yīng)避免通過第三方 PPA 安裝程序。
相關(guān)文章
Ubuntu22.04怎么安裝Python 3.11? Ubuntu下載安裝Python的圖文教程
Ubuntu22.04系統(tǒng)需要使用Python軟件,很多朋友不知道該怎么安裝,今天我么就來分享Python軟件下載以及安裝的詳細教程2024-03-07怎么用U盤安裝Ubuntu20.04系統(tǒng)? 烏班圖桌面版安裝圖文教程附下載
之前電腦安裝的Centos7系統(tǒng),但是在啟動過程中遇到了文件異常,就開不了機了,現(xiàn)在想用U盤裝Ubuntu系統(tǒng),該怎么安裝呢?詳細請看下文圖文安裝教程,很詳細適合小白新手操作2024-02-29Ubuntu如何訪問Windows文件 Ubuntu訪問Windows文件夾的方法
在使用Ubuntu Linux的過程中,有時我們需要訪問存儲在Windows系統(tǒng)中的文件或者文件夾,該怎么操作呢?詳細請看下文介紹2024-02-03如何解決Ubuntu環(huán)境下解壓中文顯示亂碼問題? Ubuntu解壓中文亂碼的多種
在Ubuntu下解壓Windows下壓縮文件時,會出現(xiàn)解壓出的帶中文文件名的文件名亂碼,這大概率是因為buntu和Windows默認的編碼不同,當(dāng)然也有其他原因,詳細請看下文介紹2024-01-09- Ubuntu怎么查看文件大小或文件夾大?。縐buntu系統(tǒng)中,我們可以使用命令來查看給定目錄或文件的大小,詳細請看下文介紹2025-04-01
如何在Ubuntu上設(shè)置環(huán)境變量? ubuntu環(huán)境變量的三種設(shè)置方法
如何在Ubuntu上設(shè)置環(huán)境變量?環(huán)境變量是作用在操作系統(tǒng)中用來設(shè)置操作系統(tǒng)的一些參數(shù),下面我們就來看看ubuntu環(huán)境變量的三種設(shè)置方法2023-12-22- 這篇文章主要為大家介紹了ubuntu配置靜態(tài)地址方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-15
Ubuntu怎么安裝VMware Tools? vmware tools安裝詳細圖文教程
Ubuntu怎么安裝VMware Tools?Ubuntu想要安裝VMware Tools,該怎么操作呢?下面我們就來看看vmware tools安裝詳細圖文教程2023-11-25- 這篇文章主要介紹了Ubuntu22.04安裝SSH無法連接的問題及解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-10-23
Ubuntu 23.10默認將在原生 Wayland 模式下運行火狐瀏覽器 Firefox
Ubuntu 23.10 默認將在原生 Wayland 模式下運行火狐瀏覽器 Firefox,在 Ubuntu 此前版本中也可以通過手動方式,啟用 Firefox 瀏覽器的本地 Wayland 模式2023-09-19