Trzymam mój sfinks pid w katalogu /var/run/sphinx/searchd.pid, ale za każdym razem, gdy ponownie uruchamiam komputer, katalog / var / run / sphinx znika i sfinks nie uruchamia się. Czy istnieje sposób, aby ten katalog był przyklejony lub automatycznie utworzony? Jak ludzie zazwyczaj radzą sobie z tą sytuacją? Używam Ubuntu Hardy
19
mount
?Odpowiedzi:
Ten katalog jest efemeryczny z założenia. Jeśli jego zawartość zakleszczy się na obuwie, mogą pojawić się różnego rodzaju brzydkie efekty, ponieważ różne skrypty sterujące sprawdzą, czy proces powinien być sygnalizowany. W najnowszym systemie ta tymczasowa natura jest wymuszona przez montowanie
/var/run
jakotmpfs
, podczas gdy starsze systemy po prostu usunęły wszystko w katalogu przy uruchomieniu.Dlatego musisz skonfigurować Sphinx lub jego skrypt startowy, aby utworzyć ten katalog lub po prostu bezpośrednio zapisać plik PID
/var/run
.źródło
Masz przynajmniej dwie szanse:
mkdir -p /var/run/sphinx/
lub
pid_file = /var/run/sphinx-searchd.pid
w/etc/sphinx.conf
Jestem za drugim.
źródło
istnieje teraz scentralizowany mechanizm tworzenia tymczasowych plików i katalogów takich jak te. Usługa pragnąca skorzystać z tej metody może usunąć polecenia mkdir we własnym skrypcie startowym i zamiast tego umieścić plik .conf w /etc/tmpfiles.d, /run/tmpfiles.d lub /usr/lib/tmpfiles.d w systemie Ubuntu usługi wydają się preferować ostatnią opcję. dla swojej sprawy utwórz plik
/usr/lib/tmpfiles.d/sphinx.conf
.zawartość pliku będzie:
d /var/run/sphinx 0755 root root
tutaj
d
oznacza katalog, obok niego jest ścieżka, pozwolenie, właściciel i grupa.Spowoduje to utworzenie
/var/run/sphnix
katalogu przy ponownym uruchomieniu.Zapoznaj się z pełną dokumentacją tmpfiles.d
źródło