※本記事の内容は、pdkshパッケージが標準で同梱されないRHEL5以降のOSを対象にしております。
※RHEL4では、OS標準のpdkshをご利用ください。
■ 現象
OS付属のpdkshを利用すると、以下のようなメッセージが出力されることがある。
printf: -t: unknown option
Usage: printf [ options ] format [string …]
LifeKeeperでは、LifeKeeper同梱のpdkshパッケージを使用しております。
当該パッケージは、OSから提供されているkshパッケージと競合するため、上記のようなメッセージが出力されることがあります。
また、kernel update実施時にkshパッケージがアップデートされた場合、同様の事象が報告されています。
■ 影響を受ける環境
- LifeKeeper for Linux v8.0 までの環境
本現象は、LifeKeeper for Linux v8.1.1 で解消されております。リリースに関する詳細につきましては、こちらをご参照ください。
■ 解決方法:
OSをインストール後、pdksh パッケージが既にインストールされている場合は、一度アンインストールした後、LifeKeeper の setup スクリプトにて
LifeKeeper 同梱の pdksh をインストールしてください。
以下の手順にて、pdksh の再インストールを両ノードで行ってください。
(1) 両ノードのLifeKeeperを停止
# /opt/LifeKeeper/bin/lkstop -f
※ LifeKeeper を停止する際、-f オプションを付与すると、サービスを停止することなくLifeKeeper を停止することが可能です。
(2) OS付属のpdkshのアンインストール
各OSのディストリビューションの方法に従って、OS付属のpdkshをアンインストールしてください。
(3) 両ノードでsetupスクリプト実行
LifeKeeper インストール時に実行した InstallSupport CD 内のsetupスクリプトを実行します。最初に、LifeKeeper のインストールを継続するかを尋ねる項目がありますので [y] を選択してください。
pdksh パッケージのインストールが開始されます。pdksh パッケージのインストールが完了したら、「Ctrl」キーと「C」キーを同時に押し、 setupスクリプトを中断します。
以下に、setupスクリプト実行時の出力例を示します。
[setupスクリプト出力例]
Welcome to LifeKeeper for Linux v7.1.0-1 Setup A log of this setup will be written to: /var/log/LK_install.log This script will set up your system so that LifeKeeper will run properly. If necessary, kernel packages will be upgraded, the Java Runtime Environment will be installed, SCSI device nodes will be created in the /dev directory, and LifeKeeper software licensing utilities will be installed. Do you wish to continue (answering "no" will abort setup) (y/n) [y] ? y ← yを選択します。 Installing pdksh... The following packages will be installed: pdksh-5.2.14-30.3.i386.rpm 準備中... ################################################## pdksh ################################################## 警告: ./CentOS/pdksh-5.2.14-30.3.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 443e1821 Installation was successful. ← successfulと表示されれば成功です。 Press ENTER to continue... ← 「Ctrl」キーと「C」キーを同時に押し、以降のsetupスクリプトの処理を中断します。 SETUP HAS NOT BEEN COMPLETED SUCCESSFULLY. ← 中断すると左記のメッセージが表示されますが、本手順においては問題ありません。
(4) 両ノードのLifeKeeperを起動
# /opt/LifeKeeper/bin/lkstart
■ 恒久対策
本不具合は、LifeKeeper for Linux v8.1.1 で修正対応済です。
改訂履歴
[公開日:2010年3月10日] [更新日:2011年11月24日]
[更新日:2016年8月16日] 記事の体裁を修正しました。