プロが教えるわが家の防犯対策術!

お世話になります。

◆質問
現在、社内試験において、
OSが起動してからの連続稼動時間を、変更する方法を探しております。
通常は、uptimeコマンドを実行すれば、OSが起動してからの起動時間が表示されますが、
この時間を365日起動後、497日起動後にする方法がございますでしょうか?
------------------------------------------------------------------------
15:19:31 up 3 days, 23:23, 2 users, load average: 0.00, 0.00, 0.00
------------------------------------------------------------------------
※なお、実際にその日まで待つことは、試験の日数上できません。


※環境は下記の通りとなります。
◆実行環境
マシン:
ML115 G5

OS:
Red Hat Enterprise Linux ES release 4 (Nahant Update 6)

◆備考
インターネットで、「/proc/uptime」に秒数が
書き込まれて(?)いることはわかりました。
「/proc/uptime」をviで編集をしてみましたが、
エラーとなり、値を書き換えることができませんでした。
※システムファイルを操作することはよくないと思いますが実行してみました。

---------------------------------------------------------------
警告: 読込んだ後にファイルに変更がありました!!!
本当に上書きしますか (y/n)?y
"/proc/uptime" E667: fsync に失敗しました
警告: 原本ファイルが失われたか変更されました
ファイルの保存に成功するまでエディタを終了しないでください!
--------------------------------------------------------------


どうか、よろしくお願いいたします。m(_ _)m

A 回答 (4件)

#2への補足で状況は良くわかりました。


次のようにすればいいのではないでしょうか?

(1) 問題となっているシステムコールをフックして、日数が経過したようにシミュレートしたときに不具合が再現することを確認
(2) パッチをあてて、同様にシステムコールをフックして、不具合が解消されたかを確認
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>(1) 問題となっているシステムコールをフックして、日数が経過したようにシミュレートしたときに不具合が再現することを確認

なるほどですね!!そんな方法があったとは。。
ただ私のスキルが足りないため、システムコールをフックできるかがわかりません・・・。ネットで検索してみます!ありがとうございます^^

(2) パッチをあてて、同様にシステムコールをフックして、不具合が解消されたかを確認
そうですね、シミュレーションがうまくいけば確認ができますね!
ありがとうございます!

システムコールのフックについて勉強したいと思います!
ありがとうございます。

お礼日時:2009/11/01 06:56

RHEL4.x のカーネルは2.6系なので 497日問題は無いはずです。



365日というのは意図がわかりませんが、まずは、どのような観点で何を試験したいのかということが明確でなければ、uptime値を無理矢理変更することが出来たとしても意味がないのではないかと思います。

この回答への補足

ご回答ありがとうございました。
>RHEL4.x のカーネルは2.6系なので 497日問題は無いはずです。
情報ありがとうございました。

下記、補足させていただきましたとおり、
モジュールの不具合の再現と、パッチあて後の動作確認をしたいため
稼動時間を変更したいです。

おっしゃるとおり、そもそもuptime値を無理矢理、
変更することが稼働時間を変更することではないかもしれません。
最終目的は、不具合の再現とパッチあて後の動作確認です。

 

補足日時:2009/10/20 10:57
    • good
    • 0

カーネルの管理する値で通常は変更は不可能だと思います。



変更可能にするカーネルパッチでも当てればできそうですが、
そんな普通でない状態での社内試験に意味があるのかどうかが微妙なのと、
連続稼動時間は連続稼働してその時間になるからこそ意味があるので、間を飛ばして値を書き換える試験に何の意味があるのかよくわかりません。

この回答への補足

ご回答ありがとうございます。
補足させていただきます。

あるモジュールがOSのtimeコールを使用しており、
ある日数が経過するとCPUが高騰してしまう不具合があります。
その現象の再現と、パッチをあてたときにその不具合が解消されて
いるかどうかを確認したいため、サーバOSの稼動時間を変更する方法を
探しております。
※単純にuptimeを変更すれば、偽装できないかと思いました。

また、このモジュールは他のモジュールでも使用しているため、
パッチあて後に、これらのモジュールの動作も
確認がとりたいと思っています。

補足日時:2009/10/20 10:56
    • good
    • 0

確認してませんが、クロックの日付をずらせばいいのでは?

この回答への補足

回答ありがとうございます。
dateコマンドにて1年後の値を設定してみましたが、
稼動時間(uptime)は変わりませんでした。

補足日時:2009/10/20 10:46
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2009/10/20 10:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!