2022年11月

安卓占所有操作系统份额的 40% 以上

Statcounter 是一个网站分析服务,在 150 万个网站上安装了跟踪代码,记录每个网站的数十亿次页面浏览。据 Statcounter 最新数据,安卓占全球所有操作系统份额为 42.37%,Windows 30.11%、iOS 17.6%、OS X 6.24%、除了安卓之外的 Linux 1.04%。而就桌面市场而言,Windows 占 75.93%,OS X 15.74%,Linux 2.6%,Chrome OS 2.38%。对于移动市场,安卓占 70.96%,iOS 28.43%。

消息来源:Statcounter
老王点评:安卓的成功,也是移动操作系统的成功,也是广义上的 Linux 的成功。

英国准备立法废除传真机

传真机由施乐公司在 1964 年商业化,1980 年代起被世界各地的企业广泛使用,如今已被电子邮件、扫描仪、云端传真和即时通讯服务所取代。虽然传真机早已过时,但英国卫生服务机构仍在大量使用它,英国国家医疗服务系统现在还有数百台传真机。英国通信监管机构 Ofcom 表示它准备修订电信规则淘汰传真机。

消息来源:The Register
老王点评:之前利用互联网发送传真都被视作违法,而现今,几乎没有人用传真了。

OpenSSL 3 漏洞补丁释出,危险程度比预想要轻

由于 OpenSSL 3 出现了严重安全漏洞,原计划在 10 月底发布的 Fedora Linux 37 延迟发布。现在,OpenSSL 3 发布了补丁,修复了两个缓冲溢出漏洞。漏洞等级从之前被认为与“心脏流血”漏洞相当的“超危”降为“高危”。这两个漏洞影响所有 OpenSSL 3.x 系列,不过目前主要使用的版本 OpenSSL 1.x 不受影响。

消息来源:Phoronix
老王点评:还好,不过互联网安全需要更可靠安全的 SSL 实现。

本文介绍我使用 Terraform 五年之后吸取到的经验。

 title=

使用 Terraform 五年的经历让我吸取到一些重要经验。无论团队大小、项目性质,有五条要点对于配置合乎逻辑且可用的 Terraform 平台至关重要。

1、了解你的目标受众

这一点似乎显而易见,但我也见过一些在这方面犯错的案例。当组织和规划 Terraform 的相关代码时,无论是将目录结构标准化还是确定命名规范,考虑目标受众是非常重要的。例如:你的团队是否会使用这些 Terraform 脚本和模块?你是否会向其他团队交接工作?你的团队是否会有新成员加入?你是否正在独自进行项目开发?你是否会半年或一年后仍然使用这些配置,还是会将它安排给别人?

这类问题会影响某些决策。理想情况下,无论如何都应该有 远程状态 Remote State 状态锁定 State Locking 两种状态。远程状态确保你的笔记本电脑不是你的 Terraform 唯一运行的机器,状态锁定确保同一时刻只有一个人对基础设施进行修改操作。

命名规范应该对项目的最终拥有者有意义,而不是只对开发团队有意义。如果项目会转交给其他团队,应该确保他们对命名规范有发言权。如果代码由非技术的利益相关者或内部安全/ GCR 团队负责审查,应该确保他们会检查命名规范。另外,对于资源名称,为了让代码审查人员更仔细地进行检查,你应该使用资源标签,把有关的数据分类/隐私需求(高、中、低)标示出来。

2、重用,重用,重用

Terraform 注册表 为大多数普通用例提供了现成模块类库。我已经使用过 VPC 模块和安全模块中的大量功能,这些功能只需要提供相关的参数就能使用。使用不同的参数,简单调用这些模块对于处理大部分用例已经足够了。尽可能多地重用这些公共模块,可以避免大量且重复的编码、测试、检查、修复、重构等操作。

我也发现,基于使用或变更的频率划分模块和资源大有好处。例如,只使用一次的基础设施手脚架,例如 VPC 相关设置、安全模块、路由表、VPC 端点等,可以放在一起。但是像私有托管域条目、自动伸缩模块、目标模块、负载均衡器等,每次部署时都会变化,所以把这些与一次性的基础设施手脚架分离开来,会令代码检查更方便,调试更快速。

