Jak zainstalować najnowszą wersję git na CentOS 7.x / 6.x
Użyłem zwykłej:
yum install git
Nie zainstalował najnowszej wersji git na moim CentOS 6. Jak mogę zaktualizować git do najnowszej wersji dla CentOS 6? Rozwiązanie może mieć zastosowanie do nowszych wersji CentOS, takich jak CentOS 7.
11 answers
Możesz użyć repozytorium CentOS WANDisco do zainstalowania Git 2.x: for CentOS 6 , for CentOS 7
-
Zainstaluj pakiet 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
-
Zainstaluj najnowszą wersję Git 2.x:
yum install git
-
Zweryfikuj zainstalowaną wersję Git:
git --version
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-21 13:12:35
Przeglądając blog tutaj znalazłem rozwiązanie w jednym z komentarzy. Upewnij się, że masz repozytorium rpmforge
dodane do Twojego CentOS yum i po prostu uruchom polecenie flowing:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
Jeśli masz już zainstalowany git to Użyj:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
Podobne pytanie(y):
Uwaga aktualizacja:
Dzięki Anthony Hatzopoulos, dla git v1.8x
będziesz musiał użyj git18 jak w:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
Uwaga aktualizacja 2:
Dzięki @Axlrod za poniższą podpowiedź i @Hiphip za opinię:]}Zmień plik rpmforge.repo
na rpmforge-extras
na włączony,
yum update git
. W przeciwnym razie skarżył się na problemy z zależnościami.
Uwaga aktualizacja 3:
Instalacja konkretnej wersji git say 2.x Znalazłem ten miły i łatwy do naśladowania poradnik Jak pobrać źródło Gita i skompilować go samodzielnie(i zainstalować). Jeśli zaakceptowana odpowiedź nie daje wersji, którą chcesz, spróbuj następujące instrukcje:
Http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
W 2007 roku został wybrany do Izby Gmin jako reprezentant kraju.]}Krok 1: Zainstaluj Wymagane Pakiety
Najpierw musimy się upewnić, że zainstalowaliśmy wymagane pakiety w Twoim systemie. Użyj następującego polecenia, aby zainstalować wymagane pakiety przed kompilacją Git źródło.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
Krok 2: Odinstaluj Stary Git RPM
Teraz usuń wszystkie wcześniejsze instalacje Git poprzez plik RPM lub menedżera pakietów Yum. Jeśli twoja starsza wersja jest również skompilowana przez źródło, pomiń ten krok.
# yum remove git
Krok 3: Pobierz i skompiluj źródło Git
Pobierz kod źródłowy git z jądra git lub po prostu użyj następującego polecenia, aby pobrać 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
Po pobraniu i rozpakowaniu kodu źródłowego Git, użyj wykonujemy polecenie kompilacji kodu źródłowego.
# 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
Podpowiedź 1: Zaktualizowana metoda dodawania skompilowanego katalogu git bin do bashrc. Ponieważ
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
użyło ""zamiast", rozszerzyłoby to wartość bieżącej sesji o $PATH zamiast zachować ją jako zmienną i mogłoby niekorzystnie wpłynąć na cały system. W tym celu należy użyć "zamiast" i tak naprawdę powinien to być osobny skrypt w/etc/profile.d/
HINT 2 (@DJB):
/usr/local/git/bin
przed$PATH
, ponieważ starsza wersja git był już na $PATH:export PATH=/usr/local/git/bin:$PATH
Punkt 4. Sprawdź Wersję Git
Po wykonaniu powyższych kroków, pomyślnie zainstalowałeś Git w swoim systemie. Użyj następującego polecenia, aby sprawdzić wersję git
# git --version
git version 2.0.4
Chciałem również dodać, że poradnik "Jak zacząć" na stronie GIT zawiera również instrukcje jak pobrać i skompilować go samodzielnie: {21]}
Http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:31
Znalazłem ten miły i łatwy do naśladowania poradnik Jak pobrać źródło Gita i skompilować go samodzielnie(i zainstalować). Jeśli zaakceptowana odpowiedź nie daje żądanej wersji, spróbuj wykonać następujące instrukcje:
Http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(i wklejony / sformatowany z powyższego źródła w przypadku, gdy zostanie usunięty później)
Krok 1: Zainstaluj Wymagane Pakiety
Po pierwsze musimy upewnić się, że mamy zainstalowane wymagane pakiety w systemie. Użyj następującego polecenia, aby zainstalować wymagane pakiety przed kompilacją Git source.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
Krok 2: Odinstaluj Stary Git RPM
Teraz usuń wszystkie wcześniejsze instalacje Git poprzez plik RPM lub menedżera pakietów Yum. Jeśli twoja starsza wersja jest również skompilowana przez źródło, pomiń ten krok.
# yum remove git
Krok 3: Pobierz i skompiluj źródło Git
Pobierz kod źródłowy git z jądra git lub po prostu użyj następującego polecenie do pobrania 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
Po pobraniu i rozpakowaniu kodu źródłowego Git, Użyj następującego polecenia do skompilowania kodu źródłowego.
# 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
Punkt 4. Sprawdź Wersję Git
Po wykonaniu powyższych kroków, pomyślnie zainstalowałeś Git w swoim systemie. Użyj następującego polecenia, aby sprawdzić wersję git
# git --version
git version 2.5.3
Chciałem również dodać, że poradnik "wprowadzenie" na stronie GIT zawiera również instrukcje jak go pobrać i skompilować yourself:
Http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-03 16:46:02
Rackspace utrzymuje ius repozytorium , które zawiera w miarę aktualny git, ale stock git musi być najpierw usunięty.
Instrukcje 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 instrukcje:
$ sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release
$ sudo yum install git2u
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-25 15:16:33
Moją osobistą preferencją jest tworzenie pakietów rpm dla CentOS podczas instalowania niestandardowego oprogramowania i zastępowania rozproszonych komponentów. W tym celu polecam użycie Mocka do stworzenia czystego środowiska budowania.
Procedura jest:
Uzyskaj źródłowe RPMS lub odpowiedni plik SPEC i nieskazitelny źródłowy tarball. W tym przypadku moĹźna znaleĹşÄ ‡ ĹşrĂłdĹ ' owe pakiety RPM dla git2X dla CentOS-6 pod adresem:
http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/
. Pakiety dla innych wydań CentOS są również dostępny.-
Zainstaluj niezbędne oprogramowanie wspierające:
yum install epel-release # you need this for mock yum install rpm-build yum install redhat-rpm-config yum install rpmdevtools yum install mock
-
Dodaj konto użytkownika rpm build (nie buduj jako root ani jako prawdziwy użytkownik - problemy z bezpieczeństwem wrócą, by cię ugryźć ).
sudo adduser builder --home-dir /home/builder \ --create-home --user-group --groups mock \ --shell /bin/bash --comment "rpm package builder"
-
Następnie potrzebujemy środowiska budowania.
su -l builder rpmdev-setuptree
Tworzy to następującą strukturę katalogów:
~ └── rpmbuild ├── BUILD ├── RPMS ├── SOURCES ├── SPECS └── SRPMS
-
Używamy przygotowanego SRPMS więc źródła tarballs mogą być ignorowane dla tego case i możemy przejść bezpośrednio do 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
-
Konfiguracja mock (jako root)
cd /etc/mock rm default.cfg ln -s epel-6-x86_64.cfg default.cfg vim default.cfg
Wyłącz repo
beta
. Włącz operacje repozytoriumbase
iupdate
. -
W tym celu należy utworzyć drzewo kompilacji (domyślnie/var/lib / mock).]}
mock --init
-
Gdybyśmy budowali ze źródeł, To właśnie tutaj użylibyśmy pliku SPEC i użylibyśmy
mock --buildsrpm . . .
. Ale w tym przypadku przechodzimy bezpośrednio do kroku budowania binarnego:mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
To rozwiąże kompilację zależności i pobrać je (około 95 pakietów) do czystego katalogu głównego. Następnie wyodrębni źródła i zbuduje plik binarny z dostarczonego SRPM i pozostawi go w
/var/lib/mock/epel-6-x86_64/result
; lub w dowolnej niestandardowej lokalizacji roota i architekturze, którą podałeś. To zajmie dużo czasu. Jest wiele do tego pakietu; szczególnie dokumentacji. -
Jeśli wszystko pójdzie dobrze, powinieneś skończyć z pakietami rpm nadającymi się do instalacji w miejsce wersji distro. Tak właśnie skończyłem:
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
-
Zainstaluj za pomocą yum lub rpm.
Będziesz wymagał
git2u-2.5.3-1.ius.el6.x86_64.rpm
co najmniej i takich dodatkowych pakietów wsparcia, jakich wymaga (perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
) lub chcesz.Ta budowa ma cykliczną zależność:
git2u-2.5.3-1.ius.el6.x86_64.rpm
depends onperl-Git2u-2.5.3-1.ius.el6.noarch.rpm
iperl-Git2u-2.5.3-1.ius.el6.noarch.rpm
depends ongit2u-2.5.3-1.ius.el6.x86_64.rpm
. Prosta instalacja zrpm
zakończy się niepowodzeniem.Są dwa sposoby radzenia sobie z tym:
-
Zainstalować oba w tym samym czasie poprzez mniam:
yum localinstall \ git2u-2.5.3-1.ius.el6.x86_64.rpm \ perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
-
Ustaw lokalny repo yum.
Załączam mój plik
LocalFile.repo
poniżej, ponieważ zawiera instrukcje, jak to zrobić i jednocześnie dostarcza niezbędny plik 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
Może być również wymagane ręczne preinstalowanie dodatkowych pakietów zależności, takich jak perl-TermReadKey
dostępnych ze zwykłych repozytoriów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-07 17:37:05
Aby zbudować i zainstalować nowoczesny Git na 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-16 18:17:19
Dodaję tutaj rondo odpowiedzi. Miałem problemy z zainstalowaniem Gita na instancji Amazon RHEL 6.0, A to, co skończyło się ratowaniem mnie, to ... conda, jak Ana Conda Python.
Zainstalowałem conda w wierszu poleceń z archiwum (kod wzorowany na to):
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"
And then ran
conda install git
I zainstalowano relatywnie najnowszą wersję git. Dzisiaj jest 26/12/2016, a wersja jest 2.9.3.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-26 22:39:04
Oto moja metoda instalacji git na 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-08 19:13:01
Zbuduj najnowszą wersję git
na Centos 6/7
Przygotowanie systemu do budowy rpm
-
Zainstaluj epel:
Dla EL6, użycie:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Dla EL7, użyj:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-
Zainstaluj
fedpkg
:sudo yum install fedpkg
-
W tym celu należy skontaktować się z Działem obsługi klienta pod adresem
.]} sudo usermod -a -G mock $USER
Pobierz git
-
Pobierz
git
źródła:fedpkg clone -a git && cd git fedpkg sources
-
Zweryfikuj źródła:
sha512sum -c sources
Build rpm
-
Utwórz srmp. Użyj
el6
dla RHEL6,el7
dla RHEL7.fedpkg --dist el7 srpm
-
Zbuduj pakiet w mocku:
mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
Zainstaluj najnowszą wersję
git
rpm z/var/lib/mock/epel-7-x86_64/result/
. Uwaga, być może będziesz musiał najpierw odinstalować istniejącą wersję Gita z twojego systemu.
Ta instrukcja jest oparta na liście dyskusyjnej posta autorstwa Todda Zullinger .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-09 14:38:01
To może być nieistotne. Jest to dla ludzi, którzy nie chcą budować najnowszego git na hosta, tymczasem nadal mogą uzyskać najnowszy git.
Myślę, że większość ludzi nie lubi budować najnowszego Gita na CentOS, ponieważ zależności będą zanieczyszczać hosta i trzeba uruchomić wiele komend. Dlatego mam pomysł, który buduje git wewnątrz kontenera Dockera, a następnie instaluje plik wykonywalny poprzez Docker volume mount. Następnie możesz usunąć obraz i Pojemnik.
Tak, minusem jest to, że musisz zainstalować Dockera. Ale najmniejsze zależności są wprowadzane do hosta i nie trzeba instalować innych yum repo.
Oto moje repozytorium. https://github.com/wood1986/docker-library/tree/master/git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-03 23:08:59
Może być bardzo mylące i niebezpieczne zastąpienie repozytoriów bazowych upstream repozytoriami dodatkowymi bez konieczności przeprowadzania znacznych testów i przemyśleń. RPMforge, w szczególności, jest skutecznie goribund i nie otrzymuje aktualizacji.
Osobiście publikuję narzędzia do budowania git 2.4, opakowane jako alternatywnie nazwany pakiet "git24", w https://github.com/nkadel/git24-srpm / . Jeśli chcesz, aby Pakiety wyróżniały się od standardowego systemu Pakiety, podobnie jak pakiety "samba" i "samba4" są zróżnicowane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-07 20:14:08