kernelとgccのアップデート CentOS7

kernelのバージョンは 2022/07/02に最新版の5.18.9が出ていたのでそちらをベースにしています。

なお、kernelを5系以上にする場合、gccはversion: 4.9.0以上が必要となるので、そちらから記載していきます。

gccのアップグレード 2022/05/06が最新(7/3現在)gcc-12.1.0

gcc -v
gcc バージョン 4.8.5

yum install gcc-c++
cd /usr/local/src
curl -LO http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-12.1.0/gcc-12.1.0.tar.gz
curl -LO http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-12.1.0/sha512.sum
tar -xvzf gcc-12.1.0.tar.gz
cd /usr/local/src/gcc-12.1.0/
./contrib/download_prerequisites

mkdir build
cd build
../configure --enable-languages=c,c++ --prefix=/usr/local --disable-bootstrap --disable-multilib

※このmakeは非常に時間がかかるのでマルチコアでmakeしています。(本サーバは8スレ)
make -j8
make install
/usr/local/bin/gcc --version

vi /etc/ld.so.conf

追記
/usr/local/lib64

ldconfig -v

cd /etc/ld.so.conf.d
vi usr-local-lib64.conf

追記
/usr/local/lib64

ldconfig -v

gcc -v

reboot

kernelのアップグレード  2022/07/02が最新(7/3現在)linux-5.18.9.tar.xz

cd /usr/local/src
yum install ncurses-devel openssl-devel bc elfutils-libelf-devel
curl -O https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.18.9.tar.xz
xz -d linux-5.18.9.tar.xz
tar xvf linux-5.18.9.tar
cd linux-5.18.9

cp -p /boot/config-3.10.0-514.el7.x86_64 ./.config
or
cp -p /boot/config-3.10.0-957.el7.x86_64 ./.config

cd /usr/local/src/linux-5.18.9

yes "" | make oldconfig

下記makeも異常に時間がかかるので、マルチコアでmake
make -j8

make modules_install
make install

追加カーネル確認
cat /etc/grub2-efi.cfg | less
or
cat /etc/grub2.cfg | less
※ここはファイルがgrub2.cfgになっているケースもあるので注意!

-------------
### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux (5.18.9) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-3a7e4818-eec6-49e9-95cd-260b8edc0339' {
-------------

太字箇所があればOK

起動するカーネルの変更

コマンドで必要な部分を抽出
上から順に 0 から始まるエントリとなっている
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2-efi.cfg
or
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

※ここはファイルがgrub2.cfgになっているケースもあるので注意!

CentOS Linux (5.18.9) 7 (Core)
CentOS Linux (3.10.0-1160.45.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-c6eb70c3ed0f4ebd94266f7e03383554) 7 (Core)

起動カーネルの選択
grub2-set-default 0

grub2-editenv list
reboot

yumのアプデではkernelを除外

vi /etc/yum.conf
#追記
exclude=kernel*

 COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

NO IMAGE

php-fpm のプロセス数

NO IMAGE

CentOS7でyumが使えなくなった場合

指定ディレクトリ以下の肥大化したディレクトリやファイルを検索する

NO IMAGE

CentOS7でfirewalldではなくiptablesを設定する

NO IMAGE

cpanモジュールの個別アンインストール

NO IMAGE

特定拡張子の一括パーミション変更