it-swarm.com.de

So installieren Sie die neueste Version von git unter CentOS 7.x / 6.x

Ich habe das übliche benutzt:

yum install git

Es wurde nicht die neueste Version von git auf meinem CentOS 6 installiert. Wie kann ich auf die neueste Version von git für CentOS 6 aktualisieren? Die Lösung kann auf neuere Versionen von CentOS wie CentOS 7 angewendet werden.

215
AmirHd

Mit dem CentOS-Repository von WANDisco können Sie Git 2.x installieren: für CentOS 6 , für CentOS 7

  1. Installieren Sie das WANDisco Repo-Paket:

    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
    
  2. Installieren Sie die neueste Version von Git 2.x:

    yum install git
    
  3. Überprüfen Sie die Version von Git, die installiert wurde:

    git --version
    

Ab dem 16. Juli 2019 ist die neueste verfügbare Version von WANDisco 2.22.0 .

286
Joseph Leedy

Schauen Sie sich den Blog an hier Ich habe die Lösung in einem der Kommentare gefunden. Stellen Sie sicher, dass Sie das Repository rpmforge zu Ihrem CentOS yum hinzugefügt haben, und führen Sie einfach den folgenden Befehl aus:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git

Wenn du git bereits installiert hast, benutze:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git

Verwandte Fragen:

  1. Probleme beim Upgrade auf die neueste Version von CentOS 6.4

Hinweis Update:

Dank an Anthony Hatzopoulos, für git v1.8x musst du git18 wie folgt verwenden:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18 

Hinweis Update 2:

Vielen Dank auch an @Axlrod für den unten stehenden Hinweis und @Hiphip für das Feedback:

Ändern Sie die Datei rpmforge.repo so, dass rpmforge-extras aktiviert ist, yum update git. Ansonsten klagte es über Abhängigkeitsprobleme.

Hinweis Update 3:

Installieren einer bestimmten Version von git say 2.x Ich fand diese nette und leicht zu befolgende Anleitung, wie man die GIT-Quelle herunterlädt und selbst kompiliert (und installiert). Wenn die akzeptierte Antwort nicht die gewünschte Version enthält, führen Sie die folgenden Anweisungen aus:

http://tecadmin.net/install-git-2-0-on-centos-rhel-Fedora/

(Und von oben eingefügt/neu formatiert, falls es später entfernt wird)

Schritt 1: Erforderliche Pakete installieren

Zunächst müssen wir sicherstellen, dass wir die erforderlichen Pakete auf Ihrem System installiert haben. Verwenden Sie den folgenden Befehl, um die erforderlichen Pakete zu installieren, bevor Sie den Git-Quellcode kompilieren.

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install  gcc Perl-ExtUtils-MakeMaker

Schritt 2: Deinstallieren Sie das alte Git RPM

Entfernen Sie jetzt alle vorherigen Installationen von Git über die RPM-Datei oder den Yum -Paketmanager. Wenn Ihre ältere Version auch über den Quellcode kompiliert wird, überspringen Sie diesen Schritt.

# yum remove git

Schritt 3: Git Source herunterladen und kompilieren

Laden Sie den git-Quellcode vom Kernel git herunter oder verwenden Sie einfach den folgenden Befehl, um Git 2.0.4 herunterzuladen.

# 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

Verwenden Sie nach dem Herunterladen und Extrahieren des Git-Quellcodes den folgenden Befehl, um den Quellcode zu kompilieren.

# 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

TIPP 1: Die Methode zum Hinzufügen des kompilierten Git-Bin-Verzeichnisses zu bashrc wurde aktualisiert. Da echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc "" anstelle von '' verwendet hat, wird der Wert der aktuellen Sitzung für $ PATH erweitert, anstatt als Variable beibehalten zu werden. Dies kann sich nachteilig auf das gesamte System auswirken. Zumindest sollte '' anstelle von "" verwendet werden und es sollte wirklich ein separates Skript in /etc/profile.d/ sein.

TIPP 2 (@DJB): /usr/local/git/bin vor $PATH, da die ältere Version von git bereits auf $ PATH war: export PATH=/usr/local/git/bin:$PATH

Schritt 4. Überprüfen Sie die Git-Version

Nach Abschluss der obigen Schritte haben Sie Git erfolgreich auf Ihrem System installiert. Verwenden Sie den folgenden Befehl, um die Git-Version zu überprüfen

# git --version

git version 2.0.4

Ich wollte auch hinzufügen, dass der Leitfaden "Erste Schritte" auf der GIT-Website auch Anweisungen zum Herunterladen und Kompilieren enthält:

http://git-scm.com/book/en/v2/Getting-Started-Installing-Git

130
AmirHd

Ich fand diese nette und leicht zu befolgende Anleitung, wie man die GIT-Quelle herunterlädt und sie selbst kompiliert (und installiert). Wenn die akzeptierte Antwort nicht die gewünschte Version enthält, führen Sie die folgenden Anweisungen aus:

http://tecadmin.net/install-git-2-0-on-centos-rhel-Fedora/

