Я использовал обычные:
yum install git
Он не установил последнюю версию git на CentOS 6. Как я могу обновить последнюю версию git для CentOS 6? Решение может быть применимо к более новым версиям CentOS, таким как CentOS 7.
Я использовал обычные:
yum install git
Он не установил последнюю версию git на CentOS 6. Как я могу обновить последнюю версию git для CentOS 6? Решение может быть применимо к более новым версиям CentOS, таким как CentOS 7.
Вы можете использовать репозиторий WANDisco CentOS для установки 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
По состоянию на 16 июля 2019 года последняя доступная версия от WANDisco - 2.22.0.
Взглянув на блог здесь, я нашел решение в одном из комментариев. Убедитесь, что репозиторий rpmforge
добавлен в вашу CentOS yum и просто запустите текущую команду:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
Если у вас уже установлено git, то используйте:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
Связанный вопрос (ы):
Благодаря Anthony Hatzopoulos, для git v1.8x
вам нужно будет использовать git18, как в:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
Также благодаря @Axlrod для нижеприведенного подсказки и @Hiphip для обратной связи:
Измените файл rpmforge.repo
, чтобы включить rpmforge-extras
,
yum update git
. В противном случае он жаловался на проблемы с зависимостью.
Установка определенной версии git означает 2.x Я нашел это красивое и простое в использовании руководство по загрузке источника 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 или диспетчер пакетов Yum. Если ваша старая версия также скомпилирована через источник, пропустите этот шаг.
# yum remove git
Шаг 3: Загрузить и скомпилировать git Источник
Загрузите исходный код 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 вместо того, чтобы хранить его как переменную, и может отрицательно повлиять на всю систему. Как минимум, он должен использовать" вместо" и должен быть отдельным script в/etc/profile.d/
СОВЕТ 2 (@DJB):
/usr/local/git/bin
до$PATH
, поскольку более старая версия git уже была на $PATH:export PATH=/usr/local/git/bin:$PATH
Шаг 4. Проверьте git Версия
По завершении вышеуказанных шагов вы успешно установите git в свою систему. Используйте следующую команду для проверки git version
# 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 файл или менеджер пакетов Yum. Если ваша старая версия также скомпилирована через исходный код, пропустите этот шаг.
# 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 при установке нестандартного программного обеспечения и замене распределенных компонентов. Для этого я рекомендую использовать Mock для создания чистой среды сборки.
Процедура такова:
Получите исходные RPMS или подходящий файл SPEC и исходный 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, поэтому для этого случая можно игнорировать tarballs SOURCES, и мы можем перейти непосредственно к 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
Настроить mock (как 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
Если мы строим SOURCES, тогда мы будем использовать файл SPEC и использовать 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
RHEL и производные обычно поставляются с более старыми версиями git. Вы можете загрузить tar-архив и выполнить сборку из исходного кода или использовать сторонний репозиторий, такой как IUS Community Project, для получения более новой версии git.
есть хороший учебник здесь. в моем случае (сервер Centos7) после установки пришлось выйти из системы и войти снова.
Добавление здесь окольного ответа. Я пытался установить git на экземпляр RHEL 6.0 Amazon, и в итоге я спас меня... conda, как в Anaconda 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/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
Создать srmp. Используйте el6
для RHEL6, el7
для RHEL7.
fedpkg --dist el7 srpm
Сборка пакета в макете:
mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
Установите последнюю версию git
rpm из /var/lib/mock/epel-7-x86_64/result/
. Обратите внимание, что вам может понадобиться сначала удалить существующую версию git из вашей системы.
Эта инструкция основана на публикации в списке рассылки Тодда Цуллингера.
Здесь мой метод установки 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 на хосте, пока они все еще могут получить последние git.
Я думаю, что большинству людей не нравится создавать последние git в CentOS, потому что зависимости заражают хост, и вы должны запускать множество команд. Поэтому у меня есть идея, которая создает git внутри контейнера Docker, а затем устанавливает исполняемый файл через mount тонера. После этого вы можете удалить изображение и контейнер.
Да, недостатком является то, что вы должны установить докер. Но наименьшие зависимости вводятся хосту, и вам не нужно устанавливать другое репозиционирование yum.
Вот мой репозиторий. https://github.com/wood1986/docker-library/tree/master/git
Это может быть очень запутанным и опасным, чтобы заменить базовые хранилища восходящего потока дополнительными репозиториями без значительного тестирования и мысли. RPMforge, в частности, эффективно умирает и не получает обновлений.
Я лично публикую инструменты для построения git 2.4, завернутые как альтернативный пакет "git24", в https://github.com/nkadel/git24-srpm/. Не стесняйтесь обращаться к ним и откатывать их, если вы хотите, чтобы пакеты отличались от стандартных системных пакетов, так же как и пакеты "samba" и "samba4".