Как установить последнюю версию git на CentOS 7.x / 6.икс
я использовал обычный:
yum install git
он не установил последнюю версию git на моем CentOS 6. Как я могу обновить до последней версии git для CentOS 6? Решение может быть применимо к более новым версиям CentOS, таким как CentOS 7.
11 ответов
вы можете использовать репозиторий CentOS WANDisco для установки Git 2.x: для CentOS 6, for CentOS 7
-
установить пакет WANDisco РЕПО:
yum install http://opensource.wandisco.com/centos/6/git/x86_64/wandisco-git-release-6-1.noarch.rpm - or - yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm - or - yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
-
установите последнюю версию Git 2.x:
yum install git
-
проверить версию git, которая была установлена:
git --version
по состоянию на 18 августа. 2017, последняя доступная версия от WANDisco 2.14.1.
взглянув на блог здесь я нашел решение в одном из комментариев. Убедитесь, что вы получили rpmforge
репозиторий добавлен в ваш CentOS yum и просто запустите текущую команду:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
если у вас уже установлен git, используйте:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
связанный с этим вопрос(ы):
Примечание. update:
спасибо Энтони Hatzopoulos, для git v1.8x
вам нужно будет использовать git18, как в:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
Примечание обновление 2:
также Спасибо @Axlrod за приведенную ниже подсказку и @Hiphip за обратную связь:
изменить иметь rpmforge-extras
включено,
yum update git
. В противном случае он жаловался на проблемы с зависимостями.
Примечание обновление 3:
установка определенной версии git say 2.икс Я нашел это хорошее и простое в использовании руководство о том, как загрузить источник GIT и скомпилировать его самостоятельно (и установить его). Если принятый ответ не дает вам желаемую версию, попробуйте выполнить следующие инструкции:
http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(и вставлен/переформатирован из вышеуказанного источника, если он будет удален позже)
Шаг 1: Установите Пакеты
во-первых, мы должны убедиться, что мы установили необходимые пакеты в вашей системе. Используйте следующую команду для установки необходимых пакетов перед компиляцией источника Git.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
Шаг 2: удалить старый git RPM
теперь удалите любую предыдущую установку git через RPM file или Yum package manager. Если более старая версия также компилируется через source, пропустите этот шаг.
# yum remove git
шаг 3: скачать и скомпилировать Git Source
загрузите исходный код git из ядра Git или просто используйте следующую команду для загрузки Git 2.0.4.
# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.0.4.tar.gz
# tar xzf git-2.0.4.tar.gz
после загрузки и извлечения исходного кода Git используйте следующую команду для компиляции исходного кода.
# cd git-2.0.4
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
#
# echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
# or
# echo 'export PATH=$PATH:/usr/local/git/bin' > /etc/profile.d/git.sh
#
# source /etc/bashrc
Подсказка 1: Обновлен метод добавления скомпилированного каталога git bin в bashrc. Потому что
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
используется ""вместо", это расширит значение текущего сеанса для $PATH вместо того, чтобы держать его в качестве переменной, и может негативно повлиять на всю систему. Как минимум, он должен использовать "вместо "" И действительно должен быть отдельным скриптом в/etc/profile.d/
ПОДСКАЗКА 2 (@DJB):
/usr/local/git/bin
до$PATH
, так как более старая версия git уже была на $PATH:export PATH=/usr/local/git/bin:$PATH
Шаг 4. Проверьте Версию Git
одно завершение вышеуказанных шагов, вы успешно установили Git в своей системе. Позвольте использовать следующая команда для проверки версии git
# git --version
git version 2.0.4
я также хотел добавить, что руководство "начало работы" на веб-сайте GIT также включает инструкции о том, как загрузить и скомпилировать его самостоятельно:
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
я нашел это хорошее и простое в использовании руководство о том, как загрузить источник GIT и скомпилировать его самостоятельно (и установить его). Если принятый ответ не дает вам желаемую версию, попробуйте выполнить следующие инструкции:
http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(и вставлен/переформатирован из вышеуказанного источника, если он будет удален позже)
Шаг 1: Установить Необходимые Пакеты
во-первых мы должны убедиться,что в вашей системе установлены необходимые пакеты. Используйте следующую команду для установки необходимых пакетов перед компиляцией источника Git.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
Шаг 2: удалить старый git RPM
теперь удалите любую предыдущую установку git через RPM file или Yum package manager. Если более старая версия также компилируется через source, пропустите этот шаг.
# yum remove git
Шаг 3: скачать и скомпилировать Git Источник
загрузите исходный код git из ядра Git или просто используйте следующую команду для загрузки Git 2.5.3.
# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.5.3.tar.gz
# tar xzf git-2.5.3.tar.gz
после загрузки и извлечения исходного кода Git используйте следующую команду для компиляции исходного кода.
# cd git-2.5.3
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
# echo 'pathmunge /usr/local/git/bin/' > /etc/profile.d/git.sh
# chmod +x /etc/profile.d/git.sh
# source /etc/bashrc
Шаг 4. Проверьте Версию Git
по завершении вышеуказанных шагов вы успешно установили Git в своей системе. Используйте следующую команду, чтобы проверить версию git
# git --version
git version 2.5.3
я тоже хотел добавить, что руководство "начало работы" на веб-сайте GIT также включает инструкции о том, как загрузить и скомпилировать его самостоятельно:
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Rackspace поддерживает репозиторий ius, который содержит разумно обновленный git, но запас git должен быть сначала удален.
CentOS 7 Инструкции:
$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release
$ sudo yum install git2u
CentOS 6 Инструкции:
$ sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release
$ sudo yum install git2u
мое личное предпочтение-создавать пакеты rpm для CentOS при установке нестандартного программного обеспечения и замене распределенных компонентов. Для этого я рекомендую использовать макет для создания чистой среды сборки.
процедура:
получите исходный RPMS или подходящий файл спецификации и нетронутый исходный tarball. В этом случае можно найти исходные пакеты RPM для Git2x для CentOS-6 по адресу:
http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/
. Пакеты для других выпусков CentOS также доступно.-
установить необходимое программное обеспечение:
yum install epel-release # you need this for mock yum install rpm-build yum install redhat-rpm-config yum install rpmdevtools yum install mock
-
Добавить учетную запись пользователя сборки rpm (не создавайте как root или как реальные проблемы безопасности пользователя будет вернуться, чтобы укусить вас).
sudo adduser builder --home-dir /home/builder \ --create-home --user-group --groups mock \ --shell /bin/bash --comment "rpm package builder"
-
Далее нам нужна среда разработки.
su -l builder rpmdev-setuptree
это создает следующий каталог структура:
~ └── rpmbuild ├── BUILD ├── RPMS ├── SOURCES ├── SPECS └── SRPMS
-
мы используем подготовленную SRPMS, поэтому исходные tarballs можно игнорировать для этого случая, и мы можем перейти непосредственно к SRPMS.
wget http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm \ -O ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
-
настроить макет (как root)
cd /etc/mock rm default.cfg ln -s epel-6-x86_64.cfg default.cfg vim default.cfg
отключить
beta
РЕПО. Включитьbase
иupdate
РЕПО. -
инициализировать дерево сборки (по умолчанию/var / lib / mock)
mock --init
-
если бы мы были построение из источников, то это где мы будем использовать файл спецификации и использовать
mock --buildsrpm . . .
. Но в этом случае мы переходим непосредственно к шагу двоичной сборки:mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
это разрешит зависимости сборки и загрузит их (около 95 или около того пакетов) в чистый корень сборки. Затем он извлечет источники и построит двоичный файл из предоставленного SRPM и оставит его в
/var/lib/mock/epel-6-x86_64/result
; или в любом пользовательском корневом местоположении сборки и архитектуре, которые вы предоставили. Это займет много времени. В этом пакете много всего, особенно документации. -
если все идет хорошо, то вы должны в конечном итоге костюм пакетов RPM подходит для установки вместо версии дистрибутива. Это то, что я закончил:
ll /var/lib/mock/epel-6-x86_64/result total 34996 -rw-rw-r--. 1 byrnejb mock 448455 Oct 30 10:09 build.log -rw-rw-r--. 1 byrnejb mock 52464 Oct 30 10:09 emacs-git2u-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 47228 Oct 30 10:09 emacs-git2u-el-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 8474478 Oct 30 09:57 git2u-2.5.3-1.ius.el6.src.rpm -rw-rw-r--. 1 byrnejb mock 8877584 Oct 30 10:09 git2u-2.5.3-1.ius.el6.x86_64.rpm -rw-rw-r--. 1 byrnejb mock 27284 Oct 30 10:09 git2u-all-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 27800 Oct 30 10:09 git2u-bzr-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 112564 Oct 30 10:09 git2u-cvs-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 436176 Oct 30 10:09 git2u-daemon-2.5.3-1.ius.el6.x86_64.rpm -rw-rw-r--. 1 byrnejb mock 15858600 Oct 30 10:09 git2u-debuginfo-2.5.3-1.ius.el6.x86_64.rpm -rw-rw-r--. 1 byrnejb mock 60556 Oct 30 10:09 git2u-email-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 274888 Oct 30 10:09 git2u-gui-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 79176 Oct 30 10:09 git2u-p4-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 483132 Oct 30 10:09 git2u-svn-2.5.3-1.ius.el6.x86_64.rpm -rw-rw-r--. 1 byrnejb mock 173732 Oct 30 10:09 gitk2u-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 115692 Oct 30 10:09 gitweb2u-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 57196 Oct 30 10:09 perl-Git2u-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 89900 Oct 30 10:09 perl-Git2u-SVN-2.5.3-1.ius.el6.noarch.rpm -rw-rw-r--. 1 byrnejb mock 101026 Oct 30 10:09 root.log -rw-rw-r--. 1 byrnejb mock 980 Oct 30 10:09 state.log
-
установить с помощью yum или rpm.
вам потребуется
git2u-2.5.3-1.ius.el6.x86_64.rpm
как минимум и таких дополнительных пакетов поддержки, как это требуется (perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
) или вы желаете.эта сборка имеет циклическую зависимость:
git2u-2.5.3-1.ius.el6.x86_64.rpm
зависит отperl-Git2u-2.5.3-1.ius.el6.noarch.rpm
иperl-Git2u-2.5.3-1.ius.el6.noarch.rpm
зависит отgit2u-2.5.3-1.ius.el6.x86_64.rpm
. Прямая установка сrpm
таким образом потерпит неудачу.-
установите оба одновременно через yum:
yum localinstall \ git2u-2.5.3-1.ius.el6.x86_64.rpm \ perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
-
настройка локального РЕПО yum.
я в том числе мой
LocalFile.repo
файл ниже, поскольку он содержит инструкции о том, как это сделать, и предоставляет необходимый файл РЕПО на в то же время.
-
cat /etc/yum.repos.d/LocalFile.repo
# LocalFile.repo
#
# This repo is used with a local filesystem repo.
#
# To use this repo place the rpm package in /root/RPMS/yum.repo/Packages.
# Then run: createrepo --database --update /root/RPMS/yum.repo.
#
# To use:
# yum --enablerepo=localfile [command]
#
# or to use only ONLY this repo, do this:
#
# yum --disablerepo=\* --enablerepo=localfile [command]
[localfile]
baseurl=file:///root/RPMS/yum.repo
name=CentOS-$releasever - Local Filesystem repo
# Before persistently enabling this repo see the priority note below.
enabled=0
gpgcheck=0
# When this repo is enabled all packages in repos with priority>5
# will not be updated even when they have a more recent version.
# Be careful with this.
priority=5
Вам также может потребоваться вручную установить дополнительные пакеты зависимостей, таких как perl-TermReadKey
доступно из обычных репозиториев.
для сборки и установки modern Git на CentOS 6:
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
export GIT_VERSION=2.6.4
mkdir /root/git
cd /root/git
wget "https://www.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz"
tar xvzf "git-${GIT_VERSION}.tar.gz"
cd git-${GIT_VERSION}
make prefix=/usr/local all
make prefix=/usr/local install
yum remove -y git
git --version # should be GIT_VERSION
добавление Окольного ответа здесь. Я изо всех сил пытался установить git на экземпляр RHEL 6.0 Amazon, и в итоге меня спасли ... стадион conda, как в Анастадион conda Python.
Я установил conda в командной строке из архивы (код по образцу этой):
wget http://repo.continuum.io/miniconda/Miniconda2-4.2.12-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
а потом побежал
conda install git
и была установлена относительно новая версия git. Сегодня 12/26/2016 и версия 2.9.3.
вот мой метод установки git на centos 6.
sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel curl-devel
sudo yum install wget
cd ~
wget -O git.zip https://github.com/git/git/archive/v2.7.2.zip
unzip git.zip
cd git-2.7.2
make configure
./configure --prefix=/usr/local
make all doc
sudo make install install-doc install-html
построить последнюю версию git
на Centos 6/7
подготовка системы к созданию РПМ
-
установить epel:
для EL6 используйте:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
для EL7 используйте:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-
установить
fedpkg
:sudo yum install fedpkg
-
добавьте себя в группу mock (после этого Вам может потребоваться повторно войти на сервер изменить):
sudo usermod -a -G mock $USER
скачать git
-
скачать
git
источники:fedpkg clone -a git && cd git fedpkg sources
-
проверьте источник:
sha512sum -c sources
построить rpm
-
создать srmp. Использовать
el6
для RHEL6,el7
для RHEL7.fedpkg --dist el7 srpm
-
построить пакет в макете:
mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
установить последнюю версию версия
git
мин у/var/lib/mock/epel-7-x86_64/result/
. Обратите внимание, что сначала вам может потребоваться удалить существующую версию git из вашей системы.
эта инструкция основана на сообщение списка рассылки Тодда Цуллингера.
Это может не иметь значения. Это для людей, которые не хотят строить последний git на хосте, тем временем они все еще могут получить последний git.
Я думаю, что большинству людей не нравится строить последний git на CentOS, потому что зависимости будут загрязнять хост, и вам нужно запускать много команд. Поэтому у меня есть идея, которая строит git внутри контейнера Docker, а затем устанавливает исполняемый файл через крепление Тома docker. После этого, вы можете удалить изображение и контейнер.
да, недостатком является то, что вам нужно установить docker. Но наименьшие зависимости вводятся на хост, и вам не нужно устанавливать другое РЕПО yum.
вот мой репозиторий. https://github.com/wood1986/docker-library/tree/master/git
Это может быть очень запутанным и опасным, чтобы заменить исходные базовые репозитории с дополнительными репозиториями без значительного тестирования и мысли. RPMforge, в частности, эффективно умирает и не получает обновлений.
Я лично публикую инструменты для создания git 2.4, обернутые Как альтернативно названный пакет "git24", в https://github.com/nkadel/git24-srpm/. Не стесняйтесь обращаться и вилять те, Если вы хотите, чтобы пакеты отличались от стандартные системные пакеты, как и пакеты "samba" и "samba4", дифференцированы.