Як оновити ядро ​​до останньої версії основної лінії без будь-якого розширення Distro?


146

В даний час я запускаю Linux-3.0 і хочу оновити його до Linux-3.3.1 останнього випуску стабільного ядра, як згадувалося на http://www.kernel.org . Чи можу я оновити версію 3.3.1 в Ubuntu без ризику збоїв? Я регулярно оновлюю своє ядро, як це надає Менеджер оновлень. На даний момент у мене є Linux- 3.0.0.17 .. Чи можу я оновити?

ПРИМІТКА:

Остання версія ядра, яку повинен використовувати будь-який користувач в Ubuntu, автоматично оновлюється через Менеджер оновлень, тому користувач зазвичай не вимагає жодних дій щодо оновлення ядра. Що стосується автора запитання, це основне ядро , див.: Чи слід оновити ядра "mainline"?


Відповіді:


121

Найпростіший набір інструкцій, які я завжди використовував для оновлення / поновлення ядра, - це користувач ubuntuforums.org на ім'я lykwydchykyn (URL-адреса, змінена мною для цієї публікації):

  1. Перейдіть сюди: http://kernel.ubuntu.com/~kernel-ppa/mainline/
  2. Завантажте десь 3 (можливо 4) деби в папку:

    linux-headers-VERSION-NUMBER_all.deb
    linux-headers-VERSION-NUMBER_amd64.deb
    linux-image-VERSION-NUMBER_amd64.deb
    linux-image-extra-VERSION-NUMBER_amd64.deb   # if available
    
  3. Встановіть деби за допомогою будь-якого фронтального диспетчера пакунків, який ви використовуєте (є де все ще?), Або скористайтеся цими командами:

    cd /path/to/folder/where/you/put/the/debs
    sudo dpkg -i *.deb
    

Джерела:


3
наприклад, тут ви знайдете дві версії для кожної архітектури: lowlatencyі generic, яку взяти? kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.1-trusty
rubo77

Не вдалося. Я виходив із 64-розрядного ядра низької затримки Utopic (3.16.0-31) у стандартному репо. Я модернізований до v3.16.7-ckt8 (linux-image-3.16.7-031607-lowlatency_3.16.7-031607.201503111033_amd64.deb), який працює, але трекпад не має. Це для Acer C710.
Ubuntourist

У мене були проблеми з сенсорною панеллю. У моєму біографічному режимі за замовчуванням встановлено розширений режим. Зазначається, що в біографії можуть виникнути проблеми з використанням розширеного режиму без драйвера. Однак базовий режим добре працює в ubuntu. На жаль, базовий режим працює жахливо у Windows! Я сподіваюся, що це допомагає у простий спосіб.
Bhikkhu Subhuti

1
Для повноти, крім кроків @ Bucic - (4) прийняти новий завантажувач grub (1-й варіант). Це, мабуть, те, що потрібно більшості людей. У випадку, якщо ви хочете побачити, що саме змінюється, зробіть порівняння, щоб перевірити, але, ймовірно, просто перепишіть ваш файл Grub conf з новою інформацією про ядро, яку ви хочете. (5) перезавантажити. Крім того, це набагато безпечніше маршрут, який буде також оновити версію Linux: sudo apt-get update && sudo apt-get dist-upgrade && sudo reboot. В будь-якому сценарії після перезавантаження запустіть, echo $(uname -r)щоб підтвердити, що ви успішно завантажилися в нове ядро.
Мануель Дж. Діас

1
@ rubo77 на низькому рівні порівняно з generic: askubuntu.com/questions/126664/…
Noremac

70

Ви завжди можете зробити наступне:

apt-cache search linux-image

Виберіть потрібний, а потім зробіть:

sudo apt-get install linux-image-your_version_choice linux-headers-your_version_choice linux-image-extra-your_version_choice

4
Це не дасть основного ядра; швидше, це дало б збірку Ubuntu (із зазначеного номера версії).
Ілля Каган

14
Напевно, краще, ніж працювати з основним , оскільки він був масазований для цільової ОС.
quickshiftin

Працював як шарм у Debian 8. Дякую!
Гтодоров

9
не забудьте також встановити заголовки ядра: sudo apt-get install linux-headers- [version] -generic. [версія] повинна бути такою ж, як версія ядра
mauek unak

1
Цей запис слід змінити, щоб він також вказував користувачеві встановити пакет linux-image-extra, тому що без нього деякі речі можуть не працювати - як USB-клавіатура, яку ви використовуєте для введення пароля для розшифровки вашого диска.
wojci

