首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu稳定性

Ubuntu稳定性
EN

Ask Ubuntu用户
提问于 2018-08-04 04:52:29
回答 2查看 380关注 0票数 3

tl;dr: Ubuntu是否将库更新到可以更改/删除API元素的版本?

由于Debian缺乏修补内核以支持新硬件,我遇到了一些问题,在我的组织中,新的笔记本电脑太新,无法运行Debian稳定。我雇了一个Debian承包商来创建一个带有支持内核的安装CD,但是一周后,他一直无法生产它。

现在,我不得不考虑将公司迁移到Ubuntu。但我因为以下的噩梦而失眠:

  • 一天一大早,我就上班了,几天前,我为我们的客户做了一个大演示。
  • 我有一些时间所以我apt upgrade
  • 在点击Y之后,我注意到qt5-default已经从5.9.5增加到5.10.0
  • 我编译我们的项目只是为了发现API已经改变了。
  • 我们的团队需要大约两周的时间来重新编写代码来适应。
  • 我们错过了演示,失去了出价。
  • 公司破产了,我们都失业了。

对于Debian,我不担心,因为它根本不更新。我们只得到安全补丁。令人心碎的是,新硬件不受支持。由于我没有那种拉与OEM只订购之前生产的笔记本电脑Debian稳定的版本,我需要另一个解决方案。

Ubuntu索赔,他们只执行“点发布”。当我查看16.04内核历史来了解这意味着什么时,我看到他们确实将内核从4.4更新为4.15。这告诉我,Ubuntu可能不愿意增加主要的修订,但他们愿意增加次要的修订。

我不介意从libboost1.67.01.67.1的更新,但我害怕1.68.0的更新。

我能确信Ubuntu不会升级不兼容的软件包吗?

如果我不能对Ubuntu的稳定性有信心,那么以下是可能的解决办法,尽管建议是受欢迎的:

  1. 然而,apt-mark hold <package>将阻止特定包的升级:
    1. 手动管理依赖关系将耗费时间。
    2. 我要控制整个公司。

  2. 可以在运行debian稳定的chroot环境中进行开发,将开发环境与桌面环境隔离开来。
EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2018-08-04 09:34:26

更新Ubuntu不会升级内核版本。只应用安全修补程序。

当前的LTS发行版是仿生

Ubuntu 18.4.1 (26.4.2018)

LTS发行版中的自动内核更新仅由硬件支持栈启用。

Ubuntu内核释放液

在这里可以看到,除非启用了HWE,否则LTS中的内核升级不会完成。

Ubuntu核支撑棚

在这里,您可以看到只有安全补丁已经实现。

Ubuntu是否将库更新为可以更改/删除API元素的版本?答案是否定的。我能确信Ubuntu不会升级那些不兼容的软件包吗?答案是是的,你可以。

Debian稳定也是如此。

目前稳定的版本是拉伸

Debian 9.5 ( 14.7.2018版,支持到2022年)

linux的开发

企业环境中软件开发的最佳实践是运行虚拟机,这样您就可以轻松地使用快照来保护您的工作。

示例 Qubes操作系统是一个面向安全的操作系统,它允许您使用XEN hypervisor ( KVM虚拟化的相反,)运行虚拟机(和模板,包括debian)。

如果您使用的是Qt,并且需要阻止其更新,请尝试setUpdatesEnabled(false);并启用setUpdatesEnabled(true);更新。

票数 3
EN

Ask Ubuntu用户

发布于 2018-08-04 12:19:55

Ubuntu内核编号与Linux

不同。

使用4.13.0-26搜索询问Ubuntu,您将发现2018年1月以来的101个问题和答案。当时发布的Linux版本是用于LTS内核4.14链的。

看看Ubuntu主线内核下载,我们看到4.14.11通过4.14.17 (七个内核更新)于2018年1月由Linux发布。我们还看到2018年1月发布的候选内核是4.15.rc6通过4.15.rc9 (四个内核更新)。

2018年1月,Linux为谱和熔毁预测分支理论内存泄漏做了主要的内核修订。反过来,Ubuntu团队迅速将代码移植到UbuntuKernel4.13.0-xx链中。

跟踪ABI/API更改

ABI实验室上我们可以看到最近的变化发生在2018年6月4日、5日和6日:

我们可以看到2018年6月修改的Linux内核编号是:

  • 4.14.484.9.1074.4.136所有6年的LTS内核

相应的Ubuntu内核版本号可能是:

当新的硬件支持或对现有硬件的错误修复发布时,我们需要升级Linux内核。当涉及ABI/API更改时,Ubuntu内核可能工作,也可能不工作。即使ABI/API没有发生更改,Ubuntu也可能因为其他原因而中断。

对于局外人来说,寻找新的Linux内核版本编号和Ubuntu内核版本编号之间的关联是非常困难的。以Ubuntu 2017年年6月6日最近的时事通讯为例,它比上面的ABI/API更改早一年:

代码语言:javascript
复制
Kernel Versions
====================================================================
         precise  3.2.0-126.169
          trusty  3.13.0-119.166
           vivid  3.19.0-84.92
          xenial  4.4.0-78.99
         yakkety  4.8.0-53.56

linux-lts-trusty  3.13.0-117.164~precise1
 linux-lts-vivid  3.19.0-80.88~14.04.1
linux-lts-xenial  4.4.0-78.99~14.04.1

我们看到那个时间段(2017年6月7日)的相应的Linux内核版本号是:3.2.893.10.1053.16.443.18.564.1.404.4.714.9.314.11.44.12-rc4

克隆与功能测试

您可以考虑使用自动克隆、升级和功能测试,而不是在周一早上昏昏欲睡的时候使用临时sudo apt upgrade

  1. 一个任务在午夜运行,将您的16.04或18.04克隆到测试分区:Bash脚本将Ubuntu克隆到新分区以测试18.04 LTS升级
  2. 克隆了一个小的cron后,将创建一个重新启动脚本来运行sudo apt upgrade并运行您的测试函数。
  3. 克隆之后,grub将重新引导到克隆版本:Grub:重新启动到特定的内核
  4. 当克隆被重新启动时,cron重新启动脚本将为无人值守的升级和单元测试运行。
  5. 单元测试应将所有库版本号与已知编号进行比较,如果版本号已更新为未经测试的编号,则应发送电子邮件给您。
  6. 单元测试将调用所有已知函数,传递测试参数,并将返回值与预期结果进行比较。任何不一致的地方都会发电子邮件给你。
  7. 完成后,单元测试脚本将通过电子邮件发送最终结果,将grub设置为重新启动为活动环境,然后关闭。
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1062198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档