Мой источник yum является локальным источником iso, и я использую yum install vsftpd -y
,
Я использую , где
нахожу 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
.
Потому что если вы прочитаете man whereis
, он ищет двоичные файлы только в стандартном $PATH
. Например.
# echo $PATH
/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Обратите внимание, что /etc/init.d
отсутствует в PATH
.
Вы можете просмотреть все файлы, установленные RPM vsftpd, используя rpm -q --dump vsftpd
.
Как указал @Gilson_Varghese, в /etc/init.d
не обязательно должен быть скрипт. Там может быть только модуль systemd. Если есть оба, systemd будет использовать только блок systemd! Пакеты будут устанавливать модули systemd в /lib/systemd/system/
(не /etc
!), с расширением файла .service
.
/etc/init.d
или /etc/rc.d/init.d
— это место, где находятся сценарии инициализации программных приложений./usr/sbin
(или/usr/bin
)— это место, где фактически установлены исполняемые файлы приложения.
/etc/rc.d/init.d
просто содержит скрипт для вызова приложения (в вашем случае vsftpd ). Сценарий обычно используется для запуска приложения в качестве службы демона во время загрузки процессом init . В дополнение к этому сценарии в /etc/init.d
предоставляют параметры запуска, остановки, состояния и перезапуска.
vsftpd — это приложение, которое обычно имеет служебный файл в /etc/systemd/system/
вместо сценария запуска. Поэтому его нет в/etc/init.d/