Ubuntu 16.04 - các gói kernel đã được giữ lại


18

Tôi đã chạy sudo apt-get upgradevà tôi nhận được điều này:

The following packages have been kept back:  
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04  
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Tôi sợ rằng nếu tôi chạy sudo apt-get dist-upgrademột cái gì đó có thể đi sai và có thể làm hỏng cài đặt Ubuntu của tôi. Tôi đã thấy những câu hỏi tương tự ở đây nhưng tôi nghĩ chúng khác với vấn đề của tôi. Tôi nên làm gì ?



@Yaron Tôi không nghĩ nó giống nhau.
NikosL24

Đó là điều tương tự. Đọc câu trả lời.
pzkpfw

Apt không bao giờ thực hiện các hoạt động ngoài những yêu cầu rõ ràng mà không có phản hồi của người dùng; chỉ cần trả lời câu hỏi với n"không" (hoặc tương đương với ngôn ngữ mà Apt sử dụng). Nếu bạn vẫn không chắc chắn về những gì có thể xảy ra trong một hoạt động Apt, bạn có thể sử dụng các tùy chọn dòng lệnh -s/ --simulate/ --just-print/ --dry-run/ --recon/ --no-actđể xem Apt sẽ làm gì mà không thực sự làm điều đó.
David Foerster

Câu trả lời:


6

Mặc dù chủ đề chung " các gói đã được giữ lại " đã được trả lời ở đây trước đây: Có một điều kỳ lạ xảy ra ngày hôm nay ... khi tôi thực hiện sudo apt updatevài giờ trước, kernel mới 4.8.0-42 đã được cung cấp để cài đặt. Tôi đã thực thi sudo apt dist-upgradevà sau khi khởi động lại hệ thống (máy trạm Ubuntu 16.10), tôi đã chạy kernel mới đó.

Vài giờ sau tôi muốn nâng cấp cài đặt máy chủ Ubuntu của mình, nhưng một hạt nhân mới không được cung cấp. Để kiểm tra lại tình huống tôi đã khôi phục ảnh sao lưu hệ thống clonezilla của tôi từ hôm qua trên máy trạm Ubuntu để kiểm tra lại tình hình. Lần này kernel mới không được cung cấp nữa. Có vẻ như kernel 4.8.0-42 đã vô tình bị đẩy vào kho lưu trữ chính và đang trên đường bị đẩy trở lại kho lưu trữ được đề xuất - có thể Canonical đã tìm thấy một lỗi.

Bạn đã chọn tham gia vào ngăn xếp HWE của Ubuntu 16.04, điều đó có nghĩa là bạn đang sử dụng kernel 4.8 của Ubuntu 16.10. Do đó, mọi thứ xảy ra với kernel trong Ubuntu 16.10 trước tiên, một lời giải thích khả dĩ cho sự chậm trễ về thời gian của quy trình làm mới cho kho lưu trữ Ubuntu 16.04 LTS.

Khi bạn chạy lại sudo apt updatemột lát sau, tin nhắn bạn nhận được sẽ không xuất hiện nữa. Kết luận: Không chạy sudo apt dist-upgradevà đợi đúng cho đến khi kho được cập nhật và thông báo về các gói kernel bị giữ lại không xuất hiện nữa. Nhân tiện, chính xác điều tương tự đã xảy ra với phiên bản kernel 4.8.0-40 trước đây.


Gói Index báo cáo 4.8.0-42: packages.ubuntu.com/xenial-updates/linux-generic-hwe-16.04 ... mà gương bạn đang sử dụng?
muru

Đây chắc chắn là một điều thực sự / vấn đề. Tôi đã nâng cấp hệ thống của mình ngày hôm qua bằng cách sử dụng quy trình bình thường. Hôm nay apt-cache policy linux-generic-hwe-16.04cho thấy *** 4.8.0.42.14 100 100 /var/lib/dpkg/status Nói cách khác, nó đã mồ côi.
Đá cẩm thạch hữu cơ

@ cl-netbox tôi đã thực hiện cập nhật sudo apt-get ngay bây giờ và các gói bị biến mất.
NikosL24

12

Nếu việc nâng cấp gói hiện tại sẽ yêu cầu gói "mới" (ví dụ: chưa cài đặt) được cài đặt, thì gói hiện tại cụ thể đó sẽ được "giữ lại".

Theo người đàn ông apt-get , upgradetheo mặc định không cài đặt các gói chưa được cài đặt khác:

nâng cấp

