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

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

文字コードlatin1のデータベース、テーブルをUTF8に変換し移転する

NO IMAGE

yumがupdateできない件(CentOS6)

NO IMAGE

特定サイズ以上のファイル検索

NO IMAGE

TCPコネクション数を簡単に調べる

NO IMAGE

httpdプロセス数確認