Eu uso o yum para instalar o vsftpd. Por que não está localizado em '/etc/rc.d/init.d/'?

0

Minha fonte do yum é a fonte iso local, e eu uso yum install vsftpd -y , Eu uso whereis encontrar o vsftpd :

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

Acontece que sob o /usr/sbin/ , por que não localiza no /etc/rc.d/init.d ?

EDITAR

Eu uso CentOS 7.2 .

    
por three-blocks 19.06.2017 / 11:21

2 respostas

2

/etc/init.d ou /etc/rc.d/init.d is, onde os scripts de inicialização dos aplicativos de software residem. /usr/sbin (ou /usr/bin ) é onde os executáveis do aplicativo estão realmente instalados.

/etc/rc.d/init.d contém apenas um script para invocar o aplicativo (no seu caso, vsftpd). O script geralmente é usado para iniciar o aplicativo como um serviço de daemon durante a inicialização pelo processo init . Além disso, os scripts em /etc/init.d fornecem opções de início, parada, status e reinicialização.

O vsftpd é o aplicativo e geralmente tem um arquivo de serviço em /etc/systemd/system/ em vez de um script de inicialização. É por isso que não está localizado em /etc/init.d/

    
por 19.06.2017 / 12:00
0

Porque se você ler man whereis , ele procurará apenas por binários no padrão $PATH . Por exemplo,

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

Observe que /etc/init.d não está em PATH .

Você pode procurar em todos os arquivos instalados pelo vsftpd RPM usando rpm -q --dump vsftpd .

Como apontado por @Gilson_Varghese, não haverá necessariamente um script em /etc/init.d . Pode haver apenas uma unidade de sistema. Se houver ambos, o systemd usará somente a unidade systemd! Os pacotes instalarão as unidades systemd em /lib/systemd/system/ (não /etc !), Com uma extensão de arquivo .service .

    
por 19.06.2017 / 12:10