24

Моя відповідь: ТАК ви можете. Стабільний реліз склав 3,4, але в цьому підручнику я використовую 3.3.1.

Убунту (32-бітний) загальний PAE:

Виконайте такі команди:

mkdir kernel\ v3.3.1-precise && cd kernel\ v3.3.1-precise
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301-generic-pae_3.3.1-030301.201204021435_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301_3.3.1-030301.201204021435_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-image-3.3.1-030301-generic-pae_3.3.1-030301.201204021435_i386.deb
sudo dpkg -i linux-*.deb 
sudo update-grub
sudo reboot now

Ubuntu (64-розрядна):

Виконайте такі команди:

mkdir kernel\ v3.3.1-precise && cd kernel\ v3.3.1-precise
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301-generic_3.3.1-030301.201204021435_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301_3.3.1-030301.201204021435_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-image-3.3.1-030301-generic_3.3.1-030301.201204021435_amd64.deb
sudo dpkg -i linux-*.deb 
sudo update-grub
sudo reboot now

Насолоджуйтесь!


я встановлюю ядро ​​3.8.5-raring, як ви сказали на моєму Ubuntu 12.04. але тепер моя ОС працює в режимі роботи, і немає жодного кліпу чи будь-якого меню. просто думаю.
shgnInc

Добре, але потребує оновлення. Я рекомендую знайти версію, а потім google, як її встановити. Клацніть сторінки, поки не знайдете щось подібне. Для rc6 я знайшов це yourownlinux.com/2016/03/…
Bhikkhu Subhuti

12

На відміну від деяких відповідей тут, Ubuntu випускає нове ядро ​​протягом дня або двох від основної команди ядра. Я звик модернізувати складний шлях, як наводить деякі відповіді, але я виявив, що це простіший спосіб.

Наслідки ручної установки ядер

Встановлення ядер вручну вимагає додаткової роботи.

Є причини, чому ви хочете встановити останнє основне ядро:

  • Помилка в останньому оновленні ядра Ubuntu LTS, і ви не можете поновити його
  • У вас є нове обладнання, яке не підтримується в поточному потоці оновлення ядра Ubuntu LTS або оновленнях HWE
  • Вам потрібно оновити безпеку або нову функцію, доступну лише в останній версії основного ядра.

Станом на 15 січня 2018 року є останнє стабільне основне ядро 4.14.13. На момент написання запитання багато хто зацікавлений встановити його для захисту від захисного отвору Meltdown. Якщо ви вирішите встановити його вручну, ви повинні знати:

  • Старіші ядра LTS не будуть оновлюватися, поки вони не перевищують перший параметр головного меню під назвою Ubuntu .
  • Вручну встановлені ядра не видаляються звичайною sudo apt auto-removeкомандою. Вам потрібно слідувати цьому: Як видалити старі версії ядра, щоб очистити меню завантаження?
  • Контролюйте розвиток старіших ядер, коли потрібно повернутися до звичайного методу оновлення ядра LTS. Потім видаліть встановлене вручну ядро ​​основної лінії, як описано в попередньому посиланні точки кулі.
  • Після вручну видалення останнього запуску основного ядра, sudo update-grubа потім останнє ядро ​​LTS Ubuntu стане першим варіантом під назвою Ubuntu в головному меню Grub.

Пошук останнього ядра

Перейдіть до ( kernel.ubuntu.com -End Основна лінія PPA ядра ) і натисніть клавішу:

Основне ядро ​​1

Тепер натисніть на посилання 4.9.8(або нове, якщо воно доступне, коли ви читаєте це), і з'явиться наступне:

основне ядро ​​2

Зверніть увагу на посилання з чорними знаками аерографа. Це три, які ми завантажимо для Ubuntu 16.04 64-бітними за допомогою процесорів Intel або AMD .

Встановлення за допомогою терміналу

Відкрийте термінальний сеанс за допомогою Ctrl+ Alt+ Tта використовуйте:

cd ~/Downloads # Change to your downloads directory
ll linux*.deb  # Check if any previous downloads still exist
rm linux*.deb  # Use this command if any previous downloads found

Тепер поверніться до екрана завантаження вище та одним клацанням миші на всіх трьох .debзавантаженнях ядра. Після завершення завантаження (ви побачите статус у своєму браузері) переключіться на сеанс терміналу та скористайтеся:

sudo dpkg -i linux*.deb
rm linux*.deb
sudo reboot