(Und von oben eingefügt/neu formatiert, falls es später entfernt wird)

Schritt 1: Erforderliche Pakete installieren

Zunächst müssen wir sicherstellen, dass wir die erforderlichen Pakete auf Ihrem System installiert haben. Verwenden Sie den folgenden Befehl, um die erforderlichen Pakete zu installieren, bevor Sie den Git-Quellcode kompilieren.

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install  gcc Perl-ExtUtils-MakeMaker

Schritt 2: Deinstallieren Sie das alte Git RPM

Entfernen Sie jetzt alle vorherigen Installationen von Git über die RPM-Datei oder den Yum -Paketmanager. Wenn Ihre ältere Version auch über den Quellcode kompiliert wird, überspringen Sie diesen Schritt.

# yum remove git

Schritt 3: Git Source herunterladen und kompilieren

Laden Sie den git-Quellcode vom Kernel git herunter oder verwenden Sie einfach den folgenden Befehl, um Git 2.5.3 herunterzuladen.

# 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

Verwenden Sie nach dem Herunterladen und Extrahieren des Git-Quellcodes den folgenden Befehl, um den Quellcode zu kompilieren.

# 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

Schritt 4. Überprüfen Sie die Git-Version

Nach Abschluss der obigen Schritte haben Sie Git erfolgreich auf Ihrem System installiert. Verwenden Sie den folgenden Befehl, um die Git-Version zu überprüfen

# git --version

git version 2.5.3

Ich wollte auch hinzufügen, dass der Leitfaden "Erste Schritte" auf der GIT-Website auch Anweisungen zum Herunterladen und Kompilieren enthält:

http://git-scm.com/book/en/v2/Getting-Started-Installing-Git

82
Pytry

Rackspace pflegt das ius-Repository , das einigermaßen aktuelles Git enthält, aber das Standard-Git muss zuerst entfernt werden.

CentOS 7 Anleitung:

$ 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 Anleitung:

$ Sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
$ Sudo yum erase git
$ Sudo yum install epel-release
$ Sudo yum install git2u
81
Mark Visser

Ich persönlich bevorzuge es, RPM-Pakete für CentOS zu erstellen, wenn nicht standardmäßige Software installiert und verteilte Komponenten ersetzt werden. Zu diesem Zweck empfehle ich, Mock zu verwenden, um eine saubere Build-Umgebung zu erstellen.

Das Verfahren ist:

  1. Beziehen Sie das Quell-RPMS oder eine geeignete SPEC-Datei und einen unberührten Quell-Tarball. In diesem Fall finden Sie Quell-RPM-Pakete für git2X für CentOS-6 unter: http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/. Pakete für andere CentOS-Versionen sind ebenfalls verfügbar.

  2. Installieren Sie die erforderliche Support-Software:

    yum install epel-release  # you need this for mock
    yum install rpm-build
    yum install redhat-rpm-config
    yum install rpmdevtools
    yum install mock
    
  3. Fügen Sie ein RPM-Build-Benutzerkonto hinzu (nicht als Root oder als echter Benutzer erstellen - Sicherheitsprobleme werden wieder auftauchen und Sie beißen).

    Sudo adduser builder --home-dir /home/builder \
    --create-home --user-group --groups mock \
    --Shell /bin/bash --comment "rpm package builder"
    
  4. Als nächstes brauchen wir eine Build-Umgebung.

    su -l builder
    rpmdev-setuptree
    

    Dies erzeugt die folgende Verzeichnisstruktur:

    ~
    └── rpmbuild
        ├── BUILD
        ├── RPMS
        ├── SOURCES
        ├── SPECS
        └── SRPMS
    
  5. Wir verwenden ein vorbereitetes SRPMS, damit die SOURCES-Tarballs für diesen Fall ignoriert werden und wir direkt zu SRPMS wechseln können.

    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
    
  6. Mock konfigurieren (als root)

    cd /etc/mock
    rm default.cfg
    ln -s epel-6-x86_64.cfg default.cfg
    vim default.cfg
    

    Deaktivieren Sie die beta -Repos. Aktivieren Sie die Repos base und update.

  7. Initialisiere den Build-Baum (/ var/lib/mock ist der Standard)

    mock --init
    
  8. Wenn wir aus SOURCES erstellen würden, würden wir hier die SPEC-Datei verwenden und mock --buildsrpm . . . verwenden. Aber in diesem Fall gehen wir direkt zum Binary Build-Schritt:

    mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
    

    Dadurch werden die Build-Abhängigkeiten aufgelöst und in das Clean-Build-Stammverzeichnis heruntergeladen (ca. 95 Pakete). Anschließend werden die Quellen extrahiert, die Binärdatei aus dem bereitgestellten SRPM erstellt und in /var/lib/mock/epel-6-x86_64/result belassen. oder in dem von Ihnen angegebenen benutzerdefinierten Stammverzeichnis und der von Ihnen angegebenen Architektur. Es wird lange dauern. Dieses Paket hat viel zu bieten. insbesondere Dokumentation.

  9. Wenn alles gut geht, sollten Sie einen Anzug mit RPM-Paketen haben, der für die Installation anstelle der Distributionsversion geeignet ist. Dies ist, was ich am Ende mit:

    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
    
  10. Installieren Sie mit Yum oder U/min.

    Sie benötigen mindestens git2u-2.5.3-1.ius.el6.x86_64.rpm und alle erforderlichen zusätzlichen Support-Pakete (Perl-Git2u-2.5.3-1.ius.el6.noarch.rpm).

    Dieser Build hat eine zyklische Abhängigkeit: git2u-2.5.3-1.ius.el6.x86_64.rpm hängt von Perl-Git2u-2.5.3-1.ius.el6.noarch.rpm und Perl-Git2u-2.5.3-1.ius.el6.noarch.rpm hängt von git2u-2.5.3-1.ius.el6.x86_64.rpm ab. Eine direkte Installation mit rpm schlägt daher fehl.

    Es gibt zwei Möglichkeiten, damit umzugehen:

    • Installiere beide gleichzeitig über yum:

      yum localinstall \
        git2u-2.5.3-1.ius.el6.x86_64.rpm \
        Perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
      
    • Richten Sie ein lokales Yum-Repo ein.

      Ich füge meine LocalFile.repo -Datei unten hinzu, da sie Anweisungen dazu enthält und gleichzeitig die erforderliche Repo-Datei bereitstellt.

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

