Tại sao bạn phải luôn luôn sử dụng `rpm -U` chứ không phải` rpm -i` để cài đặt gói?


19

vòng / phút có tùy chọn -i( --install) để cài đặt gói.
Vòng quay có tùy chọn -U( --upgrade) sẽ cài đặt hoặc nâng cấp gói

Các tài liệu mũ đỏ chỉ ra rằng đó rpm -ilà hoàn toàn chấp nhận được.

Tuy nhiên, mọi tài liệu tôi từng thấy đều được khuyến nghị sử dụng -U, ngay cả khi gói được cài đặt lần đầu tiên.

Tại sao rpm -Uthường được ưa thích hơn rpm -i?

Câu trả lời:


37

Hầu hết các tài liệu cho thấy -Uhơn -i-icó thể thất bại nếu các gói đã được cài đặt, hoặc đã có một phiên bản trước đó được cài đặt; trong khi -Usẽ thành công ngay cả khi "nâng cấp" từ gói không được cài đặt. Khi đưa ra cách thực hiện, như trong trường hợp tài liệu, nói chung nên đưa ra các lệnh với khả năng thất bại thấp hơn.


1

Các tài liệu thực sự không nói -inên được sử dụng để nâng cấp. Nó nói người ta nên sử dụng nó để nâng cấp kernel. Lý do là, nếu hệ thống không khởi động được với kernel mới, bạn vẫn có sẵn kernel cũ. Tuy nhiên, đây là trường hợp đặc biệt - các gói kernel có khá nhiều trực giao theo nghĩa là chúng không sở hữu các tệp xung đột vì mọi thứ đều được phiên bản (các mô-đun kernel, initrd và thư viện từ các gói kernel khác nhau có thể sống cùng nhau).

Các gói không gian người dùng thông thường hiếm khi độc lập. Nếu bạn sử dụng rpm -iđể thực hiện nâng cấp, có thể bạn sẽ kết thúc với hai gói cùng tên (và phiên bản khác nhau) được cài đặt cùng một lúc, với các gói trước đó bị hỏng (bị ghi đè một nửa). Thực tế có thể cài đặt cùng một gói hai lần - một khi điều đó xảy ra một số công cụ và / hoặc mọi người có thể sẽ khá bối rối.

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.