Как обновить ядро до последней основной версии без какого-либо Distro-обновления?
В настоящее время я использую Linux-3.0 и хочу обновить его до последней стабильной версии ядра Linux-3.3.1, как упоминалось на http://www.kernel.org/. Могу ли я обновиться до 3.3.1 в Ubuntu без риска сбоев? Я регулярно обновляю свое ядро, как это предусмотрено диспетчером обновлений. В настоящее время у меня Linux-3.0.0.17.Могу ли я обновлять?
НОТА:
Последняя версия ядра, которую любой пользователь должен использовать в Ubuntu, обновляется автоматически с помощью диспетчера обновлений, поэтому от пользователя обычно не требуется никаких действий в отношении обновлений ядра. Автор задает вопрос о ядре mainline, см. Должен ли я обновиться до ядра mainline?
18 ответов
Самым простым набором инструкций, которые я всегда использовал для обновления / понижения ядра, является пользователь http://ubuntuforums.org/ по имени lykwydchykyn (URL, модифицированный мной для этого поста):
- Зайдите сюда: http://kernel.ubuntu.com/~kernel-ppa/mainline/
Загрузите 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
Установите debs с любым внешним интерфейсом менеджера пакетов, который вы используете (gdebi все еще существует?), Или используйте эти команды:
cd /path/to/folder/where/you/put/the/debs sudo dpkg -i *.deb
Источники:
Вы всегда можете сделать следующее:
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
Мой ответ: ДА, ты можешь. Стабильная версия была 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
Наслаждайтесь!
Вопреки некоторым ответам здесь 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.
Нахождение новейшего ядра
Перейдите на ( http://kernel.ubuntu.com/~kernel-ppa/mainline/) и нажмите клавишу завершения:
Теперь нажмите на ссылку 4.9.8
(или более новый, если доступен, когда вы читаете это), и появляется следующее:
Обратите внимание на ссылки с черными отметками аэрографа. Это три, которые мы будем загружать для 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.
Поздно , но новый ответ.
Я добавлю больше информации в мой ответ. Теперь мое старое ядро было 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
что означает, что ядро обновлено.
Есть намного более простой способ сделать это, и это способ, которым я использую. Просто скачайте скрипт 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
Почти полностью автоматизирован и абсолютно без проблем.
Выполните следующие команды терминала для установки нового основного ядра 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.
Я написал сценарий и всегда буду в курсе.
ukupgrade: обновление ядра Ubuntu
- Откройте ваш любимый терминал и выполните следующие команды
Дать исполняемый файл разрешение на файл
chmod +x ./ukupgrade
Вызвать сценарий
./ukupgrade
Если вы не хотите проходить через обновление ядра вручную, попробуйте UUKU. Прекрасно работает даже с производными Ubuntu, такими как elementory, mint.
Я использовал его, чтобы исправить проблему с WiFi, так как иногда старое ядро не может обнаружить какое-то новое оборудование. Кроме обновления аппаратного драйвера я не вижу необходимости обновлять ядро. Новые ядра имеют безопасность и незначительное обновление производительности, но также имеют тенденцию ломать такие вещи, как ваша виртуальная машина.
sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu
ukuu-gtk
ИСТОЧНИК:
Другой вариант - попробовать настроенные и оптимизированные сборки, такие как это оптимизированное для i3/i5/i7 ядро 3.2.1 для Ubuntu:
DuoPetalFlower, Мои эксперименты с ядром Linux - 3.2.1
У него также есть сборки, оптимизированные для Intel Atom, которые могут работать очень хорошо, если вы пытаетесь выжать из нетбука все последние унции производительности.
Есть и другие ядра, такие как Liquorix, которые утверждают, что лучше оптимизированы для производительности настольных компьютеров.
Хотя это и не рекомендуется некоторыми, вы можете без проблем запускать официальные ядра из более поздних версий Ubuntu. В настоящее время я использую ядро версии 3.3.3 на oneiric, и моя машина работает лучше, чем когда-либо. Производительность и срок службы батареи увеличились, а температура упала на несколько градусов. Моя проблема черного экрана при выходе из режима ожидания также исчезла. Хотя у меня лично не было проблем с использованием более новых ядер, вы найдете некоторых людей, которые категорически против этого.
Я создал этот скрипт 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/)
Установить последнее ядро установить 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 reboot
Как вы видели, Ubuntu предоставляет версии ядра Linux, но не всегда так быстро, как они выпускаются в апстриме, вы всегда можете скомпилировать ядро 3.3.1 самостоятельно, но это может потребовать больше усилий, чем вы искали. Если нет, поищите, и я уверен, что вы найдете учебник, которым вы можете следовать, например, этот. (обратите внимание, что я не проверил это тщательно, так что будьте осторожны, так как ядра - опасные звери)
Ни один из приведенных выше ответов не удовлетворил мою проблему ручного обновления ядра до последней стабильной версии. (Мой нынешний ноутбук очень чувствителен к RC, Dell XPS 9365).
Я создал сценарий оболочки, который ищет более свежие версии ядра и показывает их в качестве параметров для установки. Вы можете попробовать, это на github, пожалуйста, не забудьте прочитать README.
На самом деле я нашел действительно простой интерфейс командной строки для обновления, который не требует проблем, это единственный сценарий bash под названием https://github.com/pimlie/ubuntu-mainline-kernel.sh Install:
apt install wget
wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
chmod +x ubuntu-mainline-kernel.sh
sudo mv ubuntu-mainline-kernel.sh /usr/local/bin/
тогда за помощью
ubuntu-mainline-kernel.sh -h
или просто зайдите на README.md по первой ссылке. Легко и не устанавливает лишнего мусора
Проверьте вашу версию ядра$ 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
У меня были некоторые проблемы с некоторыми ядрами (производительность, время автономной работы), поэтому, устав от установки и удаления ядер вручную, я разработал этот скрипт:
https://gist.github.com/pdelteil/ab1060cd8fb4da3bd8cf66caaf80d2ad
Кроме того, краткое объяснение скрипта здесь