说到升级...通常肯定会以下2个步骤:

  1. 检查是否有新版本.
  2. 下载和安装新版本.

在 CoreOS 中也一样,我们先来看下在 CoreOS 中对应的命令:

# 检查是否有新版本
update_engine_client -check_for_update
# 下载和安装新版本
update_engine_client -update

CoreOS 升级中最主要的命令就是上面这2个了,用脑子记好了.

看到这里,肯定有不少小伙伴已经迫不及待的去手搓命令去执行升级了,
然而,你可能会遇见这样的情况:

# 检查是否有新版本
update_engine_client -check_for_update
# 一般会输出下面这么一句,然后啥反应也没了...
I0529 06:41:05.984814 816 update_engine_client.cc:247] Initiating update check and install.
# 下载和安装新版本
update_engine_client -update
# 一般会输出下面这段
I0529 06:42:48.364600 817 update_engine_client.cc:247] Initiating update check and install.
I0529 06:42:48.372054 817 update_engine_client.cc:252] Waiting for update to complete.
LAST_CHECKED_TIME=1496040169
PROGRESS=0.000000
CURRENT_OP=UPDATE_STATUS_IDLE
NEW_VERSION=0.0.0
NEW_SIZE=0
E0529 06:42:53.524657 817 update_engine_client.cc:190] Update failed.
# 咋一看`NEW_VERSION=0.0.0`是没检测到新版本,
# 再咋一看`Update failed`,咦...都没有新版本,为什么更新失败呢?

Tips: 需要注意的是,不管是网络问题导致的找不到更新,还是已经更新到最新版本了,执行update_engine_client -update都会出现NEW_VERSION=0.0.0Update failed的情况,这明显是**!human**的设计啊...

这里会有这么几种情况:

  • CoreOS 的更新需要连接远程服务器,那么会涉及到对外(墙外...你懂得)的网络连接问题,这个问题会比较普遍,一般是通过设置代理来解决.
  • 其次是 CoreOS 升级所要涉及到的 CoreOS 版本问题.

CoreOS 版本

大多数的软件通常都有什么内测版、公测版什么的.
而在 CoreOS 中, 有以下3个版本:

  • alpha - α版,音译:阿尔法,俗称尝鲜版,是最新的版本,但是容易出现bug,最不稳定.
  • beta - β版,音译:贝塔版,俗称内测版,修复了一些alpha版中的bug,相对稳定.
  • stable - 俗称稳定版,修复了beta版中的所有已知bug,最稳定,更适用于生产环境.

可以明显看出:

3个版本的出世时间: alpha > beta > stable.

对应的3个版本的版本号也是:alpha > beta > stable.

具体的版本号我们可以查看 CoreOS 官网 提供的发行日志:
CoreOS Release

这里就引出一个实质性的问题:"我TM更新的到底是哪个版本?"

不要急,我们来慢慢看:

# 可以通过查看/etc/coreos/update.conf文件中的GROUP属性的值来得到.
cat /etc/coreos/update.conf
# 输出
GROUP=alpha

可以看到,我的更新的是针对alpha版本的.
当然,如果你想要更换成别的版本,可以修改GROUP的值,然后执行命令systemctl daemon-reload重新加载下即可生效.

CoreOS 更新策略

待补充...

