스핑크스 pid를 /var/run/sphinx/searchd.pid에 유지하지만 하드 재부팅 할 때마다 / var / run / sphinx 디렉토리가 사라지고 스핑크스가 시작되지 않습니다. 해당 디렉토리를 고정 시키거나 자동으로 작성하는 방법이 있습니까? 사람들은 일반적으로이 상황을 어떻게 처리합니까? 우분투 하디를 사용합니다
스핑크스 pid를 /var/run/sphinx/searchd.pid에 유지하지만 하드 재부팅 할 때마다 / var / run / sphinx 디렉토리가 사라지고 스핑크스가 시작되지 않습니다. 해당 디렉토리를 고정 시키거나 자동으로 작성하는 방법이 있습니까? 사람들은 일반적으로이 상황을 어떻게 처리합니까? 우분투 하디를 사용합니다
답변:
이 디렉토리는 의도적으로 임시입니다. 여러 컨텐츠의 제어 스크립트가 어떤 프로세스에서 신호를 보내야하는지 확인하기 때문에 내용이 여러 부트에 걸쳐 붙어 있으면 모든 종류의 추악한 효과가 발생할 수 있습니다. 최근 시스템에서이 임시 특성은로 마운트 /var/run
하여 적용되는 tmpfs
반면, 이전 시스템은 시작시 디렉토리의 모든 항목을 삭제했습니다.
따라서 스핑크스 또는 시작 스크립트를 구성하여 해당 디렉토리를 만들거나 PID 파일을 /var/run
직접 작성해야 합니다.
이제 임시 파일 및 이와 같은 디렉토리를 작성하기위한 중앙 집중식 메커니즘이 있습니다. 이 방법을 사용하려는 서비스는 자체 시작 스크립트에서 mkdir 명령을 제거하고 대신 우분투를 사용하여 /etc/tmpfiles.d, /run/tmpfiles.d 또는 /usr/lib/tmpfiles.d에 .conf 파일을 넣을 수 있습니다. 서비스는 마지막 옵션을 선호하는 것 같습니다. 귀하의 경우 파일을 만듭니다 /usr/lib/tmpfiles.d/sphinx.conf
.
파일 내용은 다음과 같습니다.
d /var/run/sphinx 0755 root root
여기는 d
디렉토리를 나타내며 그 옆에는 경로, 권한, 소유자 및 그룹이 있습니다. 재부팅시 디렉토리
가 생성됩니다 /var/run/sphnix
.
전체 문서 tmpfiles.d를 확인하십시오.
mount
?