Как заставить linux-generic указывать на 4.9, а не на linux-headers-4.4.0-62 после обновления ядра с 4.4 до 4.9? [закрыто]

Используя Ubuntu 16.04 ... Я только что обновил ядро с 4.4 до 4.9, которое работает нормально, но когда я выпускаю

apt-get upgrade

он предлагает мне установить

The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic

поэтому, естественно, я попытался установить выше, но я вижу, что он указывает на 4.4, а не 4.9 :

sudo apt-get install linux-generic linux-headers-generic linux-image-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  linux-headers-4.4.0-62 linux-headers-4.4.0-62-generic linux-image-4.4.0-62-generic linux-image-extra-4.4.0-62-generic
Suggested packages:
  fdutils linux-tools
The following NEW packages will be installed:
  linux-headers-4.4.0-62 linux-headers-4.4.0-62-generic linux-image-4.4.0-62-generic linux-image-extra-4.4.0-62-generic
The following packages will be upgraded:
  linux-generic linux-headers-generic linux-image-generic

Интересно, когда я прошу установить пакет заголовков 4.9, я обнаруживаю, что они уже установлены

sudo apt-get install linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-headers-4.9.0-040900-generic is already the newest version (4.9.0-040900.201612111631).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Как мне убедить мою систему, что пакет linux-generic должен указывать на 4.9, а не на 4.4? ... Я вижу, что предстоящая Ubuntu Zesty 17.04 будет использовать 4.9 ... Если я хочу 4.9 есть ли что-нибудь, что я могу сделать сейчас, чтобы установить 4.9 версии выше или просто установить 17.04 сейчас?


Вот как я обновил мою Ubuntu 16.04 с ядра 4.4 до 4.9

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

sudo dpkg -i *.deb
sudo reboot now 

uname -r
4.9.0-040900-generic

UPDATE После ручного обновления ядра с v4.4 до v4.9 коробка была в порядке в течение нескольких недель, пока docker не захотел обновления ... это не удалось

systemctl restart docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.