3、要明确,而非隐含

Terraform 代码中有一些常见的模式,它会导致设计中出现错误的假设。团队可以假设用来写代码的 Terraform 版本永远保持不变,外部模块不会变化,或它们使用的提供者不会变更。当这些外部依赖不可避免地发生变化时,就会导致一些难以发现的问题。

无论何处(包括主要的 Terraform 组、提供者组、功能模块组)都要确保定义是明确的。事先定义版本,可以确保依赖库是固定的,因此你可以在讨论、审查、测试后,明明白白地更新依赖关系。

4、自动化每一处,包括笔记本电脑、共享虚拟机、CI/CD。

在部署的各个阶段使用自动化方法,可以避免可能发生的问题。

在你提交代码前,使用 Git 预提交钩子 运行 terraform fmtterraform validate。预提交钩子的作用是确保你的代码满足最低程度的格式和语法正确。把这个预提交文件检入到仓库,对你的团队成员都有好处。项目的第一步就进行质量控制相关的操作,它虽然表面上是小事一桩,但也很重要,能为项目节省大量时间。

一切现代化部署工具都有 CI 流程。当你向原始仓库推送代码时,可以使用它来运行 SAST 和单元测试工具。我写过一篇 博客,是关于使用 Checkov 测试 Terraform 代码的安全性和合规性,并为组织特定的惯例创建自定义检查。把这些单元测试工具加入到你的 CI 管道,可以改进代码质量和健壮性。

5、写个好的 README.md 文件

我们都认为 Terraform 代码是自文档化的。的确如此,但是只有当未来的团队已经了解你的公司的命名规范、开发指南、机密通信、圈内笑话,以及你的仓库内除有效的 Terraform 代码之外其他所有东西,才会如此。维护 README.md 文件是个好习惯,它能节省大量时间,而且团队成员要为自己向 README 文件提交的任何内容负责,这样也就确保团队成员的忠诚度。

你的 README 文件至少应该包含在你的工作环境下(Linux、 Windows、Mac 等等)初始化 Terraform 环境的步骤,包括 Terraform 的版本信息。它应当确定需要的依赖库(Checkov、 TerraGrunt 及其他依赖)和其版本,以及团队使用的方便的 Linux 别名(例如有人喜欢将 terraform fmt 简写为 tff)。最重要的是,需要确定分支和 PR 审核策略和流程、命名规范和资源标签的相关标准。

README 文件需要通过这样的检验:如果团队有新成员加入,能否告诉他们做什么以及如何正确地完成工作?如果不能,在后续的几个月内,你将面对的是无休止的标准和流程讨论会议。

结束语

这些就是我使用 Terraform 多年后,认为需要传授给大家的五条有用的建议。也欢迎你分享自己的最佳实践。


via: https://opensource.com/article/21/8/terraform-tips

作者:Ayush Sharma 选题:lujun9972 译者:cool-summer-021 校对:wxy

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

这是在 Ubuntu 和其他 Linux 系统中安装 Viber 的快速指南。

Viber 是一个免费、安全的通话和聊天程序,适用于所有流行的移动平台和操作系统。

它具有丰富的功能,例如语音/视频通话、支持 GIF 的文本消息、贴纸、照片和视频。此外,Viber 还具有群聊、群呼和消失消息功能。

Viber 是一个闭源程序,但有免费的 Linux 原生可执行客户端。

下面是安装它的方法。

在 Linux 上安装 Viber

它以 AppImage 可执行文件、deb 和 rpm 包的形式提供。按照下面的相应按钮直接下载。平均可执行文件大小约为 180MB。

下载适用于所有 Linux 发行版的 Appimage
适用于 Ubuntu 的 Deb 可执行文件
Fedora 的 RPM 包

如果你已下载 AppImage,只需从任意文件管理器将权限更改为可执行文件即可。然后运行。

