2022年1月

24 小时自毁网站已经运行了近两年

2020 年 4 月,一个名为“这个网站会自毁”的网站悄悄上线了。它的自毁可以被网友们拯救:“你可以向我发送信息。如果 24 小时内我没有收到信息,将会永久自毁。”不过快两年过去了,它依然活着。这个网站上有各种各样的留言,你留言之后不但可以给这个网站续命,而且可以随机看到一条别人的留言。

老王点评:很有趣的一个社会实验,或许这个网站自毁的一天就是人类对自己已经失望的一天吧。

Ubuntu 22.04 LTS 计划坚守 Linux 内核 5.15

昨天我们发的 文章 中预测 Ubuntu 22.04 中可能会使用 Linux 内核 5.17。但是在关于 Ubuntu 22.04 的 GNOME 计划的讨论中,Canonical 提到 “计划是在 LTS 中使用 5.15,但是 OEM 和 HWE 版本将在某个时候升级到 5.17”。也就是说,在 2023 年,Ubuntu 22.04.2 LTS 将使用 Ubuntu 22.10 的 HWE 内核,而 Ubuntu 的 OEM 合作伙伴,如戴尔也能够为他们最新的 Linux 预装系统提供更新的内核。之所以采用 5.15,是因为这个版本也是 LTS 的,虽然已经发布了半年了。

老王点评:LTS 发行版采用 LTS 内核是应有之义,至于最新硬件支持,这个其实对于 LTS 版本来说并不是最关键的。

PCIe 6.0 规范发布,但 PCIe 4.0 才只有 10% 的份额

AMD 在 2019 年的锐龙 3000 系列处理器上首发了 PCIe 4.0 技术,现在各大 SSD 厂商也都有 PCIe 4.0 旗舰级硬盘上市。在 2020 年的时候,SATA SSD 硬盘份额超过了 1/3,PCIe 4.0 只占 3% 份额,2021 年才提高到了 10%,今年的普及速度还会加快,但份额预计只有 30% 左右。PCIe 5.0 硬盘的速度可从目前的 7GB/s 提升到 14GB/s,性能轻松翻倍。而 PCI-SIG 组织刚刚 发布 了 PCIe 6.0 标准,速度再次翻倍到 64GT/s,PCIe x16 可以提供高达 256GB/s 的带宽,用于 SSD 的话 PCIe 6.0 x4 可提供最高 32GB/s 的速度。

老王点评:硬件的发展真是日新月异,感觉没多久就淘汰了。

在你学习 Linux 命令行或练习新的编程语言时,请随身携带这些方便的备忘单。

 title=

你不可能记住每一个你需要使用的命令或快捷方式。我们都是普通人,通常情况下,我把笔记放在不同的纸片上和笔记本里。这导致我的办公桌上有些过分紊乱。到处都是一些五年前的杂乱无章的潦草文字。这这些 2021 年的备忘单将把混乱降低一个档次。从 JavaScript 到 Linux,这个列表中都有适合你的东西。

如何编写你的第一段 JavaScript 代码

这篇 文章 是为那些今年想尝试学习一门新语言的初来乍到者准备的。Seth Kenlon 介绍了如何安装 JavaScript 和开始制作一个简单的 HTML 页面。虽然 Seth 解释说 JavaScript 并不只用于网站,但所有主要的网页浏览器都有一个运行你的代码的 JavaScript 引擎。在整个演练过程中,Seth 涵盖了语法、变量和函数,让你开始创建一个新的应用。最后,在分享 备忘录 之前,Seth 还介绍了用 JavaScript 进行跨平台的能力。

Linux 软件包管理

Chris Hermanse文章 中,在他分享他的 备忘录 之前,我们对使用 apt 做了简要预览。许多人日常在家里和办公室使用基于 Debian 的 Linux。在这篇入门文章中,我们可以了解一下 apt 的用途,首先是用 apt 在软件包系统中寻找软件,也可以用另一个命令查看这些软件包的元数据。接下来,Chris 介绍了查看一个软件包是否包括安装过程中需要的文件(软件包依赖)。最后,Chris 介绍了如何用 apt 命令删除软件包。这份详尽的备忘录可以给你带来比 Linux 的日常软件包管理更多的东西。如果 apt 不适合你,你也可以看看 dnf 备忘录

用 DOS conio 开始编程

