centos7はzlib1.2.7をzlib1.2.11にアップグレードします

centos7システムでpython2をpython3に更新すると、古いバージョンのzlibが表示されます。新しいバージョン1.2.11へのアップグレードを促す。次に、centosでのzlibのアップグレードを示します。

  1. まず、システムのzlibバージョンを確認します。
    yum info zlib
    ここに画像の説明を挿入
    zlibのバージョンが1.2.7である場合は、必要に応じて1.2.11に更新できます。
  2. 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 /

  1. Linuxのデフォルトでは、ディレクトリに関するいくつかのソフトリンク:
    ls -ld /var/*
    ここに画像の説明を挿入
    コンパイル:make
    ここに画像の説明を挿入
    インストール:make install
    ここに画像の説明を挿入

注:出力から、make installステップは実際にコンパイルおよび生成されたzlib関連ファイルの配布であることがわかります。つまり、コンパイルされたファイルは関連するパスにコピーされます。オフラインアップグレードインストールパッケージを実行すると、これらのコマンドが直接コピーされますスクリプトに追加してください!

  1. 元のzlibパッケージをアンインストールしてzlibアップグレードを完了します
#rpm -qa | grep zlib | xargs  rpm -e --nodeps
#rm -f /lib64/libz.so.1.2.7

注:zlibをアンインストールする順序は非常に重要です。早期にアンインストールすると、前の手順でmakeが失敗します。プロンプト:zlibのライブラリファイルlibz.so *が使用できず、コンパイルを完了できません!
基本ライブラリzlibは非常に重要です。クラッシュすると、多くの基本コマンドが使用できなくなり、サーバーは再起動しません。

  1. システムライブラリファイルを更新します。
    ldconfig
    ll /lib64/libz.*
    ここに画像の説明を挿入
    上記からわかるように、-libdir = / lib64 /を含む新しいライブラリファイルは、コンパイル時に/ lib64 /ディレクトリに直接配置されます。
  2. このマシンだけをインストールすればこれで終わりです。複数のマシンで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を使用してバッチアップグレードのインストールを完了することもできます。

  1. 他のオフラインパッケージを使用して他のマシンでzlibをアップグレードする
#  tar -zxf  zlib-1.2.11Upgrade.tar.gz

# cd zlib-1.2.11

# sh -x zlibUpgrade.sh

# ll /lib64/libz.*

ここに画像の説明を挿入

このブログ投稿が気に入ったら、気に入ってください。

元の18件の記事を公開 賞賛31件 50,000回以上の閲覧

おすすめ

転載: blog.csdn.net/alvinlyb/article/details/103755600