
一連のアプリケーションを起動/再起動/停止する起動スクリプトを作成しました。/etc/init.d/functions
私のスクリプトでこのライブラリを使用しています。私のシステムではうまくいきますが、私のクライアントではうまくいきません。エラーが発生します。
そのファイルやディレクトリはありません/etc/init.d/functions
今、私のクライアントがどのLinuxディストリビューションを使用しているのかわかりません。init.d/functions
Linuxディストリビューションごとにファイルが異なりますか?それでは、どうやって見つけることができますか?
答え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に移行するときにこれらの機能を見逃したので、その機能を再作成するためにライブラリを作成しました。機能。