Я использую yum для установки vsftpd. Почему он не находится в `/etc/rc.d/init.d/`?

Мой источник 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 .

0
19.06.2017, 16:53
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.

0
28.01.2020, 02:33

/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/

2
28.01.2020, 02:33

Теги

Похожие вопросы