CoreOS 手动升级篇的更多相关文章

  1. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  2. 方案:手动升级WordPress系统

    对于WordPress系统及时进行更新维护是十分必须的操作,更新维护不仅可以更新系统服务功能,还能够完善安全系统.      如果你是虚拟主机的用户,可以使用FTP账户进行自动更新服务,但是如果你是V ...

  3. 57. Spring 自定义properties升级篇【从零开始学Spring Boot】

    之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多 ...

  4. 64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 )

    64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 ) [PS: 如果在64位系统下,出现调用测试demo,返回false的情况下,请修改Hook Dll的代码] glhH ...

  5. 一步一步学EF系列【4、升级篇 实体与数据库的映射】live writer真坑,第4次补发

    前言 之前的几篇文章,被推荐到首页后,又被博客园下了,原因内容太少,那我要写多点呢,还是就按照这种频率进行写呢?本身我的意图这个系列就是想已最简单最容易理解的方式进行,每篇内容也不要太多,这样初学者容 ...

  6. 【IT小常识】如何将IE手动升级或降级

    我们从浏览器任意下载一个我们需要安装的IE版本.可能部分电脑的IE版本不是微软正版的IE版本,所以无法通过更新来获取我们想要的IE版本. 下面,详细的讲一下如何如何手动升级IE或者吧IE降级. 一. ...

  7. 2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(视频总揽)

    1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(方案总揽) https://v.youku.com/v_show/id_XNDE0Njk3Njg2OA==. ...

  8. 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(方案总揽)

    我的这个升级篇的代码适用于自己所有的带WIFI和GPRS模块的开发板,升级功能实质上是通过MQTT把数据发给WIFI和GPRS模块,然后模块进行保存和运行. 这个升级程序是当时自己花了两个星期的时间写 ...

  9. 7-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(TCP实现HTTP访问下载文件,明白底层如何实现的,地基稳才踏实)

    看了好多文章.....唉,还是自己亲自动手用网络监控软件测试吧 先看这个节安装WEB服务器.....安装好以后就可以用HTTP访问电脑文件了 6-STM32物联网开发WIFI(ESP8266)+GPR ...

  10. 一步一步学EF系列【5、升级篇 实体与数据库的映射】live writer真坑,第4次补发

    前言 之前的几篇文章,被推荐到首页后,又被博客园下了,原因内容太少,那我要写多点呢,还是就按照这种频率进行写呢?本身我的意图这个系列就是想已最简单最容易理解的方式进行,每篇内容也不要太多,这样初学者容 ...

随机推荐

  1. C51--05---LCD1602调试工具

    一.LCD1602调试工具 单片机调试工具: 数码管 液晶屏 串口 数码管需要不断进行扫描,一旦扫描不及时就会不断闪烁,并且可显示的数据太过局限: 串口需要使用电脑进行发送指令,不易操作与携带: 所以 ...

  2. 学Shiro完结版-4

    第十四章 SSL--<跟我学Shiro> 对于SSL的支持,Shiro只是判断当前url是否需要SSL登录,如果需要自动重定向到https进行访问. 首先生成数字证书,生成证书到D:\lo ...

  3. w3cschool-Lua 教程

    https://www.w3cschool.cn/lua/ Lua 学习笔记之一(初阶话题) 1.八种基本类型: 如下表 基本类型 描述 备注 数值(number) 内部以double表示 字符串(s ...

  4. Java一个入门级MVC基于Spring Boot项目

    首先根据上一篇文章内容创建一个Spring Boot项目,如图所示: 一,创建Controller并返回数据 在src/main/java/项目文件夹下面创建package,继续里面可以创建模块的pa ...

  5. Windows 激活

    参考:链接1   链接2   链接3  链接4

  6. Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈

    Java类加载机制与JVM运行时数据区各逻辑内存区域与JDK的版本相关差异浅谈 [摘要] JVM(Java Virtual Machine)作为Java研发人员工作的每天都会接触到的虚拟机,其运行机制 ...

  7. 调试存储过程中出现 [Microsoft][ODBC SQL Server Driver]对于造型说明无效的字符值

    调试存储时如果有日期类型的参数,传入格式为:2020-07-13 12:00:00 ,无需用引号括起来. 否则会提示[Microsoft][ODBC SQL Server Driver]对于造型说明无 ...

  8. VS Code 开发工具的基本使用

    VS Code 开发工具的基本使用 VS Code(Visual Studio Code)是微软开发的一款免费.开源的代码编辑器,它支持多种操作系统,包括Windows.macOS和Linux.VS ...

  9. VScode中C/C++调试文件配置

    VScode中C/C++调试文件配置 //launch.json { "version": "2.0.0", "configurations" ...

  10. 当ABB机器人外部轴驱动器过流维修

    一.过流故障原因分析 电机负载异常 当ABB机器人外部轴驱动器所承受的负载超过其额定值时,电机需要产生更大的转矩以维持运行,从而导致电流增大.例如,在一些自动化生产线上,如果外部轴需要搬运的物品重量突 ...