你是否想在明年涉足 DOS?如果是的话,你已经准备好创建令人兴奋的新应用,Jim Hall 为你准备了一份 备忘录。在这篇 文章 中定义了 conio,在分享备忘录之前,Jim 介绍了如何制作你自己的彩色文本用户界面。Jim 解释说,你可以用你的应用做更多的事情,使其更具互动性和刺激性。现在你有了这个备忘录,你就可以用 DOS conio 创建你自己的应用了。

学习 SQLite3

与这种常见的数据库一起工作?下面是你如何通过这个 备忘录 成为一个资深用户。在这个 实践教程 中,Klaatu 从安装和与 SQLite3 互动开始,然后在分享备忘录之前创建了一个带表的数据库。Klaatu 还用一段很简单的文字解释了数据类型和日期时间戳功能。Klaatu 在本教程中增加了更多详细的功能,包括查看表格、改变表格等等。如果你想继续使用 SQLite3 数据库并使其变得强大,或者只是想学习如何使用它,这个备忘录就适合你。

更多的 Linux 备忘录

虽然我只是蜻蜓点水地提及了这些备忘单,但我想提到一些值得称赞的地方,其中包括 Seth Kenlon 的 Linux 备忘单:

  • Seth 对 grep 的高级用法对各种场合都很有用。
  • find 命令备忘录对于我不想花大量时间在目录中徘徊的时候特别有帮助。
  • wget 备忘录对于那些你需要从互联网上获取东西的时候是很方便的。

以回顾 2021 年开始 2022 年

2021 年是备忘录的辉煌之年,其中许多是关于 Linux 的,但也有一些备忘录甚至让你从一种全新的语言开始。我强烈建议你打印出这些备忘录,在 2022 年开始学习新东西。我们欢迎各种经验水平的作者,请通过 给我们发送文章或备忘录 告诉我们你是如何学习新技能的。


via: https://opensource.com/article/22/1/open-source-cheat-sheets

作者:Jessica Cherry 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

从静态页面到 JAM 栈,CMS 的历史就是开源和 Web 变迁的核心。

 title=

内容管理系统 Content Management System (CMS)是一个多产的软件类别,其涵盖了所有创建和修改数字内容的应用程序。因此,CMS 的历史可以追溯到由 蒂姆-伯纳斯-李 在 1990 年建立的历史上的第一个网站也就不足为奇了,该网站是以基于互联网的超文本系统 HTML 为模型,只包含了文本和链接。

 title=

万维网(WWW)的雏形是静态网站,无需后端数据库即可提供内容。它们消耗的计算资源很少,所以加载速度很快 —— 因为没有数据库查询、没有模板渲染、也没有客户端-服务器请求的处理。鉴于那时很少有人经常“上网冲浪”,特别是与今天相比,Web 流量也很少。

当然,促进了这种互操作性都是开源软件。事实上,开源在 CMS 的演变中一直扮演着重要的角色。

CMS 的崛起

快进到九十年代中期,随着万维网的普及和网站对频繁更新的需求的增加 —— 这与它最初托管手册式的静态内容有所不同。这导致了大量的 CMS 产品的出现,如 FileNet、Vignette 的StoryBuilder、Documentum 和其他许多产品。这些都是专有的闭源产品,这在那个时期并不罕见。

然而,在 21 世纪初,开源的 CMS 替代品出现了,这包括 WordPress、Drupal 和 Joomla。WordPress 包含一个可扩展的插件架构,并提供了可用于建立网站的模板,而不要求用户具备 HTML 和 CSS 知识。WordPress CMS 软件安装在 Web 服务器上,通常与 MySQL 或 MariaDB 数据库(当然,两者都是开源的)配合。CMS 是开源的这一事实在一定程度上加速了向 WordPress 的重大转变。

即使在今天,仍有大约三分之一的网站是使用这些第一代内容管理系统建立的。这些传统的 CMS 是单体系统,包括后端用户界面、插件、前端模板、层叠样式表(CSS)、Web 服务器和数据库。每当用户请求一个网站页面时,服务器首先查询数据库,然后将结果与来自页面标记和插件的数据结合起来,在浏览器中生成一个 HTML 文档。

趋向于 LAMP 栈

开源 CMS 的出现与建立在 LAMP(Linux、Apache、MySQL 和 PHP/Perl/Python)栈上的基础设施是一致的。这种新的结构代表了单体 Web 开发的开始,它使动态网站的创建能够使用数据库查询,为不同的终端用户提供独特的内容。在这一点上,以前放在服务器上的静态网站模式真正开始消失。(静态网站模式是指由文本和链接组成的单个文件,如 HTML、CSS、JavaScript 等,以同样的方式传递给所有的终端用户。)

