私はいつも使っていました:
yum install git
CentOS 6に最新バージョンのgitをインストールしませんでした。CentOS6の最新バージョンのgitに更新するにはどうすればよいですか。解決策は、CentOS 7などの新しいバージョンのCentOSに適用できます。
ブログを見てみると{ here 私はコメントの1つで解決策を見つけました。 rpmforge
リポジトリがあなたのCentOS yumに追加されていることを確認して、ただ流れるコマンドを実行してください:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
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
、以前のバージョンのgitはすでに$ PATHに存在していたので:export PATH=/usr/local/git/bin:$PATH
ステップ4. Gitのバージョンを確認する
上記のステップを1回完了すると、Gitをシステムに正常にインストールできました。次のコマンドを使ってgitのバージョンを確認しましょう
# git --version
git version 2.0.4
また、GITのWebサイトにある「はじめに」のガイドにも、自分でダウンロードしてコンパイルする方法についての説明が含まれていることを付け加えたいと思います。
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
WANDiscoのCentOSリポジトリを使用してGit 2.xをインストールできます。 CentOS 6 、 CentOS 7
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
Git 2.xの最新版をインストールしてください。
yum install git
インストールされたGitのバージョンを確認してください。
git --version
2019年4月24日現在、WANDiscoから入手可能な最新バージョンは 2.18.0 です。
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がシステムに正常にインストールされました。 gitのバージョンを確認するには、次のコマンドを使用します。
# git --version
git version 2.5.3
また、GITのWebサイトにある「はじめに」のガイドにも、自分でダウンロードしてコンパイルする方法についての説明が含まれていることを付け加えたいと思います。
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Rackspaceは iusリポジトリ を管理しています。これにはかなり最新のgitが含まれていますが、最初にstock 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
私の個人的な好みは、非標準のソフトウェアをインストールして分散コンポーネントを置き換えるときにCentOS用のrpmパッケージを構築することです。そのためには、Mockを使用してクリーンビルド環境を作成することをお勧めします。
手順は次のとおりです。
ソースRPMSまたは適切なSPECファイルと手付かずのソースtarballを入手してください。この場合、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ビルドユーザーアカウントを追加します( rootまたは本物のユーザーとしてビルドしないでください - セキュリティ問題willが戻ってきてあなたに噛み付きます )。
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
この場合はSOURCES tarballを無視して直接SRPMSに進むことができるように、準備された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
(rootとして)モックを設定する
cd /etc/mock
rm default.cfg
ln -s epel-6-x86_64.cfg default.cfg
vim default.cfg
beta
リポジトリを無効にします。 base
およびupdate
リポジトリを有効にします。
ビルドツリーを初期化します(/ 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
を使ったストレートインストールは失敗するでしょう。
対処方法は2つあります。
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
ファイルを含めます。
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
の最新バージョンを構築する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を作成してください。 RHEL6にはel6
を、RHEL7にはel7
を使用してください。
fedpkg --dist el7 srpm
モックでパッケージをビルドする:
mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
/var/lib/mock/epel-7-x86_64/result/
からgit
rpmの最新バージョンをインストールしてください。あなたのシステムから最初に既存のバージョンのgitをアンインストールする必要があるかもしれません。
この指示は Todd Zullingerによるメーリングリスト投稿 に基づいています。
ここにロータリーの答えを追加する。 RHEL 6.0のAmazonインスタンスにgitをインストールするのに苦労していましたが、結局私を救ったのは... Anda conda Pythonのようにcondaでした。
archives ( this をモデルにしたコード)からコマンドラインに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です。
これが私がgitを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
これは無関係かもしれません。それは彼らがまだ最新のgitを得ることができる間、人々がHost上で最新のgitを構築したくないためです。
依存関係がホストを汚染し、あなたがたくさんのコマンドを実行しなければならないので、ほとんどの人はCentOS上で最新のgitを構築することを好まないと思います。そのため、Dockerコンテナー内にgitを構築してから、docker volume mountを介して実行可能ファイルをインストールするという考えがあります。その後、画像とコンテナを削除できます。
はい、欠点はdockerをインストールする必要があるということです。しかし、最小限の依存関係がホストに導入されているので、他のyumリポジトリをインストールする必要はありません。
これが私のリポジトリです。 https://github.com/wood1986/docker-library/tree/master/git