通过 PPA 升级 Git

举报
黄生 发表于 2026/08/24 16:36:02 2026/08/24
【摘要】 1. PPA 是什么PPA(Personal Package Archive)是 Ubuntu/Debian 生态中由 Launchpad 平台托管的个人软件包仓库。它允许开发者或团队在 Ubuntu 官方仓库之外发布更新版本的软件包。 核心特点特点说明托管平台Launchpad(Canonical 运营)地址格式ppa:<用户或团队>/<仓库名>与 apt 的关系作为额外软件源添加到 a...

1. PPA 是什么

PPA(Personal Package Archive)是 Ubuntu/Debian 生态中由 Launchpad 平台托管的个人软件包仓库。它允许开发者或团队在 Ubuntu 官方仓库之外发布更新版本的软件包。

核心特点

特点 说明
托管平台 Launchpad(Canonical 运营)
地址格式 ppa:<用户或团队>/<仓库名>
与 apt 的关系 作为额外软件源添加到 apt 源列表中
安全性 包由上传者签名,系统通过 GPG 密钥验证
适用场景 官方仓库版本过旧,需要上游最新版

PPA vs 官方仓库

此次我使用的容器里面OS就比较老,是ubuntu 20.04

官方仓库 (focal-updates)
  └── git 2.25.1   ← Ubuntu 20.04 锁定在此版本

PPA (git-core/ppa)
  └── git 2.50.1   ← Git 上游团队持续发布最新版

Ubuntu 的 LTS 发行版在发布后,软件版本基本冻结,只做安全补丁回移。如果需要上游最新功能,PPA 是最标准的方式。

2. Git 官方 PPA

Git 项目维护了一个专用 PPA:

ppa:git-core/ppa
  • 维护者:Git 上游社区
  • 支持架构:amd64, arm64 等
  • 支持发行版:每个 Ubuntu 版本都有对应构建
  • 更新频率:跟随 Git 上游每个新版本发布

3. 升级步骤详解

第一步:安装依赖工具

apt-get update
apt-get install -y software-properties-common

software-properties-common 提供 add-apt-repository 命令,用于管理 PPA 源。

第二步:添加 PPA 源

add-apt-repository -y ppa:git-core/ppa

这条命令做了三件事:

  1. 下载 PPA 的 GPG 公钥并加入信任密钥环
  2. /etc/apt/sources.list.d/ 下创建 .list 文件,写入 PPA 的 deb 源地址
  3. 自动执行 apt-get update 刷新包索引

执行后可以在 /etc/apt/sources.list.d/ 中看到类似文件:

git-core-ubuntu-ppa-focal.list

内容为:

deb http://ppa.launchpad.net/git-core/ppa/ubuntu focal main

第三步:安装/升级 Git

apt-get update
apt-get install -y git

apt 会自动选择版本最高的可用包,即 PPA 中的新版本。

完整一键命令

apt-get update -qq && \
apt-get install -y -qq software-properties-common && \
add-apt-repository -y ppa:git-core/ppa && \
apt-get update -qq && \
apt-get install -y -qq git

4. 本次操作实录

环境

  • 系统:Ubuntu 20.04 (focal) on ARM64
  • 升级前:git 2.25.1(Ubuntu 20.04 官方仓库版本)
  • 升级后:git 2.50.1

升级原因

本次需要运行 clone_sparse.sh,该脚本使用了以下较新 Git 特性:

特性 所需最低版本 说明
git clone --filter=blob:none 2.22+ 部分 clone,不下载文件内容
git clone --sparse 2.27+ clone 时即启用 sparse-checkout 模式
git sparse-checkout set 2.25+ 设置稀疏检出路径

Git 2.25.1 不支持 --sparse 参数,因此必须升级。

升级过程

$ git --version
git version 2.25.1

$ add-apt-repository -y ppa:git-core/ppa
 ... 下载 GPG 密钥和包索引 ...

$ apt-get install -y git
Unpacking git (1:2.50.1-0ppa1~ubuntu20.04.1) over (1:2.25.1-1ubuntu3.14) ...
Setting up git (1:2.50.1-0ppa1~ubuntu20.04.1) ...

$ git --version
git version 2.50.1

升级后运行脚本

bash ./clone_sparse.sh

仓库 sparse clone 成功。

5. 注意事项

  • 生产环境慎用:PPA 包不受 Ubuntu 官方安全团队审计,生产环境建议评估风险
  • 版本回退:如需回退,执行 add-apt-repository --remove ppa:git-core/ppa 后重新安装
  • 仅限 Ubuntu/Debian:其他发行版使用各自的包管理方式(如 Fedora 用 COPR,Arch 直接滚动更新)
  • ARM64 支持:git-core/ppa 提供 arm64 构建,在 ARM 服务器上可直接使用
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。