vsftpdをインストールするためにyumを使用しました。なぜ `/etc/rc.d/init.d/`にないのですか?

vsftpdをインストールするためにyumを使用しました。なぜ `/etc/rc.d/init.d/`にないのですか?

私のyumソースは私が使用しているローカルisoソースで、次のものを見つけるためにyum install vsftpd -y使用されます。whereisvsftpd

[root@localhost etc]#  whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

下にあることがわかりましたが、/usr/sbin/なぜ下に位置しないのですか/etc/rc.d/init.d


編集する

私は使用しますCentOS 7.2

答え1

/etc/init.dまたは、/etc/rc.d/init.dソフトウェアアプリケーションの初期化スクリプトがある場所です。/usr/sbin(または/usr/bin)は、アプリケーション実行可能ファイルが実際にインストールされている場所です。

/etc/rc.d/init.dアプリケーション(あなたの場合はvsftpd)を呼び出すスクリプトのみが含まれています。このスクリプトは通常、起動時にアプリケーションをデーモンサービスとして起動するために使用されます。内部にプロセス。これに加えて、スクリプトは/etc/init.d起動、停止、ステータス、および再起動オプションも提供します。

/etc/systemd/system/vsftpdは通常、起動スクリプトではなくサービスファイルを含むアプリケーションです。そのため、その地域にはありません。/etc/init.d/

答え2

を読むと、man whereis標準のバイナリだけが検索されるからです$PATH。例えば

# echo $PATH
/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

この項目は/etc/init.d含まれていませんPATH

.vsftpd RPMを使用すると、vsftpd RPMとしてインストールされているすべてのファイルを表示できますrpm -q --dump vsftpd

@Gilson_Vargheseが指摘したように/etc/init.d。システム単位は1つしかありません。両方がある場合、systemdはsystemdデバイスのみを使用します!パッケージはファイル拡張子を使用して/lib/systemd/system//etc!以外)システムデバイスをインストールします。.service

関連情報