- PR -

init.dディレクトリについて

投稿者投稿内容
akuro
常連さん
会議室デビュー日: 2002/11/28
投稿数: 22
投稿日時: 2002-12-11 22:59
Linuxの仕組みを理解しよう[rcスクリプト編]
にてお聞きしたいのですが、
(RedHat7.3を利用しています)

/etc/init.dディレクトリの中に各デーモンの起動スクリプト(?)
があると思いますが、/etc/rc.d/init.dディレクトリの中にも
同じ内容があります。

Apacheを例に調べてみたのですが、

/etc/rc3.d/S85httpdファイルはシンボリックリンクで、実際は ../init.d/httpd
つまり、/etc/init.d/httpdと

/ect/rc.d/rc3.d/S85httpdはシンボリックリンクで、実際は ../init.d/httpd
つまり、/etc/rc.d/init.d/httpd

という感じでした。
なぜこのような仕組みになっているのでしょうか?
(二つのinit.dは同期しているのでしょうか?)

自分でも考えてみたのですが、これはシンボリックリンクを
使っているからでしょうか?、S85httpdは二つとも ../init.d/httpdと
言うように相対パスでのリンクになっていますよね、これを、絶対パスに
すればいいのにと考えてしまうのですが、非常に不思議です。


よろしくお願いします。
(説明不足等ありましたらご指摘お願いします。)

take
ぬし
会議室デビュー日: 2002/06/06
投稿数: 265
投稿日時: 2002-12-12 09:30
>/etc/init.dディレクトリの中に各デーモンの起動スクリプト(?)
>があると思いますが、/etc/rc.d/init.dディレクトリの中にも
>同じ内容があります。

これは昔のシステムとの互換性の為に
こうなっているはずですよ。
Redhatlinuxでは
昔は/etc/rc.d/init.dの下に作っていたけれど
FHSに準拠するために/etc/init.dの下に起動スクリプトを
置くことにしています。
FHSに関しては色々調べてみれば沢山見つかると思います。

>自分でも考えてみたのですが、これはシンボリックリンクを
>使っているからでしょうか?、S85httpdは二つとも ../init.d/httpdと
>言うように相対パスでのリンクになっていますよね、これを、絶対パスに
>すればいいのにと考えてしまうのですが、非常に不思議です。

この「絶対パスにすればいいのに」というのはどういうことでしょうか?
ハードリンクにすればいいのに・・・といった解釈がいいんでしょうか?
確かSolarisはハードリンクになっているんでしたっけ?
個人的な意見ですが
ハードリンクの方が無駄は無くなりますが
シンボリックリンクの方が管理しやすい気がします。
↑的外れな事を言ってたらすいません。
こつぶ
常連さん
会議室デビュー日: 2002/11/11
投稿数: 47
投稿日時: 2002-12-12 09:53
おはようございます。

>この「絶対パスにすればいいのに」というのはどういうことでしょうか?
>ハードリンクにすればいいのに・・・といった解釈がいいんでしょうか?
>確かSolarisはハードリンクになっているんでしたっけ?
>個人的な意見ですが
>ハードリンクの方が無駄は無くなりますが
>シンボリックリンクの方が管理しやすい気がします。

「絶対パス」「ハードリンク」ってなんか関係あるんですか?
なにぶん初心者なのでよくわからないのですが、akuroさんは
「../init.d/httpd」が「/etc/rc.d/init.d/httpd」という
リンクになってないのが不思議ってことですよね?

私もシンボリックリンクのほうが管理しやすいと思います。
chkconfigもシンボリックリンク張るし。

推測ですが、絶対パスでリンクを張ると/etc/rc.d/init.dと
は/etc/init.dの両方にリンクを張らないといけないけど、
相対パスにしておくと1箇所だけに対してリンクを張りなおせば
済むってことだからかな?と思うのですが。間違ってたらすいません。
take
ぬし
会議室デビュー日: 2002/06/06
投稿数: 265
投稿日時: 2002-12-12 11:45
>「絶対パス」「ハードリンク」ってなんか関係あるんですか?

いや、全然ないですよね(笑)
自分で書いててもおかしいと思っていましたが・・・
すいません。

>推測ですが、絶対パスでリンクを張ると/etc/rc.d/init.dと
>は/etc/init.dの両方にリンクを張らないといけないけど、
>相対パスにしておくと1箇所だけに対してリンクを張りなおせば
>済むってことだからかな?と思うのですが。間違ってたらすいません。

お?そんな違いがあるんですか?
akuro
常連さん
会議室デビュー日: 2002/11/28
投稿数: 22
投稿日時: 2002-12-12 12:35

takeさん、こつぶさん返信ありがとうございました。

>これは昔のシステムとの互換性の為に こうなっているはずですよ。
>Redhatlinuxでは 昔は/etc/rc.d/init.dの下に作っていたけれど
>FHSに準拠するために/etc/init.dの下に起動スクリプトを
>置くことにしています。
>FHSに関しては色々調べてみれば沢山見つかると思います。

ありがとうございます。
さっそく検索してみます。

>「../init.d/httpd」が「/etc/rc.d/init.d/httpd」という
>リンクになってないのが不思議ってことですよね?

そうです、誤解を招くような質問になってしまい、すみませんでした。

>推測ですが、絶対パスでリンクを張ると/etc/rc.d/init.dと
>は/etc/init.dの両方にリンクを張らないといけないけど、
>相対パスにしておくと1箇所だけに対してリンクを張りなおせば
>済むってことだからかな?

なるほど、一つのシンボリックリンクで、新旧のinit.dに対応できる
というわけですね。


詳しい解説ありがとうございました。

こつぶ
常連さん
会議室デビュー日: 2002/11/11
投稿数: 47
投稿日時: 2002-12-12 13:44
こんにちは

>推測ですが、絶対パスでリンクを張ると/etc/rc.d/init.dと
>は/etc/init.dの両方にリンクを張らないといけないけど、
>相対パスにしておくと1箇所だけに対してリンクを張りなおせば
>済むってことだからかな?

すいません、いろいろ調べてみたところリンク先は確かにシンボリックリンクでしたが、
それぞれ指している実体は異なるものでした。
なので、推測はやはり推測でしかありませんでした。ごめんなさい。

ちょっと勉強しなおします。
tabby
ベテラン
会議室デビュー日: 2002/06/26
投稿数: 55
お住まい・勤務地: 埼玉県・東京都
投稿日時: 2002-12-12 15:37
別スレッドにしようと思ったのですが、内容的にかぶるのでこちらで質問します。

RedHatでinit.d, rc?.dが/etcの直下に移動したという話が出る際、
FHS 2.1に準拠したという表現がよく出てくるのですが、
現在閲覧可能な2.2を見ている限り、そういった内容が見つかりません。

2.2が決定される段階で削除されたのでしょうか?

#LSBの方も見たけど、/etc/init.dの記述しか見つからない…
take
ぬし
会議室デビュー日: 2002/06/06
投稿数: 265
投稿日時: 2002-12-12 16:52
>RedHatでinit.d, rc?.dが/etcの直下に移動したという話が出る際、
>FHS 2.1に準拠したという表現がよく出てくるのですが、
>現在閲覧可能な2.2を見ている限り、そういった内容が見つかりません。

確かにないですねぇ〜。
雑誌に書いてあった内容をそのまま鵜呑みにしていましたが
間違っていたのでしょうか?
それともtabby様が言うように
削除されただけなのか・・・

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