Sự khác biệt giữa yum, apt-get, vòng / phút, ./mình && thực hiện cài đặt là gì?


126

Tôi mới dùng Linux và đang chạy CentOS. Tôi đã đi qua bốn cách để cập nhật hoặc cài đặt phần mềm.

Cho đến nay, tôi đã thấy:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz-> unpack-> ./configure-> make->make install

Điều cuối cùng đó là một nỗi đau thực sự, đặc biệt là đến từ Windows, nơi cài đặt chương trình thường chỉ bằng một cú nhấp chuột và trình hướng dẫn cài đặt đẹp.

Vì vậy, câu hỏi của tôi là:

  • Tại sao có nhiều cách khác nhau để làm điều này trong Linux?
  • Cái nào bạn khuyên bạn nên sử dụng, và tại sao?
  • Có cách nào khác để cài đặt chương trình trong Linux không?

Ngoài ra, những gì về yumvs up2date. Tôi chưa bao giờ rõ ràng về sự khác biệt.
Josh

apt-getlà dành cho Debian và thực sự không nên xuất hiện trên CentOS ....
Kyle Strand

Câu trả lời:


114

Các công cụ này đều cài đặt phần mềm vào hệ thống của bạn, nhưng đang hoạt động ở các cấp độ khác nhau.

  • ./mình && thực hiện cài đặt

    Chạy ./configure && make installxây dựng và cài đặt các thư viện hoặc thực thi trực tiếp từ mã nguồn.

    Các make installbước cơ bản chỉ là bản sao các tập tin chính thức vào hệ thống của bạn. Nhiều nguồn đi kèm với một make uninstallquy tắc đặc biệt để loại bỏ chúng một lần nữa, nhưng điều này không được đảm bảo và tất nhiên chỉ hoạt động miễn là bạn có các nguồn được cấu hình xung quanh. Ngoài ra, điều này không quan tâm đến các phụ thuộc cần thiết.

    Thường chỉ có mã nguồn có sẵn cho một gói nhất định, vì vậy đây là cách duy nhất để đi. Ngoài ra, ./configurethường chấp nhận rất nhiều tùy chọn cho phép bạn điều chỉnh gói của bạn.

    Không thể tìm ra phần mềm nào đã cài đặt tập tin nào và việc thiếu một cách đáng tin cậy để loại bỏ chúng khỏi hệ thống là những thiếu sót lớn của phương pháp này.

  • RPM (Trình quản lý gói Redhat)

    rpmcài đặt đã được cấu hình và biên dịch phần mềm trong hệ thống của bạn và nó cũng đi kèm với việc gỡ cài đặt để loại bỏ nó một lần nữa. Các gói phải được tạo bởi ai đó. Người này đã quyết định những tính năng cần bao gồm và cách tích hợp tốt nhất gói vào bố cục hệ thống của bạn. Nó cũng đi kèm với một danh sách các phụ thuộc.

    Vì rpms được sử dụng cho nhiều bản phân phối ở đó, nên bạn thường muốn đảm bảo rằng vòng quay này được viết cho bản phân phối của bạn để cài đặt đường dẫn, phụ thuộc và những thứ vệ sinh khác tích hợp tốt.

    Trên các hệ thống Debian, định dạng gói tương đương là .debvà cài đặt và cơ sở dữ liệu được xử lý bởi dpkgcông cụ.

  • Yum

    yumlà một bao bọc bổ sung xung quanh rpm. Nó giữ cơ sở dữ liệu riêng của các tệp vòng / phút có sẵn để phân phối của bạn, thường là trong các kho lưu trữ trực tuyến. Đối với các phiên bản ổn định của hầu hết các bản phân phối, tất cả các gói bên trong cơ sở dữ liệu đó sẽ hoạt động tốt với nhau. Cơ sở dữ liệu này có thể được tìm kiếm (ví dụ với yum search some_name).

    Nó cũng sẽ tự động giải quyết phụ thuộc cho bạn. Các gói (và với một số trợ giúp thêm phụ thuộc của chúng) cũng có thể dễ dàng gỡ cài đặt.

    Trên các hệ thống Debian, kho lưu trữ tương đương và các công cụ phân giải phụ thuộc được cung cấp bởi Apt ( apt-getaptitude).

Vì vậy, để tóm tắt: nếu bạn chỉ muốn một số phần mềm thử yumtrước. Nếu nó không có sẵn ở đó, bạn có thể cố gắng tìm một rpmgói hiện có . Nếu không có hoặc bạn có một số yêu cầu đặc biệt, hãy xây dựng từ nguồn.


gần như những gì tôi sẽ nói được thêm vào trong một đề cập đến các tương đương debian và chạm vào định dạng.
quack quixote

2
@quack: Cảm ơn. Nhưng tất cả chúng ta không thể im lặng apt-gethay nó vẫn được khuyến khích cho bất cứ điều gì?
Benjamin Bannier

2
bạn nói đúng, năng khiếu có lẽ là thứ tốt nhất để giới thiệu; tôi bao gồm apt-get vì nó được nhắc đến rộng rãi và một người đọc không biết về apt có thể đã nghe nói về apt-get .
quack quixote

4
Có gì sai với apt-get?
đệ quy

5
@recursive: Tại một số thời điểm, apt-gethọ đã không ghi lại các phụ thuộc tự động và bỏ lại chúng sau khi gỡ cài đặt, aptitudesau đó giới thiệu theo dõi phụ thuộc phù hợp. Ngoài ra, nó cũng cung cấp một số tính năng bổ sung không có sẵn apt-get. Tôi không chắc chắn, nhưng tôi nghĩ tại một số điểm apt-getaptitudenơi được cập nhật để sử dụng cùng một phụ trợ nâng cao, cung cấp nhiều chức năng đó.
Benjamin Bannier

5

Yum là RPM là điều tương tự ngoại trừ việc yum tự động lấy các gói từ mạng và cài đặt chúng (sử dụng rpm -i) trong một bước. Nó nên được sử dụng bất cứ khi nào có thể để dễ dàng cập nhật. rpmChỉ sử dụng khi không có gói nào được tìm thấy yumvà chỉ sử dụng makephương thức khi không có gói .rpm có sẵn hoặc bạn cần thay đổi một số tùy chọn thời gian biên dịch.

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.