![데몬 파일은 어디에 위치합니까?](https://linux55.com/image/145881/%EB%8D%B0%EB%AA%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%80%20%EC%96%B4%EB%94%94%EC%97%90%20%EC%9C%84%EC%B9%98%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
저는 Unix 도메인 소켓(원시 소켓)을 통해 통신하는 여러 데몬을 작성했으며 이제 프로덕션 서버에서 가장 적합한 위치를 찾고 싶습니다. 어떤 파일을 어디로 가야 할까요?
지금까지 제가 얻은 정보는 다음과 같습니다(더 나은 위치를 제안해 주시기 바랍니다).
- 데몬 바이너리/실행 가능: 실마리 없음...
/usr/sbin/<subdir>/
?/usr/bin/<subdir>/
? 다른 곳? - 소켓:
/var/run/<subdir>/
(왜인지는 모르겠지만 불편해요/tmp/
) - 로그 파일:
/var/log/<subdir>/
- 구성 파일:
/etc/<subdir>/
대상 운영 체제는 Ubuntu Server 16.04+입니다.
답변1
다음을 포함하여 표준에 관한 훌륭한 자료가 많이 있습니다.https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html
나는 다음을 추천합니다:
- 소켓:
/run/<subdir>/
. 현재 우분투의/var/run
심볼릭 링크 이기 때문입니다. 이런 종류의 새로운 표준 장소입니다./run
/run
- 로그 파일:
/var/log/<subdir>/
옳은. 단일 로그에는 실제로 디렉터리가 필요하지 않습니다./etc/logrotate.d
항목 을 추가하는 것을 잊지 마세요 - 구성 파일:
/etc/<subdir>/
옳은. 다시 말하지만, 단일 구성 파일에는 디렉터리가 필요하지 않지만 그렇게 해도 해가 되는 것은 없습니다.
바이너리 파일:
이것들은 존재할 수 있는 곳이 많습니다. 일반적으로 bin
사용자 명령에 사용되는 sbin은 서버 데몬에 사용됩니다. 어떤 사람들은 sbin
루트에서만 실행되는 바이너리 파일이라고 말합니다. 이봐:https://askubuntu.com/questions/308045/differences-Between-bin-sbin-usr-bin-usr-sbin-usr-local-bin-usr-local
/bin
또는 를 사용하지 마십시오/sbin
. 시스템을 부팅하는 데 필요한 바이너리용으로 예약하세요./usr/bin
및 를 이용하시기 바랍니다/usr/sbin
. 예외가 있기는 하지만 Bontu의 대부분의 것들이 여기에 살고 있습니다. 소프트웨어를 올바르게(.dpkg 또는 유사한 파일로) 패키징한 경우/usr/bin
및 를 사용해야 합니다/usr/sbin
.- 적절하게 패키징할 의도가 없고 단지 시스템 관리자로 수동으로 복사하려는 경우에는
/usr/local/bin
와 가/usr/local/sbin
더 적합합니다. 그러나 코드를 다른 사람에게 배포하는 경우 일반적으로 이 방법을 사용하면 안 됩니다. - 바이너리 중 일부가단 한 번도다른 바이너리에서 사용하는 경우
/usr/lib
또는 아래에 배치하는 것이 좋습니다/usr/local/lib
. 바이너리가 라이브러리로 취급되는 것은 드문 일이 아닙니다.
요컨대 /usr/sbin
아마도 /usr/bin
정확할 것입니다.