Nơi ưa thích để lưu trữ các tệp cấu hình thay đổi thường xuyên


18

Tôi có một số ứng dụng trên máy chủ Linux của mình phụ thuộc vào một vài tệp cấu hình. Các ứng dụng này có liên quan nhưng riêng biệt. Để biết giá trị của nó, tại thời điểm này, mỗi ứng dụng có thư mục riêng /opt. Các tập tin cấu hình có thể thay đổi khoảng một lần mỗi tuần, nhưng không nhiều hơn thế. Tôi dự định thiết lập một công việc định kỳ để lấy phiên bản mới nhất từ ​​một trang FTP mỗi Chủ nhật.

Tôi chưa hiểu chính xác nơi tốt nhất để đặt các tệp cấu hình này. Dưới đây là một số khả năng:

  • /etc/<appsuitename>/ Đó là một tập tin cấu hình, cấu hình đi vào /etc
  • /var/<appsuitename>/ Các tệp thay đổi hợp lý thường xuyên, nhưng không bao giờ trực tiếp bởi quản trị viên (tôi), chỉ bởi nhà cung cấp nền tảng.
  • /opt/<appsuitename>/libhoặc /opt/<appsuitename>/commonĐây là một cách suy nghĩ của Windows, nhưng nó có thể có ý nghĩa trong trường hợp này
  • /usr/lib có lẽ không, nhưng bao gồm cho đầy đủ.

Hoặc có thể một cái gì đó khác tôi không nghĩ đến?

Chỉnh sửa: Trả lời câu hỏi của MichaelKjorling:

  • Chỉ có 3 phân vùng, /home, /, và /swap. /optkhông chỉ đọc
  • Có, một người khác sẽ phải sử dụng máy chủ này nếu tôi bị xe buýt đâm.
  • Các ứng dụng này được phát triển nội bộ, vì vậy tôi là người quyết định cấu hình sẽ đi đâu. Nếu đó không phải là "thẻ meta", tôi có thể đã đặt thẻ thực hành tốt nhất.
  • Cuối cùng, bất cứ điều gì tôi quyết định thực sự không quan trọng, tôi biết rằng hệ thống tổ chức dành cho quản trị viên hệ thống nhiều hơn cho hoạt động nội bộ của HĐH, nhưng tôi thích tuân theo các quy ước tiêu chuẩn vì chúng tồn tại vì một lý do.

Câu trả lời:


21

Tiêu chuẩn phân cấp hệ thống tập tin yêu cầu các tệp cấu hình cho một cái gì đó được cài đặt /opt/xyzphải đi vào /etc/opt/xyz, nơi xyzphải khớp. Đó là, một ứng dụng được cài đặt trong một thư mục bên dưới / opt yêu cầu các tệp cấu hình dành riêng cho máy chủ nên có một thư mục phù hợp bên dưới / etc / opt để các tệp cấu hình đó đi vào.

Mục đích của / etc (cấu hình hệ thống dành riêng cho máy chủ) được nêu đơn giản là:

Hệ /etcthống phân cấp chứa các tệp cấu hình. "Tệp cấu hình" là một tệp cục bộ được sử dụng để kiểm soát hoạt động của chương trình; nó phải là tĩnh và không thể là nhị phân thực thi được.

Tất nhiên, không có cấu hình nào là hoàn toàn tĩnh, nhưng tôi lấy "tĩnh" trong ngữ cảnh này có nghĩa là "không thay đổi nếu không có sự can thiệp của quản trị viên".

/ etc / opt cụ thể hơn và mục đích của nó được nêu là:

Các tệp cấu hình dành riêng cho máy chủ cho các gói phần mềm ứng dụng bổ trợ phải được cài đặt trong thư mục /etc/opt/<subdir>, <subdir>tên của cây con trong /optđó dữ liệu tĩnh từ gói đó được lưu trữ.

Vì bạn đang cài đặt phần mềm theo / opt, do đó, các tệp cấu hình sẽ đi vào thư mục con hoặc phân cấp tương ứng trong / etc / opt.

Tất nhiên, không có gì yêu cầu hệ thống của bạn tuân thủ FHS, nhưng điều đó sẽ giúp người khác dễ dàng tìm thấy bất kỳ tệp nào họ có thể đang tìm kiếm vì họ sẽ biết nơi họ có thể tìm thấy chúng.

Vì đây là về phần mềm được phát triển nội bộ, tôi cũng đề nghị bạn nên định vị cấu hình . Ngay cả khi nó chỉ có thể được cấu hình thông qua một khai báo macro được thực hiện trong tệp thực hiện và được thực hiện thông qua việc xây dựng lại hoàn toàn từ nguồn, điều đó vẫn tốt hơn nhiều so với việc mã hóa một vị trí cụ thể vào mã nguồn ở mọi nơi bạn muốn mở tệp cấu hình.


Nó thực sự đã được thực hiện trong một .propertiestập tin. Nhưng hiện tại, mỗi phiên bản của phần mềm đều có bản sao riêng trong /optthư mục con, điều này rõ ràng không lý tưởng và là thứ tôi đang có ý định thay đổi. Câu hỏi này là về "tôi nên thay đổi nó thành gì". Cảm ơn!
durron597
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.