CentOS7からprelinkが無効に変更されていた件

More than 3 years have passed since last update.


prelinkって何?

詳しくはggってください。

有り体に言うとインストールされているバイナリを変更して高速化を図るプログラムらしいです。/etc/cron.daily/prelinkとしてインストールされるので一日に一度動作します。

Gentoo Linux ドキュメント -- Gentoo Linux Prelinkガイド

prelink の効果を測定する - bkブログ


無効になったってどういうこと?

rpmを展開すると、CentOS7におけるデフォルト値がyesからnoに変更されています。これにより、バイナリ変更の動作は入らなくなっています。

$ wget http://ftp.riken.jp/Linux/centos/6.5/os/x86_64/Packages/prelink-0.4.6-3.1.el6_4.x86_64.rpm

$ rpm2cpio prelink-0.4.6-3.1.el6_4.x86_64.rpm | cpio -id
$ cat etc/sysconfig/prelink
PRELINKING=yes

$ wget http://ftp.riken.jp/Linux/centos/7/os/x86_64/Packages/prelink-0.5.0-6.el7.x86_64.rpm
$ rpm2cpio prelink-0.5.0-6.el7.x86_64.rpm | cpio -id
$ cat etc/sysconfig/prelink
PRELINKING=no

rpmで入れたバイナリのchecksumが一致しないと思ったらprelinkのせいだった - As a Futurist...


これまで何が問題だったの?

prelinkのバイナリ変更によってプログラムがうまく動作しなくなるものがありました。当方も痛い目に合った一人。誰も触っていないハズなのにいつの間にか壊れているので、原因調査に苦労しました。

CentOS で Ruby が動かないときは prelink が怪しい - Qiita


何かする必要あるの?

CentOS7の人は特になにも。それ以外の人はrootでprelink -auして改変されたバイナリを元に戻しておきましょう。その後cron.dailyからprelinkを削除するのが良いかと。

※prelink自体をアンインストールすると何かのひょうしにまた入っちゃうことがあるので残しておくのがymko的にポイント高いかも!

prelink削除 - ymkoの日記(自記事)

rpmで入れたバイナリのchecksumが一致しないと思ったらprelinkのせいだった - As a Futurist...