ฉันจะใช้ apt-get เพื่ออัปเดตเคอร์เนลล่าสุดได้อย่างไร


21

เคอร์เนลปัจจุบันของฉันคือ 3.2.0-26 (คอมพิวเตอร์หลักของฉัน) ในขณะที่อยู่ในคอมพิวเตอร์ Ubuntu อีกเครื่องซึ่งฉันไม่ได้เล่นซอฟท์แวร์อัปเดตอย่างไม่เป็นทางการมันคือ 3.2.0-30 แต่ตัวจัดการอัปเดตในคอมพิวเตอร์หลักของฉันไม่แสดงการปรับปรุงเคอร์เนลที่มีอยู่ มันแสดงให้เห็นถึงการปรับปรุงอื่น ๆ ว่า

ฉันสงสัยว่าเป็นเพราะความจริงที่ว่าในอดีตฉันติดตั้งเคอร์เนลหลายรุ่น (ไม่แนะนำรุ่น) ถึง 3.5 * ซีรีส์

ฉันทำอะไรหลังจาก: อย่างใดอย่างหนึ่ง: แก้ไขการปรับปรุงเคอร์เนลอัตโนมัติ หรือ: เรียนรู้เกี่ยวกับวิธีการตรวจสอบรุ่นล่าสุดของเคอร์เนล ubuntu อย่างเป็นทางการและรับด้วยตนเอง (ฉันรู้วิธีการติดตั้งเคอร์เนลจาก deb)

สิ่งที่ฉันได้ลองแล้ว: ถอนการติดตั้งเคอร์เนลที่ไม่ได้ใช้ซึ่งรวมถึง "หมายเลขทั่วไปที่ไม่มีตัวเลข" ตาม/ubuntu//a/103875/29347แล้วก็https://ubuntugenius.wordpress.com/2011/01/ 08 / อูบุนตูล้าง-วิธีที่จะเอาออกทั้งหมดที่ไม่ได้ใช้ลินุกซ์เคอร์เนลส่วนหัวภาพและโมดูล /

คำตอบ:


14

ปัญหาของคุณเกี่ยวกับการอัปเดตอัตโนมัติอาจเป็นเพราะเคอร์เนลฉีดหรือเนื่องจากคุณลบแพ็คเกจ "ทั่วไป"

คุณสามารถอัพเดตเคอร์เนลล่าสุดได้apt-getดังนี้:

sudo apt-get update
sudo apt-get install linux-image-`uname -r`

หากคุณต้องการส่วนหัว (เพื่อรวบรวมโมดูลเคอร์เนลเช่นไดรเวอร์ไร้สาย):

sudo apt-get install linux-headers -`uname -r`

7
ผลตอบแทนที่ฉันได้รับคือ 'linux-image-3.2.0-26-generic เป็นรุ่นล่าสุดแล้ว' ในขณะที่ในความเป็นจริงมันไม่ได้ (โปรดดูคำถามเดิม) คุณแน่ใจหรือว่าคุณให้คำสั่งเทอร์มินัลใช่ไหม ฉันไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้ แต่สำหรับฉันแล้วคำสั่งแปลเป็น "อัพเดตเคอร์เนลเป็นเวอร์ชันเดียวกันกับที่คุณติดตั้งและใช้งานไปแล้ว"
Bucic

7
คุณช่วยอธิบายสิ่งที่ควรทำได้ไหม linux-image-`uname -r`เพียงแค่พยายามติดตั้งเคอร์เนลที่คุณมีอยู่แล้วดังนั้นจะมีประโยชน์อย่างไร?
ซาด Saeeduddin

3

ในกรณีที่คุณต้องการอัปเดตเคอร์เนลเริ่มต้นเท่านั้นคุณควรแก้ไขด้วย:

sudo apt-get install linux-image-generic

เนื่องจากมักจะขึ้นอยู่กับเคอร์เนลเริ่มต้นใหม่ล่าสุดของการกระจายของคุณเคอร์เนลที่ได้รับการอัพเกรดกับส่วนที่เหลือของแพคเกจเมื่อคุณเรียกใช้linux-image-genericapt-get upgrade

เมื่อคุณต้องการอัปเดตเคอร์เนลที่ไม่ใช่ค่าเริ่มต้นคุณสามารถทำได้โดยการเรียกใช้สคริปต์นี้:

#!/usr/bin/env bash

sudo apt-get update
kernel_release="$(uname -r | cut --complement -d'.' -f3)"
kernel_release_versions="$(apt-cache search linux-image-${kernel_release})"
kernel_release_versions_generic="$(grep linux-image-"${kernel_release_version}".*-generic <<< "$kernel_release_versions")"
newest_kernel_of_release="$(echo "$kernel_release_versions_generic" | tail -n1 | cut -d' ' -f1 )"

sudo apt-get install $newest_kernel_of_release

sudo apt-get dist-upgrade

หากคุณต้องการไฟล์ส่วนหัวให้เรียกใช้สิ่งต่อไปนี้เพิ่มเติม:

newest_kernel_of_release_headers=${newest_kernel_of_release/image/headers}

sudo apt-get install $newest_kernel_of_release_headers

1
ฉันคิดว่า OP กำลังมองหาเคอร์เนลฉีด / เสถียรล่าสุด
WinEunuuchs2Unix

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.