Möglicherweise müssen Sie auch zusätzliche Abhängigkeitspakete wie Perl-TermReadKey, die in den üblichen Repositorys verfügbar sind, manuell vorinstallieren.

9
James B. Byrne

So erstellen und installieren Sie modernes Git unter 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
5
Joe Goggins

wie git sagt :

RHEL und Derivate liefern in der Regel ältere Versionen von Git. Sie können einen Tarball herunterladen und aus dem Quellcode erstellen oder ein Repository eines Drittanbieters wie das IUS-Community-Projekt verwenden, um eine neuere Version von git zu erhalten.

es gibt ein gutes Tutorial hier . in meinem fall musste sich (centos7 server) nach der installation abmelden und neu anmelden.

4
Alireza Saremi

Erstellen Sie die neueste Version von git auf Centos 6/7

Vorbereitung des Systems zur Erstellung von RPMs

  1. Epel installieren:

    Für EL6 verwenden Sie:

    Sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm  
    

    Für EL7 verwenden Sie:

    Sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
  2. Installieren Sie fedpkg:

    Sudo yum install fedpkg
    
  3. Fügen Sie sich in die Gruppe Mock ein (möglicherweise müssen Sie sich nach dieser Änderung erneut beim Server anmelden):

    Sudo usermod -a -G mock $USER
    

Download git

  1. Laden Sie git Quellen herunter:

    fedpkg clone -a git && cd git
    fedpkg sources
    
  2. Überprüfen Sie die Quellen:

    sha512sum -c sources
    

Drehzahl aufbauen

  1. Erstelle srmp. Verwenden Sie el6 für RHEL6, el7 für RHEL7.

    fedpkg --dist el7 srpm
    
  2. Paket in Mock erstellen:

    mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
    
  3. Installieren Sie die neueste Version von git rpm von /var/lib/mock/epel-7-x86_64/result/. Beachten Sie, dass Sie möglicherweise zuerst eine vorhandene Version des Git von Ihrem System deinstallieren müssen.

Diese Anweisung basiert auf dem Mailinglisten-Beitrag von Todd Zullinger .

3
sashk

Füge hier eine Antwort für den Kreisverkehr hinzu. Ich hatte Mühe, git auf einer RHEL 6.0 Amazon-Instanz zu installieren, und was mich letztendlich rettete, war ... conda, wie in Ana conda Python.

Ich habe conda in der Befehlszeile aus dem Archiv (Code nach dem Vorbild this ) installiert:

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"

und rannte dann

conda install git

und ein relativ neuer Versions-Git wurde installiert. Heute ist der 26.12.2016 und die Version ist 2.9.3.

3
Ben Ogorek

Hier ist meine Methode, um Git auf Centos 6 zu installieren.

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
1
Dylan Pearson

Dies kann irrelevant sein. Es ist für Leute, die nicht den neuesten Git auf dem Host bauen wollen, während sie noch den neuesten Git bekommen können.

Ich denke, die meisten Leute mögen es nicht, den neuesten Git unter CentOS zu erstellen, da die Abhängigkeiten den Host kontaminieren und Sie viele Befehle ausführen müssen. Daher habe ich eine Idee, welche Git im Docker-Container erstellt und die ausführbare Datei dann über den Docker-Volume-Mount installiert. Danach können Sie das Bild und den Container löschen.

Ja, der Nachteil ist, dass Sie Docker installieren müssen. Die geringsten Abhängigkeiten werden jedoch mit dem Host eingeführt, und Sie müssen kein weiteres yum repo installieren.

Hier ist mein Repository. https://github.com/wood1986/docker-library/tree/master/git

1
WOW