Centos7アップグレードgitバージョン制御ツール

問題の説明

centos7システムのデフォルトのgitインストールバージョンは1.8ですが、プロジェクトの構築中にgitバージョンが低すぎることが判明したため、ソースコードのコンパイルを使用してアップグレードします。同時に、この記事は新しいgitのインストールにも適用できます。誰もがgitについてある程度理解していると思います。さて、記事のプロセスのいくつかのステップは詳細に説明されません。

動作環境

centos7.0

ソフトウェアの準備

gitバージョン、libiconv

インストールプロセス

1、 最初のステップは、元のgitをアンインストールすることです。

yum remove git

2、 インストール関連の依存関係

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install  gcc perl-ExtUtils-MakeMaker

3、 gitをインストールする

圧縮されたパッケージを解凍して/usr/local/srcディレクトリ
tar -C /usr/local/src -vxf git-2.7.3.tar.xz
cd git-2.7.3//コンパイル
make prefix=/usr/local/git all
//インストール
make prefix=/usr/local/git install
//環境変数への書き込み(方法1)
echo "export PATH=$PATH:/usr/local/git/bin">>/etc/profile && source /etc/profile
//環境変数への書き込み(方法2)export PATH=$PATH:/usr/local/bin/git
//インストールが成功したかどうかを確認します
git --version

問題が解決しました

通常のプロセスは、上記のプロセスに従ってインストールすることです。以下は、インストールプロセス中に発生した問題の一部をまとめたものです。1。makeprefix = / usr / local / git allを使用してコンパイルすると、次のエラーが表示されます。

LINK git-credential-store
libgit.a(utf8.o): In function`reencode_string_iconv':
/usr/src/git-2.8.3/utf8.c:463: undefined reference to `libiconv'
libgit.a(utf8.o): In function`reencode_string_len':
/usr/src/git-2.8.3/utf8.c:502: undefined reference to `libiconv_open'
/usr/src/git-2.8.3/utf8.c:521: undefined reference to `libiconv_close'
/usr/src/git-2.8.3/utf8.c:515: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make:***[git-credential-store] Error 1

この問題は主に、システムにlibiconvライブラリがないことが原因です。上記のリンクに従って、libiconvをダウンロードします。

cd /usr/local/src
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
構成
. /configure --prefix=/usr/local/libiconv
コンパイル
make
インストール
make install
ソフト接続を確立する
ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2/usr/lib

この時点で、libiconvライブラリがインストールされています。以下のgitインストールディレクトリにアクセスして、次の方法でインストールしてください。

make configure
. /configure --prefix=/usr/local --with-iconv=/usr/local/libiconv
コンパイル
make
インストール
make install
環境変数を追加する
export PATH=$PATH:/usr/local/bin/git
バージョン番号を確認してください
git --version

2、 libiconvをインストールすると、エラーメッセージ./stdio.h:1010:1:error:'gets 'undeclared here(not a function in)が表示されます。以下の手順に従って解決できます。

間違ったファイルパスを入力してください
cd libiconv-1.14/srclib
ファイルstdioを編集する.in.hは行698を見つけ、内容は_GL_WARN_ON_USE(gets,"gets is a security hole - use fgets instead");この行をコメントアウトする(注釈を使用する必要があることに注意してください/**/コメントします)、次のように置き換えます
# ifdefined(__GLIBC__)&&!defined(__UCLIBC__)&&!__GLIBC_PREREQ(2,16)_GL_WARN_ON_USE(gets,"gets is a security hole - use fgets instead");
# endif

Recommended Posts

Centos7アップグレードgitバージョン制御ツール
Centosカーネルバージョンのアップグレード
CentOsでノードバージョンを手動でアップグレードする
CentOsでのノードバージョンの手動アップグレード
CentOS7アップグレードpython3
Centos6.5opensshアップグレード
Centos7アップグレードカーネル
centos6.9rabbitmq3.6.8アップグレード3.8.2
CentOSビルドプライベートgit
Centos 6.4 python2.6を2.7にアップグレード
CentOS7.0.1406公式バージョンがリリースされました
Centos 6.4 python2.6を2.7にアップグレード
CentOS6.5はカーネルを3.10.28にアップグレードします
CentOSのバージョン情報を表示する
CentOSのバージョン情報を表示する
Centosのデフォルトのpython2.6のアップグレード
CentOSはpython2をpythにアップグレードします
CentOS8コンテナ管理ツールPodman
CentosはGitをコンパイルしてインストールします
CentosはハイバージョンGCCをインストールします
Centos6.5デスクトップバージョンのネットワーク設定
centos6.5:gccアップグレード(5.2.0)プロセスレコード
Centos7インストールk8sクラスター1.15.0バージョン
CentOS 8.0.1905インストールZABBIX4.4バージョン(検証済み)
Centos7.6はMySQL + Redis(最新バージョン)をインストールします