对于 Ubuntu、Linux Mint、Debian 和相关发行版,你可以通过多种方法安装 deb 包。

你可以通过已安装的软件管理器双击打开。或者通过 dpkg 命令安装,如下所示。

sudo dpkg -i viber.deb

对于 Fedora 和基于 RPM 的软件包,你可以通过以下命令安装。

sudo dnf localinstall viber.rpm

对于 Arch Linux 和其他发行版,你可以使用我上面提到的 Appimage。

使用

完成安装 Viber 后,通过应用菜单打开它。以下是你需要记住的几件事。

在从笔记本电脑/台式机开始使用 Viber 之前,你需要在手机上进行设置。从以下链接为你的移动平台下载并安装 Viber。

安装后,设置 Viber。请记住,它需要你的手机号码才能注册。

设置完成后,在 Linux 桌面上打开应用。你应该会看到如下页面。

Viber 在 Linux 中运行

从你的手机应用扫描二维码,你应该可以在 Linux 桌面上使用 Viber。

注意: 由于它是一个闭源应用,请确保你在使用 Viber 时了解此应用的条款和与隐私相关的情况。


via: https://www.debugpoint.com/install-viber-linux/

作者:Arindam 选题:lkxed 译者:geekpi 校对:wxy

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

欧盟新法律可能迫使苹果公司开放其核心利益

欧盟新的《数字市场法案》(DMA)于今天生效,进入六个月的实施阶段,将于名年 5 月 2 日开始适用。DMA 将适用于符合其 “看门人” 标准的科技巨头,并迫使他们向其他公司和开发者开放其各种服务和平台。苹果几乎可以肯定被列为“看门人”,因此将受到 DMA 的约束。这可能迫使苹果公司让用户访问第三方应用程序商店,并允许在 iPhone 和 iPad 上进行应用程序侧载,使用第三方支付系统,访问苹果收集的数据,以及提高 iMessage 互操作性等等。

消息来源:Mac Rumors
老王点评:不能不说,欧盟的这些法律极大地制裁了那些垄断巨头。

Mozilla 公布它的 Manifest V3 扩展方案

Manifest V3(MV3)是 Chrome 的新扩展规范,Chrome 将从明年 1 月开始逐步淘汰之前的 MV2 扩展。Mozilla 的 MV3 和谷歌的 MV3 之间有些区别,最重要的是没有采用谷歌的声明式网络请求(DNR),而保留了 MV2 的 WebRequest API。这也是新的扩展系统引发广泛争议的地方,广告屏蔽扩展如 uBlock Origin 使用 WebRequest 在广告下载前屏蔽其请求。

消息来源:Solidot
老王点评:我觉得 Mozilla 这次做的很好。

Meta 宣称其 AI 音频编解码器提供 10 倍于 MP3 的压缩率

上周,Meta 公司宣布了一种名为 “EnCodec” 的人工智能驱动的音频压缩方法,据说可以将音频压缩到比 MP3 格式小 10 倍的 64kbps,而且人耳听不到质量损失。其关键是识别人类无法察觉的变化,他们使用鉴别器来提高生成的样本的感知质量,该模型通过让重建的样本与原始样本在感知上更加相似来生成样本以“欺骗”鉴别器。

消息来源:Ars Technica
老王点评:通过 AI 分析人耳不能识别的部分,从而“骗过”鉴别器,这真是一种巧妙的方法。AI 越来越做到一些人所做不到的地方。

Vanilla OS 是建立在 GNOME 上的、具有按需不变性和软件包选择自由的 Ubuntu。听起来很有趣?在这里阅读更多信息。

Vanilla OS:不仅仅是原味 GNOME 的 Ubuntu

这正是我第一次接触 Vanilla OS 时的想法。

Bottles 的创建者 Mirko Brombin 在 Twitter 上宣布它时,让我对它产生了兴趣 ?。

我加入了他们的 Discord 频道并成为了一名测试者。虽然我没有做出什么贡献,但关注项目发展是很有趣的。

回到至关重要的问题上:什么是 Vanilla OS?

