Làm thế nào để loại bỏ tất cả các gói phụ thuộc được cài đặt trong khi gỡ bỏ một gói trong centos 7?


8

Tôi đang sử dụng CentOS 7. Tôi đã cài đặt okular, trình xem PDF, với lệnh:

sudo yum install okular

Như bạn có thể thấy trong hình bên dưới, nó đã cài đặt 37 gói phụ thuộc để cài đặt okular.

cài đặt phụ thuộc

Nhưng tôi không hài lòng với các tính năng của ứng dụng và tôi quyết định loại bỏ nó. Vấn đề là nếu tôi loại bỏ nó bằng lệnh:

sudo yum autoremove okular

Nó chỉ loại bỏ bốn gói phụ thuộc.

loại bỏ các gói với autoremove

Và nếu tôi loại bỏ nó bằng lệnh:

sudo yum remove okular

Nó chỉ xóa một gói đó là okular.x86_64.

Bây giờ, câu hỏi của tôi là có cách nào để loại bỏ tất cả 37 gói đã cài đặt bằng một lệnh hay tôi phải loại bỏ từng gói một?

Câu trả lời:


17

Cá nhân, tôi không thích các plugin yum bởi vì chúng không hoạt động nhiều thời gian, theo kinh nghiệm của tôi.

Bạn có thể sử dụng yum historylệnh để xem lịch sử yum của bạn.

[root@testbox ~]# yum history
Loaded plugins: product-id, rhnplugin, search-disabled-repos, subscription-manager, verify, versionlock
ID     | Login user               | Date and time    | Action(s)      | Altered
----------------------------------------------------------------------------------
19 | Jason <jason>  | 2016-06-28 09:16 | Install        |   10

Bạn có thể tìm thấy thông tin về giao dịch bằng cách làm yum history info <transaction id>. Vì thế:

yum history info 19sẽ cho bạn biết tất cả các gói đã được cài đặt với giao dịch 19 và dòng lệnh được sử dụng để cài đặt các gói. Nếu bạn muốn hoàn tác giao dịch 19, bạn sẽ chạy yum history undo 19.

Ngoài ra, nếu bạn chỉ muốn hoàn tác giao dịch cuối cùng bạn đã thực hiện (bạn đã cài đặt gói phần mềm và không thích nó), bạn có thể thực hiện yum history undo last


Trước tiên, cảm ơn bạn đã trả lời tuyệt vời của bạn. Và thứ hai, khi tôi làm sudo yum history, nó chỉ hiển thị các hành động với id 30 đến 49. Có cách nào để xem tất cả lịch sử hành động (bao gồm cả id 1-29) không?
ukll

1
Không có gì! Vâng, có một cách để hiển thị tất cả lịch sử của bạn. Cứ làm đi yum history list all.
Jason Powell

8

yum remove package_name sẽ chỉ loại bỏ gói đó và tất cả các phụ thuộc của chúng.

yum autoremove sẽ loại bỏ các phụ thuộc không sử dụng

Để xóa gói có phụ thuộc, bạn cần cài đặt yumplugin có tên:remove-with-leaves

Để cài đặt nó, gõ:

yum install yum-plugin-remove-with-leaves

Để loại bỏ package_name:

yum remove package_name --remove-leaves

Tôi đã thử câu trả lời của bạn, nó không hoạt động.
ukll
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.