내 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
. 시스템 단위는 하나만 있을 수 있습니다. 둘 다 있으면 systemd는 systemd 장치만 사용합니다! 패키지는 파일 확장자를 사용하여 /lib/systemd/system/
( /etc
!가 아닌) 시스템 장치를 설치합니다..service