Ubuntu14.04更新硬件实现堆栈(HWE)
Ubuntu14.04更新硬件实现堆栈(HWE)
来源: https://github.com/gatieme/AderXCoding/tree/master/system/tools/ubuntu_hwe
参考:https://wiki.ubuntu.com/Kernel/LTSEnablementStack
参考:https://wiki.ubuntu.com/Kernel/RollingLTSEnablementStack
| CSDN | GitHub |
|---|---|
| Ubuntu14.04.4升级硬件实现堆栈(HWE)到14.04.5(Xenial Kernel-v4.4) | AderXCoding/system/tools/ubuntu_hwe_upgrade |
之前使用的一直是Ubuntu14.04.4(Kernel 4.2), 现在Ubuntu16.04已经发布好几个月了, 但是为了稳定一直没更新, 前段时间看到Ubuntu 14.04.5发布了, 本次发布主要更新升级了硬件实现堆栈(HWE)
本次发布三大亮点:
更多更好的硬件支持
稳定更新,减少软件包的下载更新
保持系统稳定
详细的发布信息,可查看发布说明:
https://wiki.ubuntu.com/TrustyTahr/ReleaseNotes/ChangeSummary/14.04.5
下载地址:http://releases.ubuntu.com/trusty/
参照
| 参照 | 描述 |
|---|---|
| 1404_HWE_EOL | 详细的讲解了Ubuntu 14.04 HWE的信息 |
| LTSEnablementStack | 详解的讲解了如何升级Ubuntu HWE |
| 求助Ubuntu14.04.5 LTS软件源中提示hardware enablement stack升级的问题 | 如何升级14.04.4到14.04.5 |
| Ubuntu 14.04.5 Released with Kernel 4.4 and 16.04 X Stack | 升级Ubuntu 14.04到14.04.5 |
#1 背景
之前更新Ubuntu内核, 往往使用如下两个命令
| 更新 | 描述 |
|---|---|
| apt-get upgrade | 系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来 |
| apt-get dist-upgrade | 可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,就会试着去安装/移除它. (所以通常这个会被认为是有点风险的升级) |
upgrade 和 dist-upgrade 的区别
apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。
只不过, dist-upgrade会识别出当依赖关系改变的情形并作出处理, 而upgrade对此情形不处理.
例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为依赖关系改变而拒绝升级 a 软件包
内核的升级
使用dist-upgrade可能会升级内核, 但是内核的主版本号不会变, 只是不断在修订和修复bug.
就比如我系统安装的时候, 安装的是Ubuntu14.04.4, 系统的内核使用的是Linux-4.2.0的内核, 那么我更新之后, 内核可能从4.2.0-36到4.2.0-44, 但是内核版本没有变动
如果我想升级系统的内核, 那么只有如下几种方法
升级系统版本(比如14.04升级到16.04)
自己下载并编译新的内核
升级Ubuntu硬件实现栈
其中前两种方法不推荐, 自己新编译的内核,可能会导致某些开发库因为没有相应的适配所以无法正常使用, 同样Ubuntu跨版本升级, 往往导致很多兼容性问题, 请谨慎升级. 相比较来说, 升级硬件实现栈HWE则相对来说安全很多

#2 Ubuntu硬件实现栈HWE介绍
Ubuntu硬件实现栈(HWE)是一个功能旨在提供硬件支持, 实现了在Ubuntu的新版本提供了Ubuntu的LTS版本. 这些硬件实现栈纳入安装选择Ubuntu LTS(长期支持)媒体发布. 硬件实现栈本身是由更新内核和图形叠加.
我们知道Ubuntu每隔半年会发布一个新版本, 然后每隔两年会发布一个LTS长期支持版, 发布的版本号往往用"年份.月份"来命名
* 2004年发行第一个版本4.10 * 2005年4月发行第二个版本5.04 * 2005年10月发行第三个版本5.10 * 2006年6月发行第四个版本6.06 LTS 2 * 2006年10月发行第五个版本6.10 * 2007年4月发行第六个版本7.04 ...... * 2016年四月发布16.04 LTS
每个LTS长期支持版的维护的周期都很长, 但是Ubuntu发布的周期又很快, 每个版本都重新维护很麻烦, 所以开发人员提供硬件实现栈HWE, 这样LTS可以使用主线版本的内核信息, 维护起来很方便
按惯例, Ubuntu 14.04 的第一个HWE 将使用Ubuntu 14.10内核, 版本更新为14.04.1, Ubuntu 16.04 的第一个 HWE 将使用 Ubuntu 16.10 内核, 版本为14.04.1, 正常来说如果第一个HWE版本被释放, 我们就可以认为此版本LTS已经趋于稳定了
参见
下表将Ubuntu 14.04.x LTS的对应的硬件实现栈和EOL日期
| Ubuntu 14.04.x LTS Point Release | HWE Stack | EOL Date |
|---|---|---|
| 14.04.1 | N/A | N/A |
| 14.04.2 | Ubuntu 14.10 Utopic HWE Stack (v3.16 kernel) | Aug 4, 2016 |
| 14.04.3 | Ubuntu 15.04 Vivid HWE Stack (v3.19 kernel) | Aug 4, 2016 |
| 14.04.4 | Ubuntu 15.10 Wily HWE Stack (v4.2 kernel) | Aug 4, 2016 |
| 14.04.5 | Ubuntu 16.04 Xenial HWE Stack (v4.4. Kernel) | April, 2019 |
我们可以看到14.04.4的支持和维护已经终止了(Aug 4, 2016 ), 但是14.04.5将采用16.04的新内核, 并最终维护到2019年, 所以还等什么呢, 速度升级吧.
你可以使用如下命令检查系统安装时的信息
cat /var/log/installer/media-info

