Thư mục trong / var / run bị xóa sau khi khởi động lại cứng


19

Tôi giữ phinx sphinx của tôi trong /var/run/sphinx/searchd.pid nhưng mỗi khi tôi khó khởi động lại thư mục / var / run / sphinx biến mất và sphinx không khởi động. Có cách nào để làm cho thư mục đó dính hoặc tự động tạo ra không? Làm thế nào để mọi người thường xử lý tình huống này? Tôi sử dụng Ubuntu Hardy

ubuntu  pid 

Bạn có thể cho chúng tôi đầu ra của mount?
recbot

Câu trả lời:


18

Thư mục đó là phù du theo thiết kế. Nếu nội dung của nó bị kẹt xung quanh giày, tất cả các loại hiệu ứng xấu có thể xảy ra, vì các tập lệnh điều khiển thuộc nhiều loại khác nhau nhìn vào đó để xem những gì chúng nên được báo hiệu. Trên hệ thống gần đây, tính chất tạm thời này được thi hành bằng cách gắn kết /var/runnhư tmpfs, trong khi hệ thống cũ, chỉ cần xóa tất cả mọi thứ trong thư mục lúc khởi động.

Do đó, bạn cần định cấu hình Sphinx hoặc tập lệnh khởi động của nó để tạo thư mục đó hoặc chỉ cần viết /var/runtrực tiếp tệp PID .


4
+1 để mô tả / var / run. Nhưng lưu ý rằng anh ta không muốn tập tin PID liên tục khởi động lại; chỉ là thư mục nhân sư.
Steve Folly

15

Bạn có ít nhất hai cơ hội:

  • thay đổi tập lệnh init của bạn để thực hiện mkdir -p /var/run/sphinx/

hoặc là

  • đặt pid_file = /var/run/sphinx-searchd.pidtrong/etc/sphinx.conf

Tôi là người thứ hai.


2
Và tất nhiên, điều này có nghĩa là tập lệnh khởi động phải chạy bằng root để có thể ghi trực tiếp hoặc tạo một thư mục trong / var / run. Thật là phiền phức ...
Eloff

Tôi đã chọn giải pháp thứ hai là tốt. Có vẻ như có quyền ưu tiên cho điều này (cron, ssh, atd, syslog).
Billman

2

bây giờ có một cơ chế tập trung để tạo các tệp và thư mục tạm thời như thế này. Một dịch vụ muốn sử dụng phương thức này có thể loại bỏ các lệnh mkdir trong tập lệnh khởi động của chính nó và thay vào đó đặt tệp .conf trong /etc/tmpfiles.d, /run/tmpfiles.d hoặc /usr/lib/tmpfiles.d, với Ubuntu dịch vụ dường như thích lựa chọn cuối cùng. cho trường hợp của bạn tạo một tập tin /usr/lib/tmpfiles.d/sphinx.conf.
nội dung của tập tin sẽ là:
d /var/run/sphinx 0755 root root

ở đây dlà viết tắt của thư mục, bên cạnh nó là đường dẫn, sự cho phép, chủ sở hữu và nhóm.
Điều này sẽ tạo /var/run/sphnixthư mục khi khởi động lại.

Kiểm tra tài liệu đầy đủ tmpfiles.d

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.