CẬP NHẬT YUM bị kẹt mãi mãi


9

Tôi đã tạo kho lưu trữ cho RHEL 5.6. Đã có một kho lưu trữ hiện có cho RHEL 5.2 mà tôi đã xóa.

Tôi đã chạy các lệnh sau:

yum clean all

yum clean metadata

sau đó,

yum list all

Nó liệt kê tất cả các gói.

Nhưng khi tôi gõ YUM CẬP NHẬT. Nó cho thấy

Setting up Update Process
Setting up repositories
rhel-local                100% |=========================|  951 B    00:0
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 1.1 MB    00:0
################################################## 3229/3229
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files

Và đó là tất cả mọi người. Không có phản hồi nào nữa từ CẬP NHẬT YUM.

Bất cứ ý tưởng tại sao yum đang bị mắc kẹt?


1
bạn có thể thử kiểm tra với strace để xem nếu nó thực sự đang làm gì đó.
BitsOfNix

Câu trả lời:


10

Bạn cũng có thể xây dựng lại cơ sở dữ liệu RPM.

yum clean all
rpm --rebuilddb

1
Chạy qua vấn đề này trước, ở trên đã sửa nó.
laebshade

6

Trong trường hợp của tôi, tôi đã có một khóa db RPM đang bị kẹt yum.

Chạy strace yum --verbose --noplugins infosẽ bị kẹt tại:

open("/var/lib/rpm/.dbenv.lock", O_RDWR|O_CREAT, 0644) = 5
umask(022)                              = 022
fcntl(5, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0,  len=0}Killed

Vì vậy, để sửa nó, tôi chạy bằng root:

rm /var/lib/rpm/.dbenv.lock

ahah: vấn đề là nếu bạn chưa cài đặt strace và bạn không thể cài đặt vì yum không hoạt động (trong trường hợp của tôi, ngay cả vòng / phút cũng bị hỏng)
maxadamo

2

Điều này thường có thể xảy ra nếu có một yumquá trình khác đang chạy hoặc dữ liệu meta yumduy trì trên hệ thống đã bị hỏng.

Đối với vấn đề đầu tiên, tôi thường giết bất kỳ quy trình yum hiện có nào và sau đó chạy lệnh này yum-complete-transaction, điều này sẽ cho phép yum tự dọn sạch yup.

Đối với vấn đề thứ hai, tôi thường phải chạy một yum clean allđể loại bỏ bất kỳ gói dữ liệu meta và gói nào và sau đó chạy yum updatenhư bình thường.

Thỉnh thoảng tôi cũng chạy lệnh này, package-cleanup <options>để dọn sạch các vấn đề khác nhau với cơ sở dữ liệu RPM:

  • dọn sạch mọi gói trùng lặp (Quét các bản sao trong cơ sở dữ liệu RPM cục bộ và dọn sạch các phiên bản cũ hơn)

    package-cleanup --cleandupes
    
  • quét các vấn đề (Liệt kê các vấn đề phụ thuộc trong cơ sở dữ liệu RPM cục bộ. Nếu có bất kỳ vấn đề nào được tìm thấy, nó sẽ thoát với mã thoát là 1)

    package-cleanup --problems
    
  • Liệt kê trẻ mồ côi. (Liệt kê các gói được cài đặt không có sẵn từ các kho được cấu hình hiện tại. Cái này giống hệt với yum list extras, có thể cung cấp đầu ra tốt hơn)

    package-cleanup --orphans
    

Cảm ơn vì sự giúp đỡ Thật ra tôi đã đợi một thời gian để YUM chạy. Và sau 10 phút nó bắt đầu hoạt động. Tôi sẽ sử dụng lời khuyên của bạn trên một máy chủ khác và sẽ cho bạn biết.
OmiPenguin

0

Tôi phát hiện ra thông báo lỗi iscsi trong / var / log / message. Và sau đó tôi dừng iscsi và iscid daemon. Sau đó yum hoàn thành quá trình cập nhật.

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.