journalctl -xe
Feb 05 17:01:06 bodhisattva polkitd(authority=local)[1767]: Registered Authentication Agent for unix-process:8451:61106220 (system bus name :1.347 [/usr/bi
Feb 05 17:01:06 bodhisattva gnome-session[3383]: Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Feb 05 17:01:11 bodhisattva polkitd(authority=local)[1767]: Operator of unix-session:c2 successfully authenticated as unix-user:stens to gain TEMPORARY aut
Feb 05 17:01:11 bodhisattva systemd[1]: Stopped Docker Application Container Engine.
-- Subject: Unit docker.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has finished shutting down.
Feb 05 17:01:11 bodhisattva systemd[1]: Starting Docker Socket for the API.
-- Subject: Unit docker.socket has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.socket has begun starting up.
Feb 05 17:01:11 bodhisattva systemd[1]: Listening on Docker Socket for the API.
-- Subject: Unit docker.socket has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.socket has finished starting up.
-- 
-- The start-up result is done.
Feb 05 17:01:11 bodhisattva systemd[1]: Starting Docker Application Container Engine...
-- Subject: Unit docker.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has begun starting up.
Feb 05 17:01:11 bodhisattva dockerd[8461]: time="2017-02-05T17:01:11.687485266-05:00" level=info msg="libcontainerd: new containerd process, pid: 8467"
Feb 05 17:01:12 bodhisattva dockerd[8461]: time="2017-02-05T17:01:12.692845664-05:00" level=error msg="[graphdriver] prior storage driver aufs failed: driv
Feb 05 17:01:12 bodhisattva dockerd[8461]: Error starting daemon: error initializing graphdriver: driver not supported
Feb 05 17:01:12 bodhisattva systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 05 17:01:12 bodhisattva systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has failed.
-- 
-- The result is failed.
Feb 05 17:01:12 bodhisattva systemd[1]: docker.service: Unit entered failed state.
Feb 05 17:01:12 bodhisattva systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 05 17:01:12 bodhisattva polkitd(authority=local)[1767]: Unregistered Authentication Agent for unix-process:8451:61106220 (system bus name :1.347, object

поэтому я вернул ядро обратно к оригинальному и это устранило проблему обновления докера ... вот как я вернул ядро с v4.9 обратно к v4.4 ... сначала перезагрузитесь, удерживая клавишу Shift затем в меню GRUB выберите Advanced options и загрузитесь в предыдущий релиз v4.4 ... затем после загрузки я перечислил ядра

dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)
rc  linux-image-4.4.0-47-generic                4.4.0-47.68                                          amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-4.4.0-49-generic                4.4.0-49.70                                          amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-4.4.0-51-generic                4.4.0-51.72                                          amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-4.4.0-52-generic                4.4.0-52.73                                          amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-4.4.0-53-generic                4.4.0-53.74                                          amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-4.4.0-57-generic                4.4.0-57.78                                          amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-4.4.0-58-generic                4.4.0-58.79                                          amd64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.9.0-040900-generic            4.9.0-040900.201612111631                            amd64        Linux kernel image for version 4.9.0 on 64 bit x86 SMP

затем выпустил

sudo dpkg --purge  linux-image-4.9.0-040900-generic  

и теперь это успешно запущено

sudo apt-get install   linux-generic linux-headers-generic linux-image-generic
2
задан 5 December 2017 в 22:34

2 ответа

Первое сообщение, которое Вы получаете

The following packages have been kept back:
 linux-generic linux-headers-generic linux-image-generic

, обсуждено здесь: ( digitalocean.com - от Пакетов воздержались новое изображение Ubuntu 14 ), и решение состоит в том, чтобы работать:

sudo apt-get dist-upgrade

второе сообщение Вы получаете

The following NEW packages will be installed:
  linux-headers-4.4.0-62 linux-headers-4.4.0-62-generic linux-image-4.4.0-62-generic linux-image-extra-4.4.0-62-generic

, совершенно нормально и не повод для беспокойства. Когда Вы делаете регулярные обновления Ubuntu 16.04, 4.4.0-xx ядро автоматически обновляется. Это не имеет никакого отношения к Вашему Ядру 4.9.4 или Ядру 4.9.5, который является первой опцией в Вашем меню Grub.

4.4.0-xxx ядра доступны для начальной загрузки при необходимости на Личинке меню Advanced Options .

при наблюдении системы, Вы будете видеть заголовки Linux для всех версий ядра на Вашем диске:

$ ls /lib/modules
3.13.0-92-generic      4.7.1-040701-generic   4.8.12-040812-generic
3.2.0-113-generic      4.7.2-040702-generic   4.8.4-040804-generic
4.4.0-53-generic       4.7.3-040703-generic   4.8.5-040805-generic
4.4.0-57-generic       4.7.5-040705-generic   4.9.0-040900-generic
4.4.0-59-generic       4.8.10-040810-generic  4.9.1-040901-generic
4.4.33-040433-generic  4.8.1-040801-generic   4.9.4-040904-generic
4.6.3-040603-generic   4.8.11-040811-generic

Для наблюдения заголовочных файлов для 4.4.0-xxx:

$ ls /lib/modules/4.4.0-59-generic/build/include/linux
8250_pci.h                i2c-smbus.h              phy_fixed.h
acct.h                    i2c-xiic.h               phy.h
acpi_dma.h                i7300_idle.h             pid.h
  (... hundreds of files ....)
i2c-pnx.h                 phonet.h                 zsmalloc.h
i2c-pxa.h                 phy                      zutil.h

Для наблюдения заголовочных файлов для 4.9.4:

$ ls /lib/modules/4.9.4-040904-generic/build/include/linux
8250_pci.h                i2c-ocores.h             phy_fixed.h
acct.h                    i2c-omap.h               phy.h
acpi_dma.h                i2c-pca-platform.h       pid.h
  (... hundreds of files ....)
i2c-mux-gpio.h            pfn_t.h                  zutil.h
i2c-mux.h                 phonet.h
i2c-mux-pinctrl.h         phy

Удаляющие более старые ядра

необходимо работать sudo apt-get autoremove периодически для вычищения старых версий 4.4.0-xxx ядер. Это сохранит новую версию плюс следующее самое старое.

Более старые версии ядра для 4,6, 4.7, 4.8 и 4.9 должны быть вручную удалены с помощью:

sudo apt-get purge linux-image-x.x.x.x-generic

сопровождаемый:

sudo update-grub

, Поскольку каждая версия ядра> 100 МБ, можно сохранить большое пространство памяти. Полная запись для удаления более старых ядер, которые Вы вручную установили, может быть найдена здесь: , Как я удаляю старые версии ядра для чистки меню начальной загрузки?

Рекомендуемые пакеты

apt-get имеет сообщение для Вас:

Suggested packages:
  fdutils linux-tools

Это не происходит в моей системе и могло бы представлять интерес исследовать далее.

Самый Легкий способ установить новейшее ядро

я раньше использовал wget, как Вы сделали, потому что это популярно / общие инструкции в Интернете. Требуется определенный ввод и присоединение строк все же. Более легкий путь состоит в том, чтобы только перейти к:

http://kernel.ubuntu.com/~kernel-ppa/mainline/

Нажатие Конец ключ и нажимает 4.9.5 или новейшее ядро, которое Вы хотите. Затем этот экран появляется:

kernel 4.9.5

Принятие yoyu хочет 64-разрядную универсальную версию, нажмите:

  • linux-headers-4.9.5-040905_4.9.5-040905.201701200532_all.deb
  • linux-headers-4.9.5-040905-generic_4.9.5-040905.201 701200532_amd64.deb
  • linux-image-4.9.5-040905-generic_4.9.5-040905.201701200532_amd64.deb

Все три загрузки легко запустятся для Вас без сложного ввода.

, Когда сделанный открытый терминал с Ctrl + Высокий звук + T и тип:

cd Downloads
sudo dpkg -i *.deb
rm *4.9.5*

я думаю, что все найдут этот метод намного легче, чем методы обычно публикуемый в Интернете.

Пикантная Ubuntu 17.04 будет использовать Ядро 4.10

, Хотя Ваш оператор Zesty будет использовать версию 4.9 ядра, вчера было верно, что это не верно сегодня. Согласно этой истории выпустил час назад: ( softpedia.com - разработчики Ubuntu, теперь отслеживающие Ядро Linux 4.10 для Ubuntu 17.04 Пикантный Zapus), они используют Ядро 4,10 rc4.

, Который сказал, что я буду придерживаться Ядра 4.9.5, который стабилен и имеет улучшения для i915 и AMD южные Острова, которые могли бы заинтересовать многих здесь.

1
ответ дан 2 December 2019 в 03:42

Ответ прост: Вы не можете.

релизы Ubuntu поддерживают определенные ядра, которые не идентичны магистрали Linux.

Каноническая Команда Ядра поддерживает ядра Ubuntu на основе версий ядра магистрали Linux. Во многих случаях устранение ошибки и поддержка некоторых аппаратных средств бэкпортируются от более новых ядер магистрали.

Ubuntu 16.04 поддерживает 4,4 ядра и скоро будет также поддерживать 4.8 HWE. Ubuntu 16.10 поддерживает 4.8. Только эти ядра получают обновления из репозиториев Ubuntu.

можно установить ядра магистрали на Ваш собственный риск, но они не получат обновления. Необходимо будет обновить их вручную. Также проблемы с неподдерживаемыми ядрами вне темы на этом сайте.

Личинка будет всегда загружаться с самой высокой версией ядра, установленной, неважно, как она была установлена. Так наличие 4,4 ядер Ubuntu не будет влиять ни на какие другие ядра с числами старшей версии.

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

Это может быть сделано

sudo apt remove linux-image-generic linux-headers-generic

команда.

1
ответ дан 2 December 2019 в 03:42

Другие вопросы по тегам:

Похожие вопросы: