一个选项帮你绕过 Ubuntu LTS 版本升级陷阱
2014 年我刚接触 Linux 服务器,各种组件折腾好几天,终于费了九牛二虎之力,做好了 Ubuntu Server 14.04 LTS 的环境和牢固的安全策略。
LTS 是 Long Term Support (LTS) 的缩写,也就是超长期支持版本。区别于普通版本的 18 个月的安全更新服务,LTS 版本为我们提供长达五年的安全更新服务,每隔两年 Ubuntu 就会推出一个 LTS 版本,常见的有 12.04、14.04 以及最新的 16.04。
为什么会推出 LTS 版本呢?一直用最新版不就好了吗?实际上 LTS 版本主要是为企业市场服务的,跟家庭个人用户不同,企业级服务器求的不是最新而是最稳。个人的系统坏了可以随时重装,生产环境可不行……想当年魔兽世界服务器三天两头回档,红了眼的玩家把客服电话都打爆了。另一方面生产环境的服务器升级一次不容易,除了基础组件配置外,还要做集群、缓存、消息队列等各种复杂的设置。
默认情况下 Ubuntu 通过 apt 安装的 Apache 的 MPM 是 prefork 模式的,这种模式比较老,虽然稳定性好,但毕竟效率低,干脆改成最新的 worker 模式把!但发现 apt-get 各种 404……
必须是阿里云的源列表太山寨,才404!接下来我就各种切换源列表,163 / 阿里云 / Ubuntu 中国官方……各种源换了个遍依旧 404。
问题变得有些复杂…… Google 之后才知道原来是因为我的版本停止维护了!
纳尼?我开始怀疑人生,说好的 LTS 呢?说好的长达五年支持呢!怎么说也能坚持到 2019 年的呀,难道外国公司也会骗人了?
继续 Google !终于知道虽说版本号都是 14 开头,但 14.04 和 14.10 是完全不同的!天真的我一直以为 14.10 不过是 14.04 的升级版-..-#
都怪我开了服务器自动更新的呀,每天服务器都会去自动打补丁的啊喂!
真实情况情况是 Ubuntu 更新是不带更版本号的, 就算 14.04 更新 5 年,版本号还是 14.04……
好吧,是我低估了对手,误解了“安全更新”和“分支更新”的区别。
能不能只打补丁,却不更新版本号呢?于是我开始改造,终于找到了只做“安全更新”不做“分支更新”的办法,只需打开这个文件:
sudo vi /etc/update-manager/release-upgrades
[shell]
# Default prompting behavior, valid options:
#
# never – Never check for a new release.
# normal – Check to see if a new release is available. If more than one new
# release is found, the release upgrader will attempt to upgrade to
# the release that immediately succeeds the currently-running
# release.
# lts – Check to see if a new LTS release is available. The upgrader
# will attempt to upgrade to the first LTS release available after
# the currently-running one. Note that this option should not be
# used if the currently-running release is not itself an LTS
# release, since in that case the upgrader won’t be able to
# determine if a newer release is available.
Prompt=normal
[/shell]
此处的 Prompt 可以配置“分支升级方式”,有三个值分别为:
- lts(仅升级到 lts 版本)
- normal(升级到最新版,无论是否为 lts)
- nerve(永不升级,无论是否 lts)
我们设置为 lts 或者 nerv 就会可以真正享受长达 5 年的支持官方了。
欢迎转载,但请勿用于任何商业用途,谢谢你!请标注以下信息『 原文出处:一个选项帮你绕过 Ubuntu LTS 版本升级陷阱 - 张林海博客 http://zhanglinhai.com/archives/341 』