#3 升级HWE
首先我们明确一点, 我们仅是升级Ubuntu14.04的HWE, 并不将14.04升级成16.04, 主要考虑的原因是16.04仍然不够稳定, 而且如果想要升级的话, 我们不如直接重新安装16.04系统, 使用更新管理器直接升级的话, 会有很多兼容性问题, 而且升级失败进不了系统的比比皆是, 相比较来说升级HWE则相对安全很多
##3.1 查看你的HWE的基本信息
hwe-support-status命令行实用程序可以用来查看我们系统支持的状况, 在更新管理器核心包在Ubuntu 14.04提供. 它包括由其他更新管理器使用的中央逻辑和更新通知提醒我们EOL通知用户.
查看你的HWE的EOL支持日期
hwe-support-status --verbose

如果您想查看你升级HWE的过程中那些包将会升级, 请使用如下命令 To determine which packages to upgrade use:
hwe-support-status --show-replacements

如果您想查看那么包将不再支持(这些包通常是旧的内核的包) To find out what packages are unsupported run:
hwe-support-status --show-all-unsupported

##3.2 升级HWE
DESKTOP桌面版, 请使用如下命令升级
sudo apt-get install --install-recommends linux-generic-lts-xenial xserver-xorg-core-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial libwayland-egl1-mesa-lts-xenial
MULTIARCH DESKTOP桌面版, 请使用如下命令升级(如果不出意外的话, 多数系统比如amd64等架构的桌面系统都应该使用此命令进行升级)
If you run a multiarch desktop (for example, i386 and amd64 on amd64, for gaming or Wine), you may find you need a slightly more involved command, like this:
sudo apt-get install --install-recommends linux-generic-lts-xenial xserver-xorg-core-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial libwayland-egl1-mesa-lts-xenial libgl1-mesa-glx-lts-xenial libgl1-mesa-glx-lts-xenial:i386 libglapi-mesa-lts-xenial:i386
SERVER服务器版, 请使用如下命令升级
Install the HWE kernel derived from 16.04 (xenial):
sudo apt-get install --install-recommends linux-generic-lts-xenial
当然您也可以运行更新管理器, 让系统检查并提示您升级
sudo rm /var/lib/update-notifier/disable-hwe-eol-messages
hwe-support-status
update-manager
然后一般会提示类似如下的对话框, 软件源提示"New important security and hardware support update."

注意
使用
apt-get install命令与使用软件更新管理器update-manager没有任何实质的差别, 但是如果您担心自己命令输入错误而导致的一些不稳定因素, 可选择使用软件更新管理器update-manager由系统自行执行更新命令
Ubuntu14.04的主线支持信息和内核版本, 如下图所示

##3.3 验证EOL
最后使用查看自己的HWE的EOL信息
hwe-support-status --verbose
可以看到我们的支持日期是2019年

查看系统中的内核镜像信息
sudo dpkg -l | grep linux-generic-lts

可以看到系统中安装了linux-generic-lts-xenial-4.4.0.38.28的内核
##3.4 卸载旧的HWE
如果不确定新的HWE是否安装成功, 请慎用此命令
sudo apt-get remove $(hwe-support-status --show-all-unsupported)
##3.5 使用新的HWE并验证
一般来说安装好后重启, 系统会自己加载新的内核镜像, 如果没有加载可手动生成grub.cfg的信息, 参见Ubuntu下grub配置详解
如果grub没有被更新, 手动更新grub
sudo update-grub
如果grub.cfg没有被生成, 使用如下命令手动生成
grub-mkconfig -o /boot/grub/grub.cfg
然后reboot重新启动, 然后使用uname -r查看内核版本, 看到现在系统的内核是Linux-4.4

