yum giả lập cài đặt


39

Đến từ phối cảnh Ubuntu, nếu tôi muốn kiểm tra xem gói bổ sung nào sẽ được cài đặt / nâng cấp, tôi có thể sử dụng apt-get --simulate install <package name>

Có một cái gì đó tương tự cho yum? Hộp mũ đỏ của chúng tôi (yum) là máy chủ sản xuất của chúng tôi, vì vậy tôi muốn xem chính xác những gì sẽ xảy ra trước khi tôi thực sự cài đặt một số gói.

Không thể thực sự tìm thấy một giải pháp tốt, ai đó đề nghị:

yum --assumeno install <package name>

nhưng điều này đã trở lại:

Command line error: no such option: --assumeno

phiên bản yum: 3.2.22

Phiên bản của hệ điều hành: Red Hat Enterprise Linux Server release 5.6 (Tikanga)

Bất kỳ ý tưởng hoặc đề xuất sẽ được hoan nghênh.

Câu trả lời:


32

bạn có thể thực hiện cài đặt yum mà không cần công tắc -y (nếu bạn sử dụng nó):

yum install <package>

điều này sẽ lấy một danh sách các gói và phụ thuộc cần thiết. Trước khi cài đặt, nó sẽ hỏi bạn có muốn cài đặt hay không, chỉ cần trả lời không và sẽ không có thay đổi nào được thực hiện.

Ngoài ra, bạn có thể làm

yum deplist <package>

để liệt kê tất cả các phụ thuộc của một gói và xem những gì cần được cài đặt mà không cần tải xuống hoặc cài đặt bất cứ điều gì.


1
yum installkhông phải là một cách đáng tin cậy để kiểm tra các phụ thuộc vì nó sẽ thoát nếu có xung đột.
taco

điều này không hoạt động nếu gói đã có trong hệ thống
transang

Điều này không hoạt động nếu một phiên bản khác của yum đã chạy.
Philipp Ludwig

14

Bạn có thể sử dụng check-updatetùy chọn để yum để xem nếu có bản cập nhật cho gói. Nó sẽ cho bạn biết nếu có bản cập nhật (và phiên bản nào) cho gói được chỉ định.

Vì vậy, bạn có thể làm một cái gì đó như:

yum check-update <package> 

để xem thông tin cho một gói cụ thể và:

yum check-update

để xem thông tin cho toàn hệ thống.


1
Trong trường hợp này, gói chưa được cài đặt.
Michael Irey

3

yum cài đặt --assumeno packagename


Vẫn nhận được:Command line error: no such option: --assumeno
Michael Irey

có lẽ bạn cần nâng cấp phiên bản yum của bạn. HĐH của bạn là gì?
johnshen64

1
Chỉ cần lưu ý, yum trên CentOS6 là 3.2,29 và không hỗ trợ tùy chọn --assumeno. Nếu anh ta chạy 3.2.22, đó có thể là CentOS5 (hoặc tương đương).
cjc

HĐH là:Red Hat Enterprise Linux Server release 5.6 (Tikanga)
Michael Irey

2
để mô phỏng hoàn toàn nó, bạn cũng có thể xem xét việc cài đặt nó vào một thư mục thay thế, chẳng hạn như môi trường chroot với --installroot = root. tôi sẽ tạo một vm (kvm, virtualbox, vmplayer, v.v.) với hệ điều hành chính xác và thực hiện thử nghiệm theo cách đó, trước khi sửa đổi hệ điều hành sản xuất thực tế. những người khác đã đề nghị rằng theo mặc định yum không cài đặt cho đến khi bạn trả lời có, nhưng tôi nghĩ đó là một chút rủi ro.
johnshen64

3

hành vi mặc định của yum là hỏi bạn có / bật trước khi thực sự cài đặt. Có một "--assumeyes" chủ yếu là do nó làm phiền bạn với lời nhắc "có / không".

Ví dụ:

# yum install s3cmd
# stuff removed
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package s3cmd.noarch 0:1.0.1-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================
 Package                    Arch                        Version                          Repository                 Size
=========================================================================================================================
Installing:
 s3cmd                      noarch                      1.0.1-1.el6                      epel                       94 k

Transaction Summary
=========================================================================================================================
Install       1 Package(s)

Total download size: 94 k
Installed size: 320 k
Is this ok [y/N]: n

Tương tự cho chỉ "cập nhật yum".


Đơn giản, nhưng hiệu quả ...
NcA 22/03/2016

Câu trả lời của bạn cũng hoạt động.
Michael Irey

3

Bạn có thể chạy khô bằng cách sử dụng

yum -y update --setopt tsflags=test

nếu bạn

chỉ định các cờ giao dịch tùy chọn (tsflags) trên dòng lệnh yum với tùy chọn được thêm vào --tsflags.

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.