そのファイルやディレクトリはありません/etc/init.d/functions

そのファイルやディレクトリはありません/etc/init.d/functions

一連のアプリケーションを起動/再起動/停止する起動スクリプトを作成しました。/etc/init.d/functions私のスクリプトでこのライブラリを使用しています。私のシステムではうまくいきますが、私のクライアントではうまくいきません。エラーが発生します。

そのファイルやディレクトリはありません/etc/init.d/functions

今、私のクライアントがどのLinuxディストリビューションを使用しているのかわかりません。init.d/functionsLinuxディストリビューションごとにファイルが異なりますか?それでは、どうやって見つけることができますか?

答え1

実行しているディストリビューションによって異なります。 DebianとUbuntuにはそのような機能があります/lib/lsb/init-functions。 SuSEにはそのような機能があります/etc/rc.statusどちらも他と互換性がありません。 実際、一部のディストリビューションでは、/etc/init.dこれをまったく使用しないか、互換性のない方法で使用しています(SlackwareとArchが浮上しています。他のディストリビューションもあります)。

答え2

存在するCentOS 7ドッカーイメージinitscriptsこのスクリプトをインストールするには、単にパッケージをインストールする必要がありました。

yum install -y initscripts

(ありがとうございます。この質問はdocker-library見てみましょう今回提出してください)

答え3

これは確かに分布に依存します。適切に一致するinitスクリプトを作成するには、ディストリビューションを見つける必要があります。

また、LSB(Linux Standard Base)仕様に従い、関連するディストリビューションも同じであることを願っています。現在の仕様では、標準初期化スクリプト機能を次のように使用できることが示されています/lib/lsb/init-functionsここでドキュメントを参照してください。)。 Fedora およびその他の Red Hat 関連ディストリビューションはパッケージで提供されますredhat-lsb任意に選択できる

したがって、あなたは本当にあなたの目標が何であるかを知る必要があります。申し訳ありません。

答え4

Ubuntuに移行するときにこれらの機能を見逃したので、その機能を再作成するためにライブラリを作成しました。機能

関連情報