7 个独特的非主流网页浏览器等待你的探索

看来主流就是指 chrome 了

除了tor的外其他都试过，还是seamonkey好用，特别是32位

# 7 个独特的非主流网页浏览器等待你的探索

>
> 想要尝试一些新奇的东西吗？这些与众不同的网页浏览器或许能为你的浏览体验带来新的乐趣。
>
>
>

网页浏览器是我们浏览互联网的重要工具。因此，对于大多数用户来说，浏览器的用户体验和功能集是至关重要的因素。

考虑到各种因素，包括安全性问题，用户往往会选择 [最受欢迎的网页浏览器](https://itsfoss.com/best-browsers-ubuntu-linux/)。

理所当然，为了便捷性，你可能不愿意轻易尝试一个新的或是实验阶段的网页浏览器。但是，如果你打算切换一种不同的用户体验，又或者是想要尝试一款独特的网页浏览器，那又该如何呢？

无需担忧，我们为你准备了一些你可能愿意一探究竟的选项。

### 1、Nyxt

[Nyxt](https://nyxt.atlas.engineer/) 是一款专为那些大量使用键盘的用户设计的网页浏览器。

你可以在这款浏览器上使用键盘快捷键进行网页浏览，完全不需要使用鼠标。这能够让你节省时间，让你更少地分心去适应可能会让人感到困扰的用户界面。

[Nyxt 浏览器](https://itsfoss.com/nyxt-browser/) 目前以 Flatpak 形式提供，并有计划提供对 macOS/Windows 的支持。你可以按照其 [官方网站](https://nyxt.atlas.engineer/download) 上的说明进行安装，并在其 [GitHub 页面](https://github.com/atlas-engineer/nyxt) 了解更多信息。

亮点：

* 主打键盘操作
* 可进行个性化定制

>
> **[Nyxt](https://nyxt.atlas.engineer/)**
>
>
>

### 2. Epiphany（GNOME Web 应用）

如果你是那些寻求具备基础功能且用户体验质感洁净的用户，那么 GNOME Web 应用（也被称为 Epiphany）将会是你的理想选择。

尽管该浏览器并未装饰众多现代化的浏览器功能，但其外观和使用体验绝对不会令你失望。值得注意的是，Epiphany 是一款专门为 Linux 用户设计的浏览器，此外，它还支持 Firefox 的同步功能。

亮点：

* 极简而精致的用户体验
* 具备必要的功能
* 支持 Firefox 同步

>
> **[GNOME Web](https://apps.gnome.org/zh-CN/Epiphany/)**
>
>
>

### 3. Tor

[Tor 浏览器](https://www.torproject.org/) 在隐私保护领域的爱好者中享有盛名。而且，它也是一款可以提供安全和私密网络体验的独特解决方案。

Tor 浏览器基于 Mozilla 的 Firefox 进行开发，同时也加入了一些旨在提升隐私保护能力和 Tor 网络集成的新特点。

此款浏览器可以在 Linux、Windows、macOS 以及 Android 平台上使用。

亮点：

* 专注于隐私保护
* 集成 Tor 网络的连接

>
> **[Tor 浏览器](https://www.torproject.org/)**
>
>
>

### 4、Mullvad 浏览器

[Mullvad 浏览器](https://mullvad.net/en/download/browser/linux) 是一个专注于隐私保护的解决方案，与 Tor 类似但没有集成 Tor 网络。在编写本文时，这是一个非常新的选择，其开发是与 Tor 项目合作进行的。

如果你想尝试 Mullvad 的 VPN 服务或想要体验一下私密的网络浏览，你可以尝试一下这款浏览器。

此浏览器适用于 Linux、Windows 和 macOS。

亮点：

* 以隐私为中心
* 开箱即用的 VPN 集成

>
> **[Mullvad 浏览器](https://mullvad.net/en/download/browser/linux)**
>
>
>

### 5、Min

Min 非常类似于 Epiphany，但更为极简。如其名称所示，Min 的目标是为你营造一个无干扰的用户体验，让你能够专注于当前的页面。

你可以将你的页面进行分组并快速访问。同时，它也内置了隐私保护功能。

亮点：

* 用户体验为中心
* 高效

>
> **[Min](https://minbrowser.org/)**
>
>
>

### 6、Konqueror

[Konqueror](https://apps.kde.org/konqueror/) 是 KDE 的网页浏览器，具有管理和预览文件的功能。

它的用户界面简洁有效，内置了基本的隐私保护选项。

如果你是 KDE Plasma 桌面的用户，你可以试试这款浏览器，它能带给你简洁易用的浏览体验。

亮点：

* 专为 KDE 用户打造
* 简约的用户体验

>
> **[Konqueror](https://apps.kde.org/konqueror/)**
>
>
>

### 7、Falkon

Falkon 是另一款专为 KDE 用户设计的浏览器。如果你正在寻找一款 [轻量级的开源浏览器](https://itsfoss.com/lightweight-web-browsers-linux/)，这是你的一个选择。

Falkon 是一款基于 QtWebEngine 的浏览器，拥有基本的隐私保护功能。

你可能无法得到丰富的功能集，但如果你只需要一些基础的网络导航功能，如查看邮件、观看 YouTube，Falkon 将是你的一个不错的选择。

Falkon 适用于 Linux 和 Windows。

>
> **[Falkon](https://www.falkon.org/)**
>
>
>

### 非自由开源软件：Opera One

[Opera One](https://www.opera.com/one) 是 Opera 开发者的一项全新尝试，旨在推出经典 Opera 网页浏览器的继任者。如果你并不追求一个颠覆性的浏览器，但希望能有独特的使用体验，Opera One 或许是你的一个理想选择，只需要你对这款专有软件持开放态度。

这款浏览器尝试以一种全新的方式处理浏览器标签，并且保持其设计的模块化。更重要的是，它完全集成了原生的 AI 技术。

Opera One 适用于 Linux 以及包括 macOS 和 Windows 在内的其他平台。

### 那么，你的选择是？

我列出了一些与众不同，相较于普遍认知的选择提供独特体验的网页浏览器。此外，如果你喜欢在终端操作，你还可以探索如 [Carbonyl](https://github.com/fathyb/carbonyl) 这样的 [命令行浏览器](https://itsfoss.com/terminal-web-browsers/)。

[Beaker 浏览器](https://github.com/beakerbrowser) 作为一项实验性尝试曾经颇受欢迎，但现已停止更新。

? 如果你在寻求各种特性的平衡，希望获得特别的浏览体验，我建议你可以尝试 GNOME Web、Min 或是 Nyxt（这是我个人的偏好）。你有意愿尝试哪个呢？

请在下方评论区分享你的想法。

---

via: <https://itsfoss.com/unique-web-browsers/>

作者：[Ankush Das](https://itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1122 微软将取消 Windows 中的第三方打印机驱动程序

Summary:
? 微软将取消 Windows 中的第三方打印机驱动程序
? 获得艺术大奖的著名 AI 绘画未能获得版权
? 微软决定由它来选择你使用的安全登录方式
»
»

打印机可是敏感设备哦，很多人/势力盯着的。

说个冷知识：用常规(激光/喷墨)打印机打印的纸质文件是可以追踪到打印机拥有者。一些举报者就是这么被发现的。

# 硬核观察 #1122 微软将取消 Windows 中的第三方打印机驱动程序

### 微软将取消 Windows 中的第三方打印机驱动程序

微软计划于 2027 年取消 Windows 中的第三方打印机驱动程序。这样做的部分原因是，Mopria 联盟为打印机提供了通用标准。该联盟由多家打印机厂商于 2013 年成立。从 Windows 10 21H2 开始，微软就在其操作系统中加入了对 Mopria 的支持，借助微软 IPP 类驱动程序，可支持通过网络或 USB 连接的设备。微软表示：“这样一来，打印设备制造商就无需提供自己的安装程序、驱动程序、实用程序等”。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/11/go_native_or_go_home/)**
>
>
>

>
> 老王点评：这种通用外设标准化是一件好事。除了一些非常老旧的打印机，应该没什么影响。
>
>
>

### 获得艺术大奖的著名 AI 绘画未能获得版权

还记得那副获得 2022 年科罗拉多州博览会年度美术竞赛的《<ruby> 空间歌剧院 <rt>  Théâtre d'Opéra Spatial </rt></ruby>》的 AI 绘画吗？它是艺术家使用 MidJourney AI 生成的，以其复古的笔触细腻的色彩，意外地赢得了艺术创作比赛的第一名。这件事引发了公众对 AI 绘画和 MidJourney 的极大兴趣。不出意外，美国版权局也拒绝了对该作品的版权授予，“因为它不是人类创作的产物……其中包含的人工智能创作素材超过了最低限度”。使用 MidJourney 创作这幅画的 Jason Allen 告诉版权局，他使用 Midjourney “输入了大量修改和文本提示，至少 624 次，才得到了图片的初始版本”，并用 Photoshop 对其进行了修改。

>
> **[消息来源：路透社](https://www.reuters.com/legal/litigation/us-copyright-office-denies-protection-another-ai-created-image-2023-09-06/)**
>
>
>

>
> 老王点评：不授予版权有不授予的道理，我认为 AI 制品应该有不同于现有版权范围的新的版权认定。
>
>
>

### 微软决定由它来选择你使用的安全登录方式

微软本周将推出多因素身份验证（MFA）系统首选验证，它将为登录的个人选择最安全的方法，如果该方法不可用，则提供替代方法。Azure 活动目录会查看用户账户注册的身份验证方法，并选择最安全的途径。首选方法列表从临时访问通行证开始，然后依次是基于证书的身份验证、FIDO2 安全密钥、微软认证器的推送通知和基于时间的一次性密码（OTP），最后是手机。微软的总体目标是最终放弃使用用户名和密码作为身份验证方法，转而使用生物识别等其他方法。

>
> **[消息来源：The Register](https://www.theregister.com/2023/05/18/microsoft_azure_system_authentication/)**
>
>
>

>
> 老王点评：总之，就是大家都习惯的密码是最不可靠的安全方式。
>
>
>

### 回音

* [果然](/article-16172-1.html)，Bcachefs 没有进入 Linux 6.6，并按照 Linus Torvalds 的意见，先行 [并入](https://www.phoronix.com/news/Bcachefs-In-Linux-Next) 了 linux-next 树，它有望进入下一个版本的 Linux 内核。


让你的 Windows 系统为虚拟机做好准备

Summary: 以下是确保 Windows 系统已准备好运行虚拟机的必要条件。

敏感设备请勿擅自开启Intel VT技术选项。影响Intel6-11代，漏洞编号CVE-2022-40982。

以下是确保 Windows 系统已准备好运行虚拟机的必要条件。

# 让你的 Windows 系统为虚拟机做好准备

>
> 以下是确保 Windows 系统已准备好运行虚拟机的必要条件。
>
>
>

在 VirtualBox 中看到了“<ruby> 无法打开虚拟机会话 <rt>  failed to open a session for the virtual machine </rt></ruby>”错误？

你的系统上可能没有启用虚拟化。

这是在 Windows 系统上创建虚拟机所需执行的几件事之一。

简单来说，你需要了解：

* 在你的 PC 上启用虚拟化支持
* 使用虚拟机程序创建/管理虚拟机
* 确保某些系统资源要求以无缝使用虚拟机

下面是第一件事：

### 在 Windows PC 上启用虚拟化

如果你的系统预装了 Windows 10/11，那么你很可能已经启用了虚拟化。你不需要额外的设置。

但如果你在系统上手动安装了 Windows，那么可能需要检查 BIOS 设置以查看它是否支持虚拟化。如果禁用，虚拟机程序将无法运行并给出错误。

这是使用 VirtualBox 程序时出现的错误：

你怎么能这么做呢？ 以下是基本步骤：

1. 前往 UEFI 固件设置（或 BIOS 菜单）。你通常可以通过按 `Del` 按钮或 `F1`、`F2`、`F10` 或 `F12` 来访问它。
2. 根据主板制造商的不同，用户界面会有所不同。但是，在大多数情况下，你必须进入到其中的“<ruby> 高级 <rt>  Advance </rt></ruby>”选项，并访问“<ruby> CPU 配置 <rt>  CPU Configuration </rt></ruby>”设置。
3. 在 CPU 配置中，你必须启用 “Intel (VMX) Virtualization Technology” 或 “SVM Mode”（适用于 AMD 处理器）。

下一步是什么？ 考虑到你已经启用了虚拟化支持，你需要使用 [虚拟化程序](https://itsfoss.com/virtualization-software-linux) 来帮助你完成工作。

### 使用虚拟化程序

你可以选择第三方应用以方便使用，也可以选择使用 Windows 自带的 Hyper-V。

#### Hyper-V

我们不会详细介绍如何使用 Hyper-V，但为了节省你一些时间，你可以按照以下步骤启用它，然后按照其[文档](https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/about/)使用它。

>
> ? Hyper-V 不适用于 Windows 10/11 家庭版。
>
>
>

考虑到你的系统上安装了 Windows 专业版/教育版/企业版，可以通过**控制面板**或使用 **PowerShell** 轻松启用它。

我更喜欢控制面板，只需在搜索栏中搜索 “Windows 功能”或通过 “控制面板 → 程序 → 打开或关闭 Windows 功能” 打开。

接下来，单击 “Hyper-V” 并点击 “OK”。就是这样。

它将通过获取所需的文件来应用更改。你只需要等待。

完成后，它会要求你**重启系统**以使新功能生效。

#### 第三方虚拟化程序

虽然使用 Hyper-V 可以让虚拟机获得更好的性能，但它使用起来却并不那么简单。

因此，建议终端用户使用第三方虚拟机程序。

最好的选择之一是 [VirtualBox](https://www.virtualbox.org/)。我们还有一个指南可以帮助你使用 [VirtualBox 安装 Linux](https://itsfoss.com/install-linux-in-virtualbox/)。

它是一个开源程序，具有一系列功能和用户友好的界面。你也可以在 Windows、Linux 和 macOS 上使用它。

你还可以选择专有（但流行）的选项，例如 [VMware Workstation](https://www.vmware.com/products/workstation-player.html)。

想了解这些程序吗？你可以查看 Linux 下的一些可用选项，了解有哪些解决方案：

>
> **[9 个最佳虚拟化软件](https://itsfoss.com/virtualization-software-linux/)**
>
>
>

### 检查系统资源和要求

创建和使用虚拟机并不完全是一个非常占用资源的过程。但是，你可能需要注意一些变量。

其中一些包括：

* 确保你的系统至少有 4 GB 内存（越多越好）
* 双核或以上 64 位处理器

如果你不知道，即使虚拟机是孤立的机器，也会占用你系统的资源。大多数最低规格建议 4 GB RAM，但**我建议使用 8 GB**。

如果你想要**运行两个虚拟机**，你可能需要在 Windows 上拥有**超过 8GB 的内存**。

除了内存，你应该有一个**多核**处理器。这样，一些内核可以自由地让你在主机上做其他事情，而另一些内核则用于处理虚拟机。

当确定了处理器和内存，接下来就是**磁盘空间**。

对于虚拟机来说，磁盘通常是动态分配的，也就是说，物理存储驱动器的空间会随着操作系统及其文件的增加而消耗。

在某些类型的虚拟磁盘中，它保留你指定的整个空间。因此，执行此操作时，请在启动之前检查可用磁盘空间。通常最好选择一个未安装 Windows 系统的单独驱动器。

**如果你遵循了上述所有提示，你的 Windows 系统就可以运行和管理虚拟机了。现在，你可以 [在 Windows 的虚拟机中轻松地安装 Linux](https://itsfoss.com/install-linux-in-virtualbox/)**。

? 那么，你喜欢用什么方式来处理虚拟机？请在下面的评论中告诉我们你的想法。

*（题图：MJ/c1690724-a797-442b-8fb5-b6d41ef0c45c）*

---

via: <https://itsfoss.com/windows-enable-virtualization/>

作者：[Ankush Das](https://itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Ubuntu 23.10 将提供实验性 TPM 支持的全磁盘加密

主要是Linux绕开机密码比较容易。类似早期Win启动F8进安全模式。

逐步在填漏洞。

# Ubuntu 23.10 将提供实验性 TPM 支持的全磁盘加密

>
> 展望未来，Ubuntu 将允许你利用 TPM 支持的全磁盘加密。但是，这是你想要的吗？
>
>
>

Ubuntu 23.10 每日构建不断增加令人兴奋的新功能！

早些时候，我们介绍了 [主要的 PPA 变化](https://news.itsfoss.com/ubuntu-23-10-ppa/) 和新的 [基于 Flutter 的商店](https://news.itsfoss.com/ubuntu-23-10-ubuntu-store/)（也随最新的每日构建一起发布）。

现在，我们又看到了另一项重大更改，通过更改用户处理磁盘加密的方式（如果启用），增强 Ubuntu 系统的安全性。

该功能的初始支持将在 Ubuntu 23.10 中提供，并将在未来的 Ubuntu 版本中得到改进。

### Ubuntu 23.10：TPM 支持的全磁盘加密

TPM 支持的<ruby> 全磁盘加密 <rt>  Full Disk Encryption </rt></ruby>（FDE）作为**一项实验性功能**引入，是 Ubuntu 过去 15 年处理 FDE 方式的重大变化。

**在现有系统中**，采用了密码机制，该机制将通过接受用户设置的密码来对用户进行身份验证，然后使用该密码提供对磁盘的访问。

所有这一切都是由于集成了 <ruby>   Linux 统一密钥设置  <rt>  Linux Unified Key Setup </rt></ruby>（LUKS）框架而成为可能，该框架在块级别处理磁盘加密。

**使用 TPM 支持的系统**，主板上的 TPM 芯片将用于提供全磁盘加密，而无需密码。

**芯片将处理锁定完整 EFI 状态的密钥** 以及内核命令行的解密。只有当设备使用已定义为“**授权**”来访问机密数据的软件启动时，才有可能实现这一点。

>
> ? TPM <ruby>   可信平台模块  <rt>  Trusted Platform Module </rt></ruby> 的缩写。
>
>
>

**但是，有一个问题。**

TPM 支持的 FDE 基于与 [Ubuntu Core](https://ubuntu.com/core) [相同的架构](https://ubuntu.com/core/docs/uc20/full-disk-encryption)，这导致了许多关键组件的共享，这些组件 **以 Snap 包的形式提供**。因此，**引导加载程序**（shim/GRUB）和**内核文件**等内容是通过 Snap 交付的。

幸运的是，这种新的 **TPM 支持的 FDE 并不是加密磁盘的唯一方法**。对于那些不想使用新系统的人来说，**传统密码系统仍将存在**。

用户还可以使用新系统和密码来进一步增强安全性。

有关 TPM 支持的磁盘加密如何工作的技术细节，我建议你阅读 Ubuntu 的[官方博客](https://ubuntu.com/blog/tpm-backed-full-disk-encryption-is-coming-to-ubuntu)。

**有兴趣测试一下吗？** ?

>
> ? 测试任何实验功能都可能导致全部数据丢失。因此，请自行承担风险。
>
>
>

好吧，TPM 支持的 FDE 已推出到 **Ubuntu 23.10** 的 [每日构建](https://cdimage.ubuntu.com/daily-live/current/) 中，你只需在安装过程中进行设置，如本文中的截图所示。

在 Ubuntu 安装程序中选择安装类型时，可在“**高级功能**”下使用新的 FDE 选项。

? 你对这个新的实验性功能有何看法？ 在下面的评论中分享你的想法。

*（题图：MJ/d89e5b66-af24-4a2f-b351-9257239819cd）*

---

via: <https://news.itsfoss.com/ubuntu-23-10-disk-encryption/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1123 无人察觉：窃取密码的 Linux 木马已偷偷下载 3 年

Summary:
? 无人察觉：窃取密码的 Linux 木马已偷偷下载 3 年
? 谷歌称它的搜索引擎是最好的
? OpenSSL 1.1.1 已经走到了生命的尽头
»
»

和干净利索有什么关系？只要openssl1.1.1还在维护期一秒钟，那些不思进取的软件公司一行代码都懒得改。

难道Linux也要统统安装360？

千万别装那鸟东西

除了360也可以试试腾讯管家（笑）

# 硬核观察 #1123 无人察觉：窃取密码的 Linux 木马已偷偷下载 3 年

### 无人察觉：窃取密码的 Linux 木马已偷偷下载 3 年

安全研究人员报告，一个下载网站间隔性地向 Linux 用户提供恶意软件，盗取密码和其他敏感信息长达三年多，直到最后销声匿迹。该网站提供了一个名为 “免费下载管理器“ 的 Linux 软件。从 2020 年开始，该网站有时会将用户重定向到另外一个恶意域名，提供该应用的恶意版本，它会在目标设备上安装后门。该后门会窃取包括系统信息、浏览历史、保存的密码、加密货币钱包文件以及云服务凭证等信息。这个恶意重定向于 2022 年结束，原因不明。

>
> **[消息来源：Ars Technica](https://arstechnica.com/security/2023/09/password-stealing-linux-malware-served-for-3-years-and-no-one-noticed/)**
>
>
>

>
> 老王点评：与 Windows 相比，Linux 恶意软件很少被发现，这往往让人们更加掉以轻心，现在检查一下你的 Linux 桌面，或许为时不晚。
>
>
>

### 谷歌称它的搜索引擎是最好的

在周二开庭的谷歌反垄断诉讼案上，司法部和来自美国各州和地区的 52 位总检察长指控谷歌支付数十亿美元，以换取被设置为手机和网络浏览器的默认搜索引擎，从而非法维持其垄断地位。法官称，谷歌至少在 2010 年就已成为垄断企业，如今控制着超过 89% 的在线搜索市场。谷歌的律师表示，人们选择谷歌作为浏览器和智能手机的默认搜索引擎“是因为谷歌为他们带来了价值，而不是因为他们不得不使用谷歌”。并举例，微软在 Windows 上的默认搜索引擎是必应，但用户切换到谷歌是因为它是搜索市场上更好的产品。而且，谷歌的律师表示，Safari 和 Firefox 通过默认搜索引擎交易换取收入分成，帮助了它们的创新。

>
> **[消息来源：彭博社](https://www.bloomberg.com/news/articles/2023-09-12/google-pays-10-billion-a-year-to-maintain-monopoly-doj-says)**
>
>
>

>
> 老王点评：谷歌是不是最好的，和它是不是非法维持垄断没有关系。让我们看看这起新时代的 IT 巨头垄断案将如何走向。
>
>
>

### OpenSSL 1.1.1 已经走到了生命的尽头

OpenSSL 1.1.1 最初于 2018 年作为开源安全通信库的长期支持版本发布。当时，其背后的团队宣称，该版本将至少支持五年，也就是到今年。要想继续获得 OpenSSL 的支持，就必须升级到 OpenSSL 3.0 LTS 或最新的 3.1 版本。但迁移到更高版本的 OpenSSL 会带来风险和危险，一些依赖 OpenSSL 的服务可能会对更新反应迟钝，尤其是那些硬编码 OpenSSL 服务的物联网组件。实际上，企业宁可花钱让 OpenSSL 维护者和作者继续使用发霉的旧代码，比如，可以购买一份针对企业的价值 5 万美元的年度支持合同。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/12/openssl_111_end_of_life/)**
>
>
>

>
> 老王点评：作为一个安全基础组件，这么干净利索的停止服务支持，总是有些不负责任。
>
>
>


Btrfs 详解：基础概念

Summary: 这篇文章是《Btrfs 详解》系列文章中的一篇。

最早使用CoW和datasets等其他一些高级特性的文件系统是Sun的ZFS，BtrFS、APFS和ReFS都是类似ZFS的文件系统。

来自广东广州的 Chrome Mobile 116.0|Android 10 用户

sun被oracle收购后openindiana继续提供zfs文件系统，国内有备份厂家就是使用openindiana的zfs来作备份的。

高屋建瓴地了解 Btrfs 文件系统....到底是如何了解的呀   ：``(

高屋建瓴地了解 Btrfs 文件系统....翻译成英文

"高屋建瓴地了解 Btrfs 文件系统" can be translated to English as:

"A profound understanding of the Btrfs file system."

A profound understanding of the Btrfs file system. 译成中文

"A profound understanding of the Btrfs file system." 可以翻译为中文:

"对 Btrfs 文件系统的深入了解。"

：0

很显然AI学习了过多的领导演讲稿。。。

这篇文章是《Btrfs 详解》系列文章中的一篇。

# Btrfs 详解：基础概念

这篇文章是《Btrfs 详解》系列文章中的一篇。从 Fedora Linux 33 开始，Btrfs 就是 Fedora Workstation 和 Fedora Silverblue 的默认文件系统。

### 介绍

文件系统是现代计算机的基础之一。它是任何操作系统必不可少的一部分，且通常不为人注意。但是，像 Btrfs 这样的现代文件系统提供了许多很棒的特性，使计算机的使用更加方便。例如，它可以无感地为你压缩文件，或者为增量备份建立可靠的基础。

这篇文章将带你高屋建瓴地了解 Btrfs 文件系统是如何工作的，有什么特性。本文既不会过多涉及技术细节，也不会研究其底层实现，系列后续的文章会详细介绍一些重要特性。

### 什么是文件系统

如果你基本了解过文件系统是如何工作的，那么下面的内容对你应该是不陌生的，你可以直接跳到下一节。否则，请先阅读下面对文件系统的简短介绍。

简单来说，文件系统允许你的 PC 去寻找存储在磁盘上的数据。这听起来像是微不足道的工作，但实际上时至今日各种类型的非易失性存储设备（比如机械硬盘、固态硬盘、SD 卡等等）仍然与 1970 年代 PC 被发明时基本相同：一个（巨大的）存储块集合。

“<ruby> 块 <rt>  Block </rt></ruby>” 是最小的可寻址存储单元。PC 上的每个文件内容被存储在多个块中。一个块通常是 4096 字节的大小。这取决于你的硬件和在这之上的软件（即文件系统）。

文件系统允许我们从海量的存储块中查找文件的内容，这是通过所谓的 *inode* 去实现的。一个 inode 在特殊格式的存储块里记录了文件的信息。这包含文件的大小，哪里去寻找组成文件内容的存储块，访问规则（即谁可读，可写，可执行）等等。

下面是 inode 的示意图：

inode 的结构对文件系统的功能有巨大的影响，因此它是各种文件系统诸多的重要数据结构之一。出于这个原因，每个文件系统有各自的 inode 结构。如果你想了解更多信息，看看下面 [链接](https://btrfs.wiki.kernel.org/index.php/Data_Structures#btrfs_inode_item) 关于 Btrfs 文件系统 inode 结构的内容。如需更详细地了解各个字段的含义，你可以 [参考](https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table) ext4 文件系统的 inode 结构。

### 写时复制（CoW）文件系统

相比 ext4，Btrfs 拥有的杰出特性之一是，它是一个 <ruby> 写时复制 <rt>  Copy-on-Write </rt></ruby>（CoW）文件系统。当一个文件被改变和回写磁盘，它不会故意写回它原来的位置，而是被复制和存储在磁盘上的新位置。从这个意义上，可以简单地认为 Cow 是一种 “重定向”，因为文件写入被重定向到不同的存储块上。

这听起来很浪费，但实际上并不是。这是因为被修改的数据无论如何一定会被写到磁盘上，不管文件系统是如何工作的。Btrfs 仅仅是确保了数据被写入在之前没被占据的块上，所以旧数据保持完整。唯一真正的缺点就是这种行为会导致文件碎片化比其他文件系统要快。在日常的电脑使用中，你不太可能会注意到这点差异。

CoW 的优势在哪里？简单的说：文件被修改和编辑的历史被保存了下来。Btrfs 保存文件旧版本的引用（inode）可以轻易地被访问。这个引用就是快照：文件系统在某个时间点的状态镜像。这将是这系列文章里的单独的一篇，所以暂时留到后面介绍。

除了保存文件历史，CoW 文件系统永远处于一致的状态，即使之前的文件系统事务（比如写入一个文件）由于断电等原因没有完成。这是因为文件系统的元数据更新也是写时复制的：文件系统本身永远不会被覆写，所以中断不会使其处于部分写入的状态。

### 对文件的写时复制

你可以将文件名视为对 inode 的指针。在写入文件的时候，Btrfs 创建一个被修改文件内容（数据）的拷贝，和一个新的 inode（元数据），然后让文件名指向新的 inode，旧的 inode 保持不变。下面是一个假设示例来阐述这点：

这里 `myfile.txt` 增加了三个字节。传统的文件系统会更新中间的 `Data` 块去包含新的内容。CoW 文件系统不会改变旧的数据块（图中灰色），写入（复制）更改的数据和元数据在新的地方。值得注意的是，只有被改变的数据块被复制，而不是全部文件。

如果没有空闲的块去写入新内容，Btrfs 将从被旧文件版本占据的数据块中回收空间（除非它们是快照的一部分，本系列后续文章会看到）。

### 对目录的写时复制

从文件系统的角度看，目录只是特殊类型的文件。与常规文件不同，文件系统直接解释数据块的内容。一个目录有自身的元数据（inode，就像上面说的文件一样）去记录访问权限或修改时间。最简单的形式，存在目录里的数据（被叫作目录项）是一个 inode 引用的列表，每个 inode 又是另外的文件或目录。但是，现代文件系统在目录项中至少会存储一个文件名和对应的 inode 引用。

之前已经指出，写入一个文件会创建之前 inode 的副本，并相应修改其内容。从根本上，这产生了一个和之前无关的新的 inode 。为了让被修改的文件对文件系统可见，所有包含这个文件引用的目录项都会被更新。

这是一个递归的过程！因为一个目录本身是一个带有 inode 的文件。修改目录里的任何一项都会为这个目录文件创建新的 inode 。这会沿着文件系统树递归直到文件系统的根。

所以，只要保留对任何旧目录的引用，并且这些目录没有被删除和覆写，就可以遍历之前旧状态的文件系统树。这就是快照的功能。

### 后续文章可以期待的内容

Btrfs 不只是一个 Cow 文件系统。它目标是实现高级特性的同时关注容错、修复和易于管理（参见 [文档](https://btrfs.readthedocs.io/en/latest/Introduction.html)）。本系列未来的文章将会专门介绍这些特性。

* 子卷 – 文件系统中的文件系统
* 快照 – 回到过去
* 压缩 – 透明节省存储空间
* 配额组 – 限制文件系统大小
* RAID – 替代 mdadm 配置

这远非 Btrfs 特性的详尽列表。如果你想全面地了解可用特性，查看 [维基](https://btrfs.wiki.kernel.org/index.php/Main_Page) 和 [文档](https://btrfs.readthedocs.io/en/latest/Introduction.html)。

### 总结

我希望我已能激起你进一步了解计算机文件系统的兴趣。如果目前你有任何疑问，请在评论区留言讨论以便在日后文章中探讨，同时，你也可以自行学习文中提供的相关资源。如果你发现 Btrfs 中某项特别有趣的功能，也欢迎在评论区提出。如果某个主题收到足够的关注，我可能会在系列文章中新增相关内容。下一篇文章再见！

*（题图：MJ/35fa1970-1806-4026-8d58-095a56206ec9）*

---

via: <https://fedoramagazine.org/working-with-btrfs-general-concepts/>

作者：[Andreas Hartmann](https://fedoramagazine.org/author/hartan/) 选题：[lkxed](https://github.com/lkxed) 译者：[A2ureStone](https://github.com/A2ureStone) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


如果你使用过 “Free Download Manager”，必读！

Summary: 无论如何，保持谨慎总是上策！

好几年前手机上下载种子临时安装过，当时看官网语言支持把“中文”=“繁体中文”，用一次就卸载了。

前几天想将antixlinux的衍生mxlinux做成u盘系统的时候发现地区语言选项，简体是中国，繁体是中华民国，立刻删除了iso

我去，用了很长一段时间了，用 aur 装的<br />
对照了下报告，没发现可疑文件

uget有同样问提么？

来自223.104.246.180的 SeaMonkey 2.53|GNU/Linux 用户

无论如何，保持谨慎总是上策！

# 如果你使用过 “Free Download Manager”，必读！

<img src="content_image/album_202309_14_080300ykkwbb9n48kj81bn.jpg" alt="" title="">

>
> 无论如何，保持谨慎总是上策！
>
>
>

对于 Linux 的恶意软件，我们并不常提及，这是因为它常会被迅速修复，并且与 Windows/macOS 相比，在现实中被利用的情况相对较少。

然而，一款颇受欢迎的跨平台下载管理器 **Free Download Manager**，最近引起了一些关注。

虽然在我们的 [下载管理器列表](https://itsfoss.com/best-download-managers-linux/) 中，并未将其列为 Linux 的推荐选项，但我们的一些读者以及我自己在过去的 Windows 使用体验中，都曾选择了它。

那么，问题来了，这究竟是怎么回事？

### 伪装成 Linux 版 Free Download Manager 的恶意软件

**Free Download Manager 本身并非恶意软件**。但问题在于，研究人员发现了一个恶意 Linux 程序包，而这个包，正是假冒 Free Download Manager 的。

安全研究公司卡巴斯基的研究员们 [发现](https://securelist.com/backdoored-free-download-manager-linux-malware/110465/)，这个恶意程序包已经存在了至少两年（**2020-2022年**）的时间，而在此期间，大部分使用者并未意识到他们所安装的软件包，含有恶意组件。

许多恶意程序包都试图伪装成市场上受欢迎的程序；那么，*这件事究竟是怎么回事呢？*

**问题的核心在于**：这个恶意程序包是通过 **Free Download Manager 的官方网站** ? 和其他非官方渠道分发的，一直持续到 2022 年。

>
> ? Free Download Manager 的官方网站是 `freedownloadmanager.org`，正式的下载 URL 是 `files2.freedownloadmanager.org`。
>
>
>

而恶意程序包下载的域名是 `deb.fdmpkg.org`。

换言之，这表明开发者并未察觉其官方网站已被恶意破坏，用户已被重定向，下载安装来自另一个域名的带有恶意的 Linux 程序包。

**需要注意的是**：并非所有用户在 2020 年至 2022 年期间，都被从官方网站重定向，下载了恶意程序包。然而，这并不能让情况改观，对吧？

你可能下载了，也可能没有下载安装过这个具有感染性的程序包 ?

**这个恶意软件究竟干了什么** ?

卡巴斯基的报告在描述这个恶意软件时，称其为 “一种 bash 窃取器”，这种窃取器可以收集系统信息、浏览记录、已保存的密码、加密货币钱包的文件，以及云服务的凭据，包括 AWS、Google Cloud、Oracle Cloud Infrastructure 以及 Azure 等。

考虑到在现实世界中很少看到 Linux 版的恶意软件，因此验证你下载工具的来源和可靠程度是至关重要的，这需要你始终保持谨慎态度。

尽管我们并未明确了解有多少的 Linux 用户习惯使用 Free Download Manager，但这的确是令人警惕的新闻。你应当遵循所有 [提高隐私保护的建议](https://itsfoss.com/improve-privacy/)，确保你的在线体验安全无忧。

### 现在，你应该怎么做？

在软件的开发者就此问题做出正式公开回应之前，我会建议你转而使用其他下载管理器：

>
> **[6 个最好的 Linux 下载管理器](https://itsfoss.com/best-download-managers-linux/)**
>
>
>

如果你不记得（或无法确认你下载源的准确位置），我会建议你移除该下载管理器。

另外，我建议你阅读卡巴斯基发表的 [研究报告](https://securelist.com/backdoored-free-download-manager-linux-malware/110465/)，找出可能的系统遭受损害的迹象。如果你的系统中存在相同的文件路径，且 Debian 程序包的恶意校验和与之相吻合，那么你应该手动移除它们。

即使你想要重新下载该软件，在安装包到你的 Linux 系统之前，你也必须核对下载 URL 的准确性。

? 你如何看待 Linux 用户如何保护自己避免受到恶意软件的攻击？欢迎在评论中留言分享你的想法。

*（题图：MJ/6b1e3b3f-a880-4342-b38b-500468c72052）*

---

via: <https://news.itsfoss.com/free-download-manager-malware/>

作者：[Ankush Das](https://news.itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1124 Unity 新的按安装次数定价激怒了游戏开发社区

Summary:
? Unity 新的按安装次数定价激怒了游戏开发社区
? Ubuntu 23.10 安装程序恢复对 ZFS 文件系统的支持
? Stability AI 发布生成式音频 AI
»
»

如果给AI足够多的3D打印机，它是不是能造出另一个世界？

按次付费对于刷单是个不小的成本。

# 硬核观察 #1124 Unity 新的按安装次数定价激怒了游戏开发社区

### Unity 新的按安装次数定价激怒了游戏开发社区

多年来，Unity 引擎以其免版税的授权结构赢得了大大小小开发商的好感，这意味着开发商无需根据游戏的销售情况支付额外费用。Unity 于本周二宣布了新的收费结构，在达到一定的最低门槛后，将开始按安装次数向开发者收费，每次安装费用甚至可以高达 0.20 美元，让这种好感被抛到了九霄云外。开发者们的反应非常迅速，可以说是群情激愤。新的 Unity 费用结构将于明年生效，将根据公司的不同订阅层级收取不同的每安装费用。甚至，新的收费结构将适用于以前存在的 Unity 游戏。之前，Unity 允许月收入低于 10 万美元的开发者完全免费使用，其 CEO 在 2015 年推出免费的个人版时说，“我们不会敷衍用户，也不会向他们收取版税。我们说免费，就是免费。”

>
> **[消息来源：Ars Technica](https://arstechnica.com/gaming/2023/09/game-developers-unite-against-unitys-new-per-install-pricing-structure/)**
>
>
>

>
> 老王点评：养肥了就该杀了，都是套路。
>
>
>

### Ubuntu 23.10 安装程序恢复对 ZFS 文件系统的支持

在基于 Flutter 的新版 Ubuntu Linux 桌面安装程序里，缺少了对 ZFS 根文件系统安装的支持。但最近在即将推出的 Ubuntu 23.10 中，他们恢复了对 ZFS 的“实验性”支持（包括在 subiquity 和桌面安装程序中），但尚不支持 ZFS 加密。由于 OpenZFS 内核驱动程序仍在 Linux 内核主树之外，使用 ZFS 可能面临一定的风险。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Ubuntu-23.10-ZFS-Install)**
>
>
>

>
> 老王点评：得不到发行版厂商支持的文件系统就很难发展起来。
>
>
>

### Stability AI 发布生成式音频 AI

Stability AI 今天宣布其 Stable Audio 技术，让任何人都能使用简单的文字提示生成简短的音频片段。它是利用扩散模型来生成新的音频片段，该模型是在 AudioSparks 音频库中超过 800,000 首授权音乐的基础上训练出来的。Stable Audio 模型大约有 12 亿个参数，与最初发布的用于图像生成的 Stable Diffusion 大致相当。

>
> **[消息来源：Venture Beat](https://venturebeat.com/ai/stability-ai-debuts-stable-audio-bringing-text-to-audio-generation-to-the-masses/)**
>
>
>

>
> 老王点评：万事皆可训练，万物皆可生成。
>
>
>


在 Linux 文件系统中使用 attr 添加扩展属性

# 在 Linux 文件系统中使用 attr 添加扩展属性

<img src="content_image/album_202309_15_081240syst7uisttadnky6.jpg" alt="" title="">

>
> 我使用开源的 XFS 文件系统是为了其扩展属性带来的小小便利。扩展属性是一种为我的数据添加上下文的独特方式。
>
>
>

“文件系统” 是一个描述你的计算机怎样跟踪你创建的所有文件的完美词语。你的计算机存储有大量的数据，无论是文档、配置文件还是数以千计的照片。这需要一种对人和机器都友好的方式。诸如 Ext4、XFS、JFS、BtrFS 的文件系统是你的计算机用来跟踪文件的“语言”。

你的桌面或终端可以帮助你快速查找文件。例如，你的文件管理器可能有过滤功能，以便让你可以快速查看家目录内的图片，它也可能带有搜索功能以让你使用文件名定位文件。这些特性被称作*文件属性*，正如其名，它们是由文件头或者文件系统代码定义的文件对象的属性。大多数的文件系统记录了标准的文件属性，例如文件名、文件大小、文件类型、创建时间、上次访问时间等。

我在我的计算机上使用开源的 XFS 文件系统，不是为了其稳定性和高性能，而是为了其扩展属性带来的小小便利。

### 常见的文件属性

当你保存一个文件，文件相关的数据也会随同保存。常见的属性会告诉操作系统是否更新访问时间，什么时间同步数据到硬盘等逻辑细节。哪些属性被保存取决于底层文件系统的功能和特性。

在标准文件属性（如果有标准属性的话）之外，XFS、Ext4 和 BtrFS 文件系统都可以使用扩展属性。

### 扩展属性

XFS、Ext4 和 BtrFs 允许你创建自己的任意文件属性。由于是自己创建的，操作系统不会有内建支持，不过我以“标签”的方式使用它们，就像图片的 EXIF 数据一样。开发者们也许会选择使用扩展属性去开发应用内的自定义的功能。

XFS 中的属性有两个“命名空间”：用户（`user`）和根（`root`）。当创建属性时，你必须将其加入其中一个命名空间。要将属性添加到根命名空间，必须使用 `sudo` 命令或以 `root` 身份登录。

### 增加一个属性

你可以使用 `attr` 和 `setfattr` 命令在 XFS 文件系统中为文件增加属性。

`attr` 命令默认在 `user` 命名空间下进行，所以你只需要为属性设置一个名字（`-s`）和值（`-V`）。

```
$ attr -s flavor -V vanilla example.txt
Attribute "flavor" set to a 7 byte value for example.txt:
vanilla

```

`setfattr` 命令需要你指定目标命名空间：

```
$ setfattr --name user.flavor --value chocolate example.txt

```

### 列出扩展文件属性

使用 `attr` 或者 `getfattr` 命令可以看已添加到文件上的扩展属性。`attr` 命令默认使用 `user` 空间，使用 `-g` 以获取扩展属性：

```
$ attr -g flavor example.txt
Attribute "flavor" had a 9 byte value for example.txt:
chocolate

```

`getfattr` 命令需要属性的命名空间和名字：

```
$ getfattr --name user.flavor example.txt
# file: example.txt
user.flavor="chocolate"

```

### 列出所有扩展属性

要看一个文件的所有扩展属性，你可以使用 `attr -l`：

```
$ attr -l example.txt
Attribute "md5sum" has a 32 byte value for example.txt
Attribute "flavor" has a 9 byte value for example.txt

```

或者，你也可以使用 `getfattr -d`：

```
$ getfattr -d example.txt
# file: example.txt
user.flavor="chocolate"
user.md5sum="969181e76237567018e14fe1448dfd11"

```

扩展文件属性可以使用 `attr` 和 `setfattr` 更新，就像你创建这些属性一样：

```
$ setfattr --name user.flavor --value strawberry example.txt

$ getfattr -d example.txt
# file: example.txt
user.flavor="strawberry"
user.md5sum="969181e76237567018e14fe1448dfd11"

```

### 其他文件系统上的属性

使用扩展属性最大的风险是忘记这些属性是特定于某个文件系统的。这意味着当你从一个磁盘或分区复制文件到另外一个磁盘或分区时，这些属性都会丢失，**即使**目标位置的文件系统也支持扩展属性。

为了避免丢失扩展属性，你需要使用支持保留这些属性的工具，例如 `rsync` 命令。

```
$ rsync --archive --xattrs ~/example.txt /tmp/

```

但无论你使用什么工具，如果你传输文件到一个不知道如何处理扩展属性的文件系统，这些属性都会被丢弃。

### 搜索属性

与扩展属性交互的机制并不多，所以使用这些添加的文件属性的方法也有限。我使用扩展属性作为标签机制，这让我可以将没有明显关系的文件联系起来。例如，假设我需要在一个项目中用“知识共享”的图形。假如我预见性地将 `license` 属性添加到了我的图形库中，我就可以使用 `find` 和 `getfattr` 在图形文件夹中寻找：

```
find ~/Graphics/ -type f \
    -exec getfattr \
    --name user.license \
    -m cc-by-sa {} \; 2>/dev/null

# file: /home/tux/Graphics/Linux/kde-eco-award.png
user.license="cc-by-sa"
user.md5sum="969181e76237567018e14fe1448dfd11"

```

### 文件系统的秘密

文件系统一般不会引起你的注意。它们实际是定义文件的系统。这不是计算机做的最让人兴奋的任务，也不是用户应该关心的东西。但是有些文件系统可以给你有趣、安全的特殊能力，扩展文件属性就是一个好例子。它的用途可能有限，但是扩展属性是你为数据增加上下文的独特方法。

*（题图：MJ/06c0c478-7af7-49e4-836b-a9923db9dc0c）*

---

via: <https://opensource.com/article/22/6/linux-attr-command>

作者：[Seth Kenlon](https://opensource.com/users/seth) 选题：[lkxed](https://github.com/lkxed) 译者：[wznmickey](https://github.com/wznmickey) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


使用 R 语言构建一个可交互的 Web 应用

# 使用 R 语言构建一个可交互的 Web 应用

数据分析已成为企业的当务之急，并且对具有用户友好界面的数据驱动应用程序有巨大的需求。本文介绍如何使用 R 语言中的 Shiny 包开发交互式 Web 应用程序，R 语言是一种流行的数据科学编程语言。

如今，世界各地几乎所有企业都以某种形式依赖于数据。数据科学通过使用数据驱动的应用程序帮助许多企业实现转型，无论是在金融、银行、零售、物流、电子商务、运输、航空还是任何其他领域。

高性能计算机和低成本存储使我们现在能够在几分钟内预测结果，而不是像以前一样以前需要花费很多时间。数据科学家着眼于未来，正在开发具有高性能和多维可视化的便捷应用。这一切都始于大数据，它由三个组成部分组成：数量、多样性和速度。算法和模型都是根据这些数据提供的。机器学习和人工智能领域最前沿的数据科学家正在创建能够自我改进、检测错误并从中学习的模型。

在数据科学领域，统计和计算用于将数据转化为有用的信息，通常称为数据驱动科学。数据科学是来自各个领域的方法的综合，用于收集、分析和解释数据，以形成新的见解并做出选择。构成数据科学的技术学科包括统计学、概率、数学、机器学习、商业智能和一些编程。

数据科学可以应用于各个领域（图 1）。对大型、复杂数据集的分析是数据科学的重点。它帮助我们创建了一个以全新方式看待数据的新宇宙。亚马逊、谷歌和 Facebook 等科技巨头利用数据科学原理进行商业智能和商业决策。

### R 语言：为数据科学量身打造的语言

由于海量的可用信息，我们迫切需要数据分析以得到新的见解，在多种技术的帮助下，原始数据转化为成品数据产品。在数据研究、处理、转换和可视化方面，没有比 R 语言更好的工具了。

R 语言用于数据科学的主要功能包括：

* 数据预处理
* 社交媒体数据获取和分析
* 对数据结构的各种操作
* 提取、转换、加载（ETL）
* 连接到各种数据库，包括 SQL 和电子表格
* 与 NoSQL 数据库交互
* 使用模型进行训练和预测
* 机器学习模型
* 聚类
* 傅里叶变换
* 网页抓取

R 语言是一种强大的编程语言，常用于统计计算和数据分析。有关优化 R 语言用户界面的努力由来已久。从简单的文本编辑器到更现代的交互式 R Studio 和 Jupyter Notebooks，世界各地的多个数据科学小组都在关注 R 语言的发展。

只有全世界 R 用户的贡献才使这一切成为可能。R 语言中包含的强大软件包使其日益强大。许多开源软件包使处理大型数据集和可视化数据变得更加容易和高效。

### 使用 Shiny 在 R 语言中开发交互式 Web 应用

你可以使用 Shiny 包在 R 语言中构建交互式 Web 应用程序。应用程序可以托管在网站上、嵌入 R Markdown 文档中，或用于开发控制面板板和可视化。CSS 主题、HTML 小部件和 JavaScript 操作都可以用于进一步自定义你的 Shiny 应用程序。

Shiny 是一款 R 语言工具，它可以轻松创建交互式的 Web 应用程序。它允许你将你的 R 代码扩展到 Web 上，从而使更多的人能够使用它，从中获益。

除了 Shiny 内置的功能外，还有许多第三方扩展包可用，例如 shinythemes、shinydashboard 和 shinyjs。

使用 Shiny 可以开发各种应用程序。以下是其中一些：

* 基于 Web 应用的机器学习
* 具有动态控件的 Web 应用程序
* 数据驱动的仪表盘
* 多重数据集的交互式应用
* 实时数据可视化面板
* 数据收集表单

Shiny Web 应用程序可以分为以下几类：

* 用户接口
* 服务功能逻辑
* Shiny 应用逻辑

获取更深理解，请访问以下网站 <https://shiny.rstudio.com/gallery/> 。

其中某个用 Shiny 开发的应用如图 2（<https://shiny.rstudio.com/gallery/radiant.html> ）。

### 销售仪表盘的生成

下面是一个与销售仪表盘相关的 Web 应用程序的代码片段。该仪表板具有多个控件和用户界面模块，用于查看数据。

首先，安装 Shiny 包，然后在代码中调用它，以便将输出呈现为 Web 页面的形式。

```
library(shiny)
library(dplyr)

sales <- vroom::vroom(“salesdata.csv”, na = “”)
ui <- fluidPage(
    titlePanel(“Dashboard for Sales Data”),
    sidebarLayout(
        sidebarPanel(
            selectInput(“territories”, “territories”, choices = unique(sales$territories)),
            selectInput(“Customers”, “Customer”, choices = NULL),
            selectInput(“orders”, “Order number”, choices = NULL, size = 5, selectize = FALSE),
        ),
        mainPanel(
            uiOutput(“customer”),
            tableOutput(“data”)
        )
    )
)
server <- function(input, output, session) {
    territories <- reactive({
        req(input$territories)
        filter(sales, territories == input$territories)
    })
    customer <- reactive({
        req(input$Customers)
        filter(territories(), Customers == input$Customers)
    })

    output$customer <- renderUI({
        row <- customer()[1, ]
        tags$div(
            class = “well”,
            tags$p(tags$strong(“Name: “), row$customers),
            tags$p(tags$strong(“Phone: “), row$contact),
            tags$p(tags$strong(“Contact: “), row$fname, “ “, row$lname)
        )
    })

    order <- reactive({
        req(input$order)
        customer() %>%
        filter(ORDER == input$order) %>%
        arrange(OLNUMBER) %>%
        select(pline, qty, price, sales, status)
    })

    output$data <- renderTable(order())

    observeEvent(territories(), {
        updateSelectInput(session, “Customers”, choices = unique(territories()$Customers), selected = character())
    })
    observeEvent(customer(), {
        updateSelectInput(session, “order”, choices = unique(customer()$order))
    })
}
shinyApp(ui, server)

```

运行 Shiny 应用程序的代码后，生成了图 3 所示的输出，可以在任何 Web 浏览器上查看。销售仪表盘具有多个控件，并且具有不同的用户界面模块，非常互动。

通过使用 Shiny Cloud，可以将这个应用程序部署和托管在云上，以便随时随地在互联网上使用。

Shiny Cloud 的免费版本允许在 25 个活动小时内部署五个应用程序。研究人员和数据科学家可以使用 R 的 Shiny 库开发基于实时数据驱动的用户友好应用程序。这个库也可以用于在 Web 平台上部署他们的机器学习应用程序。

*（题图：MJ/1a76ad20-e56d-480b-b28b-8cf74d2230a1）*

---

via: <https://www.opensourceforu.com/2022/10/using-r-for-building-an-interactive-web-app/>

作者：[Dr Kumar Gaurav](https://www.opensourceforu.com/author/dr-gaurav-kumar/) 选题：[lkxed](https://github.com/lkxed) 译者：[Charonxin](https://github.com/Charonxin) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1125 GitHub 调整主页信息流惹怒开发人员

Summary:
? GitHub 调整主页信息流惹怒开发人员
? 黑客声称只打了 10 分钟电话就关闭了米高梅酒店
? JetBrains 放弃开源插件，宣布全新 Rust IDE
»
»

连Ruby都有独立IDE（RubyMine）。考虑Rust如今的重要性，JetBrains是时候该开发独立IDE了。

当然，也希望有大佬能继续开发插件。

来自39.144.134.223的 Chrome Mobile 116.0|Android 10 用户

# 硬核观察 #1125 GitHub 调整主页信息流惹怒开发人员

### GitHub 调整主页信息流惹怒开发人员

一周前，GitHub 将用户主页中的“关注”信息流和算法推荐的“为你”信息合并，就像在浏览 Twitter 一样，信息流中不按时间顺序排列，也可能混入你没有关注的内容。这让不少用户感到非常生气。有用户说，“不是所有东西都要变得像 Twitter、Facebook 或 Instagram 一样。我们是来完成工作的，而不是来参与你的算法认为我们喜欢的任何事情。”GitHub 回应了这些反馈，称部分受质疑的行为实际上是由于漏洞造成的，现已得到修复，同时加倍坚持其新的信息流的决定。GitHub 称出于性能考虑“删除了‘为用户订阅的资源库推送事件’的功能。我们不会轻易做出这些改变，……我们必须优先考虑可用性、用户体验和性能”。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/13/github_alienates_customers_by_force/)**
>
>
>

>
> 老王点评：明明是生产力平台，非要变成大家说的“同性交友平台”。
>
>
>

### 黑客声称只打了 10 分钟电话就关闭了米高梅酒店

一个勒索软件组织声称对周二发生的米高梅酒店网络中断事件负责。该组织声称使用了常见的社会工程学策略，“入侵所做的一切就是在 LinkedIn 找到一名员工，然后致电服务台”，获取员工信任以获得内部信息。据该组织称，授予初始访问权限的对话仅用了 10 分钟。另据报道，他们试图从美高梅骗取赎金，但该公司拒绝支付。受此影响，米高梅的股价已下跌超过 6%。

>
> **[消息来源：Engadget](https://www.engadget.com/hackers-claim-it-only-took-a-10-minute-phone-call-to-shutdown-mgm-resorts-143147493.html)**
>
>
>

>
> 老王点评：古老的社工手段真是一直有效。
>
>
>

### JetBrains 放弃开源插件，宣布全新 Rust IDE

JetBrains 宣布了 RustRover 的早期访问预览版，这是一个全新的 Rust 集成开发环境。但同时，JetBrains 将不再开发现有的支持 Rust 的开源插件，不会再对其修复漏洞或添加新功能。该插件可与 JetBrains IDE 免费的社区版一起使用。而新发布的 RustRover 也将不会推出社区版，但正式版的发布日期还没有确定，至少在 2024 年 9 月前都只会发布公开测试版本。

>
> **[消息来源：Dev Class](https://devclass.com/2023/09/14/jetbrains-introduces-rustrover-ide-abandons-open-source-rust-plugin/)**
>
>
>

>
> 老王点评：看来，这个开源插件很快就会有复刻版了。
>
>
>

### 回音

* “免费下载管理器（FDM）” [承认](https://www.freedownloadmanager.org/blog/?p=664) 其被利用传播 [恶意木马](/article-16188-1.html)，并估计只有 0.1% 的用户受影响。


openSUSE 将用新产品取代 Leap

Summary: openSUSE Leap 将被新产品取代。怎么回事？

支持Snowroll，虽然我有时会用Tumbleweed

openSUSE Leap 将被新产品取代。怎么回事？

# openSUSE 将用新产品取代 Leap

<img src="content_image/album_202309_16_105805yqv5omxmwbmj5amk.jpg" alt="" title="">

>
> openSUSE Leap 将被新产品取代。怎么回事？
>
>
>

openSUSE 项目的长期贡献者 Richard Brown 分享了最近贡献者调查的一些结果。

这是关于用新的社区构建的产品取代 openSUSE Leap 的兴趣和可行性。哦？一个 openSUSE Leap 的替代品？

有趣的消息，对吧？ ?

这并不令人震惊。随着 <ruby> 适应性 Linux 平台 <rt>  Adaptable Linux Platform </rt></ruby> （ALP） 的推出，openSUSE 团队曾 [暗示](https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/N6TTE7ZBY7GFJ27XSDTXRF3MVLF6HW4W/) Leap 将于 **2022** 停止运营。所以，这是预料之中的。

但是，有哪些选择可以替代 openSUSE Leap？

### Tumbleweed 衍生版可能取代 Leap

根据这份更换提案，我们有两种选择：

* **Linarite**：一个普通的老式桌面发行版，软件包的选择范围可能比我们习惯的 Leap 更小，除非我们找到更多的贡献者来支持所有的软件包。
* **Slowroll** ：是 Tumbleweed 的衍生版本，尽可能地自动构建，使用自动化和度量标准仅在特定条件（最大周期、X 周无变化等）后才从 Tumbleweed 复制软件包。基本上，它试图提供比全速运行的 Tumbleweed 不那么风险的东西。

>
> 作为这件事的后继，openSUSE 现在为 Slowroll 做了一个 [页面](https://en.opensuse.org/openSUSE:Slowroll) 供你测试。
>
>
>

然而，调查结果显示意见不一。

大多数**用户**选择 “**Slowroll**” 作为未来可行的替代方案，他们愿意为此做出贡献。

相比之下，**贡献者**们则投票不取代 openSUSE Leap 或使用 Tumbleweed 替代它。

但是，在选择一个选项时，贡献者选择了 “**Linarite**”。

因此，用户和现有贡献者有不同的选择。

openSUSE 决定按照**用户**的喜好使用滚动发行版 Slowroll。它需要比调查中表示感兴趣的更多的贡献者。

Richard 还透露，**两个替代方案中的任何一个都需要比 Leap** 付出更多的努力，而且截至目前，对这两个选项感兴趣的 **贡献者数量比 Leap** 少。

>
> 即使有 61 个人直接为代码库和 backports/PackageHub 做出贡献，Leap 仍然举步维艰。这时我们就可以借用 SLE 代码库，这大大减少了所需的工作。
>
>
> Slowroll 或 Linarite 都比 Leap 需要更多的打包和维护工作。
>
>
>

他还强调，**任何 Leap 替代品都应该专注于桌面场景**，而不是试图同时兼顾服务器和桌面的需求。

### 换还是不换？

[调查结果公告](https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/KJMMAZFTP2MPKWKFZCYUROZFJ44BNVB5/) 要求社区回答 openSUSE 是否应该继续替换 Leap。

而且，如果他们继续这样做，社区可以帮助他们支持吗？

? 你认为 openSUSE 的最终决定应该是什么？ 请在下面的评论部分告诉我你的想法。

（题图：MJ/f0fcd9d7-dcae-493f-83db-4a0338eece3b）

---

via: <https://news.itsfoss.com/opensuse-leap-replacement/>

作者：[Ankush Das](https://news.itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


DevOps 文档成熟度的四个层次

# DevOps 文档成熟度的四个层次

<img src="content_image/album_202309_16_135943xon0788ou667jujw.jpg" alt="" title="">

>
> 提升 DevOps 文档成熟度的过程与达到 DevOps 或 DevSecOps 成熟化的历程是类似的。
>
>
>

为了能在软件迭代交付周期内按时交付优质的文档，DevOps 和 DevSecOps 的文档实践也需要是敏捷的。这与实现 DevOps 类似，只是更偏向自动化和敏捷的内容处理方法。如果文档现在才进入你的机构的 DevOps 讨论，那么是时候让文档实践追上 DevOps 的步伐了。

下面是 DevOps 文档成熟度的四个层次：

### 第一层：临时且孤立

在最低一级成熟度（最不成熟），文档编制工作没有和 DevOps 开发对齐。开发团队和文档团队按照各自的路线开展工作，常常导致文档落后于开发。在竞争激烈的“云”世界里，因为文档问题而推迟产品发布是不可接受的。

#### 人员

这个阶段的文档编制人员还没有摆脱传统的工作方式。<ruby> 技术写作 <rt>  technical writer </rt></ruby>人员隶属于一个中心化的单独团队，与开发团队是脱节的。技术写作组和开发团队之间的鸿可能是由多方面原因造成的：

* 造成团队分裂和孤立的公司政治
* 团队只是将技术文档视为项目验收清单上的检查项，而不是推动项目成功的资产
* 事后才雇佣技术写作人员
* 技术写作的优先级与开发团队的实际情况不匹配

这个阶段，另一个在人员配置上的挑战是如何“界定工作完成”。刚接触敏捷实践的技术写作可能难以适应 CI/CD 工具链和流程。

#### 文档工具和流程

这个阶段的技术写作仍习惯于使用传统的办公工具，比如办公套件和布局程序。这些工具不够敏捷，没有版本控制和内容管理的要求。它们无法与 DevOps 工具链高效集成，不能支撑快速开发。在这个成熟度，技术写作仍然参照遗留的模板和流程。

#### 成果

这个级别交付的文档可能是过时的，甚至缺乏技术准确性的。如果开发团队以 DevOps 的速度推进工作，而技术文档编制却遵循传统的非敏捷流程（使用专有的工具和交付格式），这就很难让文档迭代速度并跟上应用程序的变化。

### 第二层：实验和试点

DevOps 文档成熟度的第二层是实验/试验阶段。这个阶段是 DevOps 团队主管和技术写作采取行动打造更敏捷的文档实践和工具的第一步。

理想的情况下，这些实验是<ruby> 相关方 <rt>  stakeholder </rt></ruby>支持的试点项目的一部分。他们能够从文档交付流程的改善以及其与 DevOps 实践的集成中获益。

#### 人员

本阶段的人员可能来自以下三种形式：

1. 有远见的技术写作为了更好地完成工作，用自己的时间来实验更敏捷的工具。并且向领导层提出更敏捷的文档编制过程的想法。
2. DevOps 负责人或工程师试用 Hugo 和 Jekyll 等工具，并将这些工具集成到 CI/CD 流水线中。然后 DevOps 小组教授技术写作如何使用它们。
3. 团队引入了第三方承包商或顾问，他们在 DevOps 文档工具方面具有专业知识，并且了解文档工具适合嵌入到 CI/CD 工具链和 DevOps 生命周期的位置。

#### 文档工具和实践

[Hugo](https://opensource.com/article/18/3/start-blog-30-minutes-hugo) 和 [Jekyll](https://opensource.com/article/17/4/getting-started-jekyll) 是本阶段开始出现的工具。在这个阶段也出现新的内容策略和技术写作方法。

#### 成果

实验试点阶段理想的成果应该能够“<ruby> 落地并推广 <rt>  land and expand </rt></ruby>”。也就是说其它项目组也可以将其付诸实践。

这个阶段的实验也包括内容策略和发布流程上的根本性变化。其它非试点项目组的技术写作可以学习和使用它们。

试点带来的另一个可能的产出是 [技术写作招聘流程](https://opensource.com/article/19/11/hiring-technical-writers-devops) 的变化。你需要针对 DevOps 和你新引入的文档工具对内部编写人员进行培训。

新的文档工具和流程是此阶段的关键成果，你需要通过演示、状态报告和内部案例研究等方式，将这一成果推给领导层、相关方和其它团队。

### 第三层：部分自动化和扩展

DevOps 文档成熟度的第三层（部分自动化和扩展）就是“落地并推广”的进一步行动。在这个阶段，其它 DevOps 团队借用试点项目中产生的 DevOps 文档工具和流程，吸取其中的经验教训。

#### 人员

在这个成熟度，技术写作和 DevOps 团队开始更紧密的协作。招聘新的技术写作主要关注具有 DevOps 环境经验的人选。

#### 工具和文档实践

技术写作开始从抛弃传统的工具和流程，转到更敏捷的文档工具上，比如：

* [docToolchain](http://doctoolchain.org/)
* [Docbook](https://opensource.com/article/17/9/docbook)
* Hugo
* Jekyll

在这个成熟度，技术写作也负责调整遗留的文档实践。

#### 成果

DevOps 文档工具和实践超越试点项目，成为标准实践。在这个成熟度，随着新团队使用新的文档工具和流程，持续学习是必不可少的。

### 第四层：完全采用

在最高一级的 DevOps 文档成熟度（完全采用且自动化）所有工具、实践和流程已经到位，以支持将文档为项目中的高优先级事项。要达到这一成熟度，需要不断实验、迭代和团队协作。

#### 人员

完全自动化使 DevOps 团队与技术写作之间的协作更紧密。这一阶段的标志是，技术写作牢牢地融入到项目团队的工作流程中。文档工具的维护工作由一些大型企业负责，它们拥有专职维护 DevOps 工具链的工程师。

#### 文档工具和实践

在这个成熟度，技术写作统一采用 Markdown 语言和自动化工具。

#### 成果

本阶段的成果是一套完整的工具和实践，它们支持自动化在线文档发布。技术写作者可以按需发布和重新发布文档，以支持迭代开发流程。

持续学习是这个阶段的另一项成果。技术写作和工具链维护者寻找改进自动化和流程的方法，以帮助文档实践。

### 总结

提升 DevOps 文档成熟度的过程跟达到 DevOps 或 DevSecOps 成熟化的历程是类似的。我希望行业能够将更灵活的文档实践和工具作为公司推进 DevOps 进程中的一个部分。提高 DevOps 文档成熟度应该作整体 DevOps 成熟化甚至 [DevOps 到 DevSecOps 转型](https://opensource.com/article/21/10/devops-to-devsecops)的一部分。

*（题图：MJ/154429b7-bdfc-4b34-9a81-55d9fe33ab07）*

---

via: <https://opensource.com/article/22/2/devops-documentation-maturity>

作者：[Will Kelly](https://opensource.com/users/willkelly) 选题：[lujun9972](https://github.com/lujun9972) 译者：[toknow-gh](https://github.com/toknow-gh) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1126 GCC 准备引入一“键”安全加固选项

Summary:
? GCC 准备引入一“键”安全加固选项
? 红帽正在研究延迟模块签名验证以加快 Linux 启动时间
? Meta 的 VR 世界虚拟化身终于有腿了
»
»

现在相同的设备，Win10启动速度比Linux快。

win的快速启动模式没有完全关机

# 硬核观察 #1126 GCC 准备引入一“键”安全加固选项

### GCC 准备引入一“键”安全加固选项

已有各种加固选项来提高生成的二进制文件的安全性，但可能并非所有项目都在使用这些选项，原因可能是不了解它们，也可能是软件没有得到积极的维护。经过讨论，GNU 编译器集合（GCC）正准备添加一个 `-fhardened` 编译器选项，该选项将启用各种加固功能，以提高生成的二进制文件的安全性/稳健性。该加固选项认为合理的选项不能影响应用程序二进制接口（ABI），不能导致 “严重” 的性能问题，也不能导致新的构建错误。如果不出意外，这个选项补丁将很快被合并到明年初发布的 GCC 14.1 稳定版中。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/GCC-fhardened-Hardening-Option)**
>
>
>

>
> 老王点评：这样的一键选项很有必要，甚至我认为将来可能会成为默认值。
>
>
>

### 红帽正在研究延迟模块签名验证以加快 Linux 启动时间

红帽工程师提交了一组补丁，在启用模块签名检查功能时，可以延迟对这些签名的检查，内核会等待用户空间的通信，然后再开始检查。因此，可以在不影响系统安全的情况下显著提高启动速度。该功能引入了一个新的启动时内核参数，允许用户请求这种延迟。在某些情况下，启动速度变得至关重要。而有时候安全检查是多余的，因为在此过程中已经对内核和 initrd 镜像执行了加密检查，可以合理地认为其内容也是安全的。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Linux-Delay-Module-Verification)**
>
>
>

>
> 老王点评：这是安全和效率的合理折中。
>
>
>

### Meta 的 VR 世界虚拟化身终于有腿了

此前，Meta 公司的《地平线世界》的虚拟化身因为只有上半身而受到广泛嘲笑。不过现在它终于有了虚拟腿。如果你启动《地平线世界》并在菜单空间中照镜子，你就会看到自己化身的全身，而且当你进入一个世界时，其他人也会看到。但是你自己低头时还是看不到你的腿。不过，目前还没有一款 VR 系统内置腿部追踪功能，因此虚拟腿部与真实腿部的实际动作并不一致。

>
> **[消息来源：Upload VR](https://www.uploadvr.com/meta-avatars-horizon-worlds-metaverse-legs/)**
>
>
>

>
> 老王点评：我觉得目前的 VR 还处于比较可笑、原始的阶段，需要等待基础设施的进一步发展才会真正形成。
>
>
>


在 Git 仓库中，文件究竟被存储在哪里？

Summary: 我们知道它存储在 .git 目录中，但具体到 .git 中的哪个位置，各个版本的历史文件又被存储在哪里呢？

我更喜欢SVN

我更喜欢开源[坏笑]

# 在 Git 仓库中，文件究竟被存储在哪里？

<img src="content_image/album_202309_16_230138n1j44qiabgplgbw4.jpg" alt="" title="">

大家好！今天我和一个朋友讨论 Git 的工作原理，我们感到奇怪，Git 是如何存储你的文件的？我们知道它存储在 `.git` 目录中，但具体到 `.git` 中的哪个位置，各个版本的历史文件又被存储在哪里呢？

以这个博客为例，其文件存储在一个 Git 仓库中，其中有一个文件名为 `content/post/2019-06-28-brag-doc.markdown`。这个文件在我的 `.git` 文件夹中具体的位置在哪里？过去的文件版本又被存储在哪里？那么，就让我们通过编写一些简短的 Python 代码来探寻答案吧。

### Git 把文件存储在 .git/objects 之中

你的仓库中，每一个文件的历史版本都被储存在 `.git/objects` 中。比如，对于这个博客，`.git/objects` 包含了 2700 多个文件。

```
$ find .git/objects/ -type f | wc -l
2761

```

>
> 注意：`.git/objects` 包含的信息，不仅仅是 “仓库中每一个文件的所有先前版本”，但我们暂不详细讨论这一内容。
>
>
>

这里是一个简短的 Python 程序（[find-git-object.py](https://gist.github.com/jvns/ff884dceef7660402fe1eca697cfbf51)），它可以帮助我们定位在 `.git/objects` 中的特定文件的具体位置。

```
import hashlib
import sys

def object_path(content):
    header = f"blob {len(content)}\0"
    data = header.encode() + content
    sha1 = hashlib.sha1()
    sha1.update(data)
    digest = sha1.hexdigest()
    return f".git/objects/{digest[:2]}/{digest[2:]}"

with open(sys.argv[1], "rb") as f:
    print(object_path(f.read()))

```

此程序的主要操作如下：

* 读取文件内容
* 计算一个头部（`blob 16673\0`），并将其与文件内容合并
* 计算出文件的 sha1 校验和（此处为 `e33121a9af82dd99d6d706d037204251d41d54`）
* 将这个 sha1 校验和转换为路径（如 `.git/objects/e3/3121a9af82dd99d6d706d037204251d41d54`）

运行的方法如下：

```
$ python3 find-git-object.py content/post/2019-06-28-brag-doc.markdown
.git/objects/8a/e33121a9af82dd99d6d706d037204251d41d54

```

### 术语解释：“内容寻址存储”

这种存储策略的术语为“<ruby> 内容寻址存储 <rt>  content addressed storage </rt></ruby>”，它指的是对象在数据库中的文件名与文件内容的哈希值相同。

内容寻址存储的有趣之处就是，假设我有两份或许多份内容完全相同的文件，在 Git 的数据库中，并不会因此占用额外空间。如果内容的哈希值是 `aabbbbbbbbbbbbbbbbbbbbbbbbb`，它们都会被存储在 `.git/objects/aa/bbbbbbbbbbbbbbbbbbbbb` 中。

### 这些对象是如何进行编码的？

如果我尝试在 `.git/objects` 目录下查看这个文件，显示的内容似乎有一些奇怪：

```
$ cat .git/objects/8a/e33121a9af82dd99d6d706d037204251d41d54
x^A<8D><9B>}s<E3>Ƒ<C6><EF>o|<8A>^Q<9D><EC>ju<92><E8><DD><9C><9C>*<89>j<FD>^...

```

这是怎么回事呢？让我们来运行 `file` 命令检查一下：

```
$ file .git/objects/8a/e33121a9af82dd99d6d706d037204251d41d54
.git/objects/8a/e33121a9af82dd99d6d706d037204251d41d54: zlib compressed data

```

原来，它是压缩的！我们可以编写一个小巧的 Python 程序—— `decompress.py`，然后用 `zlib` 模块去解压这些数据：

```
import zlib
import sys

with open(sys.argv[1], "rb") as f:
    content = f.read()
    print(zlib.decompress(content).decode())

```

让我们来解压一下看看结果：

```
$ python3 decompress.py .git/objects/8a/e33121a9af82dd99d6d706d037204251d41d54
blob 16673---
title: "Get your work recognized: write a brag document"
date: 2019-06-28T18:46:02Z
url: /blog/brag-documents/
categories: []
---
... the entire blog post ...

```

结果显示，这些数据的编码方式非常简单：首先有 `blob 16673\0` 标识，其后就是文件的全部内容。

### 这里并没有差异性数据（diff）

这里有一件我第一次知道时让我感到惊讶的事：这里并没有任何差异性数据！那个文件是该篇博客文章的第 9 个版本，但 Git 在 `.git/objects` 目录中存储的版本是完整文件内容，而并非与前一版本的差异。

尽管 Git 实际上有时候会以差异性数据存储文件（例如，当你运行 `git gc` 时，为了提升效率，它可能会将多个不同的文件封装成 “打包文件”），但在我个人经验中，我从未需要关注这个细节，所以我们不在此深入讨论。然而，关于这种格式如何工作，Aditya Mukerjee 有篇优秀的文章 《[拆解 Git 的打包文件](https://codewords.recurse.com/issues/three/unpacking-git-packfiles)》。

### 博客文章的旧版本在哪？

你可能会好奇：如果在我修复了一些错别字之前，这篇博文已经存在了 8 个版本，那它们在 `.git/objects` 目录中的位置是哪里？我们如何找到它们呢？

首先，我们来使用 `git log` 命令来查找改动过这个文件的每一个提交：

```
$ git log --oneline  content/post/2019-06-28-brag-doc.markdown
c6d4db2d
423cd76a
7e91d7d0
f105905a
b6d23643
998a46dd
67a26b04
d9999f17
026c0f52
72442b67

```

然后，我们选择一个之前的提交，比如 `026c0f52`。提交也被存储在 `.git/objects` 中，我们可以尝试在那里找到它。但是失败了！因为 `ls .git/objects/02/6c*` 没有显示任何内容！如果有人告诉你，“我们知道有时 Git 会打包对象来节省空间，我们并不需过多关心它”，但现在，我们需要去面对这个问题了。

那就让我们去解决它吧。

### 让我们开始解包一些对象

现在我们需要从打包文件中解包出一些对象。我在 Stack Overflow 上查找了一下，看起来我们可以这样进行操作：

```
$ mv .git/objects/pack/pack-adeb3c14576443e593a3161e7e1b202faba73f54.pack .
$ git unpack-objects < pack-adeb3c14576443e593a3161e7e1b202faba73f54.pack

```

这种直接对库进行手术式的做法让人有些紧张，但如果我误操作了，我还可以从 Github 上重新克隆这个库，所以我并不太担心。

解包所有的对象文件后，我们得到了更多的对象：大约有 20000 个，而不是原来的大约 2700 个。看起来很酷。

```
find .git/objects/ -type f | wc -l
20138

```

### 我们回头再看看提交

现在我们可以继续看看我们的提交 `026c0f52`。我们之前说过 `.git/objects` 中并不都是文件，其中一部分是提交！为了弄清楚我们的旧文章 `content/post/2019-06-28-brag-doc.markdown` 是在哪里被保存的，我们需要深入查看这个提交。

首先，我们需要在 `.git/objects` 中查看这个提交。

### 查看提交的第一步：找到提交

经过解包后，我们现在可以在 `.git/objects/02/6c0f5208c5ea10608afc9252c4a56c1ac1d7e4` 中找到提交 `026c0f52`，我们可以用下面的方法去查看它：

```
$ python3 decompress.py .git/objects/02/6c0f5208c5ea10608afc9252c4a56c1ac1d7e4
commit 211tree 01832a9109ab738dac78ee4e95024c74b9b71c27
parent 72442b67590ae1fcbfe05883a351d822454e3826
author Julia Evans <julia@jvns.ca> 1561998673 -0400
committer Julia Evans <julia@jvns.ca> 1561998673 -0400

brag doc

```

我们也可以用 `git cat-file -p 026c0f52` 命令来获取相同的信息，这个命令能起到相同的作用，但是它在格式化数据时做得更好一些。（`-p` 选项意味着它能够以更友好的方式进行格式化）

### 查看提交的第二步：找到树

这个提交包含一个**树**。树是什么呢？让我们看一下。树的 ID 是 `01832a9109ab738dac78ee4e95024c74b9b71c27`，我们可以使用先前的 `decompress.py` 脚本查看这个 Git 对象，尽管我不得不移除 `.decode()` 才能避免脚本崩溃。

```
$ python3 decompress.py .git/objects/01/832a9109ab738dac78ee4e95024c74b9b71c27

```

这个输出的格式有些难以阅读。主要的问题在于，该提交的哈希（`\xc3\xf7$8\x9b\x8dO\x19/\x18\xb7}|\xc7\xce\x8e…`）是原始字节，而没有进行十六进制的编码，因此我们看到 `\xc3\xf7$8\x9b\x8d` 而非 `c3f76024389b8d`。我打算切换至 `git cat-file -p` 命令，它能以更友好的方式显示数据，我不想自己编写一个解析器。

```
$ git cat-file -p 01832a9109ab738dac78ee4e95024c74b9b71c27
100644 blob c3f76024389b8d4f192f18b77d7cc7ce8e3a68ad	.gitignore
100644 blob 7ebaecb311a05e1ca9a43f1eb90f1c6647960bc1	README.md
100644 blob 0f21dc9bf1a73afc89634bac586271384e24b2c9	Rakefile
100644 blob 00b9d54abd71119737d33ee5d29d81ebdcea5a37	config.yaml
040000 tree 61ad34108a327a163cdd66fa1a86342dcef4518e	content <-- 这是我们接下来的目标
040000 tree 6d8543e9eeba67748ded7b5f88b781016200db6f	layouts
100644 blob 22a321a88157293c81e4ddcfef4844c6c698c26f	mystery.rb
040000 tree 8157dc84a37fca4cb13e1257f37a7dd35cfe391e	scripts
040000 tree 84fe9c4cb9cef83e78e90a7fbf33a9a799d7be60	static
040000 tree 34fd3aa2625ba784bced4a95db6154806ae1d9ee	themes

```

这是我在这次提交时库的根目录中所有的文件。看起来我曾经不小心提交了一个名为 `mystery.rb` 的文件，后来我删除了它。

我们的文件在 `content` 目录中，接下来让我们看看那个树：`61ad34108a327a163cdd66fa1a86342dcef4518e`

### 查看提交的第三步：又一棵树

```
$ git cat-file -p 61ad34108a327a163cdd66fa1a86342dcef4518e
040000 tree 1168078878f9d500ea4e7462a9cd29cbdf4f9a56    about
100644 blob e06d03f28d58982a5b8282a61c4d3cd5ca793005    newsletter.markdown
040000 tree 1f94b8103ca9b6714614614ed79254feb1d9676c    post <-- 我们接下来的目标！
100644 blob 2d7d22581e64ef9077455d834d18c209a8f05302    profiler-project.markdown
040000 tree 06bd3cee1ed46cf403d9d5a201232af5697527bb    projects
040000 tree 65e9357973f0cc60bedaa511489a9c2eeab73c29    talks
040000 tree 8a9d561d536b955209def58f5255fc7fe9523efd    zines

```

还未结束……

### 查看提交的第四步：更多的树……

我们要寻找的文件位于 `post/` 目录，因此我们需要进一步探索：

```
$ git cat-file -p 1f94b8103ca9b6714614614ed79254feb1d9676c
.... 省略了大量行 ...
100644 blob 170da7b0e607c4fd6fb4e921d76307397ab89c1e    2019-02-17-organizing-this-blog-into-categories.markdown
100644 blob 7d4f27e9804e3dc80ab3a3912b4f1c890c4d2432    2019-03-15-new-zine--bite-size-networking-.markdown
100644 blob 0d1b9fbc7896e47da6166e9386347f9ff58856aa    2019-03-26-what-are-monoidal-categories.markdown
100644 blob d6949755c3dadbc6fcbdd20cc0d919809d754e56    2019-06-23-a-few-debugging-resources.markdown
100644 blob 3105bdd067f7db16436d2ea85463755c8a772046    2019-06-28-brag-doc.markdown <-- 我们找到了！！！

```

在此，`2019-06-28-brag-doc.markdown` 之所以位于列表最后，是因为在发布时它是最新的博文。

### 查看提交的第五步：我们终于找到它！

经过努力，我们找到了博文历史版本所在的对象文件！太棒了！它的哈希值是 `3105bdd067f7db16436d2ea85463755c8a772046`，因此它位于 `git/objects/31/05bdd067f7db16436d2ea85463755c8a772046`。

我们可以使用 `decompress.py` 来查看它：

```
$ python3 decompress.py .git/objects/31/05bdd067f7db16436d2ea85463755c8a772046 | head
blob 15924---
title: "Get your work recognized: write a brag document"
date: 2019-06-28T18:46:02Z
url: /blog/brag-documents/
categories: []
---
... 文件的剩余部分在此 ...

```

这就是博文的旧版本！如果我执行命令 `git checkout 026c0f52 content/post/2019-06-28-brag-doc.markdown` 或者 `git restore --source 026c0f52 content/post/2019-06-28-brag-doc.markdown`，我就会获取到这个版本。

### 这样遍历树就是 git log 的运行机制

我们刚刚经历的整个过程（找到提交、逐层遍历目录树、搜索所需文件名）看似繁琐，但实际上当我们执行 `git log content/post/2019-06-28-brag-doc.markdown` 时，背后就是这样在运行。它需要逐个检查你历史记录中的每一个提交，在每个提交中核查 `content/post/2019-06-28-brag-doc.markdown` 的版本（例如在这个案例中为 `3105bdd067f7db16436d2ea85463755c8a772046`），并查看它是否自上一提交以来有所改变。

这就是为什么有时 `git log FILENAME` 会执行的有些缓慢 —— 我的这个仓库中有 3000 个提交，它需要对每个提交做大量的工作，来判断该文件是否在该提交中发生过变化。

### 我有多少个历史版本的文件？

目前，我在我的博客仓库中跟踪了 1530 个文件：

```
$ git ls-files | wc -l
1530

```

但历史文件有多少呢？我们可以列出 `.git/objects` 中所有的内容，看看有多少对象文件：

```
$ find .git/objects/ -type f | grep -v pack | awk -F/ '{print $3 $4}' | wc -l
20135

```

但并不是所有这些都代表过去版本的文件 —— 正如我们之前所见，许多都是提交和目录树。不过，我们可以编写一个小小的 Python 脚本 `find-blobs.py`，遍历所有对象并检查是否以 `blob` 开头：

```
import zlib
import sys

for line in sys.stdin:
    line = line.strip()
    filename = f".git/objects/{line[0:2]}/{line[2:]}"
    with open(filename, "rb") as f:
        contents = zlib.decompress(f.read())
        if contents.startswith(b"blob"):
            print(line)

```

```
$ find .git/objects/ -type f | grep -v pack | awk -F/ '{print $3 $4}' | python3 find-blobs.py | wc -l
6713

```

于是，看起来在我的 Git 仓库中存放的旧文件版本有 `6713 - 1530 = 5183` 个，Git 会为我保存这些文件，以备我想着要恢复它们时使用。太好了！

### 就这些啦！

在 [这个 gist](https://gist.github.com/jvns/ff884dceef7660402fe1eca697cfbf51) 中附上了全部的此篇文章所用代码，其实没多少。

我以为我已经对 Git 的工作方式了如指掌，但我以前从未真正涉及过打包文件，所以这次探索很有趣。我也很少思考当我让 `git log` 跟踪一个文件的历史时，它实际上有多大的工作量，因此也很开心能深入研究这个。

作为一个有趣的后续：我提交这篇博文后，Git 就警告我仓库中的对象太多（我猜 20,000 太多了！），并运行 `git gc` 将它们全部压缩成打包文件。所以现在我的 `.git/objects` 目录已经被压缩得十分小了：

```
$ find .git/objects/ -type f | wc -l
14

```

*（题图：MJ/319a396c-6f3f-4891-b051-261312c8ea9a）*

---

via: <https://jvns.ca/blog/2023/09/14/in-a-git-repository--where-do-your-files-live-/>

作者：[Julia Evans](https://jvns.ca/) 选题：[lujun9972](https://github.com/lujun9972) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


如何在 Linux 中扩展 Veritas 文件系统（VxFS）

Summary: 扩展 VxFX 文件系统是 Linux/Unix 管理员的一项日常任务

sdfsdf

sdfsdf

扩展 VxFX 文件系统是 Linux/Unix 管理员的一项日常任务

# 如何在 Linux 中扩展 Veritas 文件系统（VxFS）

扩展 VxFX 文件系统是 Linux/Unix 管理员的一项日常任务，可以通过以下文章中描述的几个步骤在线完成此任务：

在此，磁盘组没有足够的可用空间，因此我们将在现有磁盘组（DG）中添加新磁盘，然后调整其大小。

**相关文章：**

* **[如何在 Linux 中创建 VxVM 卷和文件系统](https://www.2daygeek.com/create-vxvm-volume-vxfs-filesystem-linux/)**
* **[如何在 Linux 上创建共享 VxFS 文件系统](https://www.2daygeek.com/create-veritas-shared-vxfs-file-system-linux/)**

### 步骤 1：识别文件系统

使用 [df 命令](https://www.2daygeek.com/linux-check-disk-space-usage-df-command/) 检查要增加/扩展的文件系统，并记下以下输出中的磁盘组（DG）和卷名称，稍后在运行 `vxdg` 和 `vxresize` 命令时将使用这些名称。

```
# df -hP /data

Filesystem                  Size  Used Avail Use% Mounted on
/dev/vx/dsk/testdg/testvol  9.0G  8.4G 0.6G  95%  /data

```

根据上面的输出，VxFS 文件系统大小为 9.0 GB，我们希望额外扩展 5 GB 并发布此活动，VxFS 大小将为 14 GB。

在本例中，DG 名称为 `testdg`，卷名称为 `testvol`。

### 步骤 2：获取新磁盘/LUN

新磁盘必须由存储团队映射到主机，这可能需要 CR 批准，因此提出 CR 并向相关团队添加必要的任务，并且还包括此活动的回滚计划。

### 步骤 3：扫描磁盘/LUN

存储团队将新 LUN 映射到主机后，获取 LUN id 并将其保存。

使用以下命令扫描 LUN 以在操作系统级别发现它们。

```
for disk_scan in `ls /sys/class/scsi_host`; do
    echo "Scanning $disk_scan…Completed"
    echo "- - -" > /sys/class/scsi_host/$disk_scan/scan
done

```

```
Scanning host0...Completed
Scanning host1...Completed
.
.
Scanning host[N]...Completed

```

扫描完成后，使用以下命令查看是否在操作系统级别找到给定的 LUN。

```
lsscsi --scsi | grep -i [Last_Five_Digit_of_LUN]

```

### 步骤 4：在 VxVM 中查找磁盘

默认情况下，所有可用磁盘对 Veritas 卷管理器（VxVM）都是可见的，可以使用 `vxdisk` 命令列出这些磁盘，如下所示。

```
# vxdisk -e list

DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR
emc_01       auto:cdsdisk   disk1       testdg       online               sdd              -
emc_02       auto:cdsdisk   disk2       testdg       online               sde              -
emc_03       auto:none      -           -            online invalid       sdf              -
sda          auto:LVM       -           -            LVM                  sda              -
sdb          auto:LVM       -           -            LVM                  sdb              -

```

磁盘 `sdf` 的状态显示为 `Online invalid` 表示该磁盘不受 VxVM 控制。但是，请使用 `smartctl` 命令仔细检查 LUN id，以确保你选择了正确的磁盘。

```
smartctl -a /dev/sd[x]|grep -i unit

```

如果磁盘未填充到 VxVM，请执行以下命令扫描操作系统设备树中的磁盘设备。

```
vxdisk scandisks

```

### 步骤 5：在 VxVM 中初始化磁盘

当磁盘在**步骤 4** 中对 VxVM 可见，那么使用 `vxdisksetup` 命令初始化磁盘，如下所示：

```
vxdisksetup -i sdf

```

上面的命令将磁盘 `sdf` 带到 Veritas 卷管理器（VxVM），并且磁盘状态现在更改为 `online`。

### 步骤 6：将磁盘添加到 VxVM 中的磁盘组（DG）

`vxdg` 命令对磁盘组执行各种管理操作。在此示例中，我们将使用它向现有磁盘组（DG）添加新磁盘。

```
vxdg -g [DG_Name] adddisk [Any_Name_to_Disk_as_per_Your_Wish=Device_Name]

```

```
vxdg -g testdg adddisk disk3=emc_03

```

运行上述命令后，磁盘名称为 `disk3` 且磁盘组名称为 `testdg` 已针对 `emc_03` 设备进行更新 如下所示：

```
# vxdisk -e list

DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR
emc_01       auto:cdsdisk   disk1       testdg       online               sdd              -
emc_02       auto:cdsdisk   disk2       testdg       online               sde              -
emc_03       auto:none      disk3       testdg       online               sdf              -
sda          auto:LVM       -           -            LVM                  sda              -
sdb          auto:LVM       -           -            LVM                  sdb              -

```

### 步骤 7：检查磁盘组（DG）中的可用空间

要确定连接卷有多少可用空间，请运行：

```
vxassist -g testdg maxsize

```

### 步骤 8：扩展 VxVM 卷和 VxFS 文件系统

我们为此活动添加了 5GB LUN，因此额外扩展了 VxVM 卷和 VxFS 文件系统 `5GB`，如下所示：

```
vxresize -b -g [DG_Name] [Volume_Name] +[Size_to_be_Increased]

```

```
vxresize -b -g testdg testvol +5g

```

这里：

* `vxresize`：命令
* `-b`：在后台执行调整大小操作（可选）。
* `-g`：将命令的操作限制为给定磁盘组，由磁盘组 ID 或磁盘组名称指定。
* `testdg`：我们的磁盘组（DG）名称
* `test`vol`：我们的卷名称
* `+5g`：此卷将额外增加 5GB。

### 步骤 9：检查扩展 VxFS 文件系统

最后，使用 `df` 命令检查 `/data` 的扩展 VxFS：

```
# df -hP /data

Filesystem                  Size  Used Avail Use% Mounted on
/dev/vx/dsk/testdg/testvol  14G   8.4G 5.6G  68%  /data

```

### 总结

在本教程中，我们向你展示了如何向现有磁盘组（DG）添加新磁盘，以及如何通过几个简单步骤在 Linux 中扩展 VxVM 卷和 VxFS 文件系统。

如果你有任何问题或反馈，请随时在下面发表评论。

*（题图：MJ/3fe4fdb7-99da-4b8f-a818-0ae232e6fbcc）*

---

via: <https://www.2daygeek.com/extend-increase-vxvm-volume-vxfs-filesystem-linux/>

作者：[Jayabal Thiyagarajan](https://www.2daygeek.com/author/jayabal/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1127 中国超算海洋之光的性能已达 1.5E

Summary:
? 中国超算海洋之光的性能已达 1.5E
? 内核级 SMB 服务器 Ksmbd 进入稳定状态
? 人工智能生成的艺术“通过”图灵测试
»
»

# 硬核观察 #1127 中国超算海洋之光的性能已达 1.5E

### 中国超算海洋之光的性能已达 1.5E

美国计算机协会（ACM）发布消息称，由中国科学家投稿的《涡轮机械流动的精确计算》论文入围 2023 年戈登·贝尔奖，该奖项被誉为“超级计算应用领域的诺贝尔奖”。这篇论文将于 11 月份的 SC23 会议之前正式发布，是基于 1.5 ExaFlops（百亿亿次）超级计算机“神威·海洋之光”完成的，它是“神威·太湖之光”升级版。据该论文，海洋之光拥有超过 10 万个定制的 SW26010 Pro 处理器节点，分布在 105 个机柜中，其理论峰值性能为 1.5 E。据预测，如果将该超级计算机规模扩大到 120 个机柜，在 FP64 精度下的峰值将达到 1.72 E，这将超过美国橡树岭国家实验室的 1.68 E 的 Frontier 超算。而在 160 个机柜的条件下，FP64 峰值性能将接近 2.3 E，将有望击败已经安装完成的美国能源部阿贡国家实验室的 Aurora 超算。

>
> **[消息来源：Next Platform](https://www.nextplatform.com/2023/09/15/chinas-1-5-exaflops-supercomputer-chases-gordon-bell-prize-again/)**
>
>
>

>
> 老王点评：我们只是懒得参加 TOP500 排名而已。
>
>
>

### 内核级 SMB 服务器 Ksmbd 进入稳定状态

在 Linux 内核 6.6 候选发布版中，包含了一个 Ksmbd 稳定版，它是三星开发的内核级服务器，通过 SMB 协议提供文件和打印机的网络共享服务。Linux 一直以来都在使用用户空间的 Samba 解决方案，但由于性能、内存占用和复杂度等问题并不理想。Ksmbd 是与 Samba 项目合作开发的，其目标是成为比 Samba 性能更强、重点更突出的解决方案。现在它经过了大量的安全测试，被认为达到了稳定状态，计划进入 Linux 内核 6.6。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/11/linux_6_6_ksmbd/)**
>
>
>

>
> 老王点评：虽然说是已经达到了稳定状态，但是我对 SMB 服务进入内核空间总觉得不太放心。
>
>
>

### 人工智能生成的艺术“通过”图灵测试

有人在网上发布了一些使用人工智能生成的图片，用螺旋或棋盘纹理展示了中世纪村庄。这些图片因其非凡的几何特质迅速在社交媒体上获得广泛赞誉。它们是使用稳定扩散和控制网引导技术创建的。之前也有人采用相同的技术来创建图片式的二维码。Y-Combinator 联合创始人 Paul Graham 甚至将之比喻为：“对我来说，这是人工智能生成的艺术通过图灵测试的时刻。”

>
> **[消息来源：Ars Technica](https://arstechnica.com/information-technology/2023/09/dreamy-ai-generated-geometric-scenes-mesmerize-social-media-users/)**
>
>
>

>
> 老王点评：虽然是夸张的说法，但是人工智能生成的图片已经开始超过简单的模仿了。
>
>
>


Linux 如何挽救老旧电脑（和地球）

Summary: 请不要丢弃你的旧电脑。让我们跳过填埋场，利用 Linux 为它注入新的活力。

目前：Dell  OptiPlex Xe2 sff，2014年产。

配置：CPU:E3-1246v3，内存:16G，硬盘:256G SSD，显示器:19寸E1911 x3，显卡:集显

阻止大部分人使用LINUX的根本原因是学习成本和软件生态，大部分普通用户不愿意花费一周来学习一个操作系统（使用linux，总的来说，包括各种意外情况，是需要这么多时间的）大部分用户连驱动都不会安装，对于他们来说，换一个新电脑更划算。硬件和LINUX 还是极客的玩具

显示器已花，怎么救？

毛线，我不是极客，我还是一样的用linux工作，而且我还不是IT从业者。

毛线，我不是极客，我还是一样的用linux工作，而且我还不是IT从业者。

非it从业者。但是，应付日常上网需求足矣。关键是我的帝盟MX300插上后还能照常使用，而不用苦恼于Win下面的驱动问题

换一个，这个手工操作不来

07年的笔记本显示器底部大宽变色横条（且一直有变宽趋势），如何破？

朋友用同款浏览器哈，握爪

为什么您显示的是ubuntu而我们都是gnu linux？

因为这个识别 OS 的库其实是不完善的，识别不了那么准确。

请不要丢弃你的旧电脑。让我们跳过填埋场，利用 Linux 为它注入新的活力。

# Linux 如何挽救老旧电脑（和地球）

<img src="content_image/album_202309_17_234009rn8fijpb68z658yb.jpg" alt="" title="">

>
> 请不要丢弃你的旧电脑。让我们跳过填埋场，利用 Linux 为它注入新的活力。
>
>
>

我的两位孙子，Mint 和 Kasen，请求我帮助他们搭建游戏电脑。他们的请求让我感到非常欣喜。这不仅给了我一个与他们共度时光的美好机会，也让我能够帮助他们了解科技。同时，我能深入探讨电脑对环境产生的影响。

等一下！这似乎有些离题，对吧？其实并非如此，本文就是为了阐述这个问题。

### 旧电脑的命运是什么？

关于旧电脑的处理（以及处理的原因）是我们讨论的核心。首先，普通电脑通常在提供服务五年左右后被替换。理由何在？

我在一个名为《CHRON》的面向小企业的刊物的在线文章中找到 [这样一篇文章](https://smallbusiness.chron.com/life-span-average-pc-69823.html)，电脑的寿命被建议在三至五年。这个建议的部分原因是，假定电脑在生命周期的这个阶段开始变慢。这篇文章，以及其他的一些文章，都在鼓励人们在大约同样的时间段内更换更新、速度更快的电脑。当然，这些压力主要来源于电脑和芯片的厂商，他们想要保持收入的增长。

再者，美国国税局也通过规定电脑所能完全折旧的时间是五年，以此间接强化了这个服务寿命的观念。

我们首先来讨论一下关于电脑会变慢的迷思。电脑实际上是不会变慢的，恒定的时钟速度一直在运作。无论是 2.8GHz 还是 4.5GHz，当电脑忙碌时，它们总是以那个速度运行。当然，当电脑闲置或事情不多时，将会有意识地降低它的时钟速度以节省电力。

电脑变慢并不是因为它们变老了。装有 Windows 系统的电脑在使用过程中，会积累大量的恶意软件、间谍软件、广告软件和恐吓软件。这些垃圾软件拖慢了电脑的运行。电脑用户逐渐认为这是正常的，安于电脑性能下降的境况。

### Linux 驰骋救援

作为朋友和熟人心目中的电脑专家，人们有时会将他们不再需要的旧电脑送给我。他们认为电脑运行速度慢，因此选择交给我，并让我在将它们带到我家附近几个街区的电子设备回收中心之前清除硬盘数据。我总是建议他们，那些三到五年的老电脑其实仍然可用，但他们似乎更倾向于花费金钱换新，而非学习一个新的操作系统。

我已经收到过几台他人赠送的旧电脑。其中一个十分特别的是一台 Dell Optiplex 755，它配备了一个 2.33 GHz 的 Core 2 Duo 处理器以及 8GB 的 RAM。它的 BIOS 日期为 2010 年，所以现在大约应有 12 岁。这是我拥有的最老的电脑，我总是让它忙个不停。我已经使用它好几年了，且它从未变慢，这是因为我在它上面运行的是 Linux —— 如今是 Fedora 35。

如果你认为那是例外，那么我给你更多例子。十年前的 2012 年，我为自己组装了三台电脑，然后在它们所有上安装了 Fedora。至今，它们还在顺利运行，速度一如往昔。

这里没有例外，只有 Linux 系统在旧电脑上的正常运作。

使用 Linux 至少可以将电脑的使用寿命延长一倍，同时不需要任何额外花费。这就使得这些电脑在进入垃圾填埋场（最差情况）或回收中心（最好情况）之前，可以额外使用五到七年或更久。

只要我能找到这些电脑的替换零件，就可以使它们继续运行，远离任何垃圾处理或回收途径。有些电脑的问题在于找到合适的零部件。

### 非标准硬件

让我们讨论一下非标准硬件，以及你能在一些知名公司买到的电脑。正如我之前提到的，我有一台旧电脑是 Dell 的。Dell 是一家历史悠久的企业。尽管我不会购买 Dell 的台式机或塔式电脑，但是我会接受捐赠或者作为礼物赠予的 Dell 电脑。我可以在这些旧电脑上安装 Linux，去除 Windows，让它们重新发挥作用。它们在我的家庭实验室里作为测试计算机使用，等等。

然而，Dell 使用了一些你无法轻松替换的非标准零部件。当你能找到零部件（如电源和主板）时，它们并不便宜。原因在于，这些制造商设计了搭载非标准电源和主板的系统，只适配他们自家的非标准机箱。这是一种保持收入增长的策略。如果你在市场上找不到这些零部件，你就得去原厂买，并且价格通常非常高。

举例来说，我拥有的那台 Dell Optiplex 就使用了不符合通用标准的主板、机箱和电源。换句话说，Dell 的主板或电源可能无法适配我在当地电脑店或亚马逊上购买的标准机箱。这些部件也不适合我孙子们会使用的游戏机箱。主板和电源的安装孔不会与标准机箱对齐。电源适配器不符合标准机箱中可用的空间。而主板上的 PCI 插槽和后板接口在标准机箱中的位置会不对，电源的连接器也与标准主板上的不匹配。

最后，那些非标准部件中的一个或多个终究会出现故障，你可能完全找不到替代品，或者至少找不到价格合理的替代品。在这种情况下，处理旧电脑并采购新电脑就变得合情合理了。

### 标准件组装

让我们探讨一下使用标准化部件进行电脑组装，以及它们的长寿耐用如何适用于我正在帮助孙子们制造的游戏电脑。

大部分主板采用的设计是标准化的，包括微型 ATX、ATX，以及扩展版的 ATX。这些主板在规定的位置上设置了安装孔。许多孔位是重叠的，也就是说 ATX 主板上的孔位会和扩展版 ATX 主板的许多孔位对齐。这就意味着你可以在任何预钻了用于标准主板孔位的机箱中安装这些主板。这些主板都有标准的电源连接器，这意味着你可以配套使用任何标准电源。

在他们生日那天，我两个孙子都送给了一款有标准主板安装孔位的游戏电脑机箱。这些孔位的螺纹是标准的，因此他们可以使用任何主板配套提供的黄铜支架螺丝在这些主板安装孔位中。支架螺丝锁定入主板，并且自身设有适配标准主板锁定螺丝的标准螺纹孔。

这一切的结果就是他们可以在任何标准电脑机箱内，使用标准固定件和标准电源，安装任何标准主板。

需要注意的是，内存、处理器以及插卡设备都是标准化的，但是它们需要和主板兼容。所以旧款主板配套的内存可能已经买不到了。在这种情况下，你需要新的主板、内存和处理器。然而，电脑的其他部分仍然可以完好使用。

如我所告诉 Mint 和 Kasen 的那样，用全套标准部件组装（或购买）电脑就意味着你永远不需要买新电脑。我送给他们的这款优质机箱永远不必更换。随着时间的推移，可能有一些部件会出故障，但他们只需要换掉那些有缺陷的部件。这样一来，通过不断更新换代的标准部件，这些电脑将能经久耐用，且维护成本极低。如果有一个部件出故障，只需更换这一个部件，然后将故障部件回收。

这也极大地减少了你需要回收或者填入垃圾场的材料总量。

### 回收旧电脑配件

我很幸运，生活在一个提供路边回收服务的地方。这个服务虽然不包含电子设备，但周围的多个地方都可以接受电子设备回收，我便住在其中一个地方附近。我已经把很多旧的、不能使用的电子设备送去回收，包括出了故障的电脑配件，但我从未送过整机。

我会将这些出了故障的部件分类，用旧的纸箱存起来。按类别分类——一箱是电子设备，另一箱是金属，第三箱是电池，等等。这些箱子的内容与回收中心的分类相对应。等到一两个箱子满了，我就会送去回收。

### 结语

即使在为这篇文章和我之前的自我教育做了大量的研究，仍难以确定回收的电脑和电脑配件最终会去哪里。我所在附近的回收中心的网站指出，每种回收物料的运用都会依据它的经济价值来决定。电脑含有大量有价值的金属和稀土元素，因此总会被回收。

而这种回收是否以一种健康、环保的方式进行，这就是另一个话题了。到现在为止，我还无法追踪到送去回收的电子设备最后都去了哪里。我决定让自己尽自己的一份力，同时也要尽量保证回收链的其他环节也要设置得当，高效运行。

为了地球，我们最好让电脑尽可能长地运行。只更换故障的部件，能让一台电脑比目前承认的寿命还要运行得更久，这显著减少了我们需要填埋或回收的电子垃圾量。

当然，还要使用 Linux，这样你的电脑就不会变慢了。

*（题图：MJ/7ac9becc-f966-49f4-86a9-29fb41a5fd38）*

---

via: <https://opensource.com/article/22/4/how-linux-saves-earth>

作者：[David Both](https://opensource.com/users/dboth) 选题：[lkxed](https://github.com/lkxed) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Librem 11：Purism 推出注重隐私的 Linux 平板电脑

Summary: 一款昂贵的 Linux 平板电脑，注重安全和隐私。让我们拭目以待。

Nice!

一款昂贵的 Linux 平板电脑，注重安全和隐私。让我们拭目以待。

# Librem 11：Purism 推出注重隐私的 Linux 平板电脑

>
> 一款昂贵的 Linux 平板电脑，注重安全和隐私。让我们拭目以待。
>
>
>

[Purism](https://puri.sm/) 是一家日益流行的计算机硬件产品制造商，专门提供配备注重隐私的开源 Linux 发行版的笔记本电脑、台式机和移动设备。

最近，他们发布了一款新产品 **Librem 11** 平板电脑，配备了一些非常简洁的硬件。

让我们看看它能提供什么！

>
> ? 这不是赞助文章或认可。在订购之前，你应该从它的官方网站上研究有关该产品的更多信息（包括运输查询）。
>
>
>

### Librem 11 有什么？

Librem 11 被称为**安全平板电脑**，由其自用 Linux 发行版 [PureOS](https://www.pureos.net/) 以及 **[PureBoot](https://puri.sm/projects/pureboot/)** 提供支持，提供非常安全和专注隐私的体验。

**Purism 确保了设备的安全和隐私**，这要归功于他们采取的各种措施：

第一个是**安全启动过程**，得益于 PureBoot，它可以与 [Librem Key](https://puri.sm/products/librem-key/) 结合在一起，以进一步增强安全性，并在与 PureBoot 一起使用时以加密方式识别篡改。

第二个是 **Purism 承诺不监视用户**，避免任何监视或数据挖掘。

最后一项是 Librem 11 附加的“[反拦截](https://puri.sm/posts/anti-interdiction-services/)”服务，确保设备在制造和运输过程的之前、期间或之后不会被篡改。

你可能想知道，所有这些都在谈论安全和隐私，但是，**它的配置如何？**

Librem 11 由 [英特尔 N5100](https://www.intel.com/content/www/us/en/products/sku/212329/intel-celeron-processor-n5100-4m-cache-up-to-2-80-ghz/specifications.html) CPU 以及 **8 GB LPDDR4 RAM** 和 **高达 1 TB 的 NVMe 存储**提供支持。

至于显示屏，该平板电脑配备多点触控 **60hz 11.5 英寸 AMOLED 显示屏**，分辨率为 **2560×1600。**

>
> ? 出于安全考虑，CPU 上的英特尔管理引擎（IME）默认处于禁用状态。
>
>
>

它还预装了一个带有倾斜支持，具有 4096 级压力的笔，以及一个**可拆卸键盘**，在平板电脑折叠时**还可用作保护套**。

其他一些亮点包括：

* 指纹识别器。
* 英特尔超高清显卡。
* 1 个 USB Type-C 3.1 端口。
* 借助 [英特尔 AX201](https://www.intel.com/content/www/us/en/products/sku/130293/intel-wifi-6-ax201-gig/specifications.html) 芯片支持 Wi-Fi 6。
* 支持 Bluetooth 5，由 [英特尔 9460](https://www.intel.com/content/www/us/en/products/sku/99446/intel-wirelessac-9560/specifications.html) 芯片提供。
* 3.5 毫米音频插孔（麦克风输入和耳机输出组合）。
* 前置 2MP 摄像头，后置 5MP 自动/手动对焦摄像头。

你可以浏览其 [公告博文](https://puri.sm/posts/purism-launches-new-secure-librem-11-tablet/) 以了解有关这款注重安全的平板电脑的更多信息。

### ? 获取 Librem 11

Purism 的 Librem 11 平板电脑现已发售，**价格为 999 美元**，交货期长达 10 天。

但是，如果你居住在美国，你很可能会比其他地区更早收到它。

>
> **[Librem 11](https://shop.puri.sm/shop/librem-11/)**
>
>
>

---

via: <https://news.itsfoss.com/librem-11-tablet/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Linux 爱好者线下沙龙：LLUG 2023 深圳硬核来袭

# Linux 爱好者线下沙龙：LLUG 2023 深圳硬核来袭

经历过 [6 月北京场](/article-15929-1.html)、[7 月上海场](/article-16052-1.html)，一个月的休整之后，这次 LLUG 来到大陆的南端，美丽的鹏城。

**2023 年 9 月 24 日下午，我们将在深圳举行 LLUG 2023 · 深圳场**，欢迎大家来到现场，和我们一起交流技术，分享自己工作过程中的所思所想。

本次活动依然由 Linux 中国和龙蜥社区（OpenAnolis）联合主办，电子工业出版社博文视点、《Linux 就该这么学》的刘遄老师提供了支持。

> 龙蜥社区（OpenAnolis）是国内的顶尖 Linux 发行版社区，我们希望在普及 Linux 知识的同时，也能让中国的 Linux 发行版，为更多人知晓，推动国产发行版的发展和进步。

### 活动议程

| 时间 | 议题 | 分享者 |
| --- | --- | --- |
| 14:00 ~ 14:30 | 现场签到 |
| 14:30 ~ 15:00 | 《简单聊聊 BPF》 | Locez，Linux 中国翻译组（LCTT）核心译者、开发者 |
| 15:00 ~ 15:30 | 《coolbpf 在阿里云应用实践》 | 廖肇燕，龙蜥社区 eBPF 技术探索 SIG Maintainer，拥有十余年 Linux 操作系统开发、问题定位和调优经验。 |
| 15:30 ~ 16:00 | 茶歇 |
| 16:00 ~ 16:30 | 《如何高效参与开源？》 | 老王（wxy），Linux 中国技术社区负责人 |
| 16:30 ~ 17:00 | 闪电演讲 |

### 议程介绍

#### 《简单聊聊 BPF》

*Locez，Linux 中国翻译组（LCTT）核心译者、开发者*

简单介绍 BPF 起源和一些基于 BPF 的工具使用。

#### 《coolbpf 在阿里云应用实践》

*廖肇燕，龙蜥社区 eBPF 技术探索 SIG Maintainer*

介绍 coolbpf 如何通过对 Linux 内核和 eBPF 技术的探索，降低使用门槛实现大规模落地并解决用户问题。

#### 《如何高效参与开源》

*老王（wxy），Linux 中国技术社区创始人*

老王的经典分享，聊聊作为一个社区新人，应该如何参与到开源社区当中，并逐步成长为社区的中坚力量的。

### ⚡闪电演讲

本次线下活动依旧保留闪电演讲环节，作为最受欢迎的线下活动，本次活动依旧继续举办闪电演讲。每位演讲者有 5 分钟时间参与现场活动，可以提前报名，也可即兴上台演讲。时间一满，马上结束～强制大家控制自己的分享时间，用最短的时间，向大家发出你的声音～

上海场闪电演讲照片

### 活动地点及到达信息

南山区科苑南路3331号 深圳阿里中心（由于阿里中心需要登记才能进入，请务必填写表单报名。现场直接空降可能是进不来的哦～）

抵达方式：

【自驾】

* 导航到“南山区科苑南路3331号深圳阿里中心”，按照入园指引图办理入园。

【公共交通】

* 地铁：乘坐2号线登良站C出口（步行7分钟到达）；地铁11号线后海站G出口（步行15分钟到达）。
* 公交：乘坐B737、B817、M409、M474、M506、M507、M528在后海滨路口下车（步行15分钟到达)。

如果你因为有事，没办法来到线下，那也没问题，我们的活动也会在 Linux 中国视频号/B 站账号、龙蜥社区社群/B 站账号等开启同步直播。

当然，我们更希望你能亲自来到线下，和我们一起畅聊 BPF， 看看 BPF 在你的企业中是如何被应用的～

[填写问卷即可报名活动](https://jinshuju.net/f/uxTekt)，并在活动前收到我们的提醒～此外，也可以在问卷中反馈你想听的内容，我们将竭尽所能，邀请行业专家，针对大家感兴趣的话题进行分享。

由于阿里中心需要登记才能进入，请务必填写表单报名。现场直接空降可能是进不来的哦～

*（题图：MJ/eb08b3a2-161b-4fc2-8d1f-3cb3384d1131）*


硬核观察 #1128 有一个软件用了 32 年版本号才变成 6.6

Summary:
? 有一个软件用了 32 年版本号才变成 6.6
? 看起来 ChatGPT 不会抢走你的编程工作
? AI 专家认为构建出真正反映人类集体自我的 AI 是可能的
»
»

# 硬核观察 #1128 有一个软件用了 32 年版本号才变成 6.6

### 有一个软件用了 32 年版本号才变成 6.6

2023 年 9 月 17 日，Linus Torvalds 发布了 Linux 6.6-rc2，他写道，“我认为，6.6-rc2 最值得注意的一点是，它距 0.01 版本发布整整 32 年。如果你是计算机专业人士，这就是一个整数。”不过，除了这个日期之外，这个版本没有什么特别的，“到处都有随机修复，但没有一个看起来特别奇怪”。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Linux-6.6-rc2-Released)**
>
>
>

>
> 老王点评：之前我曾经觉得 Linux 内核的版本号变得太快了，但要是放到 32 年这个跨度上来说，倒也不算快，虽然近些年快的有点晕车。
>
>
>

### 看起来 ChatGPT 不会抢走你的编程工作

《连线》发布了一篇评论文章说，在功能开发受阻的情况下，解雇工程师并投入人工智能很可能会导致灾难，随后很快就会重新雇佣这些工程师。更合理的做法是，大型语言模型可以取代工程设计中的一些枯燥工作。如果提示词正确，它们可以提供自动完成建议或数据排序方法。计算的历史已经证明，试图减少开发人员的存在或简化他们的角色，最终只会增加工作的复杂性，使这些工作人员变得更加必要。如果说 ChatGPT 能够消除编码工作的枯燥乏味的话，那就像编译器终结了二进制工作的繁琐一样，它能让开发人员更轻松地专注于构建其作品的实际架构。

>
> **[消息来源：连线](https://www.wired.com/story/chatgpt-coding-software-crisis/)**
>
>
>

>
> 老王点评：每一个新的技术进步都淘汰了一些不能跟上的人，并创造了更多新的工作机会。
>
>
>

### AI 专家认为构建出真正反映人类集体自我的 AI 是可能的

DeepMind 联合创始人 Mustafa Suleyman 在 2022 年创办了 AI 公司 Inflection， 获得了 15 亿美元的投资。他认为构建出真正反映人类集体自我的 AI 是可能的，能代表人类做出更好的权衡、更一致且更公平。他长期以来一直坚信对话是未来的界面，你将与 AI 进行交流，而不是点击按钮和打字。他认为 AI 的第一阶段是分类，深度学习表明可以训练计算机对不同类型的输入数据分类；第二阶段是生成式 AI，即当前大热的 ChatGPT 之类的 AI；第三阶段是交互式 AI：机器人可以通过调用其他软件和其他人来完成你为它们设定的任务。

>
> **[消息来源：Technology Review](https://www.technologyreview.com/2023/09/15/1079624/deepmind-inflection-generative-ai-whats-next-mustafa-suleyman/)**
>
>
>

>
> 老王点评：虽然结合上一条看起来人类总会有事情做，但是可能最终的结果就是被 AI 养起来，干一些很轻松而 AI 干不了的事情。
>
>
>

### 回音

* Unity [道歉](https://www.ign.com/articles/unity-has-apologized-for-its-install-fee-policy-and-says-it-will-be-making-changes-to-it)，并承诺修改之前公布的定价政策。之前，由于受到死亡威胁，Unity 甚至关闭了两处办公室。


10 个在 Linux 终端中生成有趣的 ASCII 字符画的工具

# 10 个在 Linux 终端中生成有趣的 ASCII 字符画的工具

>
> 以为 Linux 终端都是严肃的工作？想多了。以下是你可以在终端中使用字符画做的几件趣事。
>
>
>

Linux 终端其实没有想象中的那样 [可怕](https://itsfoss.com/basic-terminal-tips-ubuntu/)。

当然啦，一开始它可能会令人望而却步，但是当我们更 [了解](https://itsfoss.com/love-thy-terminal/) 它的时候，我们就会喜欢上它的。

你可能会使用终端来做一些严肃的工作。不过，你也可以在终端中做很多有趣的事情。

其中的一项就是试一试 <ruby> ASCII 字符画 <rt>  ASCII art </rt></ruby>。你可以在 Linux 终端中用各种命令行工具以 ASCII 的形式显示一些预定义的或是随机的消息、玩游戏，抑或是播放动画。

我的同事 Sreenath 喜欢探索此类不寻常的命令行工具并将他的发现分享给我。现在，我也将他的发现与你分享。

你的 Linux 发行版的仓库中应该已经有这些程序中的大多数了。你可以用系统的包管理器安装它们。为了使文章简洁，下文的安装指南均以 Ubuntu 为例。

### 1、lolcat：向终端加入缤纷色彩

虽然 `lolcat` 与 ASCII 字符画没有任何关系，至少，没有直接关系。

但是，我还是在文章开头就列出了它，因为它可以与其他的 ASCII 工具组合使用。

所以，它能做什么呢？它与 `cat` 指令很相似，但是它向输出内容加入随机的渐变色彩。

目前它看起来可能没什么用，但当其他 ASCII 工具通过 `lolcat` 输出时，你会看到它的效果。

用 `apt` 安装 `lolcat`：

```
sudo apt install lolcat

```

### 2、Aewan：漂亮地显示 ASCII 字符

Aewan 是一个多层 ASCII 图形、动画编辑器。它可以生成独立的，可被 `cat` 命令查看的 ASCII 字符画文件和便于命令行工具集成与解析的格式。

它包括两个工具：ASCII 编辑器 `aewan`，和文件查看器 `aecat`。

这里不讨论编辑器部分。

用 `aecat` 命令以 ASCII 格式漂亮地显示任何文本。注意下面的截屏中字母的使用方式。

用下面的命令安装 `aewan`：

```
sudo apt install aewan

```

然后这样使用：

```
aecat hello

```

### 3、Cowsay：让 ASCII 牛复述你想说的话

这头牛在说什么？你想什么就让它说什么。

`cowsay` 是经验丰富的 Linux 用户中流行的工具。它显示了一个 ASCII 格式的牛，会重复你提供的文本。

但不仅限于牛。你也可以将其更改为其他的角色。比如，一条龙（火龙君临）：

你注意到截图中的色彩了吗？这正是上文提到过的 `lolcat` 命令的魔力所在。

用下列命令安装 `cowsay`：

```
sudo apt install cowsay

```

装好之后，这样使用：

```
cowsay hello

```

你可以参考它的 [手册](https://itsfoss.com/linux-man-page-guide/)，浏览其他配置和选项。

### 4、jp2a：图片转 ASCII 字符画

`jp2a` 是一个在 Linux 终端中将图像转换为 ASCII 字符画的命令行工具。它适用于 JPEG 和 PNG 文件，允许彩色输出和用你选定的字符显示 ASCII 字符画。

用下列命令安装它：

```
sudo apt install jp2a

```

你可以像这样得到彩色的输出，并且保存到文件。

```
jp2a --output=ascii.txt --colors input.png

```

它并不是这类工具中的唯一一种，比如，`ascii-image-converter` 和几个其他的工具也可以达成相同的效果。在这里不再一一讨论了。

### 5、linuxlogo：用 ASCII 格式显示 Linux 发行版的徽标

正如起名，它 [用 ASCII 格式显示 Linux 发行版的标志](https://itsfoss.com/display-linux-logo-in-ascii/)。

不，不是我们 [喜爱的 Linux 标志 Tux](https://itsfoss.com/tux-trivia/)，而是你的 Linux 发行版的徽标。它还显示一些其他信息，比如 Linux 内核版本、CPU、RAM、主机名等等。

用 `apt` 安装：

```
sudo apt install linuxlogo

```

输入 `linuxlogo` 就可以用啦。

### 6、Neoftech：显示 Linux 标志和系统信息

上面的 Linux 标志有点太简化了。你可以用 Neofetch 放大它。

它以更漂亮的方式显示发行版以及一些系统信息，如内核、运行时间、桌面环境、主题和图标等等。

你还可以通过 `lolcat` 解析它，获得彩虹色的输出。

用这行命令安装 Neofetch：

```
sudo apt install neofetch

```

然后，输入 `neofetch` 就可以运行啦。

还有一个与 Neofetch 很像的工具，`screenfetch`。用哪个都行。

### 7、fortune：看看命运如何

开玩笑啦。这样的事情根本就不存在。

不过，幸运饼干仍然很流行，所以显然，人们喜欢阅读随机的预测或说法。

你可以在 Linux 终端中用 Fortune 命令达到类似效果：

你可以用下面的命令安装它。

```
sudo apt install fortune

```

装好之后，在终端中输入 `fortune` 来得到一条随机消息。

### 8、pv：让一切动起来

这是非预期使用 Linux 命令的典型例子。`pv` 命令本来用于通过管道监控数据的进度。

但你可以使用它来对显示任何命令的输出加入动画效果。将其与上述的命令结合起来，你就可以看到 ASCII 字符画逐渐显现在屏幕上，就像正在输入一样。

不太明白？看看这个：

用下面的命令安装：

```
sudo apt install pv

```

然后按这样使用：

```
neofetch | pv -qL 200 | lolcat

```

数字越大，速度越快。

### 9、cmatrix：类似黑客帝国的 ASCII 动画

还记得 “黑客帝国” 吗？下落的绿色代码是黑客帝国和黑客的象征。

你可以使用 `cmatrix` 命令在 Linux 终端用 ASCII 模拟运行下落代码。

我在这里用一张图片代替视频。

你可以用 `apt` 安装它：

```
sudo apt install cmatrix

```

安装好之后，用它运行：

```
cmatrix

```

它会立即启动，并不断生成随机的绿色文本，带着从屏幕上落下后消失的动画效果。该命令会持续运行。使用 `Ctrl+C` 停止运行程序。

### 10、cbonsai：在你的终端种植盆景

有没有园艺的天赋？在终端中种植一棵 ASCII 盆景树怎么样？

`cbonsai` 是一个可让你以 ASCII 格式运行盆景树生长动画的有趣 Linux 命令。

几天前我发了一条关于 `cbonsai` 命令的 YouTube 短视频。

你可以用下面的命令安装 `cbonsai`：

```
sudo apt install cbonsai

```

用这行命令运行：

```
cbonsai -l

```

### 试试更多

还有很多这样的有趣的命令行工具，甚至还有 [ASCII 游戏](https://itsfoss.com/best-ascii-games/)。有时，看着它们给周围的人带来欢乐真的很有趣。

这些命令能派上用场吗？我不确定是否可用，但你可以在 `.bashrc` 文件中添加其中一些，这样一旦打开终端会话，命令就会立即运行。

许多系统管理员在共享的 Linux 系统上都会这样做。像 `cowsay` 或 `figlet` 这样的程序可以用来以漂亮的方式显示消息或系统概况。

你也可以在你的 Bash 脚本中使用其中的一些程序，尤其是当你需要突出显示某些内容时。

ASCII 字符画在 Linux 中可能还会有其他用途。你可以与我们分享。

---

via: <https://itsfoss.com/ascii-art-linux-terminal/>

作者：[Abhishek Prakash](https://itsfoss.com/author/abhishek/) 选题：[lkxed](https://github.com/lkxed) 译者：[泠知落汐](https://github.com/CoWave-Fall) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1129 SaaS 公司退云节省了 100 万美元

Summary:
? SaaS 公司退云节省了 100 万美元
? 英伟达显卡的开源 Nouveau 驱动维护者辞职
? 微软发布了 WSL 2 的 2.0.0 版本
»
»

不买N卡就对了

确实，到了开源世界，啥RTX都没有几年前的老A卡中用

来自湖南益阳的 Chrome Mobile 116.0|Android 13 用户

# 硬核观察 #1129 SaaS 公司退云节省了 100 万美元

### SaaS 公司退云节省了 100 万美元

SaaS 项目管理公司 37 Signals 的 CTO 此前表示，他的公司每年在云计算上花费 320 万美元，其中大部分花在 AWS 上。由于高昂的云服务费用，该公司推动了云遣返计划，花费了 60 万美元购买了 8 台大型服务器，每台服务器包含 256 个虚拟 CPU，并将它们托管。该公司 CTO 称，“我们的云计算支出已经下降了 60%，从每月约 18 万美元降至不到 8 万美元。”他补充说：“按年增长率计算，这相当于节省了 100 万美元，而且我们将在 9 月份再次大幅降低成本。”此外，该公司的运维团队的规模在此期间保持不变。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/18/37_signals_cloud_repatriation_savings/)**
>
>
>

>
> 老王点评：云计算并不仅仅是节省成本的。
>
>
>

### 英伟达显卡的开源 Nouveau 驱动维护者辞职

Nouveau 刚刚发布了一个大型补丁系列，使 Nouveau 内核驱动程序能够使用英伟达的 GSP 来改进对 RTX 20/30 系列硬件的支持，并最终在 RTX 40 GPU 上实现加速图形支持。几个小时之后，它的核心维护者辞职了。长期以来，红帽公司的 Ben Skeggs 一直是 Nouveau DRM 内核驱动程序的主要维护者，在很大程度上一直领导着 Nouveau 内核驱动程序部分。他发布消息称，“我已经辞去了在红帽的职务，并将退出 Nouveau 开发”。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Nouveau-Maintainer-Resigns)**
>
>
>

>
> 老王点评：虽然红帽在努力地封闭 RHEL 源代码，并且说了一些不中听的话。但无论如何，红帽养活了很多开源开发者，一旦他们离开了红帽，其贡献也很有可能就戛然而止。
>
>
>

### 微软发布了 WSL 2 的 2.0.0 版本

这是 Windows Subsystem for Linux 的一次重大更新，以 WSL v2.0.0 的形式发布在 GitHub 上。不要把它与 WSL 2 混淆，它实际上是 WSL 2 的 2.0.0 版（上一个版本是 1.3.17）。这个版本有许多更新，WSL 软件包中的所有二进制文件现在都已正确签名，WSL 内核已针对 Linux 5.15.123 进行了更新，WSLg 1.0.57 捆绑了最新的图形/用户界面支持。此外，还包括一些实验性功能，比如，可以减少 WSL 虚拟机回收缓存内存时的内存使用、可以改变 DNS 请求的解析方式、可以将 Windows 的防火墙规则应用到 WSL、自动使用 Windows 的网络代理信息等。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/WSL-Big-September-Update)**
>
>
>

>
> 老王点评：微软真是不遗余力地将 Linux 中的好东西都收罗到它的 Windows 中啊。
>
>
>

### 回音

* Unity 在 [讨论](https://www.ign.com/articles/unity-has-apologized-for-its-install-fee-policy-and-says-it-will-be-making-changes-to-it) 新的政策，预计将对收费设定上限，对达到门槛的安装量不会追溯，对安装量的跟踪改为由客户自行报告。


Fedora 39 新特性抢先看

Summary: Fedora 39 即将热门登场！在你进行安装前，先在这里了解一下新的功能。

Fedora的中文字体看起来就是不如ubuntu，你们换的啥字体

Fedora 39 即将热门登场！在你进行安装前，先在这里了解一下新的功能。

# Fedora 39 新特性抢先看

>
> Fedora 39 即将热门登场！在你进行安装前，先在这里了解一下新的功能。
>
>
>

[Fedora 38](https://news.itsfoss.com/fedora-38/) 的升级引人瞩目，带来了全新的定制版，同时可以无限制地访问 Flathub。

如今，我们再次迎来升级，也就是 **Fedora 39**。

如果一切按计划进行，Fedora 39 将在 **2023 年 10 月 17 日** 正式发布。然而，这次有何新奇特性呢？

一起来探索一下！

### Fedora 39：重要亮点

在 Fedora 39 中，你能期待一些值得关注的更新和变化，以及其他一些内容。

其主要改进包括：

* GNOME 45
* Fedora Onyx 定制版
* 彩色 Bash 提示符
* 应用程序更新
* 性能优化

### 彩色 Bash 提示符

Bash 提示符有了微小修改，改变了默认配色。

过往的单色默认配色与长命令的输出在视觉上容易混淆，现在，这种区分就容易多了。

当然，你也可以根据个人喜好，随意更改提示符的颜色。

### GNOME 45

GNOME 45 是本次升级的一大亮点。

与 [Ubuntu 23.10](https://news.itsfoss.com/ubuntu-23-10/) 一样，Fedora 39 也将是首批搭载 GNOME 45 的发行版之一。

GNOME 45 带来了大量实用的改动，以及一些微妙的视觉整改。

一些关键亮点包括：

* 新增的核心应用
* 系统设置新增的“<ruby> 关于 <rt>  About </rt></ruby>”面板
* 系统设置中的隐私中心
* 对 Nautilus 文件管理器的改善

对文件管理器的性能优化应会带来显著提升。

重新设计的简洁的侧边栏使得文件与文件夹区域的区分比以往更为明显。

引入的核心应用，如 “<ruby> 放大镜图像查看器 <rt>  Loupe Image Viewer </rt></ruby>” 和 “<ruby> 快照 <rt>  Snapshot </rt></ruby>”，应当大有用处。这是一个简单且极简的图片查看器，以及一款网络摄像头应用。然而，Fedora 39 仍坚持使用较为经典的 “<ruby> 茄子 <rt>  Cheese </rt></ruby>” 网络摄像头应用。

不仅新增了应用，已有的核心应用也进行了很多优化，例如“<ruby> 日历 <rt>  Calendar </rt></ruby>”应用有了新的应用图标，“<ruby> 控制台 <rt>  Console </rt></ruby>”应用和“<ruby> 天气 <rt>  Weather </rt></ruby>”应用的用户体验也得到了提升。

“<ruby> 设置 <rt>  Settings </rt></ruby>”菜单在呈现信息方式上也进行了升级，目的在于更好地为最终用户呈现信息。

在 “<ruby> 关于 <rt>  About </rt></ruby>” 面板，新增了一个 “<ruby> 系统详情 <rt>  System Details </rt></ruby>”，在此你可以获取到你正在运行的系统详细信息以及其硬件规格。

尽管在 Fedora 等 Linux 发行版中，隐私保护已经非常可靠，但 GNOME 45 给我们带来了更深一步的改进。

这些选项既便于快速访问，对于初次接触 Linux 的用户来说，也易于理解。

当然，GNOME 45 还有更多的亮点，你可以在我们的 [GNOME 45 特性](https://news.itsfoss.com/gnome-45/) 专题文章中详细略览：

>
> **[GNOME 45 带来令人兴奋的升级： 新功能介绍](https://news.itsfoss.com/gnome-45/)**
>
>
>

### Fedora Onyx

Fedora 提供的 Silverblue 变体，被公认为 [最优秀的不可变发行版](https://itsfoss.com/immutable-linux-distros/) 之一，其桌面环境采用的是 GNOME。

为了拓宽其产品线，Joshua Strobl 提出新增一款采用 Budgie 桌面环境的不可变版本，以此补充 Budgie 定制版，即 [Fedora Onyx](https://news.itsfoss.com/fedora-onyx-official/)。

在 Fedora 39 的新版本发布时，你应可以找到这个全新的版本。

>
> **[11 个面向未来、不可改变的 Linux 发行版](https://itsfoss.com/immutable-linux-distros/)**
>
>
>

### 默认废弃 fedora-repos-modular

Fedora 带有几个已预先启用的存储库，让你可以顺畅地安装软件包。

然而，根据开发者的观察，现在大多数用户并不使用模块化的存储库。因此，移除这些存储库将有助于提升 DNF 的性能。

>
> ? DNF 是 Fedora 的 [软件包管理器](https://itsfoss.com/package-manager/)。
>
>
>

因此，预计在默认不再包含 fedora-repos-modular 存储库的情况下，DNF 特别是在网络环境较差的情况下，其性能会得到一些改善。

### 应用和软件包更新

以下是最主要的应用程序更新：

* [LibreOffice 7.6](https://news.itsfoss.com/libreoffice-7-6/)
* Python 3.12
* RPM 4.19
* Vagrant 2.3
* Perl 5.38
* LLVM 17
* Golang 1.21
* FontAwesome6

### 其它改进

虽然安装程序基本无变化（Anaconda Web UI 的 [目标](https://fedoraproject.org/wiki/Changes/AnacondaWebUIforFedoraWorkstation) 是 Fedora 40），但是新的“<ruby> 欢迎屏 <rt>  Welcome Screen </rt></ruby>”在帮助你开始使用时会提供些许便利。

为了提供更好的用户体验，Fedora 39 加入了多项改进。

其中包括：

* **Fedora Workstation 不再对 Qt 进行定制主题设计**：Qt 应用将遵循 Qt 上游的默认主题设置。
* **Fedora Kinoite 变体启用自动更新**
* **改变 Fedora 中的 Flatpak 构建方式（不用模块）**

更多细节改进，你可以在其 [官方变更集维基](https://fedoraproject.org/wiki/Releases/39/ChangeSet) 上查看。

? 你对 Fedora 39 有怎样的期待？这是否对你将是一个重要的升级，或者只是类似常规新版本发布？

---

via: <https://news.itsfoss.com/fedora-39-features/>

作者：[Ankush Das](https://news.itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


我是如何在科技领域找到第一份工作并帮助其他人做到同样的事情

Summary: 没有我的导师，就没有我的今天。现在，我在开源领域找到了梦寐以求的工作。

没有我的导师，就没有我的今天。现在，我在开源领域找到了梦寐以求的工作。

# 我是如何在科技领域找到第一份工作并帮助其他人做到同样的事情

>
> 没有我的导师，就没有我的今天。现在，我在开源领域找到了梦寐以求的工作。
>
>
>

两年前，当 Sauce Labs 在 <ruby>   开源项目办公室  <rt>  Open Source Program Office </rt></ruby>（OSPP）开设实习岗位时，我参加了它的面试。当时竞争十分激烈，而我并不具备一个技术公司青睐的技术背景。彼时的我正忙于从艺术领域寻求一个出路，参加了一系列技术课程，努力学习 Python 和 JavaScript 等技能。我下定决心要把握住这次可以在开源领域工作的面试机会，因为这是我踏上新的职业道路的入口。

在 [柏林的 PyLadies](https://berlin.pyladies.com/) 社区中，我认识了 [Eli Flores](https://www.linkedin.com/in/elifloresch/)，她和我亦师亦友，也正是她最终内推了我。如果不是因为 Eli，我可能根本不会有机会在 Sauce Labs 参加面试。

但我的简历真的很差。

我试图为自己包装一些我没有的技术能力，努力猜测面试官希望看到的内容。当然，面试筛选的过程也很困难。必须有人从成堆的简历中挑选出专业技能对口、适应工作角色的投递者，同时期待着有能够为团队带来新理念的创新人才。一方面，公司提供了一个面试的机会，对自己信任的人的判断有信心；另一方面，这也会使大家有很多的相似之处。

这正是内推计划的妙处所在，也是我在技术领域赢得 [第一份工作的故事](https://opensource.com/article/21/4/my-first-tech-job)。

但是，为别人内推就足够了吗？很多帮助他人内推的人认为自己已经完成这一年的“善事”，但 Eli 并不这样想。

Eli 是 Sauce Labs 在德国雇佣的第一位女性软件工程师。当我来到公司时，一共有三位女性员工：Eli，我自己以及 Elizabeth —— 她是在一年前入职的一位初级工程师。基于 Eli 自己的奋力历程，她关注了我的发展，邀请我参加定期的工作检查，同时根据公司的考察体系，为我提供了很多关于如何制定职业规划的有实际意义的信息。Eli 从不会只是甩给我一个链接然后离开，她会耐心的给我解释其中的含义以及系统中内置的一些“陷阱”。那时候，领导层还没有接受过认识自己偏见的培训，这对 Eli 的职业道路产生了影响。

除此之外，她还是制定正式文件的人——一份向决策层解释为什么当我的实习结束时，公司需要给我提供正式初级岗位的文件。在我合同结束前 Eli 准备了数月，她在我的同事中收集信息，找出了具有最后招聘权力的人，最重要的，教给了我捍卫自己岗位所需要的的洞察力。

我也做好了我的分内之事。

当我的合同续约前景不明朗时，我向一位朋友和导师咨询了要采取什么行动，以及对我的期望是什么。我也询问了最近正处于相同处境的同事。我创建了一个文档，里面记录了这几个月来我取得的进展，确保我的成果所展示的职业发展路线和公司所定义的充分吻合。有了这份文件，我可以证明 Eli 是对的：他们有充分的理由来留下我——基于客观事实而非主观臆断。

### 定义我的角色

然而，在这一过程中，仍然存在一个重要问题—— Sauce 想要留住我，但他们不知道该如何留下我。初级职位需要指导，以及一个渐进式的知识积累过程。我已经在开源项目办公室（OSPO）找到了自己的热爱，在这里我可以积极地和开源社区进行合作。但是 OSPO 可能是公司里最复杂的部门之一。它收集开源和业务信息，需要主动地去将业务需求和开源需求联系起来。我的同事大多是资深工程师，负责对业务至关重要的开源项目——这些工作都非常复杂。

我的一位同辈，[Christian Bromann](https://bromann.dev/)，也在寻求提高自己的管理技能，所以他关照了我。我们开始定期的一对一研讨，讨论在商业环境中开展开源项目的意义。他邀请我更进一步了解了他所参加的基金会和项目，并且进行了几次结对编程的活动，来帮助我学习对于一个工程师来说，在遇到特殊需求时该如何处理。他丝毫没有顾虑的为我在公司桌子旁准备了一把椅子，带我融入了业务。得益于此，我在公司中的角色定位变得清晰而明确。

在作为一个职场人争取转正并成长的过程中，我得了来自不同部门同事的帮助。他们向我展示了很多企业世界中我不了解的事情，包括在业务上最纯粹也是最重要的事情：我们的工作是如何让生活变得更好。我们拥有 <ruby> 多元、公平和包容 <rt>  diversity, equity, and inclusion </rt></ruby>（DEI）小组，环境、职工资源小组，非正式导师制度以及跨部门合作支持。Sauce Labs 最棒的地方就是它拥有的每一个人——充满智慧、满腔热情，我也努力做到见贤思齐。

不久之后，我决定是时候回馈了。

我回顾过往，思绪中涌现出了所有帮助我找到喜爱的工作并且极大改善了我的生活的前辈，我有了一个强烈的感觉：有必要在桌子旁边为他人再准备一把椅子。我开始寻找如何让一个盈利组织设立奖学金计划变得有意义。

### 一项来自盈利组织的奖学金项目

我现在正式担任了连接 OSPO 和社区部门的职位。我的主要任务是建立开源社区的开发者关系（我认为这是一份梦幻的工作！）。

在开源领域，尤其是 [基础设施](https://www.redhat.com/en/topics/cloud-computing/what-is-it-infrastructure?intcmp=7013a000002qLH8AAM) 相关（这是业务之本），贡献和消耗之间的不平衡一直是开源生态中的风险。所以问题成了：一个公司和一个开源项目有什么共同之处？

答案就是：人。

有许多法律上的条例限制着一家盈利性公司维持一个奖学金计划。这因国家而异，因为每个国家的法律也不尽相同。德国为工人提供了许多保障措施。我的人力资源部门同事告诉过我：“如果你觉得这是一份工作，那么它就是。”当然这通常也和税收和支出联系在一起，成本开销一直都是启动新项目的主要决定因素之一。

对于公司来说，实习意味着培训一位将来会被雇佣的人，因此需要有一个预先批准的包含一年工资的预算。但是奖学金不同于此。它是一种更加宽松的合约，类似于助学金，只涵盖一定的时间。这对于一个开源项目以及类似的活动比如 <ruby>   谷歌编程之夏  <rt>  Google Summer of Code </rt></ruby>（GSoC）和 Outreachy 来说再合适不过了。

我提出的计划模型是以人为中心的。我希望为有抱负的本地技术人员们提供进入该领域的机会。我已经经历过类似的项目，也明白它们可能有多么令人沮丧。这些项目的竞争非常激烈，如果想被选中，还必须在申请之前承诺几个月的无薪工作。

通过举办几个小型的当地活动，我深信整个开源生态系统都将受益。我觉得通过减少竞争，简化申请流程可以降低入门门槛，这一定会吸引更多的人——尤其是那些无法承诺数月无薪工作的人。

### 奖学金

[开源社区奖学金](https://saucelabs.com/resources/blog/sauce-labs-community-fellowship-program-open-source) 是一个为期六个月的带薪项目，旨在连接盈利组织和开源项目，促进开源中贡献和治理的多样性。

将员工转变为导师降低了项目的成本，同时也为公司带来了巨大的价值，因为这样有助于将员工培养为更好的导师。多项研究证明了在公司内部建立正式的、非正式的导师制度的优势，其中包含增强员工归属感，减少公司的人才流失。很多公司表示需要员工具备承担导师制度的技能以达到高级职称水平，但这是一种需要实践的技能。通过每周提供 2 小时来培训相关技能，公司可以在长期内获益颇丰，而付出的工作量很少。

一个与业务紧密相关的开源项目需要对业务至关重要。如果你打算雇佣一定数量的人在六个月内专门完成一个项目，那么就需要从这笔支出中取得回报。我鼓励奖学金成为一个跨学科、跨专业的项目，因为大多数开源项目需要文档编写、翻译、设计和社区支持等多方面的帮助。

并且，奖学金项目应该设置为六个月——不能再少。诸如一些为期三个月的项目，也许有津贴，但对于一个合理的入职申请来说是不够的。未来的项目维护者应该现在就融入到社区，这是需要时间的。

最后，这必须是一个带薪项目。我们不仅仅需要导师制度，还需要资助。尽管导师制度可以帮助你扩展人脉，但我们还需要支出薪水。向获奖者支付薪水可以让他们全身心地投入到项目中。

Sauce Labs 首次赞助了这个项目并于 2022 年 12 月在全美招募了 5 名获奖者。我们希望这个项目成为 [自由软件运动中的典范][]，这样的话，所有人都可以在其基础上创建分支、修改并重新分发。

### 每个人都有优点

我们时常面临这样的问题：“我能做什么？”与其对永远存在的困难感到挫败，不如积极地发掘自己的优点。以下是一些基于我自身经历的想法：

* 成为社区的组织者。附近没有找到组织？那就创建属于你自己的团队并招贤纳士，要知道，你需要支持。
* 成为导师。加入一些倡议组织，或是在你的公司创建正式的亦或是非正式的导师项目。
* 关心你的同事，并主动提供帮助。即使你的工作十分稳定，你仍然需要他人的帮助来成长。和同事搞好关系，并利用这个优势，让每一种声音得到倾听。
* 接受一个属于你自己的奖学金项目。这是一个可重复，易实施的模型，同时也为开源生态系统带来了无尽的帮助。

我们一直可以为我们周围的世界更加美好而做出贡献，而你是其中重要的一环。

*（题图：MJ/994ad9ce-29e3-438b-959c-84fb4e037eb5）*

---

via: <https://opensource.com/article/23/3/my-first-job-tech>

作者：[Paloma Oliveira](https://opensource.com/users/discombobulateme) 选题：[lkxed](https://github.com/lkxed/) 译者：[lyxwest](https://github.com/lyxwest) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1130 二季度英伟达 H100 GPU 出货超过 900 吨

Summary:
? 二季度英伟达 H100 GPU 出货超过 900 吨
? MariaDB 公司或被风投收购
? AI 编程助手有时候会替你填上别人的密钥
»
»

大家训练人工智能不对数据和结果进行审核的吗？

# 硬核观察 #1130 二季度英伟达 H100 GPU 出货超过 900 吨

### 二季度英伟达 H100 GPU 出货超过 900 吨

据报告，二季度有 30 多万台 H100 GPU 进入了服务器制造商的装配线，按每台 GPU 连同散热器的重量约为 3 千克，约计 900 吨！此外，为人工智能处理工作配备 8 个 GPU 的服务器推高了服务器平均价格，涨幅超过了 30%。据预测，8 个 GPU 的服务器的持续部署将导致服务器市场收入在 2024 年上半年同比增长 51%，预计将有一百万个 H100 GPU 进入服务器。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/19/900_tons_nvidia_servers/)**
>
>
>

>
> 老王点评：我从来不知道芯片也可以按吨来计算，这一比喻令人直观地感受到现在 GPU 芯片有多火。
>
>
>

### MariaDB 公司或被风投收购

MariaDB 公司于 2022 年 12 月进行了首次公开募股（IPO），获得了 1.04 亿美元的资金。今年 3 月，MariaDB 公司表示，预计通过数据库订阅和服务筹集的资金将不足以满足其预计的营运资金和运营需求，“正在寻求额外的资金，以满足 2023 年 9 月 30 日之后的预计营运资金、运营和债务偿还需求”。7 月，纽约证券交易所通知 MariaDB，该公司在 30 天内股价跌破 1 美元，不符合其上市手册的规定，面临退市风险。风险投资公司 Runa Capital 提出收购 MariaDB 已发行普通股的 100% 的非承诺要约。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/19/vc_makes_bid_for_mariadb/)**
>
>
>

>
> 老王点评：开源软件公司不好干啊，可能不上市还更好一些。
>
>
>

### AI 编程助手有时候会替你填上别人的密钥

不小心的开发人员可能会在代码库中硬编码证书，甚至提交到 GitHub 等公共源代码托管服务。研究人员对 GitHub Copilot 和亚马逊 CodeWhisper 等 AI 编程助手生成的代码中是否会出现泄露的 API 密钥进行了研究。他们让 AI 补完代码中空白的密钥值，研究发现，这些 AI 编程助手给出的密钥中，Copilot 有 3.6%，CodeWhisperer 有 5.4% 都是 GitHub 上的有效硬编码凭据。

>
> **[消息来源：The Register](https://www.theregister.com/2023/09/19/github_copilot_amazon_api/)**
>
>
>

>
> 老王点评：也就是说你泄露的密钥，不仅仅能在 GitHub 上搜到，而且会被 AI 编程助手告诉别人。
>
>
>


Beaver Notes：一款开源的私人记事本应用

Summary: 这是一款以隐私保护为重点，能在各平台上运行的记事本应用。一起来了解一下吧！

这是一款以隐私保护为重点，能在各平台上运行的记事本应用。一起来了解一下吧！

# Beaver Notes：一款开源的私人记事本应用

>
> 这是一款以隐私保护为重点，能在各平台上运行的记事本应用。一起来了解一下吧！
>
>
>

你是否正在寻找一款以隐私保护为核心的记事本应用？

那么，我们可能为你找到了合适的东西！

Beaver Notes 是一个**跨平台的开源记事本应用**，它将**笔记数据存储本地**，从而避免了数据泄露的风险，并允许用户在离线时访问已存储的笔记。

我认为它很快就可以登上我们的 [最佳 Linux 记事本应用](https://itsfoss.com/note-taking-apps-linux/) 列表了。

以下我将带你了解这款应用，同时我也会分享我的初步印象。

### Beaver Notes：概况 ⭐

Beaver Notes 使用了 **Vue** 和 **JavaScript** 构建，作为一款以隐私为主导的记事本应用，它提供了简洁而直观的用户界面。

它有许多让人赞赏的功能，使它成为一款理想的记事应用。一些突出的特点包括：

* 专注模式
* 笔记标签系统
* Markdown 编辑支持
* 导出/导入笔记的功能

推荐阅读：

>
> **[Linux 上 16 个最好的记事本应用](https://itsfoss.com/note-taking-apps-linux/?ref=news.itsfoss.com)**
>
>
>

#### 初步使用体验 ??

我在我的 [Ubuntu 22.04](https://news.itsfoss.com/ubuntu-22-04-release/) 系统上安装了 Beaver Notes，并且添加了一些随机的笔记以及它自带的两份介绍笔记。

当我打开 Beaver Notes 时，我首先看到的是其主页，上面展示了各种信息。其中包括一个**整齐地组织了的我的笔记的区块**，以及它旁边的**配有笔记分类功能的搜索菜单**。

此外还有一个**侧边栏菜单**，其中**列出了创建/编辑新笔记、浏览所有/归档笔记、切换深色模式和设置菜单等重要选项**。

随后，我尝试了下 **笔记编辑体验**。

如前所述，**Beaver Notes 支持** [Markdown](https://en.wikipedia.org/wiki/Markdown) 格式，而且我发现使用它编辑非常直观，而且它拥有我期待中的所有常用选项。

>
> **[Linux 上 11 个最好的 Markdown 编辑器](https://itsfoss.com/best-markdown-editors-linux/)**
>
>
>

值得注意的是，它有一个 “<ruby> 专注模式 <rt>  Focus Mode </rt></ruby>”。启用后，所有的菜单元素都被隐藏起来，让我可以全屏进行更专注的编辑。

>
> ? 尽管该特性带我进入了全屏模式，但我为了能够以下面的截图，还是选择了退出全屏模式。
>
>
>

另外一个吸引我眼球的功能是 “<ruby> 标题树 <rt>  Headings Tree </rt></ruby>” 特性。这使得在大型的，由多个标题组成的笔记中轻松导航成为可能。

Beaver Notes 还有一个 **笔记标签系统**，这让你更有效地管理你的笔记。只需要输入 `#` 和标签名，即可创建新的标签。

之后，你可以通过搜索栏邻近的标签排序菜单，或点击主页上的标签进行排序。

你还可以 **归档笔记**。我可以将笔记归档而不是删除它，并以后在侧边栏中的 “<ruby> 归档 <rt>  Archive </rt></ruby>” 选项中查看。

那如何改变它的外观配置呢？

“<ruby> 设置 <rt>  Settings </rt></ruby>” 菜单中包含了常规的选项，允许你在浅色模式、深色模式和系统模式之间切换。

在这里还可以对数据导出设置密码，同时也能导入笔记。

最后，还有 “<ruby> 快捷键 <rt>  Shortcuts </rt></ruby>” 菜单，这里列出了在 Beaver Notes 中可用的所有键盘快捷键。

在我短暂的使用体验中，Beaver Notes 给我留下了深刻的印象，尤其针对不需要进行云同步的情况，这是一个非常理想的记事本应用。

我建议你也试试看，它提供了许多有价值的功能。

### ? 下载 Beaver Notes

由于 Beaver Notes 是 **一款跨平台应用**，因此它可以在 **Linux**、**Windows** 和 **macOS** 上运行。你可以在 [官方网站](https://beavernotes.com/download) 下载你需要的安装包。

>
> **[Beaver Notes](https://beavernotes.com/download)**
>
>
>

如果你对源码感兴趣，也可以访问它的 [GitHub 仓库](https://github.com/Daniele-rolli/Beaver-Notes) 查看。

? 你对 Beaver Notes 有什么看法？它是你一直在寻找的吗？

---

via: <https://news.itsfoss.com/beaver-notes/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lujun9972](https://github.com/lujun9972) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


Linux 内核支持周期即将发生一项重大变革！

Summary: 从文字描述上看，它对用户产生的影响将如何呢？你有何看法呢？

感觉应该少出lts 而不是减少lts维护时间。<br />
要不然lts的意义是什么。

来自河南驻马店的 Chrome Mobile 90.0|Android 11 用户

从文字描述上看，它对用户产生的影响将如何呢？你有何看法呢？

# Linux 内核支持周期即将发生一项重大变革！

>
> 从文字描述上看，它对用户产生的影响将如何呢？你有何看法呢？
>
>
>

<ruby>   欧洲开源峰会  <rt>  Open Source Summit Europe </rt></ruby> 刚刚开幕，我们开始看到围绕 Linux 和开源软件的一些有趣动态。

其中一项新闻是关于未来将如何处理 Linux 内核的 [长期支持](https://itsfoss.com/long-term-support-lts/)（LTS）版本。

我们来看一下即将进行的更迭。

**新变化：** 在峰会上，Linux 开发者和 [LWN](https://lwn.net/) 执行编辑 Jonathan Corbett 宣布，**Linux 内核的 LTS 周期即将从原先的六年缩短至两年**！

目前，有 **六个 LTS 版本的 Linux 内核**，即 4.14、4.19、5.4、5.10、5.15 和 6.1。

在将来，继 4.14 之后，当 LTS 状态的下两个版本被淘汰时，**它们将不会被其他内核版本所取代**。

>
> ? 你可以查阅 [Linux 内核归档](https://kernel.org/category/releases.html) 来了解目前 LTS 版本 Linux 内核预计的终止支持日期。
>
>
>

长期支持内核：

| 版本 | 维护者 | 发布于 | 计划终止日期 |
| --- | --- | --- | --- |
| 6.1 | Greg Kroah-Hartman & Sasha Levin | 2022-12-11 | 2026 年 12 月 |
| 5.15 | Greg Kroah-Hartman & Sasha Levin | 2021-10-31 | 2026 年 10 月 |
| 5.10 | Greg Kroah-Hartman & Sasha Levin | 2020-12-13 | 2026 年 12 月 |
| 5.4 | Greg Kroah-Hartman & Sasha Levin | 2019-11-24 | 2025 年 12 月 |
| 4.19 | Greg Kroah-Hartman & Sasha Levin | 2018-10-22 | 2024 年 12 月 |
| 4.14 | Greg Kroah-Hartman & Sasha Levin | 2017-11-12 | 2024 年 1 月 |

**时机选择：**Jonathan 提到的理由之一是，**并不是很多人使用旧版本的 Linux 内核**，因此这些版本没必要继续进行维护。

我对此表示同意。然而，肯定有些人对此举动感到不满。

但是，这个决策的推进主要是由于 **Linux 代码维护人员过度劳累的大问题**。

你看，对于一个 LTS 版本的代码进行检查和改善是一项重任务，需要消耗大量的时间和精力，而问题就出在这里。

据 Jonathan 所说，维护人员面临的 **两个大挑战** 分别是：大部分 **维护人员并未得到酬劳以维护 Linux 内核**，以及采用 “[Fuzzing](https://en.wikipedia.org/wiki/Fuzzing)” 技术寻找问题，虽然有所帮助，但有时也可能揭示出许多小问题，需要维护人员花费更多的精力。

看到这样的情况，维护人员容易感到疲劳，对吧？?

当被问及 **维护人员如何得到帮助？** 时，Jonathan 建议他们与雇主进行沟通，把 Linux 内核维护工作转为付费工作。

他还补充说，

>
> 如果公司希望继续从 Linux 中获益，就需要意识到他们必须向 Linux 回馈。
>
>
>

总的来说，此次变革将减轻维护人员的负担，但依赖于旧版本 Linux 内核的系统可能会承受不获得关键更新的风险。

这可能会对大部分用户产生影响，或可能不会，但对某些组织来说，可能会带来些许不便。

? 你怎么看？在下方评论区分享你的想法吧。

*新闻来源：[ZDNET](https://www.zdnet.com/article/long-term-support-for-linux-kernel-to-be-cut-as-maintainence-remains-under-strain/)*

*（题图：MJ/47a40c0f-3a3c-4534-98fe-3c986e9a881c）*

---

via: <https://news.itsfoss.com/linux-kernel-support/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lujun9972](https://github.com/lujun9972) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


用 Rust 编码？这是 JetBrains 的新 IDE

Summary: Rust 开发者，你们有新的东西可以尝试了！

Rust 开发者，你们有新的东西可以尝试了！

# 用 Rust 编码？这是 JetBrains 的新 IDE

>
> Rust 开发者，你们有新的东西可以尝试了！
>
>
>

在最近宣布基于 IntelliJ 的 IDE [将支持](https://news.itsfoss.com/intellij-wayland-support/) Wayland [显示服务器](https://itsfoss.com/display-server/) 协议之后，JetBrains 推出了**面向 Rust 开发人员的新 IDE**。

它被称为 “**RustRover**”，目的成为**一个功能丰富的独立 Rust IDE**，并将接收定期更新、快速支持和“开箱即用的体验”。

请允许我向你展示它所提供的内容。

>
> ? 这是一个早期使用工具，目前不适合生产使用。
>
>
>

### RustRover：可以期待什么？

>
> ? RustRover 不是自由开源软件。
>
>
>

RustRover 从头开始开发，**取代了现已弃用的 [IntelliJ Rust](https://intellij-rust.github.io/) 插件**，该插件用于提供 JetBrains 平台上的 Rust 支持。

它是根据 JetBrains 的其他 IDE 构建的，用于提供**专用的 Rust 开发环境**，而这是以前所缺少的。

>
> ? RustRover 还使用 IntelliJ Rust 插件作为组成部分。
>
>
>

在当前状态下，RustRover 支持诸如 **Rust** 、 **Cargo** 、 **TOML** 、 **web** 和**数据库**等语言和技术。具有来自 **[IntelliJ IDEA](https://www.jetbrains.com/idea/)** 的附加功能，包括 **[VCS 集成](https://www.jetbrains.com/help/youtrack/cloud/Integration-with-Version-Control-Systems.html)**。

而且，说到它的功能，还不少呢！ ?

**对于编码**，它支持**代码补全**、**代码生成**、**智能重构**、**实时模板**等。RustRover 旨在帮助用户更快、更准确地编写代码。

它还具有一些基本功能，例如**语法高亮显示**、**宏扩展**、**跨语言操作**等，以帮助更好地理解代码库。

**对于测试**，RustRover 具有测试运行器、调试器、对运行配置、运行目标、分析和性能分析的支持。

**对于项目管理**，它支持 Cargo 和 `Cargo.toml`、构建脚本、依赖项声明中的代码补全，并且可以轻松访问 Crate 文档。

RustRover 还**具有一些简洁的实时协作功能**，例如**支持 [VCS](https://en.wikipedia.org/wiki/Version_control)**（[Git](https://git-scm.com/) 和 [GitHub](https://github.com/)）、**配置共享** 和 **[code with me](https://www.jetbrains.com/code-with-me/)**。

你可能想知道**它的许可和定价模式怎么样？**

鉴于 **RustRover 不是开源的**，JetBrains **计划将其作为商业产品以订阅方式出售**，与其他 IDE 产品类似。

定价结构尚未最终确定，但预计会与他们的 IDE 产品定价类似。

你可以通过他们的[公告博客](https://blog.jetbrains.com/rust/2023/09/13/introducing-rustrover-a-standalone-rust-ide-by-jetbrains/)来了解更多关于 RustRover 的信息。

>
> ? 既然我们正在讨论 Rust 的话题，为什么不尝试一下我们的 [Rust 基础系列](https://itsfoss.com/tag/rust-basics/)呢？它应该作为 Rust 世界的一个很好的介绍。
>
>
>

**想要试一试么？**

RustRover 已提供 **tar.gz 包**、**JetBrains Toolbox App** 和 \*\* Ubuntu Snap 包\*\* 提供。你可以从 [官方网站](https://www.jetbrains.com/rust/download/) 获取你选择的包。

>
> **[RustRover](https://www.jetbrains.com/rust/download/)**
>
>
>

对于 Ubuntu，你还可以运行以下命令：

```
sudo snap install jetbrains rustrover --classic

```

请注意，在撰写本文时，**Snap 包未按预期运行**，在使用上述命令时在安装过程中引发错误。

JetBrains **计划在 2024 年 9 月之前对 RustRover 保持公共预览版**，并在此之前发布稳定版本。

? 你有兴趣使用这样的 IDE 进行 Rust 编码吗？在下面的评论中分享你的想法！

---

via: <https://news.itsfoss.com/rust-ide-jetbreains/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1131 大模型“深吸一口气”后会更聪明

Summary:
? 大模型“深吸一口气”后会更聪明
? 亚马逊将为 Alexa 添加人工智能
? 统一加速基金会成立，英伟达缺席
»
»

Nvidia缺席不奇怪，因为它和Linux的关系不好，但是没有AMD就很奇怪了。

# 硬核观察 #1131 大模型“深吸一口气”后会更聪明

### 大模型“深吸一口气”后会更聪明

DeepMind 的研究人员开发了一种技术，可以通过使用人工智能模型来改进提示词，以提高其它人工智能语言模型的数学能力。利用这种被称作“通过提示进行优化（OPRO）”的技术，他们发现，使用“深吸一口气，一步步解决问题”的提示词，能大幅提升数学测试得分。对 PaLM 2 使用该提示，它在小学数学应用题数据集 GSM8K 中的正确率达到了 80.2%，而不使用该提示正确率只有 34%。为什么这能奏效呢？大模型显然不会呼吸，也不像人类那样思考和推理。它所做的“推理”都源自从书籍和互联网上抓取的短语数据集。这些内容中往往在“深呼吸”，“一步步思考”等短语后跟着更合理的推理方案。这些短语可能有助于大模型产生更好的答案。

>
> **[消息来源：Ars Technica](https://arstechnica.com/?p=1969012)**
>
>
>

>
> 老王点评：要想让人工智能像人类一样思考，就得把它当成人类一样对待。
>
>
>

### 亚马逊将为 Alexa 添加人工智能

亚马逊展示了由其全新的 Alexa 大语言模型驱动的全新 Alexa 语音助手。这款全新的 Alexa 可以理解对话短语并做出适当的回应，更有效地解释上下文，并通过一个命令完成多个请求。他们表示，Alexa LLM “是一个真正可通用的大型语言模型，针对 Alexa 的用例进行了优化；它与 Bard 或 ChatGPT 或任何这些东西都不同”。想参加测试的美国用户，可以对 Echo 设备 说“Alexa，我们聊聊吧”，就有可能被加到预览测试名单中。

>
> **[消息来源：The Verge](https://www.theverge.com/2023/9/20/23880764/amazon-ai-alexa-generative-llm-smart-home)**
>
>
>

>
> 老王点评：语音助手是最应该有人工智能的设备，而之前它们只是简单的问答机和搜索引擎而已。
>
>
>

### 统一加速基金会成立，英伟达缺席

Linux 基金会本周宣布成立统一加速（UXL）基金会。该组织的使命是提供 “一个开放标准的加速器编程模型，简化高性能、跨平台应用程序的开发”。该基金会的创始成员包括 Arm、富士通、谷歌云、英特尔、高通、三星等公司。但英伟达公司缺席，英伟达提供了自己的 CUDA 编程模型，用于使用其 GPU。这个新的基金会的核心是 oneAPI 计划的演进，其目的也是创建一个新的编程模型，使开发人员更容易支持各种加速器，无论它们是 GPU、FPGA 还是其他专用加速器。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/09/19/the-unified-acceleration-foundation-wants-to-create-an-open-standard-for-accelerator-programming/)**
>
>
>

>
> 老王点评：那就看看自己玩还是大家玩，那个更好玩。
>
>
>

### 回音

* 之前，由于不满 HashiCorp 修改 Terraform 的许可证，社区创建了 [OpenTF](/article-16137-1.html) 分支。在 HashiCorp 大为不满，向许多支持的公司发送了“停止侵权”的通告后，为了避免商标侵权，OpenTF 改名为 OpenTofu —— 开源豆腐。他们有意选择了一个幽默的名字。


在 Linux 的 VirtualBox 中从 USB 驱动器启动

# 在 Linux 的 VirtualBox 中从 USB 驱动器启动

>
> 你可以在 VirtualBox 中的虚拟机上使用立付 Linux USB。这样可以省去重新启动主机的麻烦。
>
>
>

你有一个 <ruby> 立付 <rt>  Live </rt></ruby> Linux USB 吗？在当前系统上测试它的常用方法是重新启动，并在系统重新启动时选择从立付 USB 启动。

但这很烦人，因为你需要停止计算机上的工作并重新启动它。

一种干扰较小的方法是使用虚拟机。

是的，你可以使用 VirtualBox 从虚拟机中的 USB 启动。这样，你不必为了尝试而在 VM 中安装发行版，而是改用立付会话。

在本教程中，我将展示在 Linux 系统使用 VirtualBox 从 USB 驱动器启动的步骤。这需要花费一些时间和精力，但可以让你免于重启系统。

### 在 Linux 的 VirtualBox 中从 USB 驱动器启动

由于这是针对高级用户的教程，因此我省略了你事先需要的几个步骤：

* 在 Linux 系统上 [安装 VirtualBox](https://itsfoss.com/install-virtualbox-ubuntu/)
* 创建立付 Linux USB，最好 [使用 Ventoy](https://itsfoss.com/use-ventoy/)

本指南分为三个部分：

* 创建虚拟机磁盘文件
* 在 VM 中使用 USB 启动
* 删除虚拟机磁盘（可选）

那么让我们从第一个开始。

#### 步骤 1：创建虚拟机磁盘文件（VMDK）

首先，你需要识别 USB 驱动器的磁盘名称，为此，你需要 [列出系统的驱动器](https://linuxhandbook.com/linux-list-disks/)。

为此，我将使用 lsblk 命令：

```
lsblk

```

>
> ? 确保使用不带任何数字的磁盘名称。就我而言，Ventoy 以 sdb1 命名，但我仍然只能使用 sdb。
>
>
>

从上图中，你可以看到，Ventoy 列出了 `sdb11`，但你必须使用不带任何数字的名称。这意味着我必须只使用 `sdb`，否则，它会抛出错误。

找到驱动器名称后，使用以下命令中的 `VBoxManage` 命令来创建：

```
sudo VBoxManage createmedium disk --filename=/path/to/rawdisk.vmdk --variant=RawDisk --format=VMDK --property RawDrive=/dev/sda

```

在上面的命令中，将 `/path/to/rawdisk.vmdk` 替换为要保存文件的路径 ，将 `/dev/sda` 替换为目标驱动器。

就我而言，我想在我的主目录中创建一个名为 `IF.vmdk` 的文件，并且我的目标驱动器是 `/dev/sdb`，然后，我将使用以下命令：

>
> ? 你需要提供绝对路径来创建 vmdk 文件！
>
>
>

```
sudo VBoxManage createmedium disk --filename=/home/sagar/IF.vmdk --variant=RawDisk --format=VMDK --property RawDrive=/dev/sdb

```

最后，使用 `chmod` 命令更改权限：

```
sudo chmod 777 Filename.vmdk

```

#### 步骤 2：在 Linux 的 VirtualBox 中从 USB 启动

首先，从系统菜单中打开 VirtualBox，然后单击 “<ruby> 新建 <rt>  New </rt></ruby>” 按钮。

在那里，为你的虚拟机命名并选择操作系统类型及其版本：

现在，单击 “<ruby> 下一步 <rt>  Next </rt></ruby>” 按钮，它会要求你为虚拟机分配硬件资源：

完成硬件资源分配后，单击“下一步”按钮。

在这里，你将找到创建或添加虚拟磁盘的选项。现在，请执行 3 个简单步骤：

* 选择第二个选项 “<ruby> 使用现有虚拟硬盘文件 <rt>  Use an Existing Virtual Hard Disk File </rt></ruby>”。
* 点击“文件”图标。
* 点击“<ruby> 添加 <rt>  Add </rt></ruby>”按钮并选择你最近创建的以 `.vmdk` 结尾的文件。

选择文件后，它将显示文件的名称，选择它并点击 “<ruby> 选择 <rt>  Choose </rt></ruby>” 选项：

它将向你显示已选择从中启动的文件。单击下一步，它将显示你所做的选择的摘要。

点击 “<ruby> 完成 <rt>  Finish </rt></ruby>” 按钮：

就是这样！ 虚拟机已创建。

要启动虚拟机，首先选择虚拟机并单击启动按钮：

由于我的 USB 有 Ventoy，你可以看到，此处列出了多个发行版：

很酷。是么？

#### 步骤 3：使用删除虚拟机及 vmdk 文件（可选）

当我在删除虚拟机后尝试删除 vmdk 文件时，当然，它被删除了，但每当我尝试创建具有相同名称的新文件时，它都会给我一个错误，说该文件已经存在！

因此，在这里，我将引导你了解如何删除虚拟机及 vmdk 文件。

首先，关闭虚拟机并将其删除。

现在，如果你尝试 [使用 rm 命令](https://linuxhandbook.com/remove-files-directories/) 并提升权限删除 vmdk 文件，你可以删除它（但这就是幻觉的开始）。

例如，在这里，我删除了 `IF.vmdk` 文件：

```
sudo rm IF.vmdk

```

现在，如果我尝试创建一个具有相同名称的新 vmdk 文件，则会出现错误，指出该文件已存在：

要删除 vmdk 文件，首先，你必须使用以下命令取消注册该文件：

```
sudo VBoxManage closemedium disk /path/to/MyDrive.vmdk

```

完成后，你可以使用 `rm` 命令删除该文件，它将轻松删除：

```
sudo rm Filename.vmdk

```

然后，如果你尝试创建具有相同文件名的 vmdk 文件，你可以这样做：

这就行了！

### 更多虚拟机技巧

如果你正在寻找最快的 VM，可以使用 Qemu + KVM 的组合。我知道这听起来很复杂。

但为了更简单一些，我们制作了一份关于如何在 Ubuntu 上安装和使用 Qemu 的专门指南，包括启用共享文件夹、剪贴板和自动调整大小：

>
> **[如何在 Ubuntu 上安装和使用 Qemu](https://itsfoss.com/qemu-ubuntu/)**
>
>
>

我希望本指南对你有所帮助。

*（题图：MJ/f74a3b33-2bcf-445b-8868-1dfc420f5b9d）*

---

via: <https://itsfoss.com/virtualbox-boot-from-usb/>

作者：[Sagar Sharma](https://itsfoss.com/author/sagar/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


GNOME 45 发布，弃用“活动”按钮

Summary: GNOME 桌面的最新版本已经发布。

GNOME 桌面的最新版本已经发布。

# GNOME 45 发布，弃用“活动”按钮

>
> GNOME 桌面的最新版本已经发布。
>
>
>

我们见证了 GNOME 的不断演化，每次重大更新都会带来新的功能及改进。

在上一个版本中，[GNOME 44](https://news.itsfoss.com/gnome-44-release/) 推出了许多酷炫的特性，如今，GNOME 45 也紧跟其后，推出许多有益的优化。

下面让我们一探究竟。

### GNOME 45：有何新变化？

尽管我们已经单独详述过 [GNOME 45 的亮点特性](/article-16150-1.html)，我还是简洁回顾一下这次发布的所有相关详情。

* 系统设置的调整
* 新的工作空间指示器
* 新的或者更新的核心应用程序的引入
* Nautilus 的用户界面优化

>
> **[GNOME 45 引入激动人心的更新](/article-16150-1.html)**
>
>
>

#### 新的工作空间指示器

根据我们 [之前的报道](https://news.itsfoss.com/gnome-activities-indicator/)，GNOME 45 让 “<ruby> 活动 <rt>  Activities </rt></ruby>” 按钮走向了历史。

如今，我们已经有了一个药丸状的动态指示器，能明了当前处于活动状态的工作空间，以及工作空间的数量。

这是一个微小但整齐的设计改动！

#### 系统设置的调整

在 GNOME 45 中，设置应用下方出现了全新的 “<ruby> 隐私 <rt>  Privacy </rt></ruby>” 子菜单，现在各类选项展示得更有序。

“<ruby> 关于 <rt>  About </rt></ruby>” 子菜单也被优化，现已通过 “<ruby> 系统详细信息 <rt>  System Details </rt></ruby>” 菜单显示技术数据。除此之外，线上账户设置也在可用性上得到了提升。

#### 引入了新的核心应用

GNOME 45 版本告别了 “<ruby> GNOME 之眼 <rt>  Eye of GNOME </rt></ruby>” 图片查看器，转而采用 “<ruby>   放大镜  <rt>  Loupe </rt></ruby>” 应用，并摒弃了 “<ruby> 茄子 <rt>  Cheese </rt></ruby>” 相机应用，全新引入了 “<ruby>   快照  <rt>  Snapshot </rt></ruby>” 应用。

**原有的核心应用也得到了更新。**

就 “<ruby> 地图 <rt>  Maps </rt></ruby>” 应用而言，出现了一些微小变动，如缩放按钮的调整以及侧边栏的重塑。

同样地， “<ruby> 天气 <rt>  Weather </rt></ruby>” 应用的默认窗口大小被扩大，以便为所有温度计部件提供空间。

别忘了，“<ruby> 计算器 <rt>  Calculator </rt></ruby>” 应用现已支持更多种类的货币，以及 “<ruby> 连接 <rt>  Connections </rt></ruby>” 应用 可以在 RDP 连接中复制 / 粘贴文本、图片和文件。

#### ? Nautilus 的用户界面优化

Nautilus 文件管理器已 **做了一些轻微的界面优化**，新的左侧边栏汉堡菜单使得侧边栏看起来比以前更醒目。

#### ? 其他改动与优化

除了我们述及的重点，下面还有一些其他值得注意的变化；

* 文档扫描应用已迁移到 GTK4。
* 数个应用新增了视觉效果并改进了自适应表现。
* 在快速设置中新增了一个控制键盘背光的切换。
* 在 Shell 中新增了一个指示器，用于显示相机何时在活动状态。

如果你感兴趣，可参阅官方 [发布公告](https://release.gnome.org/45/) 了解更多详情。

### 如何开始使用 GNOME 45

你可期待 GNOME 45 将在 [Fedora 39](https://news.itsfoss.com/fedora-39-features/) 及 [Ubuntu 23.10](https://news.itsfoss.com/ubuntu-23-10/) 上首次亮相。

在那之前，你可以通过在 [GNOME OS](https://os.gnome.org/) 上使用 [Boxes](https://wiki.gnome.org/Apps/Boxes) 或在你的 Arch 发行版上手动安装（当它在仓库中可用时）来尝试 GNOME 45。

请注意，GNOME OS 的主要目的是用于测试。

>
> **[GNOME](https://www.gnome.org/getting-gnome/)**
>
>
>

? 对于这次发布，你有何看法？是否还有其他期待？

*（题图：MJ/f559d170-e20a-45a5-8d38-cd655ce7a955/）*

---

via: <https://news.itsfoss.com/gnome-45-release/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[ChatGPT](https://linux.cn/lctt/ChatGPT) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


硬核观察 #1132 OpenAI 宣布 DALL-E 3，让提示工程过时

Summary:
? OpenAI 宣布 DALL-E 3，让提示工程过时
? 谷歌用 “iPager” 广告嘲讽苹果
? 苹果和谷歌不完全披露的 libwebp 漏洞造成大麻烦
»
»

RCS好像对Android版本有要求，以安卓手机的碎片化程度，尤其是国内，可能都做不到全面铺开

# 硬核观察 #1132 OpenAI 宣布 DALL-E 3，让提示工程过时

### OpenAI 宣布 DALL-E 3，让提示工程过时

OpenAI 发布了 DALL-E 3，其可以与 ChatGPT 完全集成在一起。从提供的样本来看，DALL-E 3 在图像合成方面的能力似乎比现有的任何其他模型都要强，能更有效地完善手部等小细节。它可以将 ChatGPT 作为头脑风暴伙伴对图像进行会话完善，在 “无需魔改或提示工程” 的情况下默认创建引人入胜的图像。也就是说，你无需像对 MidJourney 那样输入一些反直觉的提示词，而 ChatGPT 会很好的理解你意图，并生成符合意图的图像。

>
> **[消息来源：Ars Technica](https://arstechnica.com/information-technology/2023/09/openai-announces-dall-e-3-a-next-gen-ai-image-generator-based-on-chatgpt/)**
>
>
>

>
> 老王点评：想起了国内某过气的技术大佬曾经说 10 年后全世界有 50% 的工作会是提示工程。这话颇像当年他们嘲笑云计算就是新瓶装旧酒一样。
>
>
>

### 谷歌用 “iPager” 广告嘲讽苹果

长期以来，谷歌一直试图公开向苹果施压，迫使其采用 RCS（富通信服务）消息协议，但苹果的库克回应是，消费者“应该给他们的妈妈买一部 iPhone”。谷歌最近发布了一则尖刻的广告，这则名为 “iPager” 的广告模仿了苹果的营销语言，展示了一个复古风格的传呼机（BP 机），表明苹果选择的信息平台已经落后于时代。广告称，iPager 使用 “过时的短信技术” 来 “与安卓手机发短信”，并列举了在与安卓手机通信时坚持使用短信技术的许多明显缺点。实际上，有 30 年历史的短信技术确实可以追溯到老式的传呼机。

>
> **[消息来源：Engadget](https://www.engadget.com/google-takes-a-snarky-shot-at-apple-over-rcs-in-its-latest-ad-181313519.html)**
>
>
>

>
> 老王点评：用传呼机收短信，这是个好主意~ ?
>
>
>

### 苹果和谷歌不完全披露的 libwebp 漏洞造成大麻烦

两周前，苹果公司报告称，威胁者正在积极利用 iOS 系统中的一个零点击漏洞来安装间谍软件。几天后，谷歌报告了其 Chrome 浏览器中的一个 WebP 堆缓存区溢出漏洞，并且该漏洞已经被利用。这两个漏洞的相似之处，让安全研究人员认为它们极有可能源自同一个漏洞，特别是 libwebp，它是应用程序、操作系统和其他代码库用于处理 WebP 图像的代码库。由于这两个漏洞是单独披露的，拥有不同的 CVE，并没有追溯到根源，很有可能数百万个使用了 libwebp 的应用程序都存在该漏洞。这包括各种 Linux 操作系统、各种浏览器、各种使用 Electron 框架的的应用。

>
> **[消息来源：Ars Technica](https://arstechnica.com/security/2023/09/incomplete-disclosures-by-apple-and-google-create-huge-blindspot-for-0-day-hunters/)**
>
>
>

>
> 老王点评：难道报告漏洞也要各扫门前雪了么？
>
>
>

### 回音

* [米高梅酒店](/article-16194-1.html) 的计算机系统在 10 天后 [恢复](https://apnews.com/article/vegas-mgm-resorts-caesars-cyberattack-shutdown-a01b9a2606e58e702b8e872e979040cc)。据称，该公司支付了要求的 3000 万美元赎金的一半，以换取数据不被泄露。


Tagger 的新更新可让你更好地组织和标记音乐

Summary: 使用 Tagger 来标记你的音乐？ 现在，它增加了新功能和修复。

使用 Tagger 来标记你的音乐？ 现在，它增加了新功能和修复。

# Tagger 的新更新可让你更好地组织和标记音乐

>
> 使用 Tagger 来标记你的音乐？ 现在，它增加了新功能和修复。
>
>
>

Tagger 已发布新版本，其中包含大量有用的改进！

对于那些不知道的人来说，Tagger 是**一款专注于流行音乐文件类型的开源 [标签编辑器应用](https://en.wikipedia.org/wiki/Tag_editor)**，支持 MP3、OGG、FLAC、WAV 等音乐文件。

它可用于**向音乐文件添加重要的元数据**，例如专辑封面、艺术家/发行商信息、发行年份，甚至自定义属性。

让我们看看这个新版本的 Tagger 能提供什么。

### ? Tagger V2023.9.1：有什么新变化？

Tagger 采用 C# 语言编写，**它出现自 2021 年底**，并且一直在定期进行改进。

在 **Tagger V2023.9.1** 版本中添加了多项改进。

首先，它包括了**更新的翻译**，要感谢 [Weblate](https://weblate.org/en/) 上的用户。

然后还有**新添加的功能**，可以在 Tagger 中**打开、管理和创建播放列表**。这是为了更容易地同时处理许多音乐文件，从而“<ruby> 音乐文件夹 <rt>  Music Folder </rt></ruby>”现在被称为“<ruby> 音乐库 <rt>  Music Library </rt></ruby>”。

接下来，**同步歌词时间戳现在以 “mm:ss.xx” 格式显示**，遵循 [LRC](https://en.wikipedia.org/wiki/LRC_(file_format)) 规范，并且可以指定 “**hh:mm:ss**” 和 “**mm:ss.xx**” 格式，允许 Tagger 对其进行转换。

此外，Tagger 现在在排序时**在音乐文件列表中显示标题**，为了获得更有条理的文件视图，**主窗口大小在应用重新启动时不会丢失**，并且 **LRC 文件现在可以正确导入**。

有关更多技术细节，你可以参考其 [发行说明](https://github.com/NickvisionApps/Tagger/releases/tag/2023.9.1)。

### ? 下载Tagger V2023.9.1

你可以通过选择可用的软件包之一来获取最新版本的 Tagger，如下所示：

* [Snap](https://snapcraft.io/tagger)
* [Flatpak](https://flathub.org/apps/org.nickvision.tagger)
* [AUR 包](https://aur.archlinux.org/packages/tagger)

对于 Ubuntu，你还可以运行以下命令来安装它：

```
sudo snap install tagger

```

>
> ? 当我们谈论添加元数据的应用时，还有 [元数据清理器](https://itsfoss.com/metadata-cleaner/)。它允许你清除最流行的文件类型中的元数据，这与 Tagger 完全相反。
>
>
>

? 你以前用过 Tagger 吗？ 你对此的体验如何？ 在评论区分享你的观点。

*（题图：MJ/02d910b8-80d1-4802-8125-11ebc45287bf）*

---

via: <https://news.itsfoss.com/tagger-2023-9-release/>

作者：[Sourav Rudra](https://news.itsfoss.com/author/sourav/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出