답변:
WANDisco의 CentOS 저장소를 사용하여 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
2020 년 3 월 2 일 현재, WANDisco의 최신 버전은 2.22.0 입니다.
--disablerepo=base,updates
작동하지 않습니다.
여기 블로그를 살펴본 결과 의견 중 하나에서 해결책을 찾았습니다. rpmforge
CentOS yum에 리포지토리를 추가 했는지 확인 하고 다음 흐르는 명령을 실행하십시오.
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install 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 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 단계 : 이전 Git RPM 제거
이제 RPM 파일 또는 Yum 패키지 관리자를 통해 Git의 이전 설치를 제거하십시오. 이전 버전도 소스를 통해 컴파일 된 경우이 단계를 건너 뜁니다.
# 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의 현재 세션 값을 변수로 유지하지 않고 확장하여 전체 시스템에 부정적인 영향을 줄 수 있습니다. 최소한 ""대신 ''를 사용해야하며 실제로는 별도의 스크립트 여야합니다./etc/profile.d/
힌트 2 (@DJB) :
/usr/local/git/bin
이전에$PATH
, 자식의 이전 버전은 $ PATH에 이미 이후 :export PATH=/usr/local/git/bin:$PATH
4 단계. 힘내 버전 확인
위 단계를 완료하면 시스템에 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
는 Centos 6.6에서 Git 1.7.12 만 보여줍니다. "git18"을 제거했을까요?
Rackspace는 최신 git을 포함하는 ius repository를 유지 하지만 스톡 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
가장 안전한 OS-기본 수단 인 설치 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 단계 : 이전 Git RPM 제거
이제 RPM 파일 또는 Yum 패키지 관리자를 통해 Git의 이전 설치를 제거하십시오. 이전 버전도 소스를 통해 컴파일 된 경우이 단계를 건너 뜁니다.
# 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 --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
개인적으로 선호하는 것은 비표준 소프트웨어를 설치하고 분산 구성 요소를 교체 할 때 CentOS 용 rpm 패키지를 빌드하는 것입니다. 이를 위해 Mock을 사용하여 깨끗한 빌드 환경을 만드는 것이 좋습니다.
절차는 다음과 같습니다
소스 RPMS 또는 적합한 SPEC 파일과 원시 소스 타르볼을 확보하십시오. 이 경우 CentOS-6 용 git2X의 소스 RPM 패키지는 다음 위치에서 찾을 수 있습니다 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 빌드 사용자 계정을 추가하십시오 ( 루트 또는 실제 사용자로 빌드하지 마십시오. 보안 문제 가 다시 발생할 수 있습니다 ).
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를 사용하고 있으므로이 경우 SOURCES tarball을 무시하고 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
모의 구성 (루트로)
cd /etc/mock
rm default.cfg
ln -s epel-6-x86_64.cfg default.cfg
vim default.cfg
beta
repos를 비활성화하십시오 . base
및 update
repos를 활성화하십시오 .
빌드 트리를 초기화합니다 (/ 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
가이 작업을 수행하는 방법에 대한 지침을 포함하고 동시에 필요한 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
일반 리포지토리에서 사용 가능한 추가 종속성 패키지를 수동으로 사전 설치해야 할 수도 있습니다 .
CentOS 6에서 최신 Git을 빌드하고 설치하려면 :
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
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를 작성하십시오. RHEL7 el6
, 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/
. 먼저 시스템에서 기존 버전의 자식을 제거해야 할 수도 있습니다.
이 지침은 Todd Zullinger의 메일 링리스트 게시물을 기반으로 합니다 .
로터리 답변을 여기에 추가하십시오. RHEL 6.0 Amazon 인스턴스에 git을 설치하는 데 어려움을 겪고 있었고 Ana conda Python 에서와 같이 나를 절약 한 것은 conda였습니다 .
아카이브 에서 명령 줄에 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이 설치되었습니다. 오늘은 2016 년 12 월 26 일이며 버전은 2.9.3입니다.
centos 6에 git을 설치하는 방법은 다음과 같습니다.
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을 얻을 수 있습니다.
종속성이 호스트를 오염시키고 많은 명령을 실행해야하기 때문에 대부분의 사람들은 CentOS에서 최신 git을 빌드하는 것을 좋아하지 않는다고 생각합니다. 따라서 Docker 컨테이너 안에 git을 빌드 한 다음 docker volume mount를 통해 실행 파일을 설치하는 아이디어가 있습니다. 그런 다음 이미지와 컨테이너를 삭제할 수 있습니다.
예, 단점은 docker를 설치해야한다는 것입니다. 그러나 최소한의 종속성이 호스트에 도입되므로 다른 yum repo를 설치할 필요가 없습니다.
여기 내 저장소가 있습니다. https://github.com/wood1986/docker-library/tree/master/git
상당한 테스트와 생각없이 업스트림 기본 리포지토리를 애드온 리포지토리로 교체하는 것은 매우 혼란스럽고 위험 할 수 있습니다. 특히 RPMforge는 효과적으로 많은 기록을 가지고 있으며 업데이트를 받고 있지 않습니다.
https://github.com/nkadel/git24-srpm/에 대안으로 "git24"패키지로 싸인 git 2.4 빌드 도구를 개인적으로 게시했습니다 . "samba"및 "samba4"패키지가 차별화되는 것처럼 표준 시스템 패키지와 구별되는 패키지를 원할 경우 자유롭게 액세스하고 포크하십시오.