移动 Web 改变了一切

随着我们逐渐步入 2000 年代的第一个十年,早期的移动设备如 Palm 和黑莓提供了对 Web 内容的访问,然后在 2010 年左右推出的智能手机和平板电脑让越来越多的用户可以通过移动设备访问 Web 。2016 年,天平倾斜,全球 来自移动设备和平板电脑的 Web 访问量超过了台式机

单体的 CMS 并不适合为这些不同类型的访问设备提供内容,这就需要不同版本的网站 —— 通常是针对移动用户的精简版网站。新的可以访问 WEB 的设备类型的出现,如智能手表、游戏机和语音助手(如 Alexa)5,只是加剧了这个问题,对全渠道内容交付的需求变得很明显。

无头 CMS 和 JAM 栈的出现

无头 CMS 将后端(用来存储所有内容、数据库和文件)与前端解耦。通常,无头 CMS 使用 API,这样就可以访问数据库(SQL 和 NoSQL)和文件的内容,以便在网站、智能手机、甚至物联网(IoT)设备上显示。此外,无头 CMS 与前端框架无关,使其与各种静态网站生成器和前端框架(如 Gatsby.js、Next.js、Nuxt.js、Angular、React 和 Vue.js)兼容,这使开发人员可以自由选择他们喜欢的工具。

无头 CMS 特别适用于 JAM(Javascript、API 和 Markup)栈的 Web 开发架构,该架构正在成为一种流行的解决方案,因为它能提供更好的 Web 性能和 SEO 排名,以及强大的安全措施。JAM 栈不依赖于 Web 服务器,当有请求时可以立即提供静态文件。不需要查询数据库,因为文件已经被编译并提供给浏览器。

向无头 CMS 的转变是由新一轮的参与者推动的,他们有的采用 SaaS 方式,如 Contentful,有的采用自托管的开源替代品,如 Strapi。无头 CMS 也在颠覆电子商务行业,新的软件编辑器,如 Commerce Layer 和 Saleor(也是开源的)提供了解决方案,以真正的全渠道方式管理多个 SKU、价格和库存数据。

总结

在 CMS 的整个演变过程中,由互联网上的信息消费方式驱动,开源软件也沿着同样的趋势发展,新技术不断出现以解决出现的需求。事实上,在内容管理系统、万维网和开源之间似乎存在着一种相互依赖的关系。管理越来越多的内容的需求不会很快消失。我们完全有理由期待在未来更广泛地采用开源软件。


via: https://opensource.com/article/20/7/history-content-management-system

作者:Pierre Burgy 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

广告过滤 DNS 服务 Adhole 宣布关停

Pi-hole 可以帮助用户过滤浏览器和流媒体服务中的广告,可被设置于 DNS 的前方。早在 2017 年,Adhole 从一个公共 VPS 上的小型单节点 Pi-hole 实例,发展成为一个全球性的多节点广告屏蔽 DNS 网络,在全球拥有了成千上万的并发用户。但这也导致需要更多的服务器资源和维护工作。并且,最近还因为 IP 地址变换和证书更换带来了稳定性问题。不堪重负之下,项目方 宣布关闭

老王点评:这就是公益行为没有转换成可持续的非营利模式。有些可惜。

去年可利用的 WordPress 插件漏洞数量爆炸性增长

研究人员 发现,到 2021 年底,第三方 WordPress 插件中有 10359 个漏洞,其中 2240 个漏洞是在去年披露的,与 2020 年相比,漏洞数量增加了 142%。WordPress 插件的漏洞中,有 75% 可被远程利用,80% 存在公开利用,而可公开利用的漏洞中 60% 没有被 CVE 组织记录。平均而言,所有 WordPress 插件漏洞的 CVSSv2 得分是 5.5,属于中等风险。但研究发现,恶意行为者并不青睐那些严重性高的漏洞,而是选择那些他们容易利用的漏洞。

老王点评:超过 40% 网站使用 WordPress,因而其缺陷和风险也被相应放大,值得注意。

Linux 内核准备彻底移除 a.out 格式支持

直到 90 年代中期的 Linux 1.2 版本之前,Linux 都依靠 a.out 二进制文件格式,之后才改用了 ELF 二进制文件格式。但直到 2019 年,Linux 才废除了对在 x86 32 位上运行 a.out 的支持。现在,有人提交 了从内核中移除 a.out 支持的补丁,并得到了其它内核开发者的支持。在这个过程中,一些旧的系统调用和其他未使用的内核代码也有可能被清理掉。这可能在 5.17 或 5.18 进入内核主线。

