Як оновити ядро ​​до останньої версії основної лінії без будь-якого розширення 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.