未使用の初期化スクリプトの削除

未使用の初期化スクリプトの削除

私のDebianサーバーにはネットワーク共有(NFS、SMBなど)がありません。起動プロセスを最適化して簡素化しようとしています。次のinitスクリプトを削除しても大丈夫ですか?

/etc/rcS.d/S12mountnfs.sh
/etc/rcS.d/S13mountnfs-bootclean.sh

AFAICT、NFSをマウントする場合にのみ必要です。しかし、mountnfs-bootclean.shこのスクリプトの目的が何であるかわかりません。

とにかく、次の2つのスクリプトを削除しても安全ですか?

chkconfig mountnfs-bootclean.sh off
chkconfig mountnfs.sh off

答え1

私はinit.dスクリプトを完全に削除しません。私がすることは、もはや不要なパッケージを削除することだけです。パッケージを削除したら、init.dファイルを削除する必要があります。

パッケージの削除は簡素化の要件に適しており、必要なディスク容量をいくつか削除できます。

答え2

これらのスクリプトを削除しても、実際には何も最適化されません。かかる時間は無視できます。

これらの*-bootclean.shスクリプトは、再起動後も維持する必要があるか、または維持してはならないファイル(/var/run、、、/var/lockなどの/tmpファイルなど)をクリーンアップします。 SysVinitを含むDebianには3つのスクリプトがあります。

  • checkroot-bootclean.shルートファイルシステムをマウントしたらすぐに実行します(これにより、すぐにマウントポイントになるディレクトリの下に作成された偽のファイルを削除できます(たとえば、/run潜在的に/tmp)。
  • mountall-bootclean.sh/tmpローカルファイルシステムをマウントして実行します(たとえば、ローカルスタンドアロンまたは-またはtmpfsファイルシステムが含まれます/varが、そのファイルシステムにはクリーンアップはありません)。
  • mountnfs-bootclean.shリモートファイルシステムをマウントして実行します(たとえば、/varNFS経由など)。

無効にしてもmountnfs.shシステムmountnfs-bootclean.shに害を与えません。ただし、これを決定するには慎重に研究する必要があります。また、これは NFS ファイルシステムを fstab に配置しないという前提でのみ機能します。あなたがこれが本当であることを知っているなら、あなたの占い力を私に伝えてほしいと思います。単にそれが真実であると信じるならば、ある時点であなたの信仰が根拠がないと判明するリスクを考慮する必要があります。

ディストリビューションでデフォルト値を変更するたびにシステムが異なるため、ドキュメントの一部が適用されなくなり、他の人が行ったテストが適用されなくなり、受け取ったサポートが適用されなくなる可能性があります。デフォルト設定へのすべての変更は本質的に追加の複雑さの層であるため、これによって達成できる実質的な利点がある場合にのみ実行する必要があります。これらのスクリプトを削除すると、起動プロセスが簡素化されるというあなたの主張は、これを考慮していなかったため、間違っています。

答え3

これらの初期化スクリプトを削除してもパフォーマンスは向上しません。この関数はdo_wait_async_mount()fstabを解析し、nfsファイルシステムが見つからない場合は何もしません。私のシステムでは、スクリプトの実行に0.5秒もかからず、NFSマウントはありません。

➜  ~  sudo time /etc/init.d/mountnfs-bootclean.sh start 
0.00user 0.00system 0:00.11elapsed 0%CPU (0avgtext+0avgdata 1400maxresident)k
24inputs+0outputs (0major+1857minor)pagefaults 0swaps
➜  ~  sudo time /etc/init.d/mountnfs.sh start 
0.00user 0.00system 0:00.07elapsed 10%CPU (0avgtext+0avgdata 1400maxresident)k
0inputs+0outputs (0major+1866minor)pagefaults 0swaps

これを削除することはできますが、パフォーマンスを向上させるために努力する価値はありません。

答え4

単純さの問題を解決するには:

  • 一般に、最小のデプロイまたはパッケージのインストールで生成されたスクリプトを削除するのは悪い考えです。どのプロセスがそれに依存しているのか分からないからです。
  • 削除パックこれらのファイルを作成する人は、おそらく完全に見分けがある人でしょう。答えを調べてください:

    yum provides /etc/rcS.d/S12mountnfs.sh /etc/rcS.d/S13mountnfs-bootclean.sh
    
  • Debian で必要なシンプルさが得られない場合や、ブートプロセスがどのように機能するかを学びたい場合は、同様のベアボーンディストリビューションを試してみてください。アーチ

関連情報