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 $PATHhoặ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 checkhay make test, và sau đó make installhoặc sudo make install, bạn sẽ đôi khi muốn vượt qua tùy chọn để các configurekị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 installbướ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
./configurebướ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 configurenê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, ./configurethườ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/galahadlà 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ó --prefixnghĩ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=directorydirectorydirectorydirectory
Thực thi thường đi vào directory/bin, mặc dù chúng có thể đi vào directory/sbinnế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/gamesnếu chúng là trò chơi. Thư viện đi vào
directory/libhoặ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 directoryviệ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
/etcvà /usr/local/etcthư 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 .