centos7システムでpython2をpython3に更新すると、古いバージョンのzlibが表示されます。新しいバージョン1.2.11へのアップグレードを促す。次に、centosでのzlibのアップグレードを示します。
- まず、システムのzlibバージョンを確認します。
yum info zlib
zlibのバージョンが1.2.7である場合は、必要に応じて1.2.11に更新できます。 - linuxの次のコマンドを使用して、一度に成功します。
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11
cd zlib-1.2.11
./configure --libdir=/lib64/
注:ここでは--prefix = / usr / local / zlibプレインストールディレクトリを追加せず、ライブラリファイル生成のパスを追加しただけ--libdir = / lib64 /
- Linuxのデフォルトでは、ディレクトリに関するいくつかのソフトリンク:
ls -ld /var/*
コンパイル:make
インストール:make install
注:出力から、make installステップは実際にコンパイルおよび生成されたzlib関連ファイルの配布であることがわかります。つまり、コンパイルされたファイルは関連するパスにコピーされます。オフラインアップグレードインストールパッケージを実行すると、これらのコマンドが直接コピーされますスクリプトに追加してください!
- 元のzlibパッケージをアンインストールしてzlibアップグレードを完了します
#rpm -qa | grep zlib | xargs rpm -e --nodeps
#rm -f /lib64/libz.so.1.2.7
注:zlibをアンインストールする順序は非常に重要です。早期にアンインストールすると、前の手順でmakeが失敗します。プロンプト:zlibのライブラリファイルlibz.so *が使用できず、コンパイルを完了できません!
基本ライブラリzlibは非常に重要です。クラッシュすると、多くの基本コマンドが使用できなくなり、サーバーは再起動しません。
- システムライブラリファイルを更新します。
ldconfig
ll /lib64/libz.*
上記からわかるように、-libdir = / lib64 /を含む新しいライブラリファイルは、コンパイル時に/ lib64 /ディレクトリに直接配置されます。 - このマシンだけをインストールすればこれで終わりです。複数のマシンでzlibをアップグレードする場合。以下はオフラインアップグレードインストールパッケージの作成方法です
# vim zlib-1.2.11/zlibUpgrade.sh
##################################################
#!/bin/bash
parent_path=$( cd "$(dirname "${BASH_SOURCE}")" ; pwd -P )
cd "$parent_path"
rm -f /lib64//libz.a
cp libz.a /lib64/
chmod 644 /lib64//libz.a
cp libz.so.1.2.11 /lib64/
chmod 755 /lib64//libz.so.1.2.11
rm -f /usr/local/share/man/man3/zlib.3
cp zlib.3 /usr/local/share/man/man3
chmod 644 /usr/local/share/man/man3/zlib.3
rm -f /lib64//pkgconfig/zlib.pc
cp zlib.pc /lib64//pkgconfig
chmod 644 /lib64//pkgconfig/zlib.pc
rm -f /usr/local/include/zlib.h /usr/local/include/zconf.h
cp zlib.h zconf.h /usr/local/include
chmod 644 /usr/local/include/zlib.h /usr/local/include/zconf.h
rpm -qa | grep zlib | xargs rpm -e --nodeps
rm -rf /lib64/libz.so.1.2.7
ldconfig
ls -l /lib64/libz*
######################################################
chmod +x zlib-1.2.11/zlibUpgrade.sh
tar -zcf zlib-1.2.11Upgrade.tar.gz zlib-1.2.11
他のマシンをバッチでアップグレードする必要がある場合は、それをコンパイルして各マシンにインストールし、zlib-1.2.11Upgrade.tar.gzをコピーして、実行スクリプトを解凍してアップグレードを完了する必要はありません。
それをansibleプレイブックにして、ansibleを使用してバッチアップグレードのインストールを完了することもできます。
- 他のオフラインパッケージを使用して他のマシンでzlibをアップグレードする
# tar -zxf zlib-1.2.11Upgrade.tar.gz
# cd zlib-1.2.11
# sh -x zlibUpgrade.sh
# ll /lib64/libz.*
このブログ投稿が気に入ったら、気に入ってください。