私のyumソースは私が使用しているローカルisoソースで、次のものを見つけるためにyum install vsftpd -y
使用されます。whereis
vsftpd
[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