Cấu hình bản dựng của bạn
Khi bạn có mã nguồn được biên dịch bằng cách chạy ./configure
và make
, bạn thường sẽ sử dụng make install
(hoặc sudo make install
) để cài đặt nó. Điều này sao chép các tập tin từ thư mục xây dựng vào vị trí cài đặt. Khi thứ bạn đang cài đặt cung cấp các lệnh thực thi, các tệp thực thi đó thường được sao chép vào một thư mục nằm trong $PATH
hoặc bạn nên xem xét thêm vào
$PATH
.
Mặc dù việc xây dựng và cài đặt phần mềm thường là đơn giản như chạy ./configure
, make
đôi khi make check
hay make test
, và sau đó make install
hoặc sudo make install
, bạn sẽ đôi khi muốn vượt qua tùy chọn để các configure
kịch bản để cấu hình xây dựng. Cụ thể, như pfnuesel nói , đây là cách bạn định cấu hình
nơi phần mềm sẽ được cài đặt. Mặc dù make install
bước thực sự cài đặt phần mềm, các vị trí nơi mọi thứ sẽ được cài đặt thường được thiết lập trong
./configure
bước.
Tùy chọn phổ biến nhất cho việc này là --prefix
. Tiền tố mặc định, khi bạn không cho biết configure
nên sử dụng cái gì, thường là /usr/local
. (Đôi khi, mã nguồn của chương trình hoặc thư viện mặc định cho một số tiền tố khác. May mắn thay, điều này rất hiếm.)
Vì vậy, ./configure
thường là tương đương với ./configure --prefix=/usr/local
. Để cài đặt phần mềm trong thư mục chính của bạn, bạn có thể sử dụng ./configure --prefix=/home/galahad
(nếu /home/galahad
là thư mục chính của bạn) hoặc --prefix="$HOME"
. Sau đó, tất nhiên bạn vẫn phải xây dựng và cài đặt phần mềm với make
. Tôi nên nói rằng không phải tất cả các phần mềm được phân phối ở dạng mã nguồn đều được xây dựng theo cách này. Bạn phải luôn luôn tìm tài liệu bên trong kho lưu trữ mã nguồn được trích xuất.
Có --prefix
nghĩa là gì
Khi bạn chạy , bạn đang chỉ ra rằng phần mềm nên được cài đặt trong
thư mục. Nhưng điều này hiếm khi, nếu có, đặt các tập tin lỏng lẻo trong . Thay vào đó, nó đặt các tệp phục vụ các mục đích khác nhau trong các thư mục con khác nhau của . Nếu những thư mục con đó không tồn tại, nó sẽ tạo ra chúng../configure --prefix=directory
directory
directory
directory
Thực thi thường đi vào directory/bin
, mặc dù chúng có thể đi vào directory/sbin
nếu chúng thường được sử dụng cho quản trị hệ thống hoặc chúng có thể đi (hiếm hơn, những ngày này) trong
directory/games
nếu chúng là trò chơi. Thư viện đi vào
directory/lib
hoặc một thư mục có tên tương tự như thế
directory/lib32
. Tập tin tiêu đề đi vào
directory/include
. Các trang hướng dẫn đi vào
directory/man
. Các tệp dữ liệu được sử dụng bởi phần mềm đi vào
directory/share
.
Đó là ý nghĩa của directory
việc trở thành tiền tố . Đó là thư mục mẹ chứa các vị trí chứa các tệp khác nhau. Do đó, nó xuất hiện dưới dạng tiền tố trong đường dẫn tuyệt đối của hầu hết các tệp và thư mục được tạo bằng cách chạy make install
hoặc sudo make install
.
Có một số trường hợp ngoại lệ cho điều này. Các tệp cấu hình toàn hệ thống - đôi khi được tạo khi cài đặt phần mềm sẽ sử dụng chúng, mặc dù không phải lúc nào cũng vậy - thường đi vào /etc
. Điều này thường không bị ảnh hưởng bằng cách chỉ định một tiền tố khác. Ngay cả khi bạn cài đặt nhiều phần mềm /usr/local
, phần lớn vẫn sẽ sử dụng
/etc
và /usr/local/etc
thư mục của bạn có thể sẽ không tồn tại, trống hoặc chứa rất ít tệp.
Trên nhiều hệ thống, bạn có thể tìm thêm thông tin về bố cục hệ thống tập tin điển hình bằng cách chạy man hier
. Nếu bạn đang sử dụng hệ thống GNU / Linux, bạn có thể quan tâm đến Tiêu chuẩn phân cấp hệ thống tệp .