# Linux软件管理与PPA
# 1.Linux 中软件仓库的概念
软件仓库是一组文件,其中包含各种软件及其版本的信息,以及校验和等其他一些详细信息。每个版本的 Ubuntu 都有自己的四个官方软件仓库:
- Main - Canonical 支持的自由开源软件。
- Universe - 社区维护的自由开源软件。
- Restricted - 设备的专有驱动程序。
- Multiverse - 受版权或法律问题限制的软件。
软件信息存储在 /etc/apt 目录中的 sources.list 文件中。如果查看此文件的内容,就会看到里面有软件仓库的网址。
当运行 sudo apt update
命令时,系统将使用 APT 工具 来检查软件仓库并将软件及其版本信息存储在缓存中。使用 sudo apt install package_name
命令时,它通过该信息从实际存储软件的网址获取该软件包。如果软件仓库中没有关于某个包的信息,将看到如下错误:
E: Unable to locate package
# 2.PPA
Ubuntu
对系统中的软件进行管理,更重要的是控制在系统上获得对应版本的软件。开发人员发布了软件的新版本时,Ubuntu
不会立即提供该新版本的软件。需要一个步骤来检查此新版本的软件是否与系统兼容,从而确保系统的稳定性。这意味着它需要经过几周才能在 Ubuntu
上可用,在某些情况下,这可能需要几个月的时间。不是每个人都想等待那么长时间才能获得他们最喜欢的软件的新版本。
PPA 表示 个人软件包存档(Personal Package Archive
),"个人” 这个词,它暗示了这是开发人员独有的东西,并没有得到分发的正式许可。。PPA 基本上是一个包含软件信息的网址。
Ubuntu
提供了一个名为 Launchpad
的平台,使软件开发人员能够创建自己的软件仓库。用户可以将 PPA 仓库添加到 sources.list
文件中,apt-get update
更新系统时,系统会知道这个新软件的可用性,然后可以使用标准的 sudo apt install
命令安装它。
sudo add-apt-repository ppa:xxx/ss
添加的是 ppa:xxx/ss
,可以得到ss
。但是如果添加 ppa:xxx
,将得到 “上层软件仓库” 中的所有仓库或软件包。它是按层级划分的。使用 add-apt-repository
添加 PPA 时,其等效于:
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
当使用 PPA
时,它不会更改原始的 sources.list
文件。相反,它在 /etc/apt/sources.d
目录中创建了两个文件,一个 .list
文件和一个带有 .save
后缀的备份文件。PPA 创建了单独的 sources.list
文件