Вуаля! - ви запускаєте останнє ядро, коли вибрано перший варіант меню завантаження grub. Старіші версії ядра все ще доступні в меню Додаткові параметри grub .

Встановивши новітнє ядро ​​десяток разів, ви задасте питання " Як видалити старіші версії ядра? ", І ви знайдете відповіді тут у Ask Ubuntu .


Ви повинні відповісти на цей кажучи : «Не ускладнюйте своє життя».
Фабі

9

пізня, але нова відповідь.

Я додам додаткову інформацію у свою відповідь. Тепер моє старе ядро ​​було. linux-headers-4.8.0-53Щоб дізнатися, яке ядро ​​ви введете uname -rу терміналі. Тепер введіть цю команду, щоб отримати список доступних ядер.

apt-cache search linux-image

це дасть вам дуже великий вихід. Тепер виберіть одну з них, яку ви хочете встановити та встановити, виконавши наступні команди (Не вводите такі команди, як ця, замініть слово kernal_version на версію ядра, яку ви хочете встановити)

sudo apt-get install linux-image-kernal_version
sudo apt-get install linux-image-extra-kernal_version
sudo apt-get install linux-headers-kernal_version

Тепер у моєму випадку я вибираю, linux-image-4.10.0-22-genericщоб моя команда виглядала так

sudo apt-get install linux-image-4.10.0-22-generic 
sudo apt-get install linux-image-extra-4.10.0-22-generic
sudo apt-get install linux-headers-4.10.0-22-generic

тепер врешті-решт видаліть старе ядро ​​за командою

sudo apt-get autoremove

Тепер, коли я вперше це зробив, я не знаю, це моя апаратна проблема або через видалення старого ядра, але мій ноутбук показує мені чорний екран, який трапляється з моїм ноутбуком іноді. Тому я виймаю його акумулятор і перезавантажую і набираю команду .Также я більше не страждаю від проблеми з чорним екраном .

uname -r

і це дає мені

linux-image-4.10.0-22-generic

що означає, що ядро ​​оновлено.


3
Проблема з вашим чорним екраном може бути через те, що ви видалили ядро, яке використовується. Після встановлення нового ядра вам доведеться перезавантажити. Потім видаліть старе ядро.
ravery

Чудова відповідь. Хоча зараз дещо змінилося, мені довелося перейти linux-image-extraна linux-modules-extraверсію, 4.18.0-22-genericщоб зробити цю роботу.
deerchao

7

Існує набагато простіший спосіб зробити це, і це я використовую. Просто скачайте сценарій оновлення Ubuntu Mainline Kernel Updater і запустіть його з терміналу. Він завантажить для вас .deb, встановить нове ядро ​​і, можливо, видаліть старе (не рекомендується), а потім необов'язково перезавантажте.

Приклад виводу (скопійований з мого терміналу):

evilsupahfly@the-black-beast:~$ sudo KernelUpdateChecker -no-rc -r utopic
Run this command to install the new kernel
/tmp/kernel-update
root@the-black-beast:~# /tmp/kernel-update
Config Notes:
Rejecting Release Candidates
Accepting Latest Kernel
Accepting kernels compiled for utopic
Accepting kernels with a version higher than 3.15.0-031500-lowlatency

Information:
Origin: 
    http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15.1-utopic
Kernel Version:
    3.15.1-031501
Release Date:
    2014/06/16 @ 18:41 (YYYY/MM/DD @ HH:MM)

Care to look at the change log? (y=Yes, n=No) (n)

(download output skipped)    

Greetings root
    I (the-black-beast) am now self aware and a sentient being, have a nice day.
    Oh and by the way SKYNET is now active.

Installing Linux 3.15.1-031501:

(installer output skipped)

The New Kernel looks to have been installed

WARNING: If the new kernel does not boot you may regret saying yes here.
Would you like to remove the current one? (y=Yes, n=No) (n): n

Are you ready to Reboot? (y=Yes, n=No) (n): n

Майже повністю автоматизований і повністю без проблем.


6

Я написав сценарій і завжди буду в курсі.

загальна версія: оновлення ядра Ubuntu

  • Відкрийте улюблений термінал і запустіть наступні команди
  • Дайте виконавчий дозвіл на подачу файлу

    chmod +x ./ukupgrade

  • Викличте сценарій

    ./ukupgrade


1
це було найкраще.
Алі

продовжує встановлювати версію з низькою затримкою при
запиті

