Я використовував звичайне:
yum install git
Він не встановив останню версію git на мій CentOS 6. Як я можу оновити до останньої версії git для CentOS 6? Рішення може бути застосовно до більш нових версій CentOS, таких як CentOS 7.
Я використовував звичайне:
yum install git
Він не встановив останню версію git на мій CentOS 6. Як я можу оновити до останньої версії git для CentOS 6? Рішення може бути застосовно до більш нових версій CentOS, таких як CentOS 7.
Відповіді:
Ви можете використовувати сховище CentOS WANDisco для установки Git 2.x: для CentOS 6 , для CentOS 7
Встановіть пакет WANDisco repo:
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
Станом на 02 березня 2020 року остання доступна версія від WANDisco становить 2,22.0 .
--disablerepo=base,updates
не працює для мене.
Переглянувши блог тут, я знайшов рішення в одному з коментарів. Переконайтеся, що ви rpmforge
додали репозиторій у свій CentOS yum та просто запустіть поточну команду:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
Якщо у вас вже встановлено git, використовуйте:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
Пов'язані питання:
Завдяки Ентоні Хацопулос, git v1.8x
вам потрібно буде використовувати git18 як у:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
Також дякуємо @Axlrod за підказку нижче та @Hiphip за відгук:
Змініть rpmforge.repo
файл , щоб rpmforge-extras
на дозволені,
yum update git
. В іншому випадку він скаржився на проблеми залежності.
Встановлення конкретної версії git say 2.x Я знайшов це чудовий і простий у виконанні посібник про те, як завантажити джерело 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: Видаліть старий RPM Git
Тепер видаліть будь-яку попередню установку 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
Підказка: Оновлений метод додавання зібраного каталогу 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
git18
якyum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
yum --disablerepo=base,updates --enablerepo=rpmforge-extras list | grep git
лише показує для мене Git 1.7.12 на Centos 6.6. Можливо, вони видалили "git18"?
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
Can't locate ExtUtils/MakeMaker.pm in @INC
git-credential-libsecret
, який є найбезпечнішим основним засобом для зберігання даних git, наприклад, для http [s] URL-адрес. На даний момент прийнята відповідь на момент написання ( stackoverflow.com/a/21820716/407170 ) не робить цього, і вимагає скласти самостійно.
Я знайшов цей приємний і простий у виконанні посібник про те, як завантажити джерело 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: Видаліть старий RPM Git
Тепер видаліть будь-яку попередню установку 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
wget https://www.kernel.org/pub/software/scm/git/git-2.5.3.tar.gz
echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/bashrc
а потім source /etc/bashrc
Мої особисті переваги - це створення пакетів rpm для CentOS при встановленні нестандартного програмного забезпечення та заміні розподілених компонентів. Для цього я рекомендую використовувати Mock для створення чистого середовища побудови.
Процедура така:
Отримайте вихідний RPMS або відповідний файл SPEC та незайманий джерело тарболу. В цьому випадку можна знайти джерело 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
Додавання облікового запису користувача хв збірки ( не будувати , як корінь або як реальний користувач - питання безпеки будуть повертатися вкусити вас ).
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
Якби ми будували з ДЖЕРЕЛА, то саме тут ми б використовували файл 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 repo.
Я включаю свій 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. Ви можете завантажити тарбол і створити з джерела або використовувати стороннє сховище, наприклад IUS Community Project, щоб отримати більш нову версію git.
є хороший підручник тут . у моєму випадку (сервер Centos7) після встановлення довелося вийти з системи та знову увійти.
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 на екземплярі RHEL 6.0 Amazon, і те, що врешті-решт врятувало мене, було ... conda, як у Ana 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. Сьогодні 26.12.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
yum install libcurl-devel
.
Це може бути неактуальним. Люди не хочуть будувати найновіший git на хості, тим часом вони все ще можуть отримати найновіший git.
Я думаю, що більшості людей не подобається будувати найновіший git на CentOS, тому що залежності будуть забруднювати хост, і вам доведеться виконувати багато команд. Тому у мене є ідея, яка будує git всередині контейнера Docker, а потім встановлює виконуваний файл через кріплення гучності докера. Після цього ви можете видалити зображення та контейнер.
Так, недоліком є те, що вам доведеться встановити докер. Але найменші залежності вводяться до хоста, і вам не доведеться встановлювати інші yum repo.
Ось мій сховище. https://github.com/wood1986/docker-library/tree/master/git
Якщо git уже встановлений, видаліть старий git
sudo yum remove git*
Додати IUS CentOS 7 репо
sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y install git2u-all
Тепер перевірте версію git після встановлення пакета git2u-all. Якщо докер встановлений на вашій машині, то ius-release може створити проблему.
git --version
бінго !!
Замінити верхні базові сховища додатковими сховищами може бути дуже заплутано та небезпечно без значного тестування та роздумів. RPMforge, зокрема, ефективно перебуває у стані спокою і не отримує оновлень.
Я особисто публікую інструменти для створення git 2.4, обгорнутого як альтернативний пакет "git24", на https://github.com/nkadel/git24-srpm/ . Не соромтеся отримувати доступ та роздрібнювати їх, якщо ви хочете, щоб пакунки відрізнялися від стандартних системних пакетів, наскільки пакунки "samba" та "samba4" відрізняються.