Vanilla OS 的目标是提供一个干净、原味的 GNOME 体验,并具有按需不变性的能力。

听起来很有趣?让我告诉你我试了试它的第一个开放测试版本后的一些细节。

? Vanilla OS 计划在 11 月有一个稳定的版本。

它将跟随 Ubuntu 的小版本发布。

因此,你可以期待每年发布两个版本。例如,你可以从 Ubuntu 22.04 升级到 Ubuntu 22.10 甚至更之后的版本。

除非你知道自己在做什么,否则你不应该把它作为日常系统来使用。

Vanilla OS:又一个基于 Ubuntu 的发行版?

vanilla os home

是,也不是

对于初学者来说,我认为有以下独特的理由可以尝试一下:

  • 在 Ubuntu 之上获得 原装 GNOME 体验。(Fedora 也是一个很好的选择,但并不适合所有人!)
  • 在其安装后的首次设置时,允许你选择并启用 Flatpak/Snap/AppImage
  • 按需不变性,意味着你可以使系统变成只读,以防止来自第三方应用程序和更新的关键变化。
  • 一个新的软件包管理器(apx)允许你默认在管理的容器内安装软件包。

首次设置过程的体验很轻松。

ℹ️ 目前,它使用 Calamares 安装程序。他们打算用 Crystal Linux 中使用的 Jade 取代它。

Vanilla OS 安装程序

越来越多的发行版投身于此;我相信更多的用户会乐意加入到 Linux 中来。

Vanilla OS 对软件包管理器的选择

当然,像 Ubuntu MATE 和 Pop!\_OS 这样的发行版已经付出了巨大的努力,而 Vanilla OS 也为此增加了一些改进。

Vanilla OS 颜色选择

这看起来是一种漂亮的体验!?

一旦你完成了首次设置,你就没有什么可担心的了。你会得到通常的 GNOME 桌面,以及由 Patrik Kramolis 制作的漂亮的壁纸。

Vanilla OS 主页

接下来,我试着检查了按需不变性,你可以用以下命令查看和调整:

Vanilla OS 终端

你可以在 GitHub 上了解更多这个(基本上)使之成为可能的工具。

接下来,看看新的软件包管理器,我喜欢 Distrobox 的底层概念,使其与 apx 成为可能。

Distrobox 的创建者 Luca di Maio 也参与了 Vanilla OS 的开发。

不过,当用 apx 安装一个软件包时,你需要用命令来初始化容器:

apx init

如果它能自动完成,那就更直观了。

Vanilla OS apx

当然,我不知道技术上的限制。但是,对于用户端来说会感觉更顺滑!

总的来说,一个利用容器安装应用程序的软件包管理器、获得选择你的软件包管理器的能力、按需不变性,以及原味的 GNOME 使它看起来是一个值得关注的好东西。

前面的路:第一印象

我觉得,一旦它进入稳定版,它就会成为我的日常使用系统。

原因是:我总是喜欢原装的 GNOME 体验,而且不需要处理 Fedora 的定期升级。

当然,等我使用了稳定版之后,我可以给你写一篇整体的用户体验评判。

在那之前,我想说这是一个我相信很多用户都会喜欢的项目 ?。

目前,你可以通过加入其 Discord 频道来下载 ISO。该 ISO 还没有公开向所有人提供。如果你感兴趣,可以看看它的 文档

Vanilla OS

然而,按照路线图,他们计划很快就会有一个候选版本。


via: https://news.itsfoss.com/vanilla-os-beta/

作者:Ankush Das 选题:lkxed 译者:wxy 校对:wxy

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

这篇速成指南诠释了一些步骤,它对于恢复一个 Arch Linux 安装很有帮助。

作为一个滚动发布版本,Arch Linux 有时会崩溃。那不是你自身的问题,而是因为数百个其它的原因,例如一个新内核与你的硬件或软件的兼容性。但是,即使如此,Arch Linux 仍然是比较优秀的,并且提供最新的软件包和应用程序。