Я не знав про цей інструмент, тому я також написав подібний інструмент, який також підтримує вибір загального / низької затримки. Ви можете знайти його тут: github.com/cristim/kernel-update
Cristian Măgherușan-Stanciu

6

Виконайте наступні команди Terminal для встановлення нового основного ядра Ubuntu .

sudo apt-get update
sudo apt-get install python-bs4 python-apt
cd /tmp
rm -rf medigeek-kmp*
wget https://github.com/medigeek/kmp-downloader/tarball/master -O kmpd.tar.gz
tar xzf kmpd.tar.gz
cd medigeek-*
python kmpd.py -d

Сценарій розміщується в Github . Просто натисніть Enterзамість числа, якщо ви застрягли в певному питанні в сценарії Python.


3
Я автор цього сценарію. Я щойно це виправив. Будь ласка, подайте звіти про помилки, більшість часу програмісти не знають, що помилки існують, поки хтось не подає звіт. :)
Саввас Радевич

Яка перевага вашого сценарію в тому, щоб просто виконати установку debпакету, як описано найкращою відповіддю тут?
rubo77

Я просто думав про цей тип інструменту з моменту аварії, тому що apt не встановлював для мене залежності. Ви б могли подумати, що сприйняття стосувалося залежностей. Неправильно. Сценарій можна оновити для останнього випуску або шукати його, і користувач може вибрати його. Все, що було сказано, якщо я знову задам свою систему, я піду безпосередньо, оскільки знайшов команди терміналу для rc6
Bhikkhu Subhuti

@SavvasRadevicImportError: No module named apt_pkg
Yahya

1
@SavvasRadevic Я вже це робив, але лише повідомляю відповідно до вашого запиту.
Ях’я

5

Якщо ви не хочете пройти через клопоти, щоб вручну оновити ядро, ви можете спробувати UUKU. Добре працює навіть на похідних Ubuntu, таких як елемент, м’ята.

Я використовував його для вирішення проблеми з Wi-Fi, оскільки іноді якесь нове обладнання не буде виявлено старим ядром. Окрім оновлення драйверів апаратних засобів, я не знаходжу необхідності оновлення ядра. Нові ядра мають безпеку та незначне оновлення продуктивності, але також мають тенденцію порушувати такі речі, як ваш VM.

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu
ukuu-gtk

ДЖЕРЕЛ:

http://www.makeuseof.com/tag/upgrade-kernel-ukuu-ubuntu/

http://www.teejeetech.in/2016/07/ukuu-v167.html?m=1


3

Інший варіант - спробувати налаштовані та оптимізовані збірки, такі як ядро ​​i3 / i5 / i7 3.2.1 для Ubuntu:

DuoPetalFlower, Мої експерименти з Linux - ядро ​​3.2.1

Він також має оптимізовані побудови атома Intel, які можуть працювати досить добре, якщо ви намагаєтеся вичавити з нетбука кожну останню унцію продуктивності.

Є й інші ядра на зразок Liquorix, які стверджують, що вони краще оптимізовані для роботи на робочому столі.

Хоча деякі з них не рекомендуються, ви можете без проблем запускати офіційні ядра з пізніших версій Ubuntu. В даний час я використовую 3.3.3 точне ядро ​​на oneiric, і моя машина працює краще, ніж будь-коли. Продуктивність та час роботи акумулятора збільшились, а температура знизилася на кілька градусів. Мій випуск чорного екрану при поновленні з режиму очікування також зник. Хоча в мене особисто не було проблем із використанням новіших ядер, ви знайдете людей, які категорично проти цього робити.


2

Як ви бачили, Ubuntu надає версії ядра Linux, але не завжди так швидко, як вони випускаються вгору, ви завжди можете самостійно скласти ядро ​​3.3.1, але це може бути більше зусиль, ніж ви шукали. Якщо ні, то пошукайте навколо, і я впевнений, що ви знайдете підручник, за яким ви можете слідувати, як цей . (зауважте, що я ретельно не перевіряв цього, тому будьте обережні, оскільки ядра небезпечні звірі)


2

Жоден із наведених відповідей не задовольнив мою проблему ручного оновлення ядра до останньої стабільної версії. (Мій сучасний ноутбук дуже чутливий до RC, Dell XPS 9365).

Я створив скрипт оболонки, який шукає новіші версії ядра та показує їх як варіанти для встановлення. Ви можете спробувати, це на github , будь ласка, прочитайте README.


2

