fc2ブログ

自動起動、rc.local、init.d。

以前 WOL を自動で有効に設定する記事

----------------------------------------------------------------------------
/etc/rc.local に 「ethtool -s eth0 wol g」を書けばいいよ
----------------------------------------------------------------------------

って書いたのですが、しっかりググってみると
どうもそれはあまり良くないことが判明しました。
「良くない」というのは 「rc.local の位置づけ」に対して、なのです。
【 参照元:Ubuntu日本語フォーラム内
起動時に特定のコマンドを自動で実行するには?(#08~#11) 】

ご存じの方も多いと思いますが
rc.local ってのは、自動起動したいスクリプトを置くファイルです。
Ubuntuの起動時の一番最後に読み込み実行してくれるようです。

しかしこの rc.local が昔のLinuxを引きずっている「古い存在」のようです。
Fedora 16 では標準で存在しないらしいし、トラブルも有るようだし。
ひょっとしたら互換性を捨てて完全に廃止される恐れもでてきます。

じゃあどうすればいいんでつか?、と見ていったら
どうやら似たようなのに /etc/init.d が有り、今はこっちを使うほうが良いみたい。

しかし大抵の記事には /etc/init.d の中にスクリプトを置いて~ ってのは
確かにたくさん書かれているのですが
どれもこれも Start がどうの Stop がどうの スクリプトが小難しく書いてある。
あんたたちはわかってるからそのレベルでいいんだろうが
「こちとら ただ 1文実行すればそれでいいんだよ!」
と、だんだんイライラしてきました。

かといって
「システム設定」>>「自動起動するアプリ」の中に置いても、
管理者権限が要るスクリプトなので、必ずパスワードを聞かれるからウザい。

たかだか1文実行するだけなのに、なんでこんな苦行を…。
って思ってたら、とても参考になるいい記事がありました。

[debian][iptables]ルーティング設定(はるおの備忘録)

上の記事に倣って、ホームフォルダに「enable-wol.sh」をまず作りました。
--------------------------------------------------------------------------------------------
#!/bin/sh (←大概の init.d 配下のスクリプトと同様に -e を付けたほうが良い?)

ethtool -s eth0 wol g
--------------------------------------------------------------------------------------------
これだけ。
もちろん例外規定もなんもかんも無視してるのはわかってますよ。

これを /etc/init.d の中に放り込んで、 update-rc.d すれば良いようだ。
端末を出して、

$ sudo su (←以下のコマンドを管理者で実行するため)
# mv ~/enable-wol.sh /etc/init.d/enable-wol (←/etc/init.d の中に移動)
# chmod 755 /etc/init.d/enable-wol (←実行権限を与える)
# update-rc.d enable-wol defaults (←自動実行してもらえるように登録)

ずらずらと必要な設定を行なってくれたので、一旦PCをシャットダウン。
再起動かければ自動で enable-wol を実行してくれました。

これを削除したければ
# update-rc.d -f enable-wol remove した後にファイルを削除して下さい。


あとは必要に応じていろんなサイトを見て頑張って下さい。
記事はかなり古い(2002/06)ですけど、
最終回 Linux起動の仕組みを理解しよう[rcスクリプト編](@IT)が
一番最初は良いかも。


追記:
私はできるだけ「わかりやすく」書きたくてブログを書いているものですから
わかりにくい時は是非遠慮無くコメントでクレーム頂ければ助かります。

スポンサーサイト



プロフィール

NewcomerT

Author:NewcomerT
FC2ブログへようこそ!

検索フォーム
最新記事
最新トラックバック
月別アーカイブ
RSSリンクの表示
リンク