但是,有些时候,它会给你带来麻烦,最后你只会看到一个闪烁的光标。

因此,在这种情况下,在你放弃希望前,你可能希望尝试恢复系统的安装以及数据,而不是重新格式化或重新安装。这篇指南在这些方面概述了一些步骤。

恢复 Arch Linux 安装

第一步是创建一个可启动的 Arch Linux 的 现场 Live USB 。从下面的链接中下载 ISO 镜像文件,并创建一个可启动的 ISO 的启动盘。你可以查看 这篇 关于如何使用 Etcher 创建可启动的 ISO 的启动盘的指南。记住,这一步骤需要在另一个工作稳定的系统上完成,很明显,这是因为你当前系统是不可用的。

下载 arch linux

你需要知道在 你的 Arch Linux 安装在哪个分区上。这是关键的一步。如果你不知道,你可以使用 GParted 来找出来。或者在你的 Grub 菜单中查看,或者也可以运行下面的命令来找出来。这将列出你所有的磁盘分区、大小和标签。

sudo lsblk -o name,mountpoint,label,size,uuid

在完成后,插入 USB 设备,并从中启动。你应该会在现场 USB 启动后看到 Arch Linux 提示符。

现在,使用下面的命令挂载 Arch Linux 分区。将 /dev/sda3 更改为你实际对应的分区。

mount /dev/sda3 /mnt
arch-chroot /mnt

arch-chroot 命令将在终端中挂载你的 Arch Linux 分区,然后,使用你的 Arch 用户名和密码来登录系统。现在,取决于你在这个阶段的需要,你可能有下面的一些选项。

  • 你可以前往 /home 文件夹来备份你的数据。为防止排错手段不能解决问题。你可以复制这些文件到一块外部的 USB 磁盘或其它的分区。
  • 检查日志文件,尤其是 pacman 日志,因为升级一些软件包可能会导致系统不稳定工作,例如,图形驱动程序或其它一些驱动程序。依据日志的记载,如果你有需要的话,你可以降级一些具体指定的软件包。

你可以使用下面的命令来查看 pacman 日志文件的最新的 200 行日志,来找出一些引起失败的项或依赖项的缺失。

tail -n 200 /var/log/pacman.log | less

上面的命令给出 pacman.log 文件的末尾处的 200 行来用于查对。现在,仔细检查自你上次成功启动以来更新了哪些软件包。

在某个地方记录下软件包的名称和版本。你可以尝试逐个降级软件包,或者,如果你认为是某个特定的软件包造成的问题的话,你可以使用 pacman 命令的 -U 开关选项来降级它。

pacman -U <package name>

在降级后(如果有一些软件包进行降级的话),你可以运行下面的命令来启动你的 Arch 系统。

exec /sbin/init

检查你的显示管理器的状态,并检查其是否有一些错误。有时,显示管理器会产生不能与 X 服务器 X Server 通信的问题。例如,如果你正在使用 Lightdm ,那么你可以通过下面的命令来检查它的状态。

systemctl status lightdm

或者,你可能希望通过下面的命令来启动它并检查错误。

lightdm --test-mode --debug

这里是一个 Lightdm 故障的示例,它导致了 Arch 系统不稳定工作。

lightdm - test mode

或者,使用 startx 来启动 X 服务器进行检查。

根据我的经验,如果你在上面的命令中看到这些错误,尝试安装另外一个显示管理器(例如 sddm)并启动它可以消除错误。

  • 根据你的系统的实际状态来尝试上面的步骤并解决问题。针对特定的显示管理器 Lightdm 的错误,我们有一份 指南,你可能会想查看它。
  • 如果你正在使用 sddm ,那么,试试 这些排错步骤 看看是否工作。

结语

每个系统环境都是不同的。上面的步骤不一定适合你。但是,它值得一试,根据我的经验,它是可行的。如果它可行,那么恭喜你。否则,在下面的评论区让我知晓你是如何进行的。


via: https://www.debugpoint.com/recover-arch-linux/

作者:Arindam 选题:lkxed 译者:robsean 校对:wxy

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