老王点评:虽然不移除也不伤大雅,但是这种过时的遗留物还是清理了好。可喜的看到,Linux 内核现在正在做各种清理工作。

借助开源的力量,任何人都可以编程。找到一个你想做的项目,并让它成为你进入编程的第一个项目。

 title=

任何人都可以开始学习编程。我们都是从某个起点开始的,而且你不需要有计算机科学背景就可以学习编程。这就是 Linux 和开源的力量:任何人都可以学习一点编程。

如果你想学习一种新的编程语言,我们有几篇可以让你起步的很棒的文章。下面是我们最受欢迎的几篇文章,它们可以帮助到你。

比较编程语言

大多数编程语言都有某些相似之处。当你知道如何用一种编程语言做一件事,学习下一种编程语言主要是弄清其语法和结构。

不同的编程语言如何做同样的事情

学习一种新的编程语言的一个好方法是写一个简单的测试程序,如一个游戏,以探索该编程语言的工作原理。我经常写的一个示例程序是一个简单的“猜数字”游戏,即计算机在 1 到 100 之间挑选一个数字,让我猜出来。今年早些时候,我们发表了 一系列文章,探讨如何用几种编程语言编写猜数字游戏。了解这些不同的编程语言如何实现“猜数字”游戏的主要步骤。

不同的编程语言如何读写数据

Alan 的文章比较了不同的编程语言如何在相同的思想下 读写数据。无论这些数据是来自于配置文件还是用户创建的文件,在存储设备上处理数据对于编码者来说是很常见的。Alan 的比较文章提供了对几种流行的编程语言,如 C、Java、Groovy 和其他语言所采取的不同方法的深入了解。

学习一种新的编程语言

无论你是想学习一种新的编程语言,还是想探索一种现有的编程语言,请看看下面这些关于学习编程的好文章。

如何用 WebAssembly 编写 “Hello World”

WebAssembly 是一种字节码格式,几乎所有的浏览器都可以将其编译为主机系统的机器代码。与 JavaScript 和 WebGL 一起,WebAssembly 满足了将应用移植到网络浏览器中独立使用的需求。Stephan 解释了如何用 WASM-text 创建经典的 Hello World 程序

用 Golang 轻松实现交叉编译

Gaurav 写了关于通过将脚本转换为 Go 程序来学习 Go 的交叉编译支持。你可以一次写好你的程序,并通过交叉编译为另一个环境进行编译。

为什么我使用 D 编程语言来编写脚本

D 编程语言由于其静态类型和元编程能力,常常被认为是一种系统编程语言。然而,它也是一种非常高效的脚本语言。Lawrence 写了关于如何利用 D 编程语言进行 普通的脚本编写

借助于开源的力量,编程可以被任何人所接受。找到一个你想做的项目,并让它成为你进入编程的第一个项目。


via: https://opensource.com/article/22/1/learn-programming

作者:Jim Hall 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这是一篇持续更新的文章,其中列出了即将发布的 Ubuntu 22.04 LTS “Jammy Jellyfish” 中增加的所有主要功能。

Ubuntu 的粉丝们!现在是时候为下一个大版本,也就是 Ubuntu 22.04 LTS 感到激动了。是的。这是一个长期支持版本,它将被支持五年,直到 2027 年 4 月。

即将发布的 LTS 版本带来了一些新的功能。如果你正在使用 Ubuntu 20.04 LTS,你会注意到许多视觉上的变化。如果你正在使用 Ubuntu 21.10,你已经看到了大量的变化,但在这个即将发布的版本中仍然会有一些新的变化。

在我向你展示 22.04 中新的预期新功能之前,让我们看看它将在什么时候发布。

Ubuntu 22.04 发布时间表

Ubuntu 22.04 的稳定版计划于 2022 年 4 月 21 日发布。开发工作已经在紧锣密鼓地进行,它将遵循如下发布时间表:

  • 2022 年 2 月 24 日:功能冻结
  • 2022 年 3 月 17 日:用户界面冻结
  • 2022 年 3 月 31 日:测试版发布
  • 2022 年 4 月 14 日:候选版本
  • 2022 年 4 月 21 日:最终稳定版本

现在你知道了重要的发布日期,是时候了解一下 Ubuntu 22.04 LTS 将带来的新功能了。

