Tôi nên lưu trữ tải về nguồn để cài đặt ở đâu?


10

Tôi đã từng tải mọi thứ về / tmp, vì sau make; sudo make installtôi thường không cần những tập tin đó nữa.

Nhưng bây giờ tôi nhận ra cách duy nhất để gỡ cài đặt các chương trình được cài đặt từ nguồn, là sử dụng make uninstall(khi có sẵn). Vì vậy, tôi có lẽ nên giữ các bản tải xuống của mình trong trường hợp tôi cần chúng sau này.

Vậy tôi nên cất chúng ở đâu? Có một nơi được thiết kế cho điều đó trong linux?


Tránh vấn đề: cài đặt từ các gói khi có thể.
Michael Hampton

@MichaelHampton Đôi khi, đó không phải là một tùy chọn (tôi nghĩ), ví dụ: nginx yêu cầu được cài đặt nguồn biểu mẫu nếu bạn muốn thêm các mô-đun của bên thứ ba.
ChocoDeveloper

Câu trả lời:


16

Vị trí được xác định bởi Tiêu chuẩn phân cấp hệ thống tập tin để giữ mã nguồn là /usr/src. Tôi cho rằng bạn cũng có thể sử dụng /usr/local/src, vì đó là một chút mô tả về nơi phần mềm đến từ (nghĩa là bạn đã xây dựng nó; bản phân phối không).

Tuy nhiên, lưu ý rằng FHS thực sự đề cập rằng mã nguồn không nên được xây dựng từ thư mục này, có thể vì bạn không cần phải biên dịch mọi thứ là root, vì vậy tôi cho rằng bạn sẽ di chuyển cây nguồn ở đó sau khi cài đặt. Trong thực tế, mặc dù, tôi không bận tâm; Tôi giữ tất cả mọi thứ tôi xây dựng ~/Code, trên một phân vùng rộng hơn. Về cơ bản, không có một quy ước được chấp nhận rộng rãi; bạn chỉ làm những gì làm việc cho bạn.

Bạn cũng nên xem checkinstall , một phần mềm nhỏ tuyệt vời tạo ra một gói thô sơ từ một lệnh. (Nó có thể sẽ nằm trong kho lưu trữ phân phối của bạn.) Về cơ bản, thay vì chạy

sudo make install

bạn sẽ chạy một cái gì đó dọc theo dòng

sudo checkinstall make install

câu hỏi cho bạn về gói bạn đang thực hiện, đồng hồ make installcài đặt mọi thứ, sau đó xây dựng gói có thể được cài đặt sạch và gỡ cài đặt với trình quản lý gói. Tôi tin rằng checkinstall có thể xây dựng các gói cho các hệ thống dựa trên dpkg (Ubuntu, Debian, v.v.), các hệ thống dựa trên RPM (Fedora, RHEL, v.v.) và các hệ thống dựa trên Slackware. Nếu bạn đang chạy Arch, đừng bận tâm với việc cài đặt; thay vào đó, hãy cân nhắc sử dụng PKGBUILD.

Mong rằng sẽ giúp!


+1 để đề cập đến các gói. Mà tôi nghĩ là câu trả lời cần thiết (nhưng không được hỏi).
Hennes

Cảm ơn! Tôi đang sử dụng checkinstall bây giờ, trông rất tuyệt cho đến nay. Một câu hỏi cuối cùng: Tôi không cần phải giữ .deb, phải không? dpkg sẽ biết cách gỡ cài đặt ngay cả khi nó biến mất
ChocoDeveloper

Đúng rồi. Tất cả các trình quản lý gói giữ một danh sách các tệp được cài đặt bởi gói, vì vậy bạn có thể xóa gói được xây dựng sau khi cài đặt.
Thứ ba

5

Không có nơi được chỉ định cho các tập tin nguồn; mọi người đều có thói quen của riêng mình.

Tuy nhiên, hãy xem xét ba tùy chọn sau:

  1. Trong rễ homedir (hoạt động, nhưng nó là trên / thường khá nhỏ).
  2. / usr / local / src / (hoặc thực sự là bất cứ điều gì dưới / usr / local /
  3. Cài đặt qua gói và sử dụng trình quản lý gói để gỡ cài đặt.

Để bảo trì dài hạn, tôi thực sự khuyên bạn nên tùy chọn 3. Ngay cả khi bạn phải tự xây dựng các gói (từ nguồn). Trong trường hợp nào bạn có thể truy cập: unsar / configure / make / make gói thông qua một số cú pháp tùy thuộc vào gói lựa chọn / gói cài đặt của bạn

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.