Làm cách nào để buộc cài đặt các bản cập nhật kernel khi sử dụng nâng cấp apt-get?


35

Để cập nhật máy chủ của tôi, tôi sử dụng apt-get upgrade.

Nhưng khi có các bản cập nhật kernel tôi luôn cần phải làm apt-get install linux-....apt-get updatekhông cài đặt chúng.

Có cách nào tôi có thể bảo nó cài đặt chúng không? Tôi đã thử -f nhưng nó không hoạt động.


1
apt-get upgradecài đặt hạt nhân mới cho tôi nếu có. Phiên bản Ubuntu nào bạn đang sử dụng? Điều duy nhất tôi có để kiểm tra ngay bây giờ là 10.04 ...
Nicholas Knight

1
10.04 cũng vậy, nó cho tôi biết "Những cập nhật này không bị nâng cấp" (dịch từ tiếng Pháp). và nó liệt kê các bản cập nhật linux.
Weboide

Phát hiện ra điều này trong xubfox 13.04 nâng cấp an toàn đã hoạt động: D
Jim Ford

Câu trả lời:


19

Vì vậy, liên quan đến các bình luận: Xin lỗi, bạn đã đúng, tôi đã hoàn toàn đọc sai những gì apt-get đang nói với tôi (và tôi đang sử dụng phiên bản tiếng Anh! :)).

Sau một ít nghiên cứu, những gì bạn có thể muốn sử dụng là aptitude safe-upgrade, mà không cài đặt hạt nhân mới. Có thật không! Tôi đã kiểm tra lại! :)

Bạn có lẽ nên thích aptitudenói chung hơn apt-get, trừ khi bạn đặc biệt cần một cái gì đó trong apt-get.

nknight@nkubuntu1004:~$ sudo aptitude safe-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
Resolving dependencies...
Resolving dependencies...
The following NEW packages will be installed:
  linux-headers-2.6.32-24{a} linux-headers-2.6.32-24-generic{a} linux-image-2.6.32-24-generic{a} 
The following packages will be upgraded:
  apt apt-transport-https apt-utils base-files firefox firefox-branding firefox-gnome-support gdm google-chrome-stable 
  icedtea-6-jre-cacao linux-generic linux-headers-generic linux-image-generic linux-libc-dev openjdk-6-jre openjdk-6-jre-headless 
  openjdk-6-jre-lib software-center thunderbird ureadahead xulrunner-1.9.2 
21 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 129MB of archives. After unpacking 188MB will be used.
Do you want to continue? [Y/n/?] 

1
Cũng trích dẫn trang man: Đôi khi cần phải xóa một gói để nâng cấp gói khác; lệnh này không thể nâng cấp các gói trong các tình huống như vậy. Sử dụng lệnh nâng cấp đầy đủ để nâng cấp càng nhiều gói càng tốt.
Weboide

4
aptitude sẽ bị xóa khỏi cài đặt mặc định của các phiên bản tương lai của cả debian và ubfox. Apt-get một lần nữa là công cụ ưa thích để cài đặt các gói
Ralf

Vâng, tôi đã không tìm thấy năng khiếu trong 12.04. Vì vậy, tôi đã cài đặt aptitude và chạy aptitude safe-upgrade, nó cũng hoạt động tương tự như nâng cấp apt-get. Không có phiên bản kernel nào được cài đặt! (Nhưng tôi có thể thấy phiên bản kernel mới có sẵn trong trình quản lý gói synap (gui)).
user3215

19

Bạn đang tìm

sudo apt-get dist-upgrade

4
Sử dụng nâng cấp dist có thể thêm hoặc xóa các gói khác, nó không chỉ giới hạn ở kernel. Đây có thể là một vấn đề trên máy chủ nếu bạn đang lưu trữ cho người khác. Tuy nhiên, trong trường hợp như vậy, bạn có thể muốn sử dụng apt-pin bằng mọi cách để ngăn chặn việc nâng cấp không chủ ý.
jbowtie

2
dist-upgradesẽ cài đặt các gói mới trong khi cố gắng giải quyết nâng cấp, cần thiết để nhận các bản cập nhật kernel khi kernel ABI thay đổi (vì nó phân giải thành tên gói nhị phân khác).
Kees Cook

1

Nếu bạn muốn cài đặt aptitudethì hãy tiếp tục - nhưng nó có phần phụ thuộc và imho bạn có thể thoát khỏi khá tốt mà không cần nó - đặc biệt nếu bạn muốn giữ cho máy chủ của mình cài đặt lean (er).

Khi bạn chạy, sudo apt-get upgradenó sẽ cho bạn biết về các gói không được nâng cấp theo cách sau:

The following packages have been kept back:
  linux-generic linux-headers-generic linux-image-generic

Vì vậy, nếu bạn được kết nối bằng thiết bị đầu cuối ssh, thì đó chỉ là vấn đề sao chép + dán để nhập lệnh sau:

$ sudo apt-get upgrade linux-generic linux-headers-generic linux-image-generic

chỉ nâng cấp các gói được giữ lại. Sử dụng uname -rđể hiển thị phiên bản kernel trước và sau khi khởi động lại (cần thiết để làm mới kernel đang chạy) và đừng quên chạy purge-old-kernelssau khi khởi động lại.

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.