当前位置: 首页 > news >正文

FreeBSD-STABLE 居然是开发用的分支,我一直搞错了好多年...!


我一直认为对于FreeBSD的系统来说,发行版的稳定性是:CURRENT < RELEASE < STABLE,所以在灌完系统后立刻 cvsup 到对应
的 STABLE 版本去...


这几天刚好碰到 Pengfei 也在看 FreeBSD 的 cvsup 管理部分,他正在疑惑生产系统上面是用 STABLE 还是用 RELEASE 的好,还几乎
要向 CURRENT 靠拢... 我听了后立刻进行“镇压”,强调说:要以STABLE的名义行事,还“忽悠”他说不要看网络上那些被人转手好几
遍的小报技术文章...。


今天早上到公司,收到 Pengfei 的邮件中又提到此问题,我看到出处是《FreeBSD用户手册》,眉宇之间立刻拧成了一个疙瘩,仔细
再次阅读了“
23.2 FreeBSD-CURRENT 和 FreeBSD-STABLE 的对比”。一看之下,立刻意识到了问题的严重性...!

摘录自《FreeBSD 用户手册》

  如果您有兴趣追随 FreeBSD 的开发过程或为其做点贡献, 尤其是和下一个 “非计划” 的 FreeBSD 发行版有关时, 您应该考虑采用 FreeBSD-STABLE。

  尽管安全更新也会进入 FreeBSD-STABLE 分支,但您并不 必须 使用 FreeBSD-STABLE 来达到这样的目的。 每一个 FreeBSD 的安全公告都会解释如何修复受到影响的发行版中的问题 [1],而因为安全原因而去采用一个开发分支显然可能会同时引入一些不希望的修改。

  尽管我们尽力确保 FreeBSD-STABLE 分支在任何时候都能够正确编译和运行, 但没有人能够担保它在任何时候都总可以。 此外, 尽管代码在进入 FreeBSD-STABLE 之前都是在 FreeBSD-CURRENT 上完成开发, 但使用 FreeBSD-STABLE 的人要比使用 FreeBSD-CURRENT 的更多。 有证据显示, 犄角旮旯里的各种问题有些时候仍然会由于在 FreeBSD-CURRENT 不那么明显 而在 FreeBSD-STABLE 暴露出来。

  基于这些原因, 推荐您盲目地追随 FreeBSD-STABLE, 并且, 在粗略地测试过代码之前不要更新任何生产服务器到 FreeBSD-STABLE 也非常重要。

  如果您没有用于完成这些工作的资源, 我们推荐您使用最新的 FreeBSD 发行版, 并使用发行版提供的二进制更新机制来在发行版之间完成迁移。


带着疑问,去请教一下 delphij ,得到的答复再次让自己寒到死...原来自己犯错好多年...

的确:
<1> CURRENT & STABLE 都是属于开发的代码分支;
<2> CURRENT 并不会保证随时都可用,属于最前沿的开发分支;
<3> 代码进入 STABLE 前都会在 CURRENT 分支上面开发完成;
<4> 生产环境(Production Environment)推荐使用 RELEASE 的发行版;

不要被 STABLE 的字面意思和习惯给迷惑了,英文中的原意如下,看来我们平时翻译的时候多有歧义:

1. not changing: steady and not liable to change, Prices have remained stable.

2. not likely to move: steady or firm and not liable to move

3. not excitable: having a calm and steady temperament, rather than being excitable or given to apparently irrational behavior

4. chemistry physics not readily undergoing change: not subject to changes in chemical or physical properties

5. physics not naturally radioactive: incapable of becoming a different isotope or element by radioactive decay

说了这么多,我还是跑小黑屋反省去了... 感谢一下 Pengfei,俺要学习他的治学精神...

相关文章:

  • Spring Data JPA 在 SpringBoot 应用中的简单实践
  • 心与心的交流
  • SimpleDateFormat 线程不安全案例
  • BPEL和JAVA(一篇不错的BPEL入门)
  • 关于 BlockingQueue 的一些认识及资料汇总
  • 欣闻我班上的学生林健在Image Cup比赛中取得好成绩
  • C#.NET常用函数大全
  • Java基本类型简介
  • 动态调用 WebService
  • 关于 ThreadPoolExecutor 的一些资料汇总及个人认识
  • ADO.NET数据操作摘录
  • 线程池ThreadPoolExecutor的拒绝策略
  • 关于 ScheduledThreadPoolExecutor 的一些资料汇总及个人理解
  • 无聊的事情真多
  • 转载一篇关于JNI实践的博客---以及编写自己的native方法
  • python3.6+scrapy+mysql 爬虫实战
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • download使用浅析
  • fetch 从初识到应用
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • rabbitmq延迟消息示例
  • storm drpc实例
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 基于组件的设计工作流与界面抽象
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 码农张的Bug人生 - 初来乍到
  • 每天一个设计模式之命令模式
  • 嵌入式文件系统
  • 使用parted解决大于2T的磁盘分区
  • 我建了一个叫Hello World的项目
  • 用jQuery怎么做到前后端分离
  • 数据库巡检项
  • ​TypeScript都不会用,也敢说会前端?
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C语言)fread与fwrite详解
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二)正点原子I.MX6ULL u-boot移植
  • (理论篇)httpmoudle和httphandler一览
  • *上位机的定义
  • .apk 成为历史!
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Framework .NET Core与 .NET 的区别
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .net 按比例显示图片的缩略图
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .net专家(高海东的专栏)
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • /3GB和/USERVA开关
  • @angular/cli项目构建--http(2)