How can git be installed on CENTOS 5.5?

前端 未结 14 1928
刺人心
刺人心 2020-12-02 06:18

How can I install git on CENTOS 5.5 machine? I tried to install it from yum but got following msg.

root@host [~]# sudo yum install git
Loaded plugins: fastes         


        
相关标签:
14条回答
  • 2020-12-02 06:29

    Just installed git using the following instructions:

    1. Install EPEL V5
      #rpm -Uvh http://archives.fedoraproject.org/pub/archive/epel/5/x86_64/epel-release-5-4.noarch.rpm

    2. Install Git
      # yum install git git-daemon

    3. Check
      # git --version
      git version 1.8.2.3

    4. Optionally install Git GUI
      # yum install git-gui

    For i386 substitute x86_64 by i386 in the URL at step #1.

    #rpm -Uvh http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm

    0 讨论(0)
  • 2020-12-02 06:30

    Edit /etc/yum.repos.d/Centos* so that all lines that have enabled = 0 instead have enabled = 1.

    0 讨论(0)
  • 2020-12-02 06:31

    OK, there is more to it than that, you need zlib. zlib is part of CentOS, but you need the development form to get zlib.h ... notice that the yum name of zlib development is quite different possibly than for apt-get on ubuntu/debian, what follows actually works with my CentOS version
    in particular, you do ./configure on git, then try make, and the first build fails with missing zlib.h

    I used a two-step procedure to resolve this a) Got RPMFORGE for my version of CentOS

    See: www.centos.org/modules/newbb/viewtopic.php?topic_id=18506&forum=38 and this: wiki.centos.org/AdditionalResources/Repositories/RPMForge

    In my case [as root, or with sudo]

    $ wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
    $ rpm -K rpmforge-release-0.5.2-2.el5.rf.*.rpm
    $ rpm -i rpmforge-release-0.5.2-2.el5.rf.*.rpm
    ## Note: the RPM for rpmforge is small (like 12.3K) but don't let that fool
    ## you; it augments yum the next time you use yum
    ## [this is the name that YUM found] (still root or sudo)
    $ yum install zlib-devel.x86_64
    ## and finally in the source directory for git (still root or sudo):
    $ ./configure (this worked before, but I ran it again to be sure)
    $ make
    $ make install
    

    (this install put it by default in /usr/local/bin/git ... not my favorite choice, but OK for the default)... and git works fine!

    0 讨论(0)
  • 2020-12-02 06:33

    It looks like the repos for CentOS 5 are disappearing. Most of the ones mentioned in this question are no longer online, don't seem to have Git, or have a really old version of Git. Below is the script I use to build OpenSSL, IDN2, PCRE, cURL and Git from sources. Both the git:// and https:// protocols will be available for cloning.

    Over time the names of the archives will need to be updates. For example, as of this writing, openssl-1.0.2k.tar.gz is the latest available in the 1.0.2 family.

    Dale Anderson's answer using RHEL repos looks good at the moment, but its a fairly old version. Red Hat provides Git version 1.8, while the script below builds 2.12 from sources.


    #!/usr/bin/env bash
    
    # OpenSSL installs into lib64/, while cURL installs into lib/
    INSTALL_ROOT=/usr/local
    INSTALL_LIB32="$INSTALL_ROOT/lib"
    INSTALL_LIB64="$INSTALL_ROOT/lib64"
    
    OPENSSL_TAR=openssl-1.0.2k.tar.gz
    OPENSSL_DIR=openssl-1.0.2k
    
    ZLIB_TAR=zlib-1.2.11.tar.gz
    ZLIB_DIR=zlib-1.2.11
    
    UNISTR_TAR=libunistring-0.9.7.tar.gz
    UNISTR_DIR=libunistring-0.9.7
    
    IDN2_TAR=libidn2-0.16.tar.gz
    IDN2_DIR=libidn2-0.16
    
    PCRE_TAR=pcre2-10.23.tar.gz
    PCRE_DIR=pcre2-10.23
    
    CURL_TAR=curl-7.53.1.tar.gz
    CURL_DIR=curl-7.53.1
    
    GIT_TAR=v2.12.2.tar.gz
    GIT_DIR=git-2.12.2
    
    ###############################################################################
    
    # I don't like doing this, but...
    read -s -p "Please enter password for sudo: " SUDO_PASSWWORD
    
    ###############################################################################
    
    echo
    echo "********** zLib **********"
    
    wget "http://www.zlib.net/$ZLIB_TAR" -O "$ZLIB_TAR"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to download zLib"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    rm -rf "$ZLIB_DIR" &>/dev/null
    tar -xzf "$ZLIB_TAR"
    cd "$ZLIB_DIR"
    
    LIBS="-ldl -lpthread" ./configure --enable-shared --libdir="$INSTALL_LIB64"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to configure zLib"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    make -j 4
    
    if [ "$?" -ne "0" ]; then
        echo "Failed to build zLib"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    echo "$SUDO_PASSWWORD" | sudo -S make install
    
    cd ..
    
    ###############################################################################
    
    echo
    echo "********** Unistring **********"
    
    # https://savannah.gnu.org/bugs/?func=detailitem&item_id=26786
    wget "https://ftp.gnu.org/gnu/libunistring/$UNISTR_TAR" --no-check-certificate -O "$UNISTR_TAR"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to download IDN"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    rm -rf "$UNISTR_DIR" &>/dev/null
    tar -xzf "$UNISTR_TAR"
    cd "$UNISTR_DIR"
    
    LIBS="-ldl -lpthread" ./configure --enable-shared --libdir="$INSTALL_LIB64"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to configure IDN"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    make -j 4
    
    if [ "$?" -ne "0" ]; then
        echo "Failed to build IDN"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    echo "$SUDO_PASSWWORD" | sudo -S make install
    
    cd ..
    
    ###############################################################################
    
    echo
    echo "********** IDN **********"
    
    # https://savannah.gnu.org/bugs/?func=detailitem&item_id=26786
    wget "https://alpha.gnu.org/gnu/libidn/$IDN2_TAR" --no-check-certificate -O "$IDN2_TAR"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to download IDN"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    rm -rf "$IDN2_DIR" &>/dev/null
    tar -xzf "$IDN2_TAR"
    cd "$IDN2_DIR"
    
    LIBS="-ldl -lpthread" ./configure --enable-shared --libdir="$INSTALL_LIB64"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to configure IDN"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    make -j 4
    
    if [ "$?" -ne "0" ]; then
        echo "Failed to build IDN"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    echo "$SUDO_PASSWWORD" | sudo -S make install
    
    cd ..
    
    ###############################################################################
    
    echo
    echo "********** OpenSSL **********"
    
    wget "https://www.openssl.org/source/$OPENSSL_TAR" -O "$OPENSSL_TAR"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to download OpenSSL"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    rm -rf "$OPENSSL_DIR" &>/dev/null
    tar -xzf "$OPENSSL_TAR"
    cd "$OPENSSL_DIR"
    
    # OpenSSL and enable-ec_nistp_64_gcc_12 option
    IS_X86_64=$(uname -m 2>&1 | egrep -i -c "(amd64|x86_64)")
    
    CONFIG=./config
    CONFIG_FLAGS=(no-ssl2 no-ssl3 no-comp shared "-Wl,-rpath,$INSTALL_LIB64" --prefix="$INSTALL_ROOT" --openssldir="$INSTALL_ROOT")
    if [[ "$IS_X86_64" -eq "1" ]]; then
        CONFIG_FLAGS+=("enable-ec_nistp_64_gcc_128")
    fi
    
    "$CONFIG" "${CONFIG_FLAGS[@]}"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to configure OpenSSL"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    make depend
    make -j 4
    
    if [ "$?" -ne "0" ]; then
        echo "Failed to build OpenSSL"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    echo "$SUDO_PASSWWORD" | sudo -S make install_sw
    
    cd ..
    
    ###############################################################################
    
    echo
    echo "********** PCRE **********"
    
    # https://savannah.gnu.org/bugs/?func=detailitem&item_id=26786
    wget "https://ftp.pcre.org/pub/pcre//$PCRE_TAR" --no-check-certificate -O "$PCRE_TAR"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to download PCRE"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    rm -rf "$PCRE_DIR" &>/dev/null
    tar -xzf "$PCRE_TAR"
    cd "$PCRE_DIR"
    
    make configure
    CPPFLAGS="-I$INSTALL_ROOT/include" LDFLAGS="-Wl,-rpath,$INSTALL_LIB64 -L$INSTALL_LIB64" \
        LIBS="-lidn2 -lz -ldl -lpthread" ./configure --enable-shared --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 \
        --enable-unicode-properties --enable-pcregrep-libz --prefix="$INSTALL_ROOT" --libdir="$INSTALL_LIB64"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to configure PCRE"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    make all -j 4
    
    if [ "$?" -ne "0" ]; then
        echo "Failed to build PCRE"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    echo "$SUDO_PASSWWORD" | sudo -S make install
    
    cd ..
    
    ###############################################################################
    
    echo
    echo "********** cURL **********"
    
    # https://savannah.gnu.org/bugs/?func=detailitem&item_id=26786
    wget "https://curl.haxx.se/download/$CURL_TAR" --no-check-certificate -O "$CURL_TAR"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to download cURL"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    rm -rf "$CURL_DIR" &>/dev/null
    tar -xzf "$CURL_TAR"
    cd "$CURL_DIR"
    
    CPPFLAGS="-I$INSTALL_ROOT/include" LDFLAGS="-Wl,-rpath,$INSTALL_LIB64 -L$INSTALL_LIB64" \
        LIBS="-lidn2 -lssl -lcrypto -lz -ldl -lpthread" \
        ./configure --enable-shared --with-ssl="$INSTALL_ROOT" --with-libidn2="$INSTALL_ROOT" --libdir="$INSTALL_LIB64"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to configure cURL"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    make -j 4
    
    if [ "$?" -ne "0" ]; then
        echo "Failed to build cURL"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    echo "$SUDO_PASSWWORD" | sudo -S make install
    
    cd ..
    
    ###############################################################################
    
    echo
    echo "********** Git **********"
    
    wget "https://github.com/git/git/archive/$GIT_TAR" -O "$GIT_TAR"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to download Git"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    rm -rf "$GIT_DIR" &>/dev/null
    tar -xzf "$GIT_TAR"
    cd "$GIT_DIR"
    
    make configure
    CPPFLAGS="-I$INSTALL_ROOT/include" LDFLAGS="-Wl,-rpath,$INSTALL_LIB64,-rpath,$INSTALL_LIB32 -L$INSTALL_LIB64 -L$INSTALL_LIB32" \
        LIBS="-lidn2 -lssl -lcrypto -lz -ldl -lpthread" ./configure --with-openssl --with-curl --with-libpcre --prefix="$INSTALL_ROOT"
    
    if [[ "$?" -ne "0" ]]; then
        echo "Failed to configure Git"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    make all -j 4
    
    if [ "$?" -ne "0" ]; then
        echo "Failed to build Git"
        [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
    fi
    
    MAKE=make
    MAKE_FLAGS=(install)
    if [[ ! -z `which asciidoc 2>/dev/null | grep -v 'no asciidoc'` ]]; then
        if [[ ! -z `which xmlto 2>/dev/null | grep -v 'no xmlto'` ]]; then
            MAKE_FLAGS+=("install-doc" "install-html" "install-info")
        fi
    fi
    
    echo "$SUDO_PASSWWORD" | sudo -S "$MAKE" "${MAKE_FLAGS[@]}"
    
    cd ..
    
    ###############################################################################
    
    echo
    echo "********** Cleanup **********"
    
    rm -rf "$OPENSSL_TAR  $OPENSSL_DIR  $UNISTR_TAR  $UNISTR_DIR  $CURL_TAR  $CURL_DIR"
    rm -rf "$PCRE_TAR $PCRE_DIR $ZLIB_TAR $ZLIB_DIR $IDN2_TAR $IDN2_DIR $GIT_TAR $GIT_DIR"
    
    [[ "$0" = "$BASH_SOURCE" ]] && exit 0 || return 0
    
    0 讨论(0)
  • 2020-12-02 06:35
    yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel gcc
    wget http://git-core.googlecode.com/files/git-1.7.11.4.tar.gz
    tar zxvf git-1.7.11.4.tar.gz 
    cd git-1.7.11.4
    ./configure 
    make
    make install
    
    0 讨论(0)
  • 2020-12-02 06:36
    yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel
    
    Get the required version of GIT from https://www.kernel.org/pub/software/scm/git/ 
    
    wget https://www.kernel.org/pub/software/scm/git/{version.gz}
    
    tar -xzvf git-version.gz
    
    cd git-version
    
    ./configure
    
    make
    
    make install
    
    0 讨论(0)
提交回复
热议问题