
你可能知道,Linux Mint 是一个基于 Ubuntu 的发行版。
Ubuntu 每六个月发布一个新版本,但 Linux Mint 并不遵循六个月一次的发行模式。
Linux Mint 以 Ubuntu LTS(长期支持long term support)版本作为其基础。Ubuntu 的 LTS 版本每两年发布一次,所以 你也会每两年得到一个 Mint 的大版本更新(比如 Mint 19, 20, 21 等)。
与 Ubuntu LTS 版本一样,Linux Mint 的大版本也被支持五年。虽然在这期间有三个小更新版本(比如 Mint 20.1、20.2、20.3)。
与 Ubuntu 相比,多久能得到一次 Linux Mint 的升级?你应该在什么时候等待 Linux Mint 的升级?当有新版本的时候,你应该升级到新版本吗?
在这里,让我重点介绍一下这些 Linux Mint 的发行周期的重要细节。
Ubuntu 每两年发布一个长期支持版本。之后很快就会有一个 Mint 版本出现。换句话说,你每两年就会得到一个新的 Mint 版本。
所以,Linux Mint 20 是在 2020 年基于 Ubuntu 20.04 发行的,Mint 21 是在 2022 年基于 Ubuntu 22.04 发行的。
与 Ubuntu 不同,Mint 没有严格的发行时间表。没有事先确定的发行日期。新版本在其开发者认为准备好的时候就会到来。
在 Mint 的两个大版本发布之间,有三个小版本,每隔 6 个月发布一次。
即 Mint 20(即 20.0)是在 2020 年 6 月发布的。Mint 20.1 在 2020 年 12 月,Mint 20.2 在 2021 年 6 月,Mint 20.3 在 2021 年 12 月。在这之后,Mint 团队将致力于开发下一个大版本。
这些小版本会更新什么?比如,一个新版本的桌面环境,主要包含用户图形界面的视觉变化。它有时也可能提供新的应用程序。
升级到小版本是可选的。你可以选择继续使用 20.1,而不升级到 20.2 和 20.3。这是那些不喜欢频繁(在图形界面上)改变他们系统的人的首选。
在最后一个消版本发布(XX.03)之后,你的系统将只得到已安装软件的安全和维护更新。你不会得到桌面环境和其他一些软件(如 GIMP 或 LibreOffice)的新的大版本更新。
并非所有基于 Ubuntu 的发行版都能为你提供与 Canonical 的 Ubuntu 相同的周期性更新优势。许多基于 Ubuntu 的发行版和 官方的衍生版本 提供了最长 3 年的支持。
幸运的是,对于 Linux Mint 来说,你可以得到和 Ubuntu 一样的更新福利。
每个 Linux Mint 版本的支持期为 5 年,在此之后,你必须升级到下一个版本,或者重新安装较新的版本。
例如,Mint 20 是在 2020 年发布的,比 Ubuntu 20.04 晚几个月。Ubuntu 20.04 LTS 被支持到 2025 年,因此 Mint 20 系列也被支持到 2025 年。
一个系列的所有小版本都支持到同一日期。Mint 20.1、20.2 和 20.3 都将被支持到 2025 年。
同样地,Ubuntu 22.04 LTS 将被支持到 2027 年 4 月。你可以期待 Linux Mint 21 系列(它基于 Ubuntu 22.04)的更新周期到相同的时间线。
总结一下:
这完全取决于你,
每两年会有一个新的大版本。你可以选择在那时升级它,或者你可以在整个五年的生命周期内保持你目前的版本。
除非你想获得最新的功能和改进,你可以选择不把你的 Linux Mint 安装升级到另一个大版本。
对于小版本,你可以选择更新,也可以不更新。比如,20 到 20.1 或 20.1 到 20.2。即使你不使用最新的小版本,你仍然会得到重要的安全和维护更新。
你可以参考我们的 Linux Mint 升级指南 以寻求帮助。
与 Ubuntu 发行版不同,Linux Mint 有一个不同的编号方案。Linux Mint 喜欢在每一个 Ubuntu LTS 版本中提升编号。
换句话说:
Linux Mint 19 → Ubuntu 18.04 LTS
Linux Mint 20 → Ubuntu 20.04 LTS
Linux Mint 21 → Ubuntu 22.04 LTS
所以,你应该避开以下的混淆:
Linux Mint 20 基于 Ubuntu 20.04 并不意味着 Linux Mint 21 将基于 Ubuntu 21.04。
此外,每个版本都有三个小版本,带有内核的小更新和一些 Linux Mint 应用程序的潜在升级。
现在,来看看它的命名方案:
每个 Linux Mint 版本,无论是小的还是大的,都有一个代号。通常,它是一个女性的名字,通常源自希腊或拉丁语。
和 Ubuntu 一样,代号也有一个模式。大版本的代号是按字母顺序递增的。当涉及到小版本时,你会发现新的名字会以相同的字母开头。
例如,Mint 20 被称为 Ulyana,20.1 为 Ulyssa,20.2 为 Uma,而 20.3 为 Una。同样地,Mint 19 系列的代号以 T 开头。
在写这篇文章的时候,Mint 21(最新版本)的代号以 V 开头,21 系列的第一个版本叫 Vanessa。
在 Mint 21 系列中至少还会有三个小版本,它们将每六个月发布一次,直到 2024 年的下一个 Mint 大版本。而它们都将有一个以字母 V 开头的代号。
我希望这篇文章能消除对 Linux Mint 升级的各种困惑,并让你更多地了解 Linux Mint 的发布和更新周期。
(题图:MJ/mint cinamon plain dark background in high resolution, very detailed, 8k)
我在Ruby中有很多时间范围:period=Time.parse('8:00am')..Time.parse('8:00pm')incidents=[Time.parse('7:00am')..Time.parse('9:00am'),Time.parse('1:00pm')..Time.parse('3:00pm'),Time.parse('1:30pm')..Time.parse('3:30pm'),Time.parse('7:00pm')..Time.parse('9:00pm'),]我正试图在这段时间内获得一系列无事件block。对于以上内容:[Time.parse('9:00
unicorn有OobGC可用于在一定数量的请求后运行GC.start的机架中间件。PhusionPassenger中有类似的东西吗? 最佳答案 PhusionPassenger4正式引入了带外垃圾回收机制。它比Unicorn更灵活,允许任意工作,而不仅仅是垃圾收集。http://blog.phusion.nl/2013/01/22/phusion-passenger-4-technology-preview-out-of-band-work/ 关于ruby-on-rails-有没有一种
我有一个rubyonrails应用程序,我试图在其中找到每隔几秒运行一些代码的方法。我发现了很多使用cron或类似cron的实现的信息和想法,但这些只是准确到分钟,并且/或需要外部工具。我想每15秒左右启动一次任务,并且我希望它完全独立于应用程序中(如果应用程序停止,任务也停止,并且没有外部设置)。这用于缓存数据的后台生成。每隔几秒,任务就会收集一些数据,然后将其存储在缓存中,供所有客户端请求使用。该任务非常慢,因此需要在后台运行并且不阻塞客户端请求。我是ruby的新手,但有很强的perl背景,我解决这个问题的方法是创建一个间隔计时器和处理程序,它fork、运行代码,然后在完成
我正在尝试了解Rails应用程序的生命周期。application_controller.rb什么时候运行?是每次更改时只执行一次,还是每次请求时都执行一次?我想了解以下文件:config/environments/*.rb(开发、生产或测试,取决于当前模式)boot.rb环境.rb路线.rb我问这个的原因之一是,我想知道放在哪里比较好初始化代码自定义配置数据编辑:@Gdeglin的回答很好,但我实际上很想知道这些文件中的每一个何时运行。 最佳答案 应用程序Controller.rbApplicationController是所有C
所以我有一个使用React和Ajax调用的有趣案例。在上下文中,我有一个带有3个选项卡的Accordion。初始化Accordionreact组件后,我首先打开第一个选项卡,其余选项卡关闭。每个选项卡的主体中都有所谓的DictionaryCall组件,如下所示:returnclassDictionaryCallextendsReact.Component{constructor(props){super();this.state={word:'',data:[],error:false,nodata:false,initialLoaded:props.load}}componentDi
我正在Javascript上构建自定义slider,我希望每次用户单击slider的div时,slider都应停止X秒。我的代码是:$(document).ready(function(){varciclo;varindex_slide=1;functionstartSlidercicle(){ciclo=setInterval(function(){//Slidercodegoeshere},3000);}//HereIstarttheslideranimationstartSlidercicle();//Whentheuserclicksonadivcalled'slide',st
这是一个例子:混入.jsexportdefault{methods:{aFunction(){//Somefunctionalityhere}}}组件.vueimportmixinfrom'./mixin'exportdefault{mixins:[mixin]created(){//CallaFunctiondefinedinthemixinhere}}我想从组件内部的created()生命周期方法访问在mixin方法内部定义的aFunction。 最佳答案 mixin方法与组件的当前实例合并,所以它只是:created(){th
我想知道javascriptblock/函数是否在加载后始终可用。因为我已经测试了一些东西,现在我有点困惑。我将一个脚本block定义到一个div中。脚本block有一个事件处理函数,用于元素使用ajax重新加载div。ajax调用返回div的纯html并将其替换为当前的html。但这意味着替换执行的脚本。我认为脚本会在替换语句后停止执行。但它没有。执行替换语句后的代码行那么这些东西是如何工作的。您如何描述脚本block的生命周期? 最佳答案 当代码包含在script中时元素被求值时,代码求值的结果成为页面运行时环境的一部分。删除s
我正在实现处理选项卡的GoogleChrome扩展程序。这包括我获取onCreated、onUpdated和onActivated。每次,我都在我的逻辑中使用tabId,它最初在处理onCreated事件期间存储在一个数组中。原则上,一切正常。但是,我注意到了一个小故障。有时,现有选项卡的ID会更改。因此,一个选项卡有一个不在我的数组中的ID,这自然会导致错误。我可以在以下用例中重现此问题:使用不同的URL打开2个或更多标签在一个选项卡中加载一个已在另一个选项卡中加载的URL在这种情况下,会发生两件事:首先,触发T的onActivated事件,而不是onUpdated事件。其次,T现在
我正在使用延迟加载的Angular模块开发应用程序。我有一个简单的问题:是否可以在加载模块时捕获事件?例如OnInit。此链接解释了生命周期Hook,但它仅适用于组件:Lifecyclehooksforcomponents我找不到任何说明如何挂接模块的文档。有人知道如何解决这个问题吗?谢谢 最佳答案 延迟加载模块的构造函数应该这样做@NgModule({...})exportclassMyLazyModule{constructor(/*serviceinjectionhereifrequired*/){console.log('l