... Trong mọi trường hợp, các gói cài đặt hiện tại đã bị xóa hoặc các gói chưa được cài đặt đã được truy xuất và cài đặt.

- với-pkgs mới

Cho phép cài đặt các gói mới khi được sử dụng cùng với nâng cấp. Điều này rất hữu ích nếu việc cập nhật gói đã cài đặt yêu cầu cài đặt phụ thuộc mới. Thay vì giữ lại gói nâng cấp sẽ nâng cấp gói và cài đặt các phụ thuộc mới. ...

vì vậy, --with-new-pkgscần phải được thêm vào để cho phép bao gồm các gói khác có liên quan.

sudo apt-get --with-new-pkgs upgrade

--with-new-pkgs cho phép các gói "chưa cài đặt" có liên quan được cài đặt với lời nhắc tương tác Y / n.

Ngoài ra, là một lợi ích bổ sung, sudo apt-get --with-new-pkgs upgradeKHÔNG có tác động phụ của việc khiến các gói được đánh dấu là cài đặt thủ công.


Cập nhật

Ubuntu 18.04 cung cấp một cú pháp mới hơn, được sắp xếp hợp lý aptcó thể được sử dụng thay thế apt-get.

sudo apt full-upgrade

Toàn bộ "nếu một gói yêu cầu một gói mới được cài đặt" thì nó sẽ được giữ lại không có ý nghĩa với tôi. Tôi có gói gỡ lỗi của riêng mình do tôi quản lý và nếu tôi thêm một phụ thuộc không được cài đặt vào hệ thống thì nâng cấp apt của tôi vẫn sẽ nâng cấp gói và không giữ lại.
shreddish

@shreddish Theo kinh nghiệm của tôi, một số sudo apt-get upgradetình huống cần có --with-new-pkgsthông tin trên trang man. Rõ ràng, gói gỡ lỗi mà bạn quản lý hoặc kịch bản thử nghiệm đang được sử dụng không kích hoạt nhu cầu --with-new-pkgstùy chọn với một phụ thuộc được gỡ cài đặt thêm ... vì một số lý do chưa được phát hiện. Sẽ rất thú vị nếu biết bạn có thể cô lập lý do tại sao.
l --marc l

2

Là một người dùng Ubuntu tương đối mới, tôi đã gặp phải vấn đề tương tự và dường như đã giải quyết nó. Tôi thấy rằng có ba bản cập nhật đang chờ xử lý trên Phần mềm Ubuntu có cùng tên với các bản cập nhật được liệt kê trên thiết bị đầu cuối như được liệt kê dưới đây:

The following packages have been kept back:
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Sau khi cài đặt các bản cập nhật từ Phần mềm Ubuntu, tôi quay lại Terminal và đã làm sudo apt-get updatesudo apt-get upgrade. Kết quả:

The following packages were automatically installed and are no longer required:
  linux-headers-4.8.0-41 linux-headers-4.8.0-41-generic linux-headers-4.8.0-44 linux-headers-4.8.0-44-generic linux-image-4.8.0-41-generic
  linux-image-4.8.0-44-generic linux-image-extra-4.8.0-41-generic linux-image-extra-4.8.0-44-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Không phải là một chuyên gia tôi nghĩ rằng việc cài đặt các bản cập nhật từ Phần mềm Ubuntu dường như để giải quyết vấn đề. Và vấn đề dường như là không có giao tiếp đầy đủ giữa phần mềm Ubuntu và các gói cập nhật và nâng cấp apt-get. Tôi chắc chắn bạn sẽ tìm thấy một lời giải thích tốt hơn nhưng tôi muốn chia sẻ điều này với bạn.


Cảm ơn. Nói chung, Ubuntu khuyên chúng ta không nên sử dụng aptitude hoặc synap (bằng cách xóa chúng khỏi cài đặt mặc định. Có lẽ đó là hướng để tìm câu trả lời. Tôi sẽ cố gắng tránh hai câu hỏi đó ngay bây giờ. Ngay khi tôi thấy câu trả lời của bạn, tôi chạy đến Trung tâm phần mềm và nó cho tôi thấy những điều mà apt đã bỏ qua. Vì hệ điều hành được xây dựng bởi Ubuntu, tôi sẽ chuyển sang SC. Nó giống như tranh luận với AppStore khi homebrew đưa ra yêu sách.
nyxee

vì vậy, trung tâm phần mềm này dường như là một giải pháp rất tệ cho những người trong chúng ta có kết nối kém. có cách nào khác không?
nyxee
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.