Как Git может быть установлен на CENTOS 5.5?
Как я могу установить git на машине CENTOS 5.5? Я попытался установить его из yum, но получил следующий msg.
root@host [~]# sudo yum install git
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: centos.mirrors.tds.net
* base: mirror.ubiquityservers.com
* extras: mirrors.serveraxis.net
* updates: pubmirrors.reflected.net
addons | 951 B 00:00
base | 2.1 kB 00:00
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
Excluding Packages in global exclude list
Finished
Setting up Install Process
No package git available.
Nothing to do
root@host [~]#
14 ответов
из исходников? Из РЕПО? Самый простой способ - использовать РЕПО:sudo yum install git
должен это сделать. Сначала может потребоваться настроить дополнительное РЕПО, например EPEL во-первых, если Git не предусмотренных основной РЕПО.
если вы хотите установить из исходников, вы можете попробовать эти инструкция. Если у вас есть yum-utils
установлено это на самом деле проще, чем это тоже**:
sudo yum build-dep git
wget http://kernel.org/pub/software/scm/git/<latest-git-source>.tar.gz
tar -xvjf <latest-git>.tar.gz
cd <git>
make (possibly a ./configure before this)
sudo make install
**заменить части, заключенные в <>
С путей необходимость. Точная процедура может немного отличаться, поскольку я не скомпилировал git из источника лично (например, может быть сценарий настройки). Если вы понятия не имеете, о чем я говорю, то вы можете просто установить из РЕПО в соответствии с моим первым предложением.
если вы используете CentOS встроенный yum
репозитории не кажется git
включено и как таковое, вам нужно будет добавить дополнительный репозиторий в систему. Для моих серверов я обнаружил, что Webtatic репозиторий, похоже, достаточно актуален и установка для git
будет тогда следующим образом:
# Add the repository
rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
# Install the latest version of git
yum install --enablerepo=webtatic git-all
обойти Missing Dependency: perl(Git)
ошибки:
yum install --enablerepo=webtatic --disableexcludes=main git-all
всего:
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
sudo yum install git-core
Я пробовал несколько методов из этого вопроса, и все они потерпели неудачу на моем CentOs, либо из-за неправильных репозиториев или отсутствующих файлов.
вот метод, который работает для меня (при установке версии 1.7.8):
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel
wget http://git-core.googlecode.com/files/git-1.7.8.tar.gz
tar -xzvf ./git-1.7.8.tar.gz
cd ./git-1.7.8
./configure
make
make install
вы можете скачать другую версию отсюда: http://code.google.com/p/git-core/downloads/list
для установки git
- установить последний epel-release
rpm-Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
- установить git из репозитория
yum установить git
Я уверен, что этот вопрос вот-вот умрет, когда RHEL 5 приближается к концу жизни, но ответ, похоже, стал намного проще:
sudo yum install epel-release
sudo yum install git
работал для меня на новой установке CentOS 5.11.
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
хорошо, есть больше, чем это, вам нужен zlib. zlib является частью CentOS, но вам нужна форма разработки, чтобы получить zlib.ч. .. обратите внимание, что имя yum разработки zlib
возможно, это совсем другое, чем для apt-get на ubuntu / debian, что на самом деле работает
с моей версией CentOS
в частности, ты ./ configure на git, затем попробуйте make, и первая сборка завершится неудачей с отсутствующим zlib.ч
Я использовал двухэтапную процедуру, чтобы решить эту проблему a) получил RPMFORGE для моего версией
Видеть: www.centos.org/modules/newbb/viewtopic.php?topic_id=18506&forum=38 и это: wiki.centos.org/AdditionalResources/Repositories/RPMForge
В моем случае [как root или с помощью 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
(эта установки поставить его по умолчанию в /usr/local/bin/git
... не мой любимый выбор, но OK по умолчанию)... и ЖКТ работает отлично!
похоже, что РЕПО для CentOS 5 исчезают. Большинство из них, упомянутых в этом вопросе, больше не находятся в сети, не имеют Git или имеют действительно старую версию Git. Ниже приведен сценарий, который я использую для создания OpenSSL, IDN2, PCRE, cURL и Git из источников. Оба git://
и https://
протоколы будут доступны для клонирования.
со временем имена архивов должны будут обновляться. Например, на момент написания этой статьи openssl-1.0.2k.tar.gz
самые последние доступные в Семьи 1.0.2.
ответ Дейла Андерсона с использованием RHEL repos выглядит хорошо на данный момент, но его довольно старая версия. Red Hat предоставляет git версии 1.8, в то время как сценарий ниже строит 2.12 из источников.
#!/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"
[[ "" = "$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"
[[ "" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
make -j 4
if [ "$?" -ne "0" ]; then
echo "Failed to build zLib"
[[ "" = "$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"
[[ "" = "$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"
[[ "" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
make -j 4
if [ "$?" -ne "0" ]; then
echo "Failed to build IDN"
[[ "" = "$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"
[[ "" = "$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"
[[ "" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
make -j 4
if [ "$?" -ne "0" ]; then
echo "Failed to build IDN"
[[ "" = "$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"
[[ "" = "$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"
[[ "" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
make depend
make -j 4
if [ "$?" -ne "0" ]; then
echo "Failed to build OpenSSL"
[[ "" = "$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"
[[ "" = "$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"
[[ "" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
make all -j 4
if [ "$?" -ne "0" ]; then
echo "Failed to build PCRE"
[[ "" = "$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"
[[ "" = "$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"
[[ "" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
make -j 4
if [ "$?" -ne "0" ]; then
echo "Failed to build cURL"
[[ "" = "$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"
[[ "" = "$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"
[[ "" = "$BASH_SOURCE" ]] && exit 1 || return 1
fi
make all -j 4
if [ "$?" -ne "0" ]; then
echo "Failed to build Git"
[[ "" = "$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"
[[ "" = "$BASH_SOURCE" ]] && exit 0 || return 0
просто установлен git, используя следующие инструкции:
установить EPEL V5
#rpm -Uvh http://archives.fedoraproject.org/pub/archive/epel/5/x86_64/epel-release-5-4.noarch.rpm
Установить Git
# yum install git git-daemon
Регистрация
# git --version
git version 1.8.2.3
дополнительно установить Git GUI
# yum install git-gui
для i386 замените x86_64 на i386 в URL-адресе на шаге #1.#rpm -Uvh http://archives.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm
Это сработало для меня на CentOS:
-
установить зависимости:
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel
-
Получить Git
cd /usr/local/src wget http://code.google.com/p/git-core/downloads/detail?name=git-1.7.8.3.tar.gz tar xvzf git-1.7.8.3.tar.gz cd git-1.7.8.3
-
Построить Git
./configure make make install
просто обновляя это для 2017 и более поздних версий, поскольку CentOS 5 достиг EOL, а URL для EPEL изменился:
sudo rpm -Uvh http://archives.fedoraproject.org/pub/archive/epel/5/x86_64/epel-release-5-4.noarch.rpm
sudo yum install git
Это получает вас git 1.8.2.3
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