Как обновить ядро ​​до последней основной версии без какого-либо Distro-обновления?


146

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

НОТА:

Последняя версия ядра, которую любой пользователь должен использовать в Ubuntu, обновляется автоматически с помощью диспетчера обновлений, поэтому от пользователя обычно не требуется никаких действий в отношении обновлений ядра. Автор задает вопрос о ядре mainline , см. Должен ли я обновиться до ядра 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. Установите debs с любым внешним интерфейсом менеджера пакетов, который вы используете (gdebi все еще существует?), Или используйте эти команды:

    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 lowlatency (3.16.0-31) в стандартном репо. Я обновился до версии 3.16.7-ckt8 (linux-image-3.16.7-031607-lowlatency_3.16.7-031607.201503111033_amd64.deb), которая все еще не имеет трекпада. Это для Acer C710.
Убунтурист

У меня были проблемы с сенсорной панелью. Мой BIOS по умолчанию был установлен в расширенный режим. В биосе написано, что могут быть проблемы с использованием расширенного режима без драйвера. Однако базовый режим хорошо работает в Ubuntu. К сожалению, основной режим работает ужасно в Windows! Надеюсь, это поможет простым способом.
Бхиккху Субхути

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

1
@ rubo77 на lowlatency vs 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
Это не дало бы ядро mainline ; скорее это даст сборку Ubuntu (с указанным номером версии).
Элия ​​Каган

14
Вероятно, лучше, чем переходить с основной линии , поскольку он был обработан для целевой ОС.
quickshiftin

Работал как прелесть в Debian 8. Спасибо!
GTodorov

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

1
Эту запись следует изменить, чтобы она также указывала пользователю установить пакет linux-image-extra, поскольку без него некоторые вещи могут не работать - например, клавиатура USB, которую вы используете для ввода пароля для расшифровки вашего диска.
Wojci

24

Мой ответ: ДА, ты можешь. Стабильная версия была 3.4, но в этом уроке я использую 3.3.1.

Ubuntu (32-разрядная версия) Generic 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. но теперь моя ОС не работает, и в ней нет ни меню, ни меню grub. просто думаю.
ShgnInc

Хорошо, но нуждается в обновлении. Я рекомендую найти версию, а затем Google, как ее установить. Нажимайте на страницы, пока не найдете что-то подобное. Для rc6 я нашел это yourownlinux.com/2016/03/…
Bhikkhu

12

Вопреки некоторым ответам здесь Ubuntu выпускает новое ядро ​​в течение дня или двух из основной команды ядра. Я использовал сложный путь, как некоторые из предложенных здесь ответов, но я обнаружил, что это более простой способ.

Последствия ручной установки ядер

Установка ядер вручную требует дополнительной работы.

Есть причины, по которым вы хотите установить последнее основное ядро:

  • Ошибка в последнем обновлении ядра Ubuntu LTS, и вы не можете понизить версию
  • У вас есть новое оборудование, которое не поддерживается в текущем потоке обновлений ядра Ubuntu LTS или обновлениях HWE
  • Требуется обновление безопасности или новая функция, доступная только в последней основной версии ядра.

По состоянию на 15 января 2018 года выпущено последнее стабильное ядро ​​mainline 4.14.13. На момент написания этой статьи многие заинтересованы установить ее для защиты от дыры в безопасности Meltdown. Если вы решили установить его вручную, вы должны знать:

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

Нахождение новейшего ядра

Перейдите на ( kernel.ubuntu.com - Kernel PPA Mainline ) и нажмите Endклавишу:

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

Теперь нажмите на ссылку 4.9.8(или более новую, если она доступна, когда вы читаете это), и появится следующее:

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

Обратите внимание на ссылки с черными отметками аэрографа. Это три, которые мы будем загружать для Ubuntu 16.04 64-Bit с использованием процессоров 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
Ваша проблема с черным экраном может быть связана с тем, что вы удалили используемое ядро. После установки нового ядра, вам нужно перезагрузить компьютер. Затем удалите старое ядро.
Ревери

Отличный ответ. Хотя сейчас все немного изменилось, мне пришлось перейти linux-image-extraна linux-modules-extraверсию, 4.18.0-22-genericчтобы эта работа работала.
Дирчао

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

Я написал сценарий и всегда буду в курсе.

ukupgrade: обновление ядра Ubuntu

  • Откройте ваш любимый терминал и выполните следующие команды
  • Дать исполняемый файл разрешение на файл

    chmod +x ./ukupgrade

  • Вызвать сценарий

    ./ukupgrade


1
это был лучший
Али

продолжает устанавливать версию с низкой задержкой при запросе универсального ~
user2413

Я не знал об этом инструменте, поэтому я также написал аналогичный инструмент, который также поддерживает выбор универсального варианта с низкой задержкой. Вы можете найти его здесь: github.com/cristim/kernel-update
Кристиан Магерушан-Станчу

6

Выполните следующие команды терминала для установки нового основного ядра 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 не установил зависимости для меня. Вы могли бы подумать, что apt был все о зависимостях. Неправильно. Сценарий можно обновить до последней версии или выполнить поиск, чтобы позволить пользователю выбрать. Все это говорит, что если я снова включу свою систему, я пойду прямо, так как нашел терминальные команды для rc6
Bhikkhu

@SavvasRadevicImportError: No module named apt_pkg
Яхья

1
@SavvasRadevic Я уже сделал, но просто сообщаю согласно вашему запросу.
Яхья

5

Если вы не хотите проходить через обновление ядра вручную, попробуйте UUKU. Прекрасно работает даже с производными Ubuntu, такими как elementory, mint.

Я использовал его, чтобы исправить проблему с WiFi, так как иногда старое ядро ​​не может обнаружить какое-то новое оборудование. Кроме обновления аппаратного драйвера я не вижу необходимости обновлять ядро. Новые ядра имеют безопасность и незначительное обновление производительности, но также имеют тенденцию ломать такие вещи, как ваша виртуальная машина.

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 Atom, которые могут работать очень хорошо, если вы пытаетесь выжать из нетбука все последние унции производительности.

Есть и другие ядра, такие как 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...<усеченный URL> `Соединяется с kernel.ubuntu.com (kernel.ubuntu.com) | 91.189.94.216 |: 80 ... подключено. HTTP-запрос отправлен, ожидание ответа ... 404 Not Found` 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 +

затем установить с помощью уку

$ sudo ukuu

$ sudo ukuu --install-latest

затем бегите для безопасного

$ sudo xhost -

и перезагрузка

$ sudo reboot

если вы хотите увидеть список всех версий ядра, используйте 'sudo ukuu --list'.
Виталий Либрус

если вы хотите увидеть другие варианты укуу, наберите 'ukuu --help'
Виталий Либрус

Разве вы не должны делать sudo xhost -после того, как вы сделали? (сравните: github.com/teejee2008/ukuu/issues/25#issuecomment-341501666 )
студентка

@ Студент, да, спасибо! Я добавил его в список шагов
Виталий Либрус

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.