- - PR -
suseの場合、daemonは、どのパッケージにあるのか?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-08-12 15:55
suse 8.1にて httpd起動スクリプトにてエラーがでて困っています
【環境】 suse 8.1 apache 1.3.22 【症状】 /etc/init.d/httpd startにて起動すると以下のエラーが発生する /etc/init.d/httpd: line 13: /etc/rc.d/init.d/functions: そのようなファイルやディレクトリはありません Starting httpd: /etc/init.d/httpd: line 31: daemon: command not found 【困っている事】 /etc/rc.d/init.d/functionsが無いので、daemonがエラーだと思われます ※redhat8では動作しています suseでは、/etc/rc.d/init.d/functionsは、何のパッケージにあるのでしょうか? 【該当スクリプト】 #!/bin/bash # # Startup script for the Apache Web Server # # chkconfig: - 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. # processname: httpd # pidfile: /var/run/httpd.pid # config: /etc/httpd/conf/httpd.conf # Source function library. . /etc/rc.d/init.d/functions <------------------13行目 if [ -f /etc/sysconfig/httpd ]; then . /etc/sysconfig/httpd fi # This will prevent initlog from swallowing up a pass-phrase prompt if # mod_ssl needs a pass-phrase from the user. INITLOG_ARGS="" # Path to the apachectl script, server binary, and short-form for messages. apachectl=/usr/sbin/apachectl httpd=/usr/local/apache/bin/httpd prog=httpd RETVAL=0 start() { echo -n $"Starting $prog: " daemon $httpd $OPTIONS <------31行目 なにかヒントがあればよろしくお願いします [ メッセージ編集済み 編集者: シュワンツ 編集日時 2004-08-13 09:02 ] |
|
投稿日時: 2004-08-13 22:37
こんばんわ.
hint などではないのですが気になったので. お使いの apache は suse のものを導入されていますでしょうか? redhat なら知ってますが,suse では daemon command はないのでしょうか? line 13 はそれほど問題ではないでしょうけど, line 31 は「daemon command が見つからない」という話で, それぞれ別の問題だと思われます. 手で直してしまってよいなら, 普通に「httpd を起動する command」が並んでいればよいと思います. 或いは $apachectl start なんてのでも起動すると思いますが, そもそも「なぜ daemon command が見つからないのか?」を解決しないと, apache を update する度に手直ししないとならなくなるかもしれません. もう一点気になりますが, httpd=/usr/local/apache/bin/httpd はシュワンツ様が書かれた内容でしょうか? とすると,もしかして source から導入されているとか? そういった「どのように導入したか?」といった情報も結構重要だったりします. 以上,ご参考までに. |
|
投稿日時: 2004-08-13 23:35
こんばんわ。
シュワンツさんの書かれた起動スクリプトは redhat8(?)からコピーされたものですか? もしそうなら、 daemon とは /etc/rc.d/init.d/functions で定義された function 名と思われます。 パッケージを探すよりも /etc/rc.d/init.d/functions はシェルスクリプトなので、 redhat と同じように daemon という function を 定義するのが早いのではないでしょうか? |
|
投稿日時: 2004-08-14 08:08
恐らく、/etc/rc.d/init.d/functions ファイルを作成し、その中で daemon 関数を定義すれば動作するような気がしますが、せっかく SUSE を使うのですから、SUSE の 他の rc スクリプトに習って Apache 用の rc スクリプトを再作成するのが良いように思います。
|
|
投稿日時: 2004-08-15 21:35
こんばんわ.
大変失礼しました,どっちも重要な errorlog みたいですね. ちょっと手元の beta な環境で調べてみました. SuSE だと startproc 〜 と書かれてますね. で,皆さんのご指摘どおり,functions は無いみたいですし,参照してもいません. ちなみに,redhat に suse の apache を展開して動かそうと思ったら, "shard libraries" が見つからないって怒られます. さらに,suse 8.1 だと apache は 1.2.26 か 2.0.40 のようです. source から導入されたのでしたら,普通に apachectl から起動しても宜しいのでは? その command line を /etc/rc.local あたりに書き込んでおけば OS 起動時に httpd も load してくれるでしょうし, 稼動時に httpd を操作したいなら apachectl で動かせばよいと思うです. 或いはいっそのこと, suse の rpm packeage から /etc/init.d/apache を抜き取るとか... 以上,ご参考までに. |
1