11 ответов:
вы можете использовать хранилище CentOS WANDisco для установки Git 2.x: для CentOS 6 на 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связанный с этим вопрос(ы):
Примечание. обновление:
спасибо Энтони 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 source.
# 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 source.
# 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 git2uCentOS 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 при установке нестандартного программного обеспечения и замене распределенных компонентов. Для этого я рекомендую использовать макет для создания чистой среды сборки.
процедура:
получите исходные RPM или подходящий файл спецификации и первозданный исходный 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 build (не создавайте как 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, поэтому исходные тарболы можно игнорировать для этого случая, и мы можем перейти непосредственно к 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доступно из обычных репозиториев.
чтобы построить и установить современный 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 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добавить себя в группу макет (возможно, потребуется повторно войти на сервер после этого изменить):
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 из вашей системы.эта инструкция основана на сообщение в списке рассылки от Todd Zullinger.
Это может быть неуместно. Это для людей, которые не хотят строить последний 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", различаются.
Comments