Cách đúng đắn để xây dựng từ các nguồn


12

Tôi đăng nhập như một người dùng thông thường. Tôi có nên sử dụng:

./configure && make && make install

hoặc là

sudo ./configure && sudo make && sudo make install

hoặc là

./configure && make && sudo make install

khi cài đặt gói.

Và ai đó có thể giải thích sự khác biệt.

Tôi muốn tất cả người dùng có thể sử dụng nó.


Thậm chí tốt hơn ... unix.stackexchange.com
mxmissile

1
Bạn nên cài đặt phần mềm từ kho lưu trữ Ubuntu hoặc PPA. Nếu bạn gặp phải thứ gì đó chưa được đóng gói, hãy xem xét bắt đầu PPA của riêng bạn. Bằng cách này, bạn sẽ giữ cho hệ thống của mình sạch sẽ, sẽ cung cấp các gói cho người khác và vì phần thưởng miễn phí cuối cùng sẽ nhận được nhiều người thử nghiệm hơn.
vtest

Câu trả lời:


15

Phiên bản thứ 3 của bạn là chính xác , ./configure && make && sudo make install. Tạo và cấu hình có thể được thực hiện như một người dùng bình thường vì bạn không cố gắng ghi tệp trong thư mục hệ thống, make installthường sẽ cố gắng sao chép các tệp nhị phân vào / usr / bin hoặc / bin yêu cầu quyền truy cập root để ghi.


... Và không nên viết vì nội dung của chúng được quản lý bởi gói quản lý.
Revierpost

2
Bạn thậm chí có thể đi xa hơn để tạo người dùng local, sau đó phát hành chown -R local /usr/localvà sau đó cài đặt phần mềm bằng cách sử dụng sudo local make installđể bạn sẽ được cảnh báo khi gói ghi ở đâu đó ngoài bên dưới /usr/local(có thể gây rối cho quản lý gói của bạn).
rebierpost

Nếu gói được xây dựng theo tiêu chuẩn mã hóa gnu, thì 'configure && make && sudo make install' sẽ chỉ cài đặt trong / usr / local chứ không phải trong / usr / bin hoặc / bin.
William Pursell

4

Bạn cần phiên bản cuối cùng:

./configure && make && sudo make install

Cấu hình và thực hiện có thể xảy ra trong thư mục cục bộ của bạn nhưng bạn sẽ cần quyền root để cài đặt. Lệnh đó hoàn thành nó.

Đảm bảo ứng dụng bạn đang cài đặt không có trong trình quản lý gói. Việc sử dụng phần mềm được biên dịch trước cho hệ thống của bạn thường dễ dàng hơn nhiều so với việc cố gắng tìm tất cả các phụ thuộc để biên dịch một cái gì đó.


2

Bạn nên sử dụng các đặc quyền tối thiểu mà làm việc. Điều đó thường là:

./configure && make && sudo make install


2

&& được phân tích cú pháp bởi trình bao ban đầu của bạn. Đặt một sudo ở phía trước chỉ ảnh hưởng đến cấu hình. Tùy chọn cuối cùng có ý nghĩa nhất, bởi vì nó sẽ cấu hình và biên dịch như một người dùng thông thường và sau đó cài đặt kết quả cho mọi người sử dụng.

Một lưu ý là một số tập lệnh cấu hình sẽ phát hiện ra rằng chúng đang chạy với tư cách là người dùng không phải root và tạo tệp tạo tệp cài đặt thành $ HOME hoặc tương tự. Trong trường hợp đó, bạn cũng muốn 'sudo ./mình'. Nếu bạn chạy cấu hình hoặc thực hiện với quyền root, bạn sẽ gặp khó chịu với một số tệp thuộc sở hữu gốc trong thư mục người dùng thông thường.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.