我读到了Git的一个安全漏洞,这个漏洞在2.2.1版本中得到了修复。我目前在我的系统(Ubuntu 14.10)上有Git 2.1.0,并尝试使用apt重新安装它。然而,apt告诉我我已经有了最新版本。
Git网站没有Linux的预构建版本。他们说你可以用包管理器来安装它。如果不从源代码构建,我该如何安装最新版本的Git?
我读到了Git的一个安全漏洞,这个漏洞在2.2.1版本中得到了修复。我目前在我的系统(Ubuntu 14.10)上有Git 2.1.0,并尝试使用apt重新安装它。然而,apt告诉我我已经有了最新版本。
Git网站没有Linux的预构建版本。他们说你可以用包管理器来安装它。如果不从源代码构建,我该如何安装最新版本的Git?
git
维护者提供的PPA。sudo apt-add-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
add-apt-repository
命令未找到的错误提示,你需要安装software-properties-common
,然后重新执行上述步骤。sudo apt-get install software-properties-common
git pull --rebase --autostash
啦 :) - Oscar Mederossudo apt-get install software-properties-common
以便访问apt-add-repository
。 - coriapt-add-repository
被符号链接到add-apt-repository
。 - Asclepiusadd-apt-repository
和apt-add-repository
是相同的命令。 - muruapt-add-repository
是“真实”的二进制文件,但现在它只是一个符号链接到add-apt-repository
,而我个人更喜欢指向实际的二进制文件而不是符号链接,因为取决于系统的设置,符号链接可能无法按预期工作。 - dragon788sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:git-core/ppa -y
sudo apt-get update
sudo apt-get install git -y
git --version
sudo apt-get upgrade
可能会影响到更多的内容,而不仅仅是 git
,这取决于 PPA 的内容。我建议除非你知道你想要 PPA 中比 install git
引入的依赖项更新的任何软件包,否则最好跳过这一步骤。 - dragon788sudo apt remove --purge --auto-remove -y git
或者:
sudo apt purge --auto-remove -y git
version
和build
变量以获取所需版本:version=2.32
build=0
mkdir ~/temp
cd ~/temp
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-$version.$build.tar.gz
tar -xzvf git-$version.$build.tar.gz
cd git-$version.$build/
A-3. 运行以下命令安装提取的源代码:
make -j$(nproc) prefix=/usr/local all
sudo make prefix=/usr/local install
A-4.测试你的新git
版本。
git --version
git --version
的结果:
git version 2.25.X
有一个来自Ubuntu Git Maintainers team的PPA可用,我们可以使用它来轻松安装最新稳定版的Git。因此,我们可以按照以下步骤轻松安装:
B-1. 卸载Ubuntu软件包管理器提供的默认版本,如A-1中所述。
B-2. 将PPA存储库添加到您的源列表中。
sudo add-apt-repository ppa:git-core/ppa
git
软件包。sudo apt update
sudo apt install git
B-4. 像A-4那样测试您的新git
版本。
在2.32.X中,X代表我们定义为构建的版本的最后一部分。如果更新了git
,构建可能会发生变化。根据官方网页,最新发布版本为2.32.0。如果您想要上一个版本2.31.1,只需替换版本和构建参数,如下所示:
version=2.31
build=1
mkdir ~/temp
cd ~/temp
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-git-$version.$build.tar.gz
tar -xzvf git-$version.$build.tar.gz
cd git-$version.$build/
安装特定版本
如果您想安装PPA的特定版本,而不一定是最新版本(我建议这样做以确保未来的可重复性),您可以使用以下方法:
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git=1:2.36.0-0ppa1~ubuntu20.04.1
1:2.36.0-0ppa1~ubuntu20.04.1
直接从PPA页面复制粘贴而来:https://launchpad.net/~git-core/+archive/ubuntu/ppa
有关版本字符串的更多信息,请参阅:为什么某些软件包在版本字符串前面有额外的数字和冒号?