lsb_release -a查看系统的信息, 可以看到现在系统升级为14.04.5

================== End
Ubuntu14.04更新硬件实现堆栈(HWE)的更多相关文章
- Ubuntu14.04更新源
Ubuntu14.04更新源 http://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html Ubuntu源 http://wiki.ub ...
- Ubuntu14.04更新源、安装chrome/搜狗输入法
目录: 1.更新源 2.安装chrome 3.安装搜狗输入法 1.更新源 三步: cp /etc/apt/sources.list /etc/apt/sources.list_backup ...
- NV显卡Ubuntu14.04更新软件导致登录死循环,不过可以进入tty模式
注意:此方法只适用于nv显卡的电脑! 在网上寻找各种方法无果的情况下,选择重新安装显卡驱动,成功登录进入图形界面. 一.首先需要在另外一台电脑(windows系统也可以)上下载NVIDIA相应显卡驱动 ...
- Ubuntu14.04 LTS更新源
Ubuntu14.04 LTS更新源 不同的网络状况连接以下源的速度不同, 建议在添加前手动验证以下源的连接速度(ping下就行),选择最快的源可以节省大批下载时间. 首先备份源列表: sudo cp ...
- ubuntu14.04行更新软件包
ubuntu14.04行更新软件包 headsen chen 2017-10-12 16:01:34 apt-get update对应的就是第一步. apt-get upgrade 与apt-g ...
- Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)
前言: 最近在学习深度学习,最先要解决的当然是开源框架的环境安装了.之前一直在学习谷歌的Tensorflow开源框架,最近实验中需要跟别人的算法比较,下载的别人的代码很多都是Caffe的,所以想着搭建 ...
- ubuntu14.04 LTS 更新国内网易163源
2015/10/7 更改ubuntu的默认源是linux学习中必须掌握的基础技能.在此记录,以作参考. 在ubuntu14.04 LTS默认使用的是国外源,由于网络的原因,使用apt-get安装包时异 ...
- ubuntu14.04+nvidia driver+cuda8+cudnn5+tensorflow0.12
文章在简书里面编辑的,复制过来貌似不太好看,还是到简书的页面看吧: http://www.jianshu.com/p/c89b97d052b7 1.安装环境简介: 硬件: cpu:i7 6700k g ...
- 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记
基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...
随机推荐
- curl_setopt(ch, option, value)函数上传文件
bool curl_setopt ( resource $ch , int $option , mixed $value ) 为给定的cURL会话句柄设置一个选项 详细介绍请到:http://www. ...
- jquery中mouseover和mouseenter的区别
jquery中mouseover和mouseenter的区别 一.总结 一句话总结: 见名知意:enter(进入)和over(在上方)的意思好好思考一下 mouseover就是从子元素回到自己的时候也 ...
- 在debian下安装QT 5.10 32位
准备工作: 在开始之前最好把GCC升级到5.0以上. 如果升级后出现“libstdc++.so.6: version `CXXABI_1.3.9' not found”错误,可以参考https://b ...
- ubuntu下最好用的防火墙shadaarp ,带主动防御
shada-arpfirewall-1.0alpha3.i386.rpm 所有基于rpm的x86 Linux(内核版本>=2.6.27) Mar 11 82.9 KB sha ...
- 对String的内存解析
@Test public void stringTest(){ /* * str1和str2地址指向字符串常量池 * 解析: str1 在字符串常量池中创建出java 地址例如为:0x456 * st ...
- 在DELPHI中动态创建控件以及控件的事件
在DELPHI中我们经常要动态的创建控件以及控件的事件.例如,我们可能想根据程序需要动态的创建一些Tshape组件来创建某个图形,并使得在鼠标移动上去之后可以完成某些操作.这一般需要需要三步: 生成一 ...
- c/c++编码规范(1)--头文件
最近工作稍微轻松一点,就再学习了一下编码规范.遂记些笔记,以便查阅. 这次学习的是Google 开源项目风格指南中文版,地址是:http://zh-google-styleguide.readthed ...
- 部署 --- Docker
Docker学习 介绍 : Docker速度更快.性能更高.操作更易.我们开发的不同的程序APP是需要在操作系统中单独的环境中隔离运行的. 为了能让我们不同的程序可以在隔离的环境中运行:我们可以使用虚 ...
- python 安装第三方模块的各种方法
whl包的安装:pip install **.whl(要有pip 和 下载好的whl文件) tar.gz包的安装:python setup.py install (先将tar.gz解压到指定文件夹,在 ...
- Hyperledger Fabric1.4 网络环境搭建步骤
1. 外部访问虚拟机: 安装ssh apt-get install openssh-server openssh-client 2. 安装vim sudo apt install vim 3. ...