Tiêu chuẩn cho những vấn đề này là Tiêu chuẩn phân cấp tệp . Đó là một tài liệu khá lớn. Về cơ bản (và rất đại khái), các đường dẫn tiêu chuẩn trên Linux là:
/bin& /sbindành cho các chương trình quan trọng cho HĐH, sbin chỉ dành cho quản trị viên;
/usr/bin& /usr/sbinkhông dành cho các chương trình quan trọng, sbin chỉ dành cho quản trị viên;
/varlà cho dữ liệu sống cho các chương trình. Nó có thể là dữ liệu bộ đệm, dữ liệu đệm, dữ liệu tạm thời (trừ khi nó /tmpđược xóa, mỗi lần khởi động lại), v.v .;
/usr/localdành cho các chương trình cài đặt cục bộ. Thông thường, nó lưu trữ các chương trình tuân theo các tiêu chuẩn nhưng không được đóng gói cho HĐH, mà được cài đặt thủ công bởi quản trị viên (ví dụ sử dụng ./configure && make && make install) cũng như các tập lệnh quản trị viên;
/optdành cho các chương trình không được đóng gói và không tuân theo các tiêu chuẩn. Bạn chỉ cần đặt tất cả các thư viện ở đó cùng với chương trình. Đây thường là một giải pháp nhanh & bẩn, nhưng nó cũng có thể được sử dụng cho các chương trình do chính bạn tạo ra và bạn muốn có một con đường cụ thể. Bạn có thể tạo đường dẫn của riêng mình (ví dụ /opt/yourcompany) trong đó và trong trường hợp này, bạn được khuyến khích đăng ký nó như một phần của đường dẫn chuẩn;
/etc không nên chứa các chương trình, mà là cấu hình.
Nếu các chương trình của bạn dành riêng cho các dịch vụ được cung cấp bởi dịch vụ, /srvcũng có thể là một vị trí tốt cho chúng. Ví dụ: tôi thích sử dụng /srv/wwwcho các trang web hơn là /var/wwwđể đảm bảo thư mục sẽ chỉ chứa dữ liệu tôi tự thêm và không có gì đến từ các gói phần mềm.
Có một số khác biệt giữa các bản phân phối. Ví dụ: hệ thống RedHat sử dụng các libexecthư mục khi hệ thống Debian / Ubuntu không có.
FHS chủ yếu được sử dụng bởi các bản phân phối Linux (tôi thực sự không biết bất kỳ HĐH nào khác thực sự tuân thủ nó). Các hệ thống Unix khác không tuân theo nó. Ví dụ, các hệ thống BSD có xu hướng sử dụng /usr/localcho các chương trình đóng gói, đây không phải là trường hợp của Linux. Solaris có những con đường tiêu chuẩn rất khác nhau.
Tôi đặc biệt khuyến khích bạn đọc tài liệu FHS mà tôi đã liên kết ở trên nếu bạn muốn biết thêm về điều này.