Я створив цей скрипт, kernel-upgrade.shякий завантажує та встановлює вибране ядро ​​з http://kernel.ubuntu.com/~kernel-ppa/mainline :

TMP=/var/tmp/kernel
mkdir -p "$TMP" && cd "$TMP"
rm -f "$TMP"/*
F=v4.16-rc6
V=4.16.0-041600rc6
R=$(wget -qO - "http://kernel.ubuntu.com/~kernel-ppa/mainline/$F/0005-debian-changelog.patch" | sed -ne '/^+linux/{s/.*\.\([0-9]\+\)).*/\1/p;q}')
B="$V.$R"
URL=http://kernel.ubuntu.com/~kernel-ppa/mainline
set -x
wget "$URL/$F/linux-headers-$V-generic_${B}_amd64.deb" \
    "$URL/$F/linux-headers-${V}_${B}_all.deb" \
    "$URL/$F/linux-image-$V-generic_${B}_amd64.deb"
sudo dpkg -i "linux-headers-$V-generic_${B}_amd64.deb" \
    "linux-headers-${V}_${B}_all.deb linux-image-$V-generic_${B}_amd64.deb"
# now enter: sudo reboot now

У випадку, якщо Ubuntu не запуститься з новим ядром, ви можете вибрати "розширені налаштування" у своєму меню grub і вибрати, щоб запустити там останнє запущене ядро.


Примітка: з 4.15-rc7 ядро ​​має виправлення KPTI проти нападів танення, а з 4.15.1 для "Варіант спектрів 2, пом'якшення 2" (перевірте за допомогою http://github.com/speed47/spectre-meltdown-checker/ )


У мене виникають певні труднощі при виконанні цього сценарію. Я можу зробити щось не так, тому ось мої кроки: 1. Вимкнено безпечне завантаження в BIOS, 2. збережено сценарій kernel-upgrade.shі chmod 777 kernel-upgrade.sh. Потім я запустив це як sudo ./kernel-upgrade.sh. Потім я отримую помилки rm: cannot remove '/var/tmp/kernel/*': No such file or directory:; потім ++ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.16...<truncating url> `Підключення до kernel.ubuntu.com (kernel.ubuntu.com) | 91.189.94.216 |: 80 ... підключено. HTTP-запит надісланий, очікуючи відповіді ... 404 не знайдено` 404 трапляється 3 рази
салат із

перше попередження від rmможна було проігнорувати (я додав rm -fзараз). решта не зрозуміло, в чому проблема. обрізання URL-адреси тут не допомагає, не вирішує проблему. Чи можете ви розмістити вихідний файл на pastebin.com , щоб ми могли побачити, який би отриманий URL?
rubo77

звичайно, приклеєний сюди pastebin.com/KcdVdKQr
Салат із

також якщо це має значення, я запускаю ubuntu 17.10
салат із

Він сказав, що це неправильний шлях: kernel.ubuntu.com/~kernel-ppa/mainline/v4.16-rc6/… перевірити це на правильний шлях: kernel.ubuntu.com/~kernel-ppa/mainline/v4. 16-rc6
rubo77

2

щоб встановити останню установку ядра Ubuntu Kernel Update Utility

$ sudo add-apt-repository ppa:teejee2008/ppa

$ sudo apt-get install ukuu

відключити контроль доступу за допомогою наступної команди:

$ sudo xhost +

потім встановіть з ukuu

$ sudo ukuu

$ sudo ukuu --install-latest

потім запустіть для безпечного

$ sudo xhost -

і перезавантажити

$ sudo reboot

якщо ви хочете побачити список усіх версій ядра, використовуйте 'sudo ukuu --list'.
Віталій ЛіБрус

якщо ви хочете побачити інші варіанти ukuu, наберіть 'ukuu --help'
Віталій ЛіБрус

Ви не повинні робити sudo xhost -після того, як закінчите? (порівняйте: github.com/teejee2008/ukuu/isissue/25#issuecomment-341501666 )
студент

@student, так, дякую! Я додав його до списку кроків
Віталій ЛіБрус

0

Перевірте свою версію ядра $ uname -sr

Завантажте Kernel v5 для 32 біт

$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_i386.deb

Завантажте Kernel v5 для 64 біт

$ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000_5.0.0-050000.201903032031_all.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-headers-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-image-unsigned-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb $ wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.0/linux-modules-5.0.0-050000-generic_5.0.0-050000.201903032031_amd64.deb

Встановіть його

$ sudo dpkg -i *.deb

Потім перезавантажте

sudo reboot

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.