Làm thế nào để sử dụng yum để cài đặt lại tất cả các phụ thuộc của một gói nhất định?


15

Vì vậy, tôi có một gói mà tôi khá chắc chắn rằng tôi đã loại bỏ một phần của một trong các phụ thuộc của nó khi loại bỏ một cái gì đó (như trong rm). Câu chuyện dài. Về cơ bản những gì tôi muốn làm là yum cài đặt lại gói và tất cả các phụ thuộc của nó để nó sẽ cài đặt lại các tập tin tôi đã gỡ bỏ. Trong thế giới gentoo, bạn chỉ cần làm điều đó như "emerge -e" này. Có vẻ như yum có thể làm điều gì đó tương tự.

Tôi đoán rằng tôi có thể cùng nhau viết một kịch bản để liệt kê các deps và sau đó phân tích chúng ra và cài đặt lại tất cả chúng.

Câu trả lời:


23

Yeh, không có cách nào dễ dàng để làm điều này ... tuy nhiên bạn có thể làm một vài điều:

rpm -Va

... điều này sẽ kiểm tra tất cả các gói bạn đã cài đặt và sau đó bạn có thể cài đặt lại bất cứ thứ gì không xác minh. Cũng thế:

yum reinstall $(repoquery --requires --recursive --resolve <pkg>)

... điều này sẽ làm những gì bạn yêu cầu, mặc dù nó là một cái búa lớn.


khá hữu ích trên các bản cài đặt bị hỏng, giống như những gì tôi nhận được gần đây sau khi fedup.
bảnh bao


-3

Cũng thế

yum reinstall $(yum list installed | awk '{print $1}')

hoặc là

rpm -qa | xargs yum reinstall

(tùy thuộc vào thiệt hại đã gây ra trên máy awk hoặc xargs có thể không hoạt động)


3
Điều đó cài đặt lại tất cả các gói - không chỉ phụ thuộc vào một gói riêng lẻ.
Anthony Geoghegan
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.