Làm thế nào để tôi nói với yum không loại bỏ chính nó?


0

Khi tôi chạy lệnh này

$ sudo yum erase git make gcc g++ zlib1g-dev libssl-dev wget subversion file python apt-utils binfmt-support vim apt-file xz-utils sudo subversion zlib1g-dev gawk flex unzip bzip2 gettext build-essential libncurses5-dev libncursesw5-dev libssl-dev binutils cpp psmisc docbook-to-man gcc-multilib g++-multilib

Tôi nhận được lỗi này:

Error: Trying to remove "systemd", which is protected
Error: Trying to remove "yum", which is protected

Nhưng đó không phải là những gói tôi đã cho. Tôi đã cố gắng -tchịu đựng các lỗi và -x yum -x systemdđặc biệt loại trừ hai lỗi đó, nhưng nó vẫn báo lỗi.

$ sudo yum -x yum -x systemd erase git make gcc ...

Câu trả lời:


1

Bạn đang cố gắng xóa một số gói thiết yếu sẽ phá vỡ hệ thống của bạn nếu bị xóa:

  • python: yumđược viết bằng Python, vì vậy gói này không thể bị xóa hoặc nếu không bạn sẽ mất trình quản lý gói.
  • binutils: systemdcần gói này và systemd là hệ thống init của bạn, điều rất quan trọng để sử dụng CentOS 7.
  • gawk: Một tấn thứ phụ thuộc vào gawk, bao gồm cả yumsystemd.

Bạn không thể xóa những gói hệ thống quan trọng, vì vậy loại trừ python, binutilsgawktừ danh sách các gói để loại bỏ.

Lưu ý rằng bạn vẫn đang cố gắng để loại bỏ một số gói hữu ích như gettext, sudowget, mà có thể không khủng khiếp phá vỡ hệ thống của bạn, nhưng có thể làm giảm khả năng sử dụng.


Nó vẫn đưa ra lỗi. Không có cách nào để bảo nó bỏ qua bất kỳ gói nào yumphụ thuộc vào?
Chloe

@Chloe: Tải lại câu trả lời của tôi. Tôi quên địa chỉ systemdphụ thuộc vào binutils.
Deltik

Nó vẫn phàn nàn về cả hai.
Chloe

Cập nhật câu hỏi của bạn bằng lệnh hiện tại mà bạn đang sử dụng
Ramhound

@Chloe: Làm thế nào bây giờ?
Deltik

-2

thử $ sudo yum xóa @groupname

hoặc là

$ sudo yum groupremove tên nhóm

Khi bạn yêu cầu yum xóa một nhóm gói, nó sẽ xóa mọi gói trong nhóm đó, ngay cả khi các gói đó là thành viên của các nhóm gói khác hoặc phụ thuộc của các gói đã cài đặt khác. Tuy nhiên, bạn có thể ra lệnh cho yum chỉ xóa những gói không được yêu cầu bởi bất kỳ gói hoặc nhóm nào khác bằng cách thêm lệnh groupremove_leaf_only = 1 vào phần [chính] của tệp cấu hình /etc/yum.conf.

groupremove_leaf_only = value

Giá trị trong đó là một trong số: 0 - yum không nên kiểm tra các phụ thuộc của từng gói khi xóa nhóm gói. Với cài đặt này, yum sẽ xóa tất cả các gói trong một nhóm gói, bất kể các gói đó được yêu cầu bởi các gói hoặc nhóm khác.

groupremove_leaf_only = 0 là mặc định.

1 - yum nên kiểm tra các phụ thuộc của từng gói khi xóa nhóm gói và chỉ xóa các gói không được yêu cầu bởi bất kỳ gói hoặc nhóm nào khác.


tôi không hiểu được
Pierre.Vriens

Bạn có thể thêm một số chi tiết như những gì nó làm.
Darren
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.