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
& /sbin
dà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/sbin
không dành cho các chương trình quan trọng, sbin chỉ dành cho quản trị viên;
/var
là 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/local
dà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;
/opt
dà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ụ, /srv
cũng có thể là một vị trí tốt cho chúng. Ví dụ: tôi thích sử dụng /srv/www
cho 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 libexec
thư 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/local
cho 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.