Użyłem zwykłego:
yum install git
Nie zainstalował najnowszej wersji git na moim CentOS 6. Jak mogę zaktualizować do najnowszej wersji git dla CentOS 6? Rozwiązanie może mieć zastosowanie do nowszych wersji CentOS, takich jak CentOS 7.
Użyłem zwykłego:
yum install git
Nie zainstalował najnowszej wersji git na moim CentOS 6. Jak mogę zaktualizować do najnowszej wersji git dla CentOS 6? Rozwiązanie może mieć zastosowanie do nowszych wersji CentOS, takich jak CentOS 7.
Odpowiedzi:
Możesz użyć repozytorium CentOS WANDisco, aby zainstalować Git 2.x: dla CentOS 6 , dla CentOS 7
Zainstaluj pakiet repozytorium 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
Zainstaluj najnowszą wersję Git 2.x:
yum install git
Sprawdź zainstalowaną wersję Gita:
git --version
Od 02 marca 2020 najnowsza dostępna wersja WANDisco to 2.22.0 .
--disablerepo=base,updates
nie działa dla mnie.
Patrząc na blog tutaj znalazłem rozwiązanie w jednym z komentarzy. Upewnij się, że rpmforge
repozytorium zostało dodane do yum CentOS i po prostu uruchom płynne polecenie:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
Jeśli masz już zainstalowany git, użyj:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
Powiązane pytania):
Dzięki Anthony Hatzopoulos, git v1.8x
będziesz musiał użyć git18 jak w:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
Dziękujemy również @Axlrod za poniższą wskazówkę i @Hiphip za opinie:
Zmień rpmforge.repo
plik, rpmforge-extras
aby włączyć
yum update git
. W przeciwnym razie narzekał na problemy zależności.
Instalowanie konkretnej wersji git powiedz 2.x Znalazłem ten przyjemny i łatwy do naśladowania przewodnik na temat pobierania źródła GIT i samodzielnego kompilowania go (i instalowania). Jeśli zaakceptowana odpowiedź nie daje żądanej wersji, wypróbuj następujące instrukcje:
http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(I wklejony / sformatowany z powyższego źródła na wypadek, gdyby został później usunięty)
Krok 1: Zainstaluj wymagane pakiety
Po pierwsze musimy upewnić się, że zainstalowaliśmy wymagane pakiety w twoim systemie. Użyj poniższej komendy, aby zainstalować wymagane pakiety przed skompilowaniem źródła Git.
# 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ń wcześniejszą instalację Git za pomocą pliku 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 Git Source
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 poniższej komendy, aby skompilować kod źródłowy.
# 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
WSKAZÓWKA 1: Zaktualizowana metoda dodawania skompilowanego katalogu git bin do bashrc. Ponieważ
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
użyto „” zamiast „”, zwiększyłoby wartość bieżącej sesji dla $ PATH zamiast zachowywać ją jako zmienną, i może niekorzystnie wpłynąć na cały system. Przynajmniej powinien używać „” zamiast „” i naprawdę powinien być osobnym skryptem w/etc/profile.d/
WSKAZÓWKA 2 (@DJB):
/usr/local/git/bin
wcześniej$PATH
, ponieważ starsza wersja git była już na $ PATH:export PATH=/usr/local/git/bin:$PATH
Krok 4. Sprawdź wersję Git
Po wykonaniu powyższych kroków pomyślnie zainstalowałeś Git w swoim systemie. Pozwól użyć następującego polecenia, aby sprawdzić wersję git
# git --version
git version 2.0.4
Chciałem również dodać, że przewodnik „Pierwsze kroki” na stronie GIT zawiera również instrukcje, jak samemu pobrać i skompilować:
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
git18
jak wyum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
yum --disablerepo=base,updates --enablerepo=rpmforge-extras list | grep git
pokazuje mi Git 1.7.12 dla Centos 6.6. Być może usunęli „git18”?
Rackspace utrzymuje repozytorium ius , które zawiera dość aktualny git, ale zapas git musi zostać 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
Instrukcje 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
zainstalowanie kompilacji , co jest najbezpieczniejszym sposobem dla natywnego systemu operacyjnego do przechowywania poświadczeń git, np. dla adresów URL http [s]. Akceptowana obecnie odpowiedź w momencie pisania ( stackoverflow.com/a/21820716/407170 ) nie robi tych rzeczy i wymaga samodzielnego skompilowania.
Znalazłem przyjemny i łatwy do naśladowania przewodnik na temat pobierania źródła GIT i samodzielnego kompilowania go (i instalowania). Jeśli zaakceptowana odpowiedź nie daje żądanej wersji, wypróbuj następujące instrukcje:
http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(I wklejony / sformatowany z powyższego źródła na wypadek, gdyby został później usunięty)
Krok 1: Zainstaluj wymagane pakiety
Po pierwsze musimy upewnić się, że zainstalowaliśmy wymagane pakiety w twoim systemie. Użyj poniższej komendy, aby zainstalować wymagane pakiety przed skompilowaniem źródła Git.
# 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ń wcześniejszą instalację Git za pomocą pliku 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 Git Source
Pobierz kod źródłowy git z jądra git lub po prostu użyj następującego polecenia, aby pobrać 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 poniższej komendy, aby skompilować kod źródłowy.
# 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
Krok 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 przewodnik „Pierwsze kroki” na stronie GIT zawiera również instrukcje, jak samemu pobrać i skompilować:
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
a następnie source /etc/bashrc
Osobiście wolę budować pakiety RPM dla CentOS podczas instalowania niestandardowego oprogramowania i zastępowania rozproszonych komponentów. W tym celu polecam użyć Mock do stworzenia czystego środowiska kompilacji.
Procedura jest następująca:
Uzyskaj źródłowy RPMS lub odpowiedni plik SPEC i nieskazitelny źródłowy plik archiwum. W tym przypadku można znaleźć źródło pakietów RPM dla git2X dla CentOS-6 pod adresem: http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/
. Dostępne są również pakiety dla innych wydań CentOS.
Zainstaluj niezbędne oprogramowanie pomocnicze:
yum install epel-release # you need this for mock
yum install rpm-build
yum install redhat-rpm-config
yum install rpmdevtools
yum install mock
Dodawanie konta użytkownika rpm build ( nie budować jako root lub jako prawdziwego użytkownika - kwestie bezpieczeństwa będą wracać do 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 kompilacji.
su -l builder
rpmdev-setuptree
To tworzy następującą strukturę katalogów:
~
└── rpmbuild
├── BUILD
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS
Używamy przygotowanego SRPMS, aby w tym przypadku można było zignorować tarball SOURCES i 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
Skonfiguruj próbny (jako root)
cd /etc/mock
rm default.cfg
ln -s epel-6-x86_64.cfg default.cfg
vim default.cfg
Wyłącz beta
repozytorium. Włącz repozytorium base
i update
.
Zainicjuj drzewo kompilacji (domyślnie / var / lib / mock)
mock --init
Gdybyśmy budowali na podstawie ŹRÓDEŁ, to tutaj użylibyśmy pliku SPEC i użylibyśmy mock --buildsrpm . . .
. Ale w tym przypadku przechodzimy bezpośrednio do kroku kompilacji binarnej:
mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
Spowoduje to rozwiązanie zależności kompilacji i pobranie ich (około 95 pakietów) do czystego katalogu głównego kompilacji. Następnie wyodrębni źródła i zbuduje plik binarny z dostarczonego SRPM i pozostawi w nim /var/lib/mock/epel-6-x86_64/result
; lub w dowolnej niestandardowej lokalizacji katalogu głównego i podanej architekturze. To zajmie dużo czasu. W tym pakiecie jest wiele; w szczególności dokumentacja.
Jeśli wszystko pójdzie dobrze, powinieneś skończyć z zestawem pakietów RPM odpowiednich do instalacji zamiast wersji Distro. Właśnie z tym 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 używając yum lub rpm.
Będziesz potrzebował git2u-2.5.3-1.ius.el6.x86_64.rpm
co najmniej takich dodatkowych pakietów wsparcia, jakie wymagają ( perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
) lub chcesz.
Ta kompilacja ma cykliczną zależność: git2u-2.5.3-1.ius.el6.x86_64.rpm
zależy od perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
i perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
zależy od git2u-2.5.3-1.ius.el6.x86_64.rpm
. Prosta instalacja z rpm
tym samym się nie powiedzie.
Istnieją dwa sposoby radzenia sobie z tym:
Zainstaluj oba jednocześnie przez yum:
yum localinstall \
git2u-2.5.3-1.ius.el6.x86_64.rpm \
perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
Skonfiguruj lokalne repozytorium yum.
Podaję mój LocalFile.repo
plik poniżej, ponieważ zawiera instrukcje, jak to zrobić i zapewnia niezbędny plik repo w tym samym czasie.
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ż konieczne ręczne zainstalowanie dodatkowych pakietów zależności, takich jak perl-TermReadKey
dostępne ze zwykłych repozytoriów.
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
RHEL i pochodne zwykle dostarczają starsze wersje git. Możesz pobrać plik archiwum i kompilację ze źródła lub użyć zewnętrznego repozytorium, takiego jak Projekt społeczności IUS, aby uzyskać nowszą wersję git.
tam jest dobry tutorial tutaj . w moim przypadku (serwer Centos7) po instalacji musiałem się wylogować i zalogować ponownie.
git
Centos 6/7Zainstaluj epel:
W przypadku EL6 użyj:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
W przypadku EL7 użyj:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Zainstaluj fedpkg
:
sudo yum install fedpkg
Dodaj się do grupy próbnej (po tej zmianie może być konieczne ponowne logowanie do serwera):
sudo usermod -a -G mock $USER
git
Pobierz git
źródła:
fedpkg clone -a git && cd git
fedpkg sources
Sprawdź źródła:
sha512sum -c sources
Utwórz srmp. Użyj el6
dla RHEL6, el7
dla RHEL7.
fedpkg --dist el7 srpm
Zbuduj pakiet w próbnym:
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: może być konieczne odinstalowanie istniejącej wersji git z systemu.
Ta instrukcja oparta jest na liście mailowej Todda Zullingera .
Dodając tutaj odpowiedź na temat ronda. Próbowałem zainstalować git na instancji Amazon RHEL 6.0, a to, co mnie uratowało, to ... conda, jak w Ana conda Python.
Zainstalowałem conda w wierszu poleceń z archiwów (kod modelowany po tym ):
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"
a następnie pobiegł
conda install git
i zainstalowano stosunkowo najnowszą wersję git. Dzisiaj jest 26.12.2016, a wersja to 2.9.3.
Oto moja metoda instalacji gita 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
yum install libcurl-devel
.
Może to być nieistotne. To jest dla ludzi, którzy nie chcą budować najnowszego gita na hoście, 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 będziesz musiał uruchamiać wiele poleceń. Dlatego mam pomysł, który polega na zbudowaniu gita wewnątrz kontenera Docker, a następnie zainstalowaniu pliku wykonywalnego za pomocą montowania woluminu dokera. Następnie możesz usunąć obraz i pojemnik.
Tak, wadą jest to, że musisz zainstalować dokera. Ale najmniej 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
Jeśli git jest już zainstalowany, najpierw usuń stary git
sudo yum remove git*
Dodaj repozytorium IUS CentOS 7
sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y install git2u-all
Teraz sprawdź wersję git po zainstalowaniu pakietu git2u-all. Jeśli doker jest zainstalowany na twoim komputerze, ius-release może powodować problemy.
git --version
bingo !!
Zastąpienie podstawowych repozytoriów bazowych repozytoriami dodatkowymi może być bardzo mylące i niebezpieczne, bez znacznych testów i przemyśleń. W szczególności RPMforge jest faktycznie konający i nie otrzymuje aktualizacji.
Osobiście publikuję narzędzia do budowania git 2.4, zapakowane jako alternatywny pakiet „git24” na stronie https://github.com/nkadel/git24-srpm/ . Możesz je uzyskać i rozwidlić, jeśli chcesz, aby pakiety różniły się od standardowych pakietów systemowych, podobnie jak pakiety „samba” i „samba4” są zróżnicowane.