Nếu bạn sẽ biên dịch phần mềm của riêng mình thì cuối cùng bạn sẽ kiểm soát vị trí cài đặt. Theo quy ước, phần mềm được biên dịch và cài đặt thủ công (không thông qua trình quản lý gói, ví dụ apt, yum, pacman) được cài đặt /usr/local
. Một số gói (chương trình) sẽ tạo một thư mục con bên trong /usr/local
để lưu trữ tất cả các tệp có liên quan của chúng, chẳng hạn như /usr/local/openssl
. Các gói khác sẽ cài đặt các tệp cần thiết của chúng vào các thư mục hiện có như /usr/local/sbin
và /usr/local/etc
. Đây chỉ là các vị trí mặc định và có thể được thay đổi trong quá trình biên dịch.
Khi bạn đang biên dịch phần mềm, vị trí cài đặt có thể được chỉ định bằng cách sử dụng --prefix=
tùy chọn khi chạy ./configure
. Rất khuyến khích bạn xem xét tất cả các tùy chọn có sẵn cho gói của bạn bằng cách chạy $ ./configure --help | less
. Ngoài ra, duyệt các tài liệu CÀI ĐẶT và README được cung cấp cùng với gói của bạn là một ý tưởng hay. Chúng có xu hướng bao gồm các hướng dẫn cài đặt và thông tin phụ thuộc dành riêng cho gói.
Cũng cần lưu ý rằng mặc dù bạn có thể lưu trữ phần mềm ở bất cứ đâu, theo FHS , mã nguồn cho phần mềm được cài đặt cục bộ nên được lưu trữ trong /usr/local/src
Chuẩn hóa nơi bạn lưu trữ cây nguồn của mình sẽ cho phép bạn dễ dàng xác định vị trí cây nếu bạn cần sao chép một kho tập tin cấu hình hoặc nhị phân. Mặc dù một số gói sử dụng nó, mã nguồn của bạn không nên được lưu trữ /usr/src
vì được chỉ định cho phần mềm hệ thống như kernel.
Cuối cùng, bạn cần đảm bảo rằng vị trí cài đặt của bạn được bao gồm trong $PATH
. Nếu bạn quyết định cài đặt gói của mình /opt
nhưng nó không nằm trong $PATH
vỏ của bạn sẽ không tìm thấy các tệp thực thi và bạn sẽ phải sử dụng đường dẫn tuyệt đối để gọi các chương trình của mình. Dưới đây là một số cuộc thảo luận tuyệt vời từ AU về việc định cấu hình của bạn$PATH
Đọc thêm: man hier
/usr/local
) HOẶC về cách tạo gói của riêng bạn cho phần mềm đó.