- PR -

Linux起動時にシェルを自動実行させるには

投稿者投稿内容
kkenji
会議室デビュー日: 2004/08/18
投稿数: 8
投稿日時: 2004-08-18 18:52
はじめて投稿させていただきます。
最近Linuxを自宅で稼動させはじめた初心者です。
いろいろサービスをインストールして動作するようにはできたのですが、
Linuxを再起動してしまうとサービスが自動で起動しないものがあり、
いちいちコマンドを入力して起動させる必要があり面倒になってきました。

シェルを作成してあげれば自動的に起動させることができると思いますが
具体的にどのようにしたら良いかわかりません。
/etc/rc.d/配下に何か作ればいいのでしょうか...

使用しているOSはTurboLinux Server7.0です。
基本的な質問で申し訳ありませんがご存知の方がいましたらお教えください。
よろしくお願いいたします!
はゆる
ぬし
会議室デビュー日: 2004/02/16
投稿数: 1008
お住まい・勤務地: 首都圏をウロウロと
投稿日時: 2004-08-18 19:26
こんにちは〜。

こちらの記事が参考になりそうです(内容は逆ですが)。

 ・ 止められないUNIXサーバのセキュリティ対策: 第1回 不要なサービスの停止こそ管理の第一歩
   (@IT さんより)
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-08-18 19:27
シェルではなく、chkconfigというコマンドを使ってみてください。
TurboLinux7.0にあれば、の話ですが。

>/etc/rc.d/配下に何か作ればいいのでしょうか...
それでもいいですね。
rc?.dの中にSで始まるサービス起動スクリプトへのリンクを作ります。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-18 21:47
こんばんわ.
引用:

一郎さんの書き込み (2004-08-18 19:27) より:

シェルではなく、chkconfigというコマンドを使ってみてください。
TurboLinux7.0にあれば、の話ですが。


ありますね,chkconfig.
でも X な環境なら turboservice が良いかもです.
kkenji
会議室デビュー日: 2004/08/18
投稿数: 8
投稿日時: 2004-08-18 22:26
turboserviceやchkconfigでは一覧に表示されないプログラムを自動的に
起動したいわけですがどのようにしたらよいでしょうか?
それともやりようによっては上記のコマンドで新規にサービスを追加できるのでしょうか?
具体的に書きますとsquidを毎回以下のように入力して起動しております...
/usr/local/squid/bin/squid &
でもturboserviceやchkconfigではsquidが表示されないんですよ...
ちなみにsquidはソースからコンパイルしております。
qmailも上記のような感じで起動したりしてます。
よい方法がありましたら教えてください。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-18 22:36
引用:

kkenjiさんの書き込み (2004-08-18 22:26) より:

turboserviceやchkconfigでは一覧に表示されないプログラムを自動的に
起動したいわけですがどのようにしたらよいでしょうか?
それともやりようによっては上記のコマンドで新規にサービスを追加できるのでしょうか?


source からでなく,rpm な package から導入されれば宜しいのですが...
chkconfig や turboservice で制御できるのは,
/etc/int.d/ に script があるもので,
chkconfig などを利用することで /etc/rc*.d/ に link を作ってくれます.

qmail の起動 script についてはここの部屋の過去レスにかなり事例があるはずです.
既に squid を source で導入してしまったのであれば,
squid の rpm package を持ってきて起動 script だけ抜き出して参考にしてみては?
基本的には option を定義する file などを追加したり,
binary の PATH を変更すれば結構使えたりすると思います.
というか,自分は基本的にそうしています.

以上,ご参考までに.
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-08-19 01:43
# TurboLinux Server 7.0 を使ったことはないのですが、
# たぶん同じだろうと思いますので...

squid を起動するシェルスクリプトを書いて、/etc/init.d 以下に
置けば chkconfig で設定できるようになります。
start、stop という引数をとって、case で分岐して起動/停止を
行うように書いておいて下さい。

もう少しきちんと(?)書きたければ、/etc/init.d 以下の他の
スクリプトを参考にして、はじめのほうに書いてある内容(それを
起動する前に要求するものは何か、とか。それによって S** の番号が
自動的に決定される)をまねして書いておけばよいです。
BRETHZ
会議室デビュー日: 2004/07/29
投稿数: 9
投稿日時: 2004-08-19 08:07
こんにちは、シェルを作る(/etc/rc.d or /etc/rc.d/init.d)に起動スクリプトを作成するのもいいと思うのですが、シェル単体で起動のなどでよければ、
/etc/rc.local ファイルにシェルを記述すればサーバの起動時に自動的に起動されます。
例:mount t nfs XXX:/mnt/sde /mnt/nfs
などと書いておけば、自動的に NFS マウントされます。

スキルアップ/キャリアアップ(JOB@IT)