Ubuntu 22.04 LTS “Jammy Jellyfish” 的新功能

由于开发工作仍在进行中,许多新功能会在不久的将来陆续加入。我将在它们被发现时进行更新。

现在,这里是 Ubuntu 22.04 中主要的已确认和预期的新功能。

GNOME 42 和随之而来的视觉变化

GNOME 42 将于 2022 年 3 月发布。它将被包含在 Ubuntu 22.04 中。

像往常一样,Ubuntu 将使用定制的 GNOME 版本,所以不是所有的 GNOME 42 的变化都会反映在这里。然而,由于使用了新的 libadwaita 和迁移到了 GTK 4,你还是应该看到一些视觉变化。

GNOME 42 有一个重新打造的屏幕截图工具

你应该看到一个界面崭新的设置程序和重新打造的屏幕截图工具。GNOME 42 还将更新一些 GNOME 应用程序,如 Boxes,并引入一个新的文本编辑器。然而,我认为 Ubuntu 会坚持使用 Gedit 作为其默认的文本编辑器。

Grub 2.06 和它带来的麻烦

Ubuntu 22.04 LTS 将拥有 Grub 引导加载程序 2.06 版本,但其中有一个问题,它的 os-prober 功能默认是禁用的。

这意味着,如果你在一个双启动系统上,Grub 不会探测其他操作系统,因此它不会在 Grub 中列出 Windows(或其他操作系统)。一些升级到 Ubuntu 22.04 开发版本的人已经 开始面临这个问题

这并不是说这个问题不能被解决,有一个变通办法。

安装 os-prober(通常已经安装),然后编辑 /etc/default/grub 文件,在这个文件中加入 GRUB_DISABLE_OS_PROBER=false。保存这个文件,更新 Grub,Grub 现在应该可以看到其他操作系统了。

新的固件更新程序

正如 OMG! Ubuntu 报道的那样,Ubuntu 22.04 可能会有一个新的固件更新程序。

通常情况下,GNOME 软件中心能够处理固件更新,即使在 Ubuntu 的 Snap 版本中。尽管如此,开发团队仍在努力开发一个专门的 GUI 工具来处理固件更新。

图片来源:OMG! Ubuntu

这个新工具基本上是 fwupd 的基于 Flutter 和 Dart 的 GUI 前端,fwupd 是一个命令行工具,用于获取 Linux 供应商的固件

新的安装程序

新的 Ubuntu 安装程序

这个基于 Flutter 的新安装程序已经开发了很长时间。它本来应该和 Ubuntu 21.10 一起推出,但并没如期实现。有一个单独的 Ubuntu 21.10 预览版,其中有这个新的安装程序,它将成为 Ubuntu 22.04 的默认安装程序。

新的安装程序与 Ubuntu 桌面风格无缝整合,从而使 Ubuntu 22.04 从一开始就具有更现代的外观和感觉。

改进对树莓派的支持

随着 20.10 版本的发布,Ubuntu 开始支持树莓派设备上运行桌面版。虽然它可以在 8GB 版本的树莓派上工作,但在 4GB 上却很吃力,在 2GB 型号上也无法工作。

随着 Ubuntu 22.04 的推出,其性能应该会得到改善,特别是它 引入了 zswap

其他变化

在软件供应方面,你应该看到一些其他变化。大多数著名的软件应该有较新的版本。其中一些是:

  • OpenSSL 3.0
  • Ruby 3.0
  • Python 3.10
  • PHP 8.1
  • GCC 11(预计)

目前还没有确认,但更有可能的是 Ubuntu 22.04 将采用 Linux 内核 5.17。

正如我之前所说,一切正在开发中,一旦有更多的新功能被披露,我将立即更新这篇文章。

获取 Ubuntu 22.04 LTS

警告:Ubuntu 22.04 仍在努力开发中,你不应该在生产机器或你的主系统上使用它。

如果你想在备用机或虚拟机上测试它,你可以从 Ubuntu 的网站上下载日常构建版。

如果你在备用机上使用 Ubuntu 20.04 LTS 或 Ubuntu 21.10,你可以强制升级到开发分支。

你期待 Ubuntu 22.04 的哪些功能?

很明显,GNOME 42 将是 Ubuntu 22.04 的最大亮点。你希望在这个新的 LTS 版本中看到哪些功能?


via: https://itsfoss.com/ubuntu-22-04-release-features/

作者:Abhishek Prakash 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出