如何访问虚拟机中的 GRUB 菜单

Summary: 需要在虚拟机中访问 GRUB 菜单吗？以下是做法。

这跟虚拟机有什么关系，物理机的操作一样

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

需要在虚拟机中访问 GRUB 菜单吗？以下是做法。

# 如何访问虚拟机中的 GRUB 菜单

>
> 需要在虚拟机中访问 GRUB 菜单吗？以下是做法。
>
>
>

大多数现代虚拟机都配置为跳过 [GRUB 引导加载程序](https://itsfoss.com/what-is-grub/) 以获得无缝体验。

但是，你有时可能需要访问 GRUB 菜单。例如，如果你想切换回旧内核或进入恢复模式以 [重置密码](https://itsfoss.com/how-to-hack-ubuntu-password/)。

>
> ? TLDR：重启虚拟机并在再次启动时按住 `Shift` 键。这将为你提供 GRUB 菜单。
>
>
>

在这篇简短的文章中，我将向你展示两种访问虚拟机中运行的 Linux 中的 GRUB 菜单的方法：

* 临时方案（当你需要访问 GRUB 一两次时）
* 永久方案（每次启动时都会显示 GRUB）

由于大多数用户不会每天与 GRUB 交互，因此我将从一个临时解决方案开始，你可以无需任何调整即可访问 GRUB。

>
> ? 我在此处的教程中使用了 Ubuntu，但这些步骤也适用于其他 Linux 发行版。
>
>
>

### 在虚拟机中访问 GRUB 引导加载程序（快速方式）

如果你偶尔想访问 GRUB，这应该是最好的方法，因为它不需要任何配置。

只需重新启动系统并按住 `shift` 键即可。

就是这样！

你将拥有没有任何时间限制的 GRUB 菜单：

很简单的方法。不是吗？

但它仅适用于特定的启动。那么如果你想在每次启动时都进入 GRUB 该怎么办呢？ 请参考下面的方法。

### 永久在虚拟机中启用 GRUB 菜单（如果你愿意）

>
> ? 此方法需要在命令行中更改 GRUB 配置文件。请确保你能够轻松地在终端中进行编辑。
>
>
>

如果你需要处理 GRUB 菜单来访问其他操作系统或经常更改 [从旧内核启动](https://itsfoss.com/boot-older-kernel-default/)，那么此方法非常适合你。

要使 GRUB 在每次引导时都可访问，你必须在配置文件中进行更改。

首先，使用以下命令打开 GRUB 配置文件：

```
sudo nano /etc/default/grub

```

在这里，将 `GRUB_TIMEOUT_STYLE=hidden` 更改为 `GRUB_TIMEOUT_STYLE=menu`：

接下来，在同一个配置文件中，指定你希望 GRUB 显示的秒数。

我建议 5 秒，因为它似乎在太长和太短之间取得了平衡（是的，非常相关）：

```
GRUB_TIMEOUT=5

```

最后，你可以 [保存更改并退出 nano](https://linuxhandbook.com/nano-save-exit/) 编辑器。

要激活对配置文件所做的更改，请使用以下命令更新 GRUB：

```
sudo update-grub

```

就是这样。重启系统，GRUB 应该会显示 5 秒钟。

### 将 GRUB 主题化如何？

大多数 Linux 发行版都会使用 GRUB 引导加载程序，因为它的配置非常简单，而且能完成工作。

但在默认情况下，除了黑色背景和纯文本外，它没什么样式。因此，我们制作了一份指南，教你如何让它看起来更漂亮：

>
> **[定制 GRUB 以获得更好的体验](https://itsfoss.com/customize-grub-linux/)**
>
>
>

希望本指南对你有所帮助，如果你有任何疑问，请在评论中告诉我。

*（题图：MJ/f75daf37-20c2-4bae-8a68-dc6a82ad0d61）*

---

via: <https://itsfoss.com/access-grub-virtual-machine/>

作者：[Sagar Sharma](https://itsfoss.com/author/sagar/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


Summary:
? 仅 100KB 大小，只需 4 分钟训练的人工智能图像生成器
? 最高产的 Alpine Linux 打包者离开该项目
? Linus Torvalds 让大家禁用愚蠢的 AMD CPU 功能
»
»

离开了找人接手就是，为什么要删除？她的努力都白费了

老板说：努力干，项目成功了给你销售额5%提成。。。

项目成功后。。。

老板想：这小子奖金得发十几万呢。。。

老板：这是1千块奖金，拿好，这还是我好不容易申请到的。。。

我：！@#￥%……&×（）， sudo rm -rf /*

老板：嘿嘿，就因为这个我才强迫所有人用SVN。。。

# 硬核观察 #1081 仅 100KB 大小，只需 4 分钟训练的人工智能图像生成器

### 仅 100KB 大小，只需 4 分钟训练的人工智能图像生成器

英伟达最新发表的论文披露了一种名为 Perfusion 的全新文本到图像的个性化创新方法。它并不像竞争对手那样是一款价值百万美元的超重量级模型。Perfusion 的大小仅为 100KB，训练时间为 4 分钟，在保持个性化概念身份的同时，还能在描绘个性化概念方面实现极大的创造灵活性。尽管它的体积很小，在某些方面，它却能超越领先的人工智能艺术生成器，如 Stable Diffusion 和 MidJourney。Perfusion 的主要新创意称为 “关键锁定”，这有助于避免过度拟合。英伟达目前只提交了研究论文，并承诺将很快发布代码。

>
> **[消息来源：Decrypt](https://decrypt.co/150861/nvidia-ai-image-generator-floppy-disk-4-minutes)**
>
>
>

>
> 老王点评：真是令人吃惊的 AI 技术进展！似乎一夜之间，原本我们认为不可能做到的事情，都纷纷突破了限制出现了。
>
>
>

### 最高产的 Alpine Linux 打包者离开该项目

Alpine Linux 在容器和嵌入式领域得到了广泛应用，但令人遗憾的是，该 Linux 发行版软件包的最高产的维护者已决定离开。psykose 是过去一年中每个作者提交次数最多的人，她决定不再维护自己的软件包。她在过去一年中提交了 13,894 次，相比之下，第二多产的软件包维护者只有 2,053 次提交，而去年全年总提交次数是 26.8k。两天前，她最近提交的所有 alpinelinux/aports 都是在删除她负责的软件包。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Alpine-Linux-Prolific-Packager)**
>
>
>

>
> 老王点评：她可能太累了。
>
>
>

### Linus Torvalds 让大家禁用愚蠢的 AMD CPU 功能

Linus Torvalds 对最近困扰内核的 AMD fTPM 硬件随机数生成器问题感到沮丧，并表示希望禁用它。由 AMD fTPM 硬件随机数生成器引起的卡顿问题最初影响了 Windows 用户，但后来发现也影响了 Linux。修复程序已经上传到上游，并被移植到早期内核中，但一些与其相关的问题仍然令人头疼，一些用户仍在报告卡顿问题。Torvalds 在邮件列表上发表了自己的看法：“让我们禁用愚蠢的 fTPM 硬件随机数生成器吧”。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Torvalds-fTPM-RNG-Woes)**
>
>
>

>
> 老王点评：最初 AMD CPU 让 Torvalds 非常满意，但是现在一系列的不作为，让他终于忍不住发飙了。希望 AMD 能感受到 Torvalds 的怒火，尽快解决吧。
>
>
>


Fedora Linux 的家族（二）：定制版

Summary: 使用 Linux 的一个好处是可以选择多种不同的桌面环境。

纯C的compiz活的还似乎有名分，然而C++的compiz已然是淹没集市角落的地摊了。

使用 Linux 的一个好处是可以选择多种不同的桌面环境。

# Fedora Linux 的家族（二）：定制版

使用 Linux 的一个好处是可以选择多种不同的桌面环境。Fedora Linux 官方的 Workstation 版本默认使用 GNOME 作为桌面环境，但是你可以通过 Fedora <ruby> 定制版 <rt>  Spin </rt></ruby> 选择另一个桌面环境作为默认环境。本文将更详细地介绍 Fedora Linux 定制版。你可以在我之前的文章《[Fedora Linux 的各种版本](/article-15003-1.html)》中找到所有 Fedora Linux 变体的概述。

### KDE Plasma 桌面

这个 Fedora Linux 定制版使用 KDE Plasma 作为默认的桌面环境。KDE Plasma 是一个优雅的桌面环境，非常易于定制。因此，你可以根据自己的喜好自由地定制桌面的外观。你可以定制你喜欢的主题，安装所需的小部件，更换图标、字体，根据个人喜好定制面板，并从社区安装各种扩展功能。

Fedora Linux KDE Plasma 桌面预装了许多常用的应用程序。你可以使用 Firefox、Kontact、Telepathy、KTorrent 和 KGet 上网。LibreOffice、Okular、Dolphin 和 Ark 可满足你的办公需求。而针对多媒体需求，该版本提供了 Elisa、Dragon Player、K3B 和 GwenView 等多个应用程序。

更多信息请参考以下链接：

>
> **[Fedora Linux KDE Plasma 桌面](https://spins.fedoraproject.org/en/kde/)**
>
>
>

### XFCE 桌面

这个版本非常适合那些希望在外观定制和性能之间取得平衡的用户。XFCE 本身被设计为快速轻巧，但仍具有吸引人的外观。这个桌面环境逐渐受到老旧设备用户的欢迎。

Fedora Linux XFCE 安装了多种适合日常需求的应用程序，包括 Firefox、Pidgin、Gnumeric、AbiWord、Ristretto、Parole 等。Fedora Linux XFCE 还提供了一个系统设置菜单，让你更轻松地配置 Fedora Linux。

更多信息请访问此链接:

>
> **[Fedora Linux XFCE 桌面](https://spins.fedoraproject.org/en/xfce/)**
>
>
>

### LXQT 桌面

这个版本带有一个轻量级的 Qt 桌面环境，专注于现代经典的桌面体验，而不会降低系统性能。这个 Fedora Linux 版本包含基于 Qt5 工具包的应用程序，并采用 Breeze 主题。你可以通过内置的应用程序如 QupZilla、QTerminal、FeatherPad、qpdfview、Dragon Player 等来进行各种日常活动。

更多信息请访问此链接:

>
> **[Fedora Linux LXQT 桌面](https://spins.fedoraproject.org/en/lxqt/)**
>
>
>

### MATE-Compiz 桌面

Fedora Linux MATE Compiz 桌面是 MATE 和 Compiz Fusion 的组合。MATE 桌面环境使这个 Fedora Linux 版本能够通过优先考虑生产力和性能来发挥最佳效果。同时，Compiz Fusion 使用 Emerald 和 GTK+ 主题为系统提供了美观的 3D 外观。这个 Fedora Linux 版本还配备了各种流行的应用程序，如 Firefox、LibreOffice、Parole、FileZilla 等。

更多信息请访问此链接:

>
> **[Fedora Linux MATE Compiz 桌面](https://spins.fedoraproject.org/en/mate-compiz/)**
>
>
>

### Cinnamon 桌面

由于其用户友好的界面，Fedora Linux Cinnamon 桌面非常适合那些可能对 Linux 操作系统不太熟悉的用户。你可以轻松理解如何使用这个 Fedora Linux 版本。这个定制版内置了各种准备好供你日常使用的应用程序，如 Firefox、Pidgin、GNOME Terminal、LibreOffice、Thunderbird、Shotwell 等。你可以使用 Cinnamon 设置应用来配置你的操作系统。

更多信息请访问此链接:

>
> **[Fedora Linux Cinnamon 桌面](https://spins.fedoraproject.org/en/cinnamon/)**
>
>
>

### LXDE 桌面

Fedora Linux LXDE 桌面拥有一个快速运行的桌面环境，但设计旨在保持低资源使用。这个定制版专为低配置硬件设计，如上网本、移动设备和旧电脑。Fedora Linux LXDE 配备了轻量级和流行的应用程序，如 Midori、AbiWord、Osmo、Sylpheed 等。

更多信息请访问此链接:

>
> **[Fedora Linux LXDE 桌面](https://spins.fedoraproject.org/en/lxde/)**
>
>
>

### SoaS 桌面

SoaS 是 “Sugar on a Stick” 的缩写。Fedora Linux Sugar 桌面是一个面向儿童的学习平台，因此它具有非常简单的界面，易于儿童理解。这里的 “stick” 是指一个随身驱动器或存储“棒”。这意味着这个操作系统体积紧凑，可以完全安装在一个随身 U 盘上。学童可以将他们的操作系统携带在随身 U 盘上，这样他们可以在家、学校、图书馆和其他地方轻松使用。Fedora Linux SoaS 拥有各种有趣的儿童学习应用程序，如 Browse、Get Books、Read、Turtle Blocks、Pippy、Paint、Write、Labyrinth、Physic 和 FotoToon。

更多信息请访问此链接:

>
> **[Fedora Linux Sugar 桌面](https://spins.fedoraproject.org/en/soas/)**
>
>
>

### i3 Tiling WM

Fedora Linux 的 i3 Tiling WM 定制版与其他不太相同。这个 Fedora Linux 定制版不使用桌面环境，而只使用窗口管理器。所使用的窗口管理器是 i3，它是 Linux 用户中非常受欢迎的平铺式窗口管理器。Fedora i3 定制版适用于那些更注重使用键盘进行交互而非鼠标或触摸板的用户。这个 Fedora Linux 定制版配备了各种应用程序，如 Firefox、NM Applet、brightlight、azote、htop、mousepad 和 Thunar。

更多信息请访问此链接:

>
> **[Fedora Linux i3 Tiling WM](https://spins.fedoraproject.org/en/i3/)**
>
>
>

### 结论

Fedora Linux 通过 Fedora Linux 定制版提供了大量的桌面环境选择。你只需选择一个 Fedora 定制版，即可享受你选择的桌面环境以及其内置的即用应用程序。你可以在 <https://spins.fedoraproject.org/> 找到关于 Fedora 定制版的完整信息。

*（题图：MJ/6e7ea0c7-ccbe-4664-af60-61345a7c6617）*

---

via: <https://fedoramagazine.org/fedora-linux-editions-part-2-spins/>

作者：[Arman Arisman](https://fedoramagazine.org/author/armanwu/) 选题：[lkxed](https://github.com/lkxed) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

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


Linux 中退出码的含义

# Linux 中退出码的含义

>
> 揭开 Linux 中退出码的神秘面纱。了解什么是退出码，以及为什么和如何使用它们。
>
>
>

退出码（退出状态）可以告诉我们最后一次执行的命令的状态。在命令结束以后，我们可以知道命令是成功完成的还是以错误结束的。

**其基本思想是，程序返回退出代码 `0` 时表示执行成功，没有问题。代码 `1` 或 `0` 以外的任何代码都被视为不成功。**

退出码除了 0 和 1 外还有很多值，我将在本文介绍它们。

### Linux Shell 中的各种退出码

我们来快速了解一下 Linux Shell 中的主要退出码：

| 退出码 | 解释 |
| --- | --- |
| `0` | 命令成功执行 |
| `1` | 通用错误代码 |
| `2` | 命令（或参数）使用不当 |
| `126` | 权限被拒绝（或）无法执行 |
| `127` | 未找到命令，或 `PATH` 错误 |
| `128+n` | 命令被信号从外部终止，或遇到致命错误 |
| `130` | 通过 `Ctrl+C` 或 `SIGINT` 终止（*终止代码 2 或键盘中断*） |
| `143` | 通过 `SIGTERM` 终止（*默认终止*） |
| `255/*` | 退出码超过了 0-255 的范围，因此重新计算（LCTT 译注：超过 255 后，用退出码对 256 取模） |

>
> ? `130`（`SIGINT` 或 `^C`）和 `143`（`SIGTERM`）等终止信号是非常典型的，它们属于 `128+n` 信号，其中 `n` 代表终止码。
>
>
>

在简单了解了退出码之后，我们来看看它们的用法。

### 获取退出码

前一个命令执行的退出码存储在 [特殊变量](https://linuxhandbook.com:443/bash-special-variables/) `$?` 中。你可以通过运行以下命令来获取：

```
echo $?

```

我们在所有演示中都将使用它来获取退出代码。

请注意，`exit` 命令支持以带着前一条命令相同的退出码退出。

### 退出码 0

退出码 `0` 表示命令执行无误，这是完成命令的理想状态。

例如，我们运行这样一条基本命令

```
neofetch

echo $?

```

这个退出码 `0` 表示特定命令已成功执行，仅此而已。让我们再演示几个例子。

你可以尝试 [终止一个进程](https://itsfoss.com/how-to-find-the-process-id-of-a-program-and-kill-it-quick-tip/)；它也会返回代码 `0`。

```
pkill lxappearance

```

查看文件内容也会返回退出码 0，这**仅**意味着 `cat` 命令执行成功。

### 退出码 1

退出码 `1` 也很常见。它通常表示命令以一般错误结束。

例如，在没有 sudo 权限的情况下使用 [软件包管理器](https://itsfoss.com/package-manager/)，就会返回代码 `1`。在 Arch Linux 中，如果我运行下面的命令：

```
pacman -Sy

```

它会返回 `1`， 表示上一条命令运行出错。

>
> ? 如果你在基于 Ubuntu 的发行版中尝试这样做（不使用 `sudo` 执行 `apt update`），运行后会得到错误码 `100`，表示你是在没有权限的情况下运行 `apt`。`100` 不是标准错误码，而是 `apt` 特有的错误码。
>
>
>

虽然这是一般的理解，但我们也可以将其解释为 “不被允许的操作”。

除以 `0` 等操作也会返回错误码 `1`。

### 退出码 2

这个退出码出现在当执行的命令有语法错误时。滥用命令参数也会导致此错误。

一般来说，它表示由于使用不当，命令无法执行。

例如，我在一个本应只有一个连字符的选项上添加了两个连字符，那么此时会出现退出码 2。

```
grep --z file.txt

```

当权限被拒绝时，比如访问 `/root` 文件夹，就会出现错误码 `2`。

### 退出码 126

126 是一个特殊的退出码，它用于表示命令或脚本因权限错误而未被执行。

当你尝试执行没有执行权限的 Shell 脚本时，就会出现这个错误。

请注意，该退出码只出现在没有足够权限的脚本或命令的“*执行*”中，这与一般的**权限被拒绝**错误不同。

因此，不要把它与你之前看到的退出码为 `2` 的示例混淆。在那个示例中，运行的是 `ls` 命令，权限问题出自它试图执行的目录。而本例中权限问题来自脚本本身。

### 退出码 127

这是另一个常见的退出码。退出码 `127` 指的是“[未找到命令](https://itsfoss.com/bash-command-not-found/)”。它通常发生在执行的命令有错别字或所需的可执行文件不在 `$PATH` 变量中时。

例如，当我尝试执行一个不带路径的脚本时，经常会看到这个错误。

当你想运行的可执行文件不在 `$PATH` 变量中时，也会出现退出码 `127`。你可以通过 [在 PATH 变量中添加命令的目录](https://itsfoss.com/add-directory-to-path-linux/) 来纠正这种情况。

当你输入不存在的命令时，也会得到这样的退出码。

### 退出码 128+n 系列

当应用程序或命令因致命错误而终止或执行失败时，将产生 128 系列退出码（`128+n`），其中 `n` 为信号编号。

`n` 包括所有类型的终止代码，如 `SIGTERM`、`SIGKILL` 等。

#### 退出码 130 或 SIGINT

在通过终止信号 `2` 或按下 `Ctrl+C` 中断进程时，会发出 `SIGINT`（键盘中断信号）。

因为终止信号是 `2`，所以我们得到的退出码是 `130`（128+2）。下面的视频演示了 `lxappearance` 的中断信号。

#### 退出码 137 或 SIGKILL

`SIGKILL`（立即终止信号）表示终止信号 `9`。这是终止应用程序时最不应该使用的方法。

因为终止信号为 `9`，因此我们得到的退出代码为 `137`（128+9）。

#### 退出码 143 或 SIGTERM

`SIGTERM` 是进程在未指定参数的情况下被杀死时的默认行为。

`SIGTERM` 的终止信号为 `15`，因此该信号的退出码为 `143`（128+15）。

还有一些你以前可能不知道的终止信号，它们也有自己类似的退出码。你可以在这里查看它们：

>
> ? 请注意，如果进程在启动它的同一会话中终止，这些信号可能不会出现。如果要重现这些信号，请从不同的 shell 终止。
>
>
> 就个人而言，信号 `128` 是无法重现的。
>
>
>

### 当退出码超过了 255 会怎样?

最新版本的 Bash 甚至保留了超过 255 的原始退出码的值，但一般来说，如果代码超过 255，就会被重新计算。

也就是说，代码 `256` 会变成 `0`，`257` 会变成 `1`，`383` 会变成 `127`，以此类推。为确保更好的兼容性，请将退出码保持在 `0` 至 `255` 之间。

### 结语

希望你对 Linux Shell 中的退出码有所了解。在排查各种问题时，使用它们会非常方便。

如果你要在 Shell 脚本中使用这些代码，请确保你了解每个代码的含义，以便更容易地排除故障。

这就是本文的全部内容。如有遗漏，请在评论区告诉我。

*（题图：MJ/719ff711-1b9f-4aa9-a82e-980704acbdd8）*

---

via: <https://itsfoss.com/linux-exit-codes/>

作者：[Pranav Krishna](https://itsfoss.com/author/pranav/) 选题：[lkxed](https://github.com/lkxed/) 译者：[lxbwolf](https://github.com/lxbwolf) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1082 ChromeOS 将分离浏览器和操作系统

Summary:
? ChromeOS 将分离浏览器和操作系统
? 40% 基于 Arm 的服务器部署在中国
? Meta 开源从文本中创建音乐的人工智能工具
»
»

分开了好，据说Chrome OS的浏览器打不开部分网站。

ChromeOS不就是linux加定制界面吗？

# 硬核观察 #1082 ChromeOS 将分离浏览器和操作系统

### ChromeOS 将分离浏览器和操作系统

现在的 ChromeOS 的系统用户界面和浏览器是同一个二进制程序，谷歌的一个已经进行了两年的项目将把它们分开，并很快将向大众推出。该项目名为 “Lacros”，这将把 ChromeOS 的 Linux 操作系统从 Chrome 浏览器中分离出来，让谷歌可以独立更新每个部分。此举的一个意图是加入更多对 Wayland 的支持。ChromeOS 此前使用的是谷歌自己开发的图形栈 Freon，而 Wayland 已经在包括安卓在内的 Linux 系统和应用中得到了广泛使用，它将作为 ChromeOS 的原生图形栈使用。分开后，谷歌也将无需为 ChromeOS 定制 Chrome，可以直接使用 Chrome 的 Linux 版本。

>
> **[消息来源：Ars Technica](https://arstechnica.com/gadgets/2023/08/google-is-finally-separating-chrome-from-chromeos-for-easier-updates/)**
>
>
>

>
> 老王点评：那为什么当年要合在一起，用自己的一个图形栈？秀技术吗？
>
>
>

### 40% 基于 Arm 的服务器部署在中国

虽然绝大多数服务器仍在使用 AMD 和英特尔的 x86 芯片，但这些芯片都是美国公司生产的，由于美国的贸易限制，中国公司越来越难获得先进的芯片。相比之下，Arm 架构可以获得全球芯片制造商的许可。最新数据显示，全球近 10% 的服务器采用了 Arm 处理器，其中 40% 位于中国。此外，Canalys CEO 去年指出，99% 的智能手机、97% 的平板电脑和 9% 的个人电脑都使用了 Arm 芯片，并声称 16% 的公共云已经基于 Arm。他预测，到 2026 年，50% 出售给公共云的 CPU 将基于 ARM，而不是 x86。

>
> **[消息来源：The Register](https://www.theregister.com/2023/08/02/arm_server_china/)**
>
>
>

>
> 老王点评：Arm 真是异军突起，但是我还是更看好 RISC-V。
>
>
>

### Meta 开源从文本中创建音乐的人工智能工具

Meta 公司周三开源了名为 AudioCraft 的人工智能工具，它将帮助用户根据文本提示创建音乐和音频。该人工智能工具可用于音乐、声音、压缩和生成。Meta 说，它使用了该公司拥有的和特别授权的音乐进行了训练。不像通过文本创建图像的人工智能工具，生成音乐的工具进展相对滞后。Meta 说，“有一些工作已经完成，但非常复杂，而且不是很开放，所以人们不能轻松使用。”AudioCraft 以 MIT 许可证发布，Meta 希望“为更广泛的社区做出贡献，为音频和音乐实验提供可访问的工具。”

>
> **[消息来源：Ars Technica](https://arstechnica.com/information-technology/2023/08/open-source-audiocraft-can-make-dogs-bark-and-symphonies-soar-from-text-using-ai/)**
>
>
>

>
> 老王点评：所以，以后音乐也不需要专业人员制作了么？
>
>
>


你的旧电脑是 “过时” 了，还是使用 Linux 的机会？

其实呢，如果可以的话，目前 Win XP 是最轻量级的操作系统

Linux比Windows XP安全不知多少个数量级

而且Linux可以用上最新的软件，现在还有多少软件支持XP？

mint是真的好用。

来自117.154.42.55的 Firefox 116.0|GNU/Linux 用户

# 你的旧电脑是 “过时” 了，还是使用 Linux 的机会？

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

>
> 很多时候，老旧的电脑往往被打上 “过时” 的标签。Linux 改变了这一现状。翻新旧电脑，让它重新为需要它的人所用。
>
>
>

你可能经常听到有人说某个电脑、平板电脑或智能手机 “过时了”。当你听到这样的说法时，花一分钟问问自己：“这个人说的是个人观点还是事实？”

很多时候他们的陈述是主观观点。让我解释一下为什么。

当有人说一台电脑 “过时” 时，他们往往是从自己的角度出发的。因此，如果你是一名专业技术人员，一台使用了五年的电脑可能确实已经过时。但对于一个逃离战争或饥荒的难民家庭来说，这台五年前的电脑过时了吗？可能不会。对你来说过时的电脑，对别人来说可能是梦寐以求的电脑。

### 我是如何用 Linux 翻新旧电脑的

我在这方面有些经验。在过去的 25 年里，我一直把老旧电脑带给那些没有电脑的人。我的一名二年级学生，由祖母抚养长大，五年前从斯坦福大学毕业了。另一位学生，我在 2007 年给他送去了一台布满灰尘的 Windows XP 台式机，去年她从耶鲁大学毕业。这两名学生都利用捐赠的电脑实现了自我发展。后一位学生在中学毕业前，打字速度就超过了每分钟 50 个单词。我把捐赠电脑送到她家时，她还在读三年级，当时她的家庭还负担不起网络服务。因此，她有效地利用时间学习触摸打字技巧。我在这个 [YouTube 视频](https://www.youtube.com/watch?v=Ao_vOijz14U) 中记录了她的故事。

我再分享一件连我自己都难以相信的轶事。几年前，我在 eBay 上花 20 美元买了一台戴尔笔记本电脑。这台笔记本电脑是 2002 年的顶级笔记本电脑。我在上面安装了 Linux Mint，并添加了一个 USB WiFi 适配器，这台笔记本电脑就这样重生了。我把这个故事记录在 YouTube 视频中，名为 “[我的 20 美元 eBay 笔记本电脑](https://www.youtube.com/watch?v=UZiN6nm-PUU)”。

在视频中，你可以看到这台笔记本电脑正在上网。它的速度并不快，但比我们在 20 世纪 90 年代末使用的拨号上网电脑要快得多。我会将其描述为功能正常。有人可以用这台 2002 年的笔记本电脑撰写博士论文。论文读起来就像用昨天发布的电脑写的一样好。这台笔记本电脑应该摆放在公共场所，让人们近距离看到 2002 年的电脑仍然可以使用。眼见为实。这难道不是真理吗？

那么 2008 年、2009 年和 2010 年那些著名的 “上网本” 怎么样？它们肯定已经过时了吧？没那么快了吧！如果你在它们身上安装 32 位 Linux，它们就可以使用最新版本的 Chromium 网页浏览器上网冲浪，而 Chromium 浏览器仍然支持 32 位操作系统（不过谷歌 Chrome 浏览器不再支持 32 位操作系统）。使用这些上网本的学生可以观看<ruby> 可汗学院 <rt>  Khan Academy </rt></ruby>的视频，使用<ruby> 谷歌文档 <rt>  Google Docs </rt></ruby>提高写作能力。将这些上网本连接到更大的液晶屏幕上，学生就可以使用 [LibreOffice Draw](https://opensource.com/tags/libreoffice) 或 [Inkscape](https://opensource.com/downloads/inkscape-cheat-sheet) 这两个我最喜欢的开源图形程序来提高技能。如果你感兴趣，我有一个 [使用 Linux 重振上网本的视频](https://www.youtube.com/watch?v=GBYEclpvyGQ)。上网本也非常适合邮寄到海外，比如利比里亚的学校、海地的医院、索马里的食品分发点，或者其他任何捐赠技术可以发挥巨大作用的地方。

你知道翻新的上网本在哪里会受到欢迎吗？在那些向乌克兰难民敞开心扉和家园的社区。他们在尽自己的一份力量，我们也应该尽自己的一份力量。

### 开源让老旧电脑重获新生

许多技术专业人士生活在特权的泡沫中。当他们宣称某项技术 “过时” 时，可能并没有意识到他们把这种观点当作事实所造成的伤害。不了解开源如何让旧电脑重新焕发生机的人，正在宣判这些电脑的死刑。面对这种情况，我不会袖手旁观。你也不应该袖手旁观。

对于宣称电脑过时的人，一个简单的回答是：“有时旧电脑可以重获新生。我听说开源就是一种方法。”

如果你很了解对方，不妨分享本文列出的一些 YouTube 视频链接。如果有机会，请花点时间去见见那些无法获得所需技术的个人或家庭。这次会面将以你意想不到的方式丰富你的生活。

*（题图：MJ/cfd05206-dae4-4b14-a50c-38f2da342c95）*

---

via: <https://opensource.com/article/22/10/obsolete-computer-linux-opportunity>

作者：[Phil Shapiro](https://opensource.com/users/pshapiro) 选题：[lkxed](https://github.com/lkxed) 译者：[wcjjdlhws](https://github.com/wcjjdlhws) 校对：[wxy](https://github.com/wxy)

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


2023 年最佳 Linux 视频编辑软件

Summary: 我们列出了最佳的 Linux 视频编辑器选项。请看一下。

只有一款达芬奇是可以用的

“可以用”？

软件应用分场合和需求，没有一款是“不可以用”的。

应该说在你的使用场景里，达芬奇是最方便使用、功能最契合。

还有个视频编辑器叫Cinelerra CG，源里没有，因此Ubuntu Studio没有预装它，要去官网下载。

我们列出了最佳的 Linux 视频编辑器选项。请看一下。

# 2023 年最佳 Linux 视频编辑软件

>
> 我们列出了最佳的 Linux 视频编辑器选项。请看一下。
>
>
>

视频编辑软件的确可能很昂贵，尤其是像 Adobe Premiere Pro 这样更高级的选项。但好消息是，有很多自由开源的视频编辑器可供选择。这些替代方案提供了出色的功能，而不需要付费。在这里，我们编制了一个由十个这样的免费 Linux 视频编辑器组成的列表，它们可能非常适合你的特定需求：

### 2023 年最佳 Linux 视频编辑器

#### 1、Blender

Blender 是这个列表中功能最强大的视频编辑器之一。值得注意的是，它是自由开源软件，同时也是一个 3D 建模工具。使用 Blender，你可以制作令人印象深刻的电影、动画电影、模拟以及进行动作追踪。

其多功能性使其成为许多用户的首选，包括工作室、个人艺术家、专业人士、爱好者、科学家、学生、视觉效果专家、动画师、游戏艺术家、改装者等等。

庞大的全球社区不断支持和丰富这个强大的编辑器，有众多贡献者不断增强其功能和能力。然而，由于它提供了一整套工具，新手可能需要一些时间来有效利用其全部潜能。但一旦掌握了它的功能，你将会对它能释放出无限创意而感到惊讶。

它的功能列表十分庞大，但以下是一些值得注意的功能：

* 建模
* 雕刻
* 动画与绑定
* <ruby> 油笔 <rt>  Grease Pencil </rt></ruby>
* 渲染
* 模拟
* 视频编辑
* 脚本编写
* 视觉效果
* 用户界面
* 工作流程

>
> **[下载 Blender](https://www.blender.org/download/)**
>
>
>

#### 2、Lightworks

体验 [Lightworks](https://www.lwks.com/)，一款多功能的<ruby> 免费增值 <rt>  freemium </rt></ruby>的视频编辑器，可帮助你编辑社交媒体视频、4K 质量甚至完整的电影。非凡的是，这款非线性视频编辑器已在好莱坞电影编辑领域打下了自己的烙印，证明了其专业能力。

请记住，尽管免费版提供了丰富的工具和功能，但某些专业功能可能仅在付费版本中提供。

因此，无论你是渴望成为社交媒体影响者、专业电影制片人，还是喜欢制作高质量视频的人，Lightworks 可能成为你在视频编辑世界释放创造力的通行证。

以下是其功能的快速概述：

* 简单直观的用户界面
* 访问出色的免版税音频和视频内容
* 轻松进行时间轴编辑和修剪
* 用于 4K 的低分辨率代理工作流程
* 实时即用的音频和视频特效
* 导出适用于 YouTube/Vimeo、SD/HD 的视频，高达 4K
* 广泛的文件格式支持，包括可变帧率媒体
* 使用高达 32 位 GPU 精度和直方图工具专业地调整序列

>
> **[下载 Lightworks](https://lwks.com/)**
>
>
>

#### 3、Shotcut

介绍一下 [Shotcut](https://shotcut.org/)，这是一款出色的自由开源的视频编辑器，能够在各种平台上无缝运行。Shotcut 具备许多功能，为用户带来了很多便利。其中一个突出的特点是其对各种格式的出色支持，让你可以轻松处理各种媒体文件。它的独特之处在于本地时间轴编辑，意味着你可以直接编辑文件，而无需进行耗时的导入操作。

Shotcut 的功能远不止于此；它还支持 Blackmagic Design，为你提供专业的输入和预览监控。无论你是内容创作者还是电影制片人，能够使用 4K 分辨率进行工作是 Shotcut 提供的巨大优势。你可以轻松使用该编辑器捕捉音频、视频甚至是摄像头画面。

Shotcut 的显著功能包括：

* 支持 4K 分辨率
* 音频、视频和摄像头捕捉
* 广泛的文件格式支持
* 4K 分辨率支持
* 插件
* 音频和视频滤镜

>
> **[下载 Shotcut](https://shotcut.org/download/)**
>
>
>

#### 4、Avidemux

对于初学者或仅作为业余爱好者的视频编辑者来说，Avidemux 是一个完美的选择。这款自由开源的视频编辑器专为简单的任务设计，如剪辑、应用滤镜和编码。它拥有用户友好的界面，为刚开始学习编辑的人提供流畅且易于操作的体验。

Avidemux 使用简单，并且支持广泛的文件格式，确保与各种媒体类型兼容。如果你有一些重复的任务或特定的工作流程，Avidemux 的项目和作业队列功能可以帮助你自动化编辑过程。

此外，Avidemux 还提供强大的脚本功能，适用于喜欢深入技术细节的用户，可以根据个人喜好自定义和微调编辑任务。

然而，需要注意的是，Avidemux 可能缺少一些其他专业级视频编辑器中的高级功能和复杂性。然而，对于初学者、学习者和业余爱好者来说，Avidemux 是一个直观且免费的解决方案，非常适合开始视频编辑之旅，为你的创作努力铺平道路。

>
> **[下载 Avidemux](https://avidemux.sourceforge.net/download.html)**
>
>
>

#### 5、HitFilm Express

寻找一个免费且出色的视频编辑器？试试 [HitFilm Express](https://fxhome.com/hitfilm-express)，这是一款顶级的免费编辑软件。顾名思义，“express” 版本在功能上毫不逊色，非常适合初学者、YouTube 创作者和有抱负的电影制作者。有一支专业的开发团队支持，你可以期待无缝而精细的编辑体验。

HitFilm Express 集成了大量功能，让你释放创造力，制作出令人印象深刻的视频。无论你是刚开始视频编辑之旅还是希望提升你的 YouTube 内容，该软件提供了工具和灵活性，让你的想象变为现实。

然而，需要注意的是，目前 HitFilm Express 仅与 Windows 和 Mac 系统兼容。目前还没有 Linux 版本可用。开发团队根据用户群体做出了这个决定，因为在目前情况下，支持 Linux 可能在经济上不可行。（LCTT 译注：这个是怎么混进来的！）

>
> **[下载 HitFilm Express](https://fxhome.com/hitfilm-express)**
>
>
>

#### 6、DaVinci Resolve

DaVinci Resolve 是专业视频编辑的代表，具备精湛处理 8K 编辑的令人印象深刻能力。这款强大的软件跨越多个平台，使得 Linux、Mac 和 Windows 用户都能使用。然而，需要了解的是，DaVinci Resolve 是专有的商业软件。

凭借其全面的功能和出色的性能，DaVinci Resolve 是视频编辑爱好者和行业专业人士的强大选择。该软件提供了附加付费功能的工作室版本，包括许多插件和附加组件，以增强你的编辑能力。

如果你不想花费一分钱就能入门，也不必担心 - DaVinci Resolve 还提供免费版本。对于许多普通用户来说，免费版本已经完全足够满足他们的视频编辑需求。即使是免费版本，凭借其强大的工具和功能，也提供了丰富的选项，可以创建令人惊艳的视频，展现创意的想象力。

以下是一些主要功能的简介：

* 双时间轴
* 源磁带
* 专用修剪界面
* 智能编辑模式
* 快速回顾
* 变换、变速和稳定
* 快速导出
* 媒体导入
* 便携编辑
* 自定义时间轴设置
* 调整剪辑
* 人脸识别
* 速度加速变速
* 图像稳定
* 关键帧曲线编辑器
* 磁带式音频刮动
* 更快、更智能的编码

>
> **[下载 DaVinci Resolve](https://www.blackmagicdesign.com/in/products/davinciresolve)**
>
>
>

#### 7、OpenShot

如果你正在寻找一个简单强大、具有用户友好界面的免费视频编辑软件，那么 [OpenShot](https://www.openshot.org/) 是你的不二选择。这款出色的软件以简洁为设计理念，确保即使是初次接触视频编辑的人也能轻松上手。OpenShot 的直观设计提供了低学习曲线，适用于各个层次的用户。

最棒的是，OpenShot 适用于 Windows、Linux 和 Mac 等各种操作系统。因此，无论你喜欢哪个平台，都可以享受到 OpenShot 视频编辑能力带来的便利和强大功能。

因此，如果你正在寻找一个将用户友好功能与强大编辑能力相结合的免费视频编辑软件，OpenShot 应该是你的首选。拥抱其简洁性，投入编辑过程，轻松看到你的视频项目焕发生机。

>
> **[下载 OpenShot 视频编辑器](https://www.debugpoint.com)**
>
>
>

#### 8、KDenlive

认识一下 [KDenlive](https://kdenlive.org/)，这是一款经过 15 年开发的经验丰富的视频编辑器。作为一款自由开源的应用程序，KDenlive 是社区合作和创新力量的典范。它基于 QT 框架构建，在 FFMpeg、frei0r、movie、ladspa 和 sox 等一流框架的支持下，确保了无缝可靠的编辑体验。

KDenlive 面向广泛的用户群体，非常适合想要尝试视频编辑的普通用户。它的独特之处在于考虑周到地包含了高级功能，实现了功能和易用性的完美平衡。你将找到丰富的工具，可以增强你的视频项目，而无需过多学习复杂的技术知识。

使用 KDenlive，你可以释放创造力，而无需被复杂的过程所困扰。这款编辑器使你能够制作引人入胜的视频，而无需掌握过多的技术知识。

以下是一些其功能的概述：

* 多轨视频编辑
* 使用任何音频/视频格式
* 可配置的界面和快捷键
* 使用带有 2D 标题的标题工具
* 多种效果和转场
* 音频和视频范围检测
* 代理编辑
* 自动备份
* 可在界面直接下载在线资源
* 时间轴预览
* 可关键帧化的效果
* 主题界面

>
> **[下载 KDenlive](https://kdenlive.org/en/download/)**
>
>
>

#### 9、Flowblade

“快速、精确、稳定” - 这正是最能概括 [Flowblade](https://jliljebl.github.io/flowblade/) 的标语，这是一款非线性视频编辑器，旨在以最高效的方式满足目标用户的需求。通过提供一种无缝快速的编辑体验，保证每个细节的精确性，并为你的创意努力提供稳定的平台，这款编辑器兑现了它的承诺。

Flowblade 在功能方面毫不保留。它配备了一套全面的工具，以促进你的编辑过程。从简化工作流程的编辑工具到平滑排序的时间轴功能，该编辑器应有尽有。

为了进一步提高你的编辑效率，Flowblade 包含了一个范围记录，方便你管理剪辑并精确选择所需的片段。此外，它支持代理编辑，这是一个有价值的功能，可在处理高分辨率媒体时优化性能。

以下是一些其功能的概述：

* 编辑工具
* 时间轴功能
* 合成器
* 滤镜
* 范围记录
* 代理编辑
* 批量渲染队列
* G'mic 特效工具
* 音频混音器
* 媒体链接处理
* 标题制作
* 其它功能
* 渲染
* 支持 MLT 视频和音频编解码器

该软件只适用于 Linux 系统，不适用于 Windows 或 Mac。

>
> **[下载 Flowblade](https://jliljebl.github.io/flowblade/download.html)**
>
>
>

#### 10、Olive

介绍一下 [Olive](https://www.olivevideoeditor.org/)，这是一款非常出色的免费非线性视频编辑器，旨在成为高端专业视频编辑软件的全功能替代品。目前 Olive 处于活跃开发阶段，处于 ALPHA 阶段。尽管处于早期阶段，这个编辑器已经引起了广泛关注，并且已经在使用 Olive 进行视频创作的用户中表现出色。

凭借其雄心勃勃的目标和不断壮大的社区，Olive 展示出了成为视频编辑领域强大竞争对手的潜力。已经有用户开始使用这个新兴编辑器制作视频，他们的经验展示了它所具备的能力。

你可以通过下面的链接在 Windows、Linux 和 Mac 上下载。

>
> **[下载 Olive](https://www.olivevideoeditor.org/download.php)**
>
>
>

### 总结

在这个汇编中，我们重点介绍了 Linux 上的十大专业视频编辑器，为不同的编辑需求提供了多样化的选择。某些编辑器在熟练使用时甚至可以媲美甚至取代高价专业软件。

例如，Blender、KDenlive 和 DaVinci Resolve 是创建专业级视频甚至完整电影的出色选择。每个编辑器都具有独特的优势和功能，使它们成为有抱负的电影制作者和内容创作者的可靠工具。

现在轮到你了！你对这个 Linux 视频编辑器列表有何看法？你还有其他喜欢推荐的编辑器吗？请在评论框中告诉我。

*图片来源：各应用程序。*

*（题图：MJ/9b567ebc-e5ed-4cdc-a023-30bbdfa564e8）*

---

via: <https://www.debugpoint.com/linux-video-editors/>

作者：[Arindam](https://www.debugpoint.com/author/admin1/) 选题：[lkxed](https://github.com/lkxed/) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

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


Summary:
? MacBook 上的 Asahi Linux 将基于 Fedora Linux
? systemd 提供加快重启速度的软重启功能
? 跨国自动诈骗电话公司被处罚 3 亿美元
»
»

用Arch多好 软件包多还方便（

# 硬核观察 #1083 MacBook 上的 Asahi Linux 将基于 Fedora Linux

### MacBook 上的 Asahi Linux 将基于 Fedora Linux

Asahi Linux 旨在将 Linux 移植到使用 M1、M2 等苹果硅芯片的 Mac 电脑上。它最初是基于 Arch Linux 的软件包构建的，采用 Arch Linux ARM，添加了自己的覆盖包资源库，并将所有的集成工作打包到其中。在 Asahi Linux 发布后不久，他们与 Fedora 达成了合作，于 2021 年底启动了 Fedora Asahi 项目。现在他们宣布它的新旗舰发行版将是基于 Fedora Linux 的 Fedora Asahi Remix。Fedora 拥有一个稳定且完整支持的 ARM64 版本，有大量用户。开发者表示选择 Fedora 的原因是能直接与上游合作，快速解决软件包问题。

>
> **[消息来源：Asahi Linux](https://asahilinux.org/2023/08/fedora-asahi-remix/)**
>
>
>

>
> 老王点评：对于 Asahi Linux 来说是个好的选择，但是我觉得 Fedora 现在的用户似乎没那么多了。
>
>
>

### systemd 提供加快重启速度的软重启功能

systemd v254 将在秋季正式发布，在此版本中将带来更快的系统重启速度。只要你不需要重启内核，这项功能就能大大加快系统重启速度。它会关闭所有用户态进程，挂载一个新的根文件系统，在其中启动一个新的 systemd 实例，然后移交控制权。这类似于在 Windows 8 中就出现的 Windows 快速启动，其实就是某种休眠机制。当然，这不只是一个方便的功能，可能还存在一些问题，比如在双引导环境中。除此以外，这个版本的 systemd 也是最后一个能与分割的 `/usr` 树协同工作的版本，以及放弃了对 System V 启动脚本的有限支持。

>
> **[消息来源：The Register](https://www.theregister.com/2023/08/02/systemd_254)**
>
>
>

>
> 老王点评：systemd 已经蚕食了 Linux 操作系统越来越多的功能，而且这一过程还在继续。就像温水煮青蛙一样，我们已经被迫接受一个 systemdOS 了。
>
>
>

### 跨国自动诈骗电话公司被处罚 3 亿美元

这家电话推销跨国企业有十多个名字，它实施了一项复杂的计划，旨在以虚假和误导性的汽车保修销售为名，促进汽车服务合同的销售。他们至少拨打了 50 亿次这样的电话，这些电话无法识别来电者身份、不遵守呼叫同意法律（如“请勿来电名单”）、不提供回拨号码和伪造区号。美国联邦通信委员会（FCC）追踪并终止了该公司的运营，给司法部门的罚没金额建议达到了创纪录的 3 亿美元。但这笔钱能否支付以及何时支付，是个问题。在 FCC “采取行动后，汽车保修电话的数量下降了 99%”。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/08/03/fcc-fines-robocaller-a-record-300m-after-blocking-billions-of-their-scam-calls)**
>
>
>

>
> 老王点评：说到底，这种自动电话诈骗还是有相关利益行业在为其提供掩护，所以才屡禁不绝。尤其是 AI 发展之后，可能会更加变本加厉。
>
>
>


分步指南：安装和访问 Kubernetes 仪表板

# 分步指南：安装和访问 Kubernetes 仪表板

Kubernetes 是一个开源容器编排平台，已成为大规模管理容器化应用的首选解决方案。虽然 Kubernetes 提供了强大的命令行工具来管理集群，但有时可视化界面可以使监控和管理部署变得更加容易。Kubernetes 仪表板是一个基于 Web 的用户界面，可让你可视化 Kubernetes 集群并与之交互。

在这篇博文中，我们将逐步引导你完成安装和访问 Kubernetes Dashboard 的过程，使你能够简化 Kubernetes 管理任务。

先决条件：

在安装 Kubernetes Dashboard 之前，请确保你有一个正在运行的 Kubernetes 集群并具有必要的管理访问权限。

### 安装 Kubernetes 仪表板

为集群安装 Kubernetes 仪表板的简单方法是通过 Helm Chart。Kubernetes 仪表板现在依赖于 cert-manager 和 nginx-ingress-controller。幸运的是，可以使用 Helm Chart 自动安装这些依赖项。但是，如果你已经安装了这些组件，则可以在安装 Chart 时通过设置标志 `–set=nginx.enabled=false` 和 `–set=cert-manager.enabled=false` 来禁用它们的安装。

事不宜迟，让我们进入安装步骤。

#### 1）安装 Helm

使用终端或命令提示符访问集群的主节点。如果没有安装，请安装 helm。运行以下命令。

```
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh

```

#### 2）添加 Kubernetes 仪表板 Helm 仓库

运行以下 `helm` 命令来添加仪表板仓库：

```
$ helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
$ helm repo list

```

#### 3）安装 Kubernetes 仪表板

要使用 `helm` 安装 Kubernetes 仪表板，请运行以下命令：

```
$ helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

```

上面的输出确认仪表板已部署在 `Kubernetes-dashboard` 命名空间中。因此，要访问仪表板，请运行：

```
$ kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-nginx-controller 8443:443

```

现在，打开运行上述命令的系统的 Web 浏览器，输入以下 URL：

```
https://localhost:8443

```

点击“<ruby> 接受风险并继续 <rt>  Accept the Risk and Continue </rt></ruby>”。

正如你在上面看到的，我们需要一个令牌才能登录。因此，让我们在下一步中生成所需的令牌。

#### 4）为 Kubernetes 仪表板生成令牌

再打开一个到主节点的 SSH 会话，创建一个服务帐户并使用以下 yaml 文件分配所需的权限：

```
$ vi k8s-dashboard-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system

```

保存并退出文件。

接下来通过运行以下命令创建服务帐户：

```
$ kubectl create -f k8s-dashboard-account.yaml
serviceaccount/admin-user created
clusterrolebinding.rbac.authorization.k8s.io/admin-user created
$

```

现在，为管理员用户生成令牌，运行：

```
$ kubectl -n kube-system  create token admin-user

```

复制此令牌并返回浏览器，将其粘贴到“<ruby> 输入令牌 <rt>  Enter token </rt></ruby>”字段中，如下所示：

点击“<ruby> 登录 <rt>  Login </rt></ruby>”。

#### 5) 访问 Kubernetes 仪表板

当我们点击上面的“登录”时，我们将看到以下仪表板：

太好了，你现在已登录 Kubernetes 仪表板。以下是一些需要探索的关键特性和功能：

* 集群概览：获取集群运行状况、资源利用率和运行 Pod 的概览。
* 工作负载：查看和管理你的部署、副本集、有状态集和守护程序集。
* 服务：监控和管理你的服务，包括负载均衡器和外部端点。
* 配置：探索你的配置映射、密钥和持久卷声明。
* 存储：管理持久卷和存储类。
* 命名空间：在命名空间之间切换以查看和管理不同项目或团队的资源。

这就是这篇文章的全部内容，我希望你发现它有用且内容丰富。请在下面的评论部分发表你的疑问和反馈。

*（题图：MJ/1bd0efb0-d4ee-4c8b-854a-49dbf38c5dd7）*

---

via: <https://www.linuxtechi.com/how-to-install-kubernetes-dashboard/>

作者：[Pradeep Kumar](https://www.linuxtechi.com/author/pradeep/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


systemd：初学者如何理解其中的争议

# systemd：初学者如何理解其中的争议

>
> 对于什么是 systemd，以及为什么它经常成为 Linux 世界争议的焦点，你可能仍然感到困惑。我将尝试用简单的语言来回答。
>
>
>

在 Linux 世界中，很少有争议能像传统的 System V [初始化](https://en.wikipedia.org:443/wiki/Init) 系统（通常称为 SysVinit）和较新的 [systemd](https://systemd.io:443/) 之间的斗争那样引起如此大的争议。

在这篇文章中，我将简要讨论什么是 systemd、它相对于传统初始化系统有哪些优点和缺点以及为什么它会引起争议。

### 什么是 systemd？

systemd 是一个系统和服务管理器，于 2010 年首次推出，用于取代传统的 System V 初始化系统。它旨在提高启动速度并更有效地管理系统服务。如今，systemd 是许多流行 Linux 发行版的默认初始化系统，包括 Ubuntu、Fedora 和 Red Hat Enterprise Linux（RHEL）。

### systemd 是守护进程吗？

尽管名字中带有 “d”，但 systemd 并不是一个守护进程。相反，它是一个为 Linux 提供许多系统组件的软件套件。其目标是标准化 Linux 发行版的服务配置和行为。

systemd 的主要组件是一个“系统和服务管理器”，它充当初始化系统来引导用户空间并管理用户进程。它还提供了各种守护程序和实用程序的替代品，从设备和登录管理到网络连接管理和事件记录。

### systemd 的主要特性

systemd 具有许多功能，例如它能够主动并行化操作、方便按需启动守护进程、使用 Linux 控制组监视进程、管理挂载点和自动挂载点，以及实现复杂的基于事务依赖的服务控制逻辑。

此外，systemd 支持 SysV 和 LSB 初始化脚本，作为 SysVinit 的替代品。它还提供了一个日志守护进程和用于管理基本系统配置的工具程序。

### systemd 与 SysVinit：争议

SysVinit 与 systemd 争论的核心围绕如何最好地管理基于 Linux 的系统。关注的范围从复杂性和兼容性到管理系统服务的最佳方式，涉及系统管理员和 Linux 爱好者面临的基本问题。

批评者认为 systemd 过于复杂和巨大化，使得故障排除变得更加困难。他们担心单点故障，因为所有服务都由一个守护进程管理，并且担心与 Linux 内核的紧密集成，这可能会限制向其他系统的可移植性。

这就是为什么有些人创建 [脱离 systemd 的发行版](https://itsfoss.com/systemd-free-distros/) 的原因。

然而，支持者称赞 systemd 提供了一种更高效、更现代的系统管理方法，其服务启动的并行性和守护进程的按需启动减少了启动时间并提高了系统响应能力。他们还赞扬其先进的日志记录功能。

尽管存在争议，systemd 已成为许多 Linux 发行版的默认初始化系统，系统管理员和开发人员已经开始欣赏它的高级特性和功能。

### systemd 与 SysVinit 的优点和缺点

优点：

| SysVinit 的优点 | systemd 的优点 |
| --- | --- |
| 简单且熟悉 | 提高启动速度 |
| 尊重 Unix 哲学 | 标准化日志系统 |
| 更直接地控制系统服务 | 一致的服务管理方法 |
| 系统成熟稳定 | 与现代 Linux 系统和应用程序的兼容性 |
| 与遗留系统和应用的兼容性 | 来自大型开发者和贡献者社区的积极开发和支持 |

缺点：

| SysVinit 的缺点 | systemd 的缺点 |
| --- | --- |
| 与新的初始化系统相比功能有限 | 复杂性和陡峭的学习曲线 |
| 缺乏对服务并行启动的内置支持 | 有侵入性，可能会破坏与传统 Unix 工具和程序的兼容性 |
| 可能比新的初始化系统效率低，尤其是在大型系统上 | 某些系统可能会出现不稳定和崩溃的情况 |
| 对现代 Linux 系统和应用的有限支持 | 与尚未支持 systemd 的遗留系统和应用的兼容性有限 |

### 总结：个人观点

作为一名来自 UNIX 早期的 Linux 用户，我更倾向于传统的初始化系统。然而，尽管我最初有所抵触，但我已经开始接受 systemd，并看到了它的一些好处。每个系统在 Linux 世界中都有自己的位置，了解这两个系统非常重要。

关于 systemd 的争论仍在继续。你对此有何看法？

*（题图：MJ/efce857c-2d1a-4bf0-a400-8eb60e9f3271）*

---

via: <https://itsfoss.com/systemd-init/>

作者：[Bill Dyer](https://itsfoss.com/author/bill/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1084 特斯拉的软件付费功能被破解

Summary:
? 特斯拉的软件付费功能被破解
? 阿里巴巴采用特别许可证“开源”其大语言模型通义千问
? 高通成立 RISC-V 合资公司
»
»

多少公司能够做到月活用户1亿？

Samsung?

看怎么定义吧，尤其是无账号的，一个ip一个用户的话，很容易被判定的

# 硬核观察 #1084 特斯拉的软件付费功能被破解

### 特斯拉的软件付费功能被破解

电动汽车行业愈来愈多的采用锁定软件功能的商业策略，这些功能需要车主额外付费或需要每年支付订阅费用。特斯拉的加热座椅和完全自动驾驶等功能都需要额外付费。柏林工业大学的一组安全研究人员对车载计算机的 AMD 安全处理器进行了电压故障注入攻击，解锁了这些锁定的软件功能。

>
> **[消息来源：Electrek](https://electrek.co/2023/08/03/hackers-manage-unlock-tesla-software-locked-features/)**
>
>
>

>
> 老王点评：只要是软件实现的功能，都能通过安全漏洞来破坏。
>
>
>

### 阿里巴巴采用特别许可证“开源”其大语言模型通义千问

阿里巴巴在今年四月宣布了它的大语言模型通义千问。现在它宣布开源有 70 亿参数的 Qwen-7B 系列模型，源代码托管在 GitHub 上，采用了专门制定的许可证。该许可证限制月活用户数超过 1 亿的商业使用，需要从阿里巴巴获得授权。这一条件与 Meta 对其 Llama 2 大模型的限制类似，Llama 2 的限制是超过 7 亿月活用户。

>
> **[消息来源：阿里云](https://mp.weixin.qq.com/s/c4qvn0xTChq9xxvdrNa4pQ)**
>
>
>

>
> 老王点评：Meta 真是开了一个坏头，搞了一些不伦不类的所谓“开源”许可证。对于这种“开源”，我建议称之为“受限开源”。
>
>
>

### 高通成立 RISC-V 合资公司

高通公司、恩智浦、北欧半导体、博世和英飞凌等将联手组建一家新公司，“通过支持下一代硬件开发，推动 RISC-V 在全球的应用”。这家还没有名字的公司最初将专注于汽车领域，最终将扩展到物联网和移动领域，这些是高通公司最大的市场。高通是 Arm 最大的客户之一。在软银把 Arm 卖给英伟达的想法被监管机构否决后，Arm 计划进行 IPO。Arm 已告知客户，其商业模式将发生 “彻底变革”，计划对芯片许可证收取 “数倍于此” 的费用。

>
> **[消息来源：Ars Technica](https://arstechnica.com/gadgets/2023/08/qualcomm-one-of-arms-biggest-customers-starts-a-risc-v-joint-venture/)**
>
>
>

>
> 老王点评：Arm 现在的好日子可能不多了。
>
>
>


在启用安全启动的 Fedora 中安装英伟达驱动

Summary: 本文介绍如何在 Fedora 中自动签署英伟达内核模块。

更新NVIDIA驅動後還要更新密鑰，所以懶狗做法就是不開啟安全啟動

本文介绍如何在 Fedora 中自动签署英伟达内核模块。

# 在启用安全启动的 Fedora 中安装英伟达驱动

>
> 本文介绍如何在 Fedora 中自动签署英伟达内核模块。
>
>
>

### 背景信息

现在新出厂的电脑 UEFI 会默认开启<ruby> 安全启动 <rt>  Secure Boot </rt></ruby>，它的作用是防止恶意软件侵入。当电脑的引导程序被病毒修改之后，它会给出提醒并拒绝启动，避免可能带来的进一步损失。不过它同样会阻止一些未经微软签名的 Linux 内核启动运行。虽然可以直接选择在主板设置中关闭安全启动来解决这些麻烦，但在近期微软公布的 Windows 11 最低硬件标准中可以看到，安全启动被微软看的越来越重。如果你的电脑是 Windows + Linux 双系统，最好还是让 Linux 本身支持安全启动。

而最好用的发行版之一 Fedora 更热衷于开源驱动。Fedora 其本身是支持安全启动的，但是当你通过 Rpmfusion 安装官方的英伟达驱动，会造成这些驱动的内核模块未签名。在 Linux 启动过程中因为安全启动校验签名，会阻止加载这些模块，进而无法正常驱动显卡。

用过 Ubuntu 的伙伴们应该知道，在安全启动开启的情况下，Ubuntu 安装程序会自动用自签密钥来签名英伟达驱动内核模块，并在开机过程中自动将该自签密钥导入 MOK List（安全启动机器主人信任密钥列表）。但 Fedora 只会保证自身内核签名有效，而对 Rpmfusion 中的第三方内核模块签名问题不予理会，导致无法正常加载英伟达驱动。

本文介绍如何在 Fedora 中自动签署英伟达内核模块

### 准备工作

在 Fedora 36 之前，要像 Ubuntu 那样自动签署内核模块有点困难。但从这个版本开始，你只需几个简单的步骤就能做到。

在开始之前，让我们先确认一些前提条件已经满足：

1. 已启用安全启动；
2. 尚未安装英伟达驱动程序（**非常关键**，如果你已经安装了专有的英伟达驱动，可能需要重装系统才行）；
3. 以及安装了 Fedora 36 及以上版本。

本指南主要参考了以下资料：

1. [Rpmfusion 的官方英伟达文档](https://rpmfusion.org/Howto/NVIDIA)
2. [Rpmfusion 的官方安全启动文档](https://rpmfusion.org/Howto/Secure%20Boot)
3. [Andrei Nevedomskii 的博客教程](https://blog.monosoul.dev/2022/05/17/automatically-sign-nvidia-kernel-module-in-fedora-36/)

希望深入了解的朋友可以阅读上述资料进一步研究。

### 具体步骤

#### 1、安装自动签名所需的工具

```
sudo dnf install kmodtool akmods mokutil openssl

```

#### 2、生成签名密钥

```
sudo kmodgenca -a

```

该命令会在 `/etc/pki/akmods/certs/` 目录下生成密钥，运行正确的情况下**不会**有输出。

#### 3、启动密钥注册

这将使 Linux 内核信任使用你的密钥签名的驱动程序。

```
sudo mokutil --import /etc/pki/akmods/certs/public_key.der

```

你会被要求输入一个密码。请记住这个密码，在下面的第五步中还需要再次使用。

#### 4、重启以注册密钥

```
sudo reboot

```

#### 5、注册密钥

重启后，你将看到蓝色的 MOK 管理器界面，不要被这种类似 BSOD 的页面吓坏，按照以下步骤注册密钥。

>
> 如果你曾在启用安全启动的 Ubuntu 中安装过英伟达驱动程序，你可能见过这个界面。
>
>
>

1、首先要及时按任意建继续进入 MOK 管理（如果没有及时进入 MOK 管理，系统会重启）

2、首先选择 “Enroll MOK” 注册 MOK。

3、然后选择 “Continue”。

4、选择 “Yes” 并输入步骤 3 中的密码并回车（**密码不会在输入框中显示，输入密码直接回车就好了**）。

5、此时密钥已经注册，选择 “reboot”，设备将再次重启。

#### 6、安装英伟达驱动程序

现在只需正常安装英伟达驱动程序。

```
sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs

```

#### 7、确保内核模块已编译

```
sudo akmods --force

```

#### 8、确保启动镜像也已更新

```
sudo dracut --force

```

#### 9、重启设备

```
sudo reboot

```

### 验证是否成功

重启完成后，输入以下命令确认驱动是否加载：

```
lsmod | grep -i nvidia

```

如果有类似以下的输出，恭喜你，一切顺利，一切就绪！

```
$ lsmod | grep -i nvidia

nvidia_drm             94208  2
nvidia_modeset       1560576  2 nvidia_drm
nvidia_uvm           3493888  0
nvidia              62517248  118 nvidia_uvm,nvidia_modeset
video                  73728  3 asus_wmi,i915,nvidia_modeset

```

现在，你可以愉快的在开启安全启动的情况下使用英伟达显卡了。

希望本文能够帮助到你。

---

作者简介：一个喜欢瞎鼓捣的外科医生

---

via: <https://www.insidentally.com/articles/000034/>

作者：[insidentally](https://www.insidentally.com) 编辑：[wxy](https://github.com/wxy)

本文由贡献者投稿至 [Linux 中国公开投稿计划](https://github.com/LCTT/Articles/)，采用 [CC-BY-SA 协议](https://creativecommons.org/licenses/by-sa/4.0/deed.zh) 发布，[Linux中国](https://linux.cn/) 荣誉推出


Linux 黑话解释：什么是 LUKS 加密？

# Linux 黑话解释：什么是 LUKS 加密？

>
> LUKS 是 Linux 用户中流行的磁盘加密机制。在这篇术语解析文章中，可以了解更多关于 LUKS 的信息。
>
>
>

计算机安全旨在保护私密信息。有许多方法可以保护系统。一些用户使用简单的用户名/密码登录方案进行基本保护。其他用户可能会通过加密以不同的方式增加额外的保护，如使用 VPN 和磁盘加密。

如果你的计算机上有敏感的客户数据（你可能在经营一家企业），或被视为知识产权的材料，或者你对隐私非常谨慎，你可能要考虑磁盘加密。

磁盘加密的一些好处包括：

* 保护系统免受黑客的攻击
* 防止数据泄露
* 保护你免受潜在的责任问题

磁盘加密软件可以防止台式机硬盘驱动器、便携式 USB 存储设备或笔记本电脑被访问，除非用户输入正确的身份验证数据。如果你的笔记本电脑丢失或被盗，加密会保护磁盘上的数据。

如今，新的 Windows 系统默认配备了 BitLocker 加密。在 Linux 上，LUKS 是最常用的磁盘加密方式。

想知道什么是 LUKS？我会为你简要介绍这个主题。

### 技术术语

在继续之前，需要定义一些术语。LUKS 有很多内容，因此将其拆解为细项将有助于你进一步了解。

<ruby> 卷 <rt>  Volume </rt></ruby>：卷是一个逻辑存储区域，可用于存储数据。在磁盘加密的场景中卷指的是已加密以保护其内容的磁盘部分。

<ruby> 参数 <rt>  Parameters </rt></ruby>：参数是控制加密算法运行方式的设置。参数可能包括所使用的加密算法、密钥大小以及有关如何执行加密的其他详细信息。

<ruby> 加密类型 <rt>  Cipher type </rt></ruby>\*\*：它是指用于加密的数学算法。它指的是用于保护加密卷上数据的具体加密算法。

密钥大小Key size：密钥大小是衡量加密算法强度的指标：密钥大小越大，加密强度越高。通常以位数表示，例如 128 位加密或 256 位加密。

<ruby> 头部 <rt>  Header </rt></ruby>：头部是加密卷开头的特殊区域，包含有关加密的信息，例如所使用的加密算法和加密密钥。

下一个定义对于新手来说可能有些棘手，但了解它还是很重要的，尤其在处理 LUKS 时，这会非常有用。

<ruby> 容器 <rt>  Container </rt></ruby>：容器是一个特殊的文件，类似于虚拟加密卷。它可以用于存储加密数据，就像加密分区一样。不同之处在于容器是一个文件，可以存储在未加密的分区上，而加密分区是整个磁盘的一部分，已经完全加密。因此，容器是 *充当虚拟加密卷的文件*。

### LUKS 是什么以及它能做什么？

LUKS（<ruby>   Linux 统一密钥设置  <rt>  Linux Unified Key Setup </rt></ruby>）是由 Clemens Fruhwirth 在 2004 年创建的磁盘加密规范，最初用于 Linux。它是一种知名的、安全的、高性能的磁盘加密方法，基于改进版本的 [cryptsetup](https://www.tutorialspoint.com/unix_commands/cryptsetup.htm?ref=its-foss)，使用 [dm-crypt](https://www.kernel.org/doc/html/latest/admin-guide/device-mapper/dm-crypt.html?ref=its-foss) 作为磁盘加密后端。LUKS 也是网络附加存储（NAS）设备中常用的加密格式。

LUKS 还可以用于创建和运行加密容器。加密容器具有与 LUKS 全盘加密相同的保护级别。LUKS 还提供多种加密算法、多种加密模式和多种哈希函数，有 40 多种可能的组合。

任何文件系统都可以进行加密，包括交换分区。加密卷的开头有一个未加密的头部，它允许存储多达 8 个（LUKS1）或 32 个（LUKS2）加密密钥，以及诸如密码类型和密钥大小之类的加密参数。

这个头部的存在是 LUKS 和 dm-crypt 的一个重要区别，因为头部允许使用多个不同的密钥短语，并能轻松更改和删除它们。然而，值得提醒的是，如果头部丢失或损坏，设备将无法解密。

LUKS 有两个版本，LUKS2 具有更强的头部损坏抗击性，并默认使用 [Argon2](https://www.argon2.com/?ref=its-foss) 加密算法（LUKS1 使用 [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2?ref=its-foss)）。在某些情况下，可以在两个版本之间进行转换，但是 LUKS1 可能不支持某些功能。

### 希望了解更多信息？

希望本文有助于你对 LUKS 和加密有一些了解。关于使用 LUKS 创建和使用加密分区的确切步骤会因个人需求而异，因此我不会在此处涵盖安装和设置方面的内容。

如果你想要一份指南来帮助你设置 LUKS，可以在这篇文章中找到一个很好的指南：《[使用 LUKS 对 Linux 分区进行基本加密指南](https://linuxconfig.org/basic-guide-to-encrypting-linux-partitions-with-luks?ref=its-foss)》。如果你对此还不熟悉，并且想要尝试使用 LUKS，可以在虚拟机或闲置计算机上进行安全学习，以了解其工作原理。

*（题图：MJ/2c6b83e6-4bcb-4ce3-a49f-3cb38caad7d2）*

---

via: <https://itsfoss.com/luks/>

作者：[Bill Dyer](https://itsfoss.com/author/bill/) 选题：[lkxed](https://github.com/lkxed/) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1085 Vim 创建者 Bram Moolenaar 去世

Summary:
? Vim 创建者 Bram Moolenaar 去世
? 科学发现：周五下午人们做的事情更少，犯的错误更多
? 苹果的付费订阅用户达到了 10 亿
»
»

R.I.P.

# 硬核观察 #1085 Vim 创建者 Bram Moolenaar 去世

### Vim 创建者 Bram Moolenaar 去世

Bram Moolenaar 是 Vim 编辑器的创建者、维护者和终生的仁慈独裁者，享年 62 岁。他的家人在 Vim-announce 谷歌群组上宣布了这一噩耗。Moolenaar “生命中的大部分时间都奉献给了 Vim”，直到一个月前，他仍在对 Vim 进行修改。他率先提出了“慈善软件”这一概念，在打开 Vim 时，会提示“你可以随意使用和复制它，但我们鼓励你为乌干达贫困儿童捐款。”

>
> **[消息来源：谷歌](https://groups.google.com/g/vim_announce/c/tWahca9zkt4)**
>
>
>

>
> 老王点评：随着时间的延续，老一代的技术黑客们纷纷陨落。他们开创的时代和精神将一直流传。
>
>
>

### 科学发现：周五下午人们做的事情更少，犯的错误更多

研究人员花了两年时间对德克萨斯州一家大型能源公司办公室员工的电脑进行了监控，结果发现，员工在下午做的事情更少，犯的错误更多，尤其是在周五。研究记录 789 名办公室内工作人员志愿者在 2017 年和 2018 年两年上班的情况。研究的数据包括：活动时间、鼠标时间、键盘时间、键入字数、错字、鼠标点击、鼠标距离和鼠标滚动等。

>
> **[消息来源：The Register](https://www.theregister.com/2023/08/04/workers_performance_study_friday)**
>
>
>

>
> 老王点评：要不周五下午就放假吧？尤其是对那些处于关键位置的系统管理员们。 ?
>
>
>

### 苹果的付费订阅用户达到了 10 亿

根据苹果公司的第三财季财报：它的付费订阅人数突破了 10 亿。它的订阅服务包括了 Apple Music、iCloud、Apple News、Apple TV+ 等。苹果软件服务占到了总销售额的四分之一以上。

>
> **[消息来源：苹果](https://www.apple.com.cn/newsroom/2023/08/apple-reports-third-quarter-results/)**
>
>
>

>
> 老王点评：虽然很不喜欢订阅服务，但是很多订阅服务已经是摆脱不了的了。
>
>
>

### 回音

* 正如之前说的，LXD 在被 Canonical [收回去](/article-15971-1.html) [之后](/article-16042-1.html)，出现了复刻分支。SUSE 的开发人员创建了 Incus，LXD 的前首席工程师 Graber 离开了 Canonical [加入](https://www.theregister.com/2023/08/04/incus_lxd_fork/) 了该项目。


Anytype：一款用于工作和生产力的一体化安全开源应用

Summary: 一款适合所有人的新开源应用。尝试其公开测试版并查看它是否适合你。

这不就是开源版notion

一款适合所有人的新开源应用。尝试其公开测试版并查看它是否适合你。

# Anytype：一款用于工作和生产力的一体化安全开源应用

>
> 一款适合所有人的新开源应用。尝试其公开测试版并查看它是否适合你。
>
>
>

Anytype 的口号是，“为那些崇尚信任和自主的人提供的一切应用”。它是一款新的**一体化安全开源个人 CRM 应用**，旨在提供一些令人印象深刻的功能。

他们联系我们来报道第一个公开测试版本，我们对此非常感兴趣。

请允许我带你了解一下。

### Anytype：概述 ⭐

Anytype 是一个**本地优先**、**点对点（P2P）的开源**工具，**可用于各种任务**，例如**项目管理**、**存储文档**、**每日笔记**、**管理任务**、**书籍/文章/网站收藏**以及**甚至作为个人 CRM 软件**。

他们还计划以后可以让你管理/创建博客、社区维基和讨论。

本地优先意味着 Anytype **可以在本地运行，无需连接到互联网**，从而实现更好的可靠性、速度，以及最重要的安全性。

>
> ? Anytype 的源码可以在其 [GitHub 页面](https://github.com/anyproto) 上找到。
>
>
>

不过，这**并不意味着它是一个仅限离线使用的工具**。你可以将其配置为通过互联网在多个平台上进行访问。

这之所以成为可能，是因为使用了 **Anysync 协议**，该协议**允许自托管**、**数据可移植性**和**实时 P2P 端到端加密协作**。

Anytype 作为模块化空间构建器和浏览器构建在 Anysync 之上，为用户提供了一套强大的工具来构建空间和基于图形的网站视图。

其背后的公司是一家**位于柏林的初创公司**，[其开源理念](https://blog.anytype.io/our-open-philosophy/) 似乎相当可靠。

除此之外，Anytype 的一些最显著的功能包括：

* 可互操作的空间。
* 无需代码即可构建空间。
* 能够创建公共/私人/共享空间。
* 设备上加密。
* 跨平台。
* 自我托管的能力。

#### 初步印象

我在我的 [Ubuntu 22.04 LTS](https://news.itsfoss.com/ubuntu-22-04-release/) 上尝试了 Anytype，使用体验非常好。

当你首次启动该应用时，你将看到一个“<ruby> 加入 <rt>  Join </rt></ruby>”或“<ruby> 登录 <rt>  Login </rt></ruby>”屏幕。我使用“加入”选项在本地创建一个新帐户。

之后，设置我的帐户并浏览欢迎屏幕。我被带到了一个**快速启动菜单**，其中有一堆**空间模板**可以开始使用。我选择了其中一个个人项目。

之后，它带我进入“<ruby> 我的主页 <rt>  My Homepage </rt></ruby>”，在这里我可以访问侧边栏菜单和一个包含所有内容概述的页面。

从侧边栏菜单中，我进入“<ruby> 我的项目 <rt>  My Projects </rt></ruby>”页面并选择了其中一个项目。它打开了一个块编辑器，让我可以直观地编辑文本。

>
> ? 它还具有用于跟踪多个任务的任务跟踪器。
>
>
>

之后，我测试了“<ruby> 我的笔记 <rt>  My Notes </rt></ruby>”功能。它运行良好，并且符合你对 [笔记应用](https://itsfoss.com/note-taking-apps-linux/) 的期望。它还具有块编辑器，我在日常工作中对其进行了测试，效果非常好。

我所有的植物都喂饱了，我的猫也浇水了！?

最后，我看了一下“<ruby> 图表视图 <rt>  Graph View </rt></ruby>”。我对它的详细程度感到惊讶。Anytype 能够通过这种方式非常有效地说明所有数据点。

那么，总结一下。

我可以看到 Anytype 成为我日常工作流程的一部分。它拥有的工具数量可以帮助管理一个人的日常工作甚至学习习惯。

除此之外，我很高兴 Monica 现在有了一个合适的竞争对手。我迫不及待地想看看 Anytype 对此有何反应。

你可以通过 [ProductHunt 上的公告帖子](https://www.producthunt.com/posts/anytype-2-0) 进行更深入的研究。

### ? 获取 Anytype

Anytype 可在 **Linux**、**Windows**、**Mac**、**iOS** 和 **安卓** 上使用。你可以前往[官方网站](https://anytype.io/)获取你选择的包。

>
> **[Anytype](https://anytype.io/)**
>
>
>

? 你会尝试 Anytype 吗？ 让我们知道！

---

via: <https://news.itsfoss.com/anytype-open-beta/>

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

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


将 Linux 终端与 Nautilus 文件管理器结合起来

Summary: 这里有一些技巧和调整，通过将终端和文件管理器结合在一起，以节省你的时间。

nautilus左侧没有目录树，3.4版本之后就弃了（3.6版本有没有倒是忘了），deepin的文件管理器也和nauilus类似

这里有一些技巧和调整，通过将终端和文件管理器结合在一起，以节省你的时间。

# 将 Linux 终端与 Nautilus 文件管理器结合起来

>
> 这里有一些技巧和调整，通过将终端和文件管理器结合在一起，以节省你的时间。
>
>
>

Nautilus 是 GNOME 桌面环境中的图形化文件浏览器。你可以使用它来访问和管理系统中的文件和文件夹。

尽管并非所有人都喜欢使用终端来管理文件和目录，但你也可以通过终端进行文件和目录管理。

然而，你可能会遇到需要在终端和文件管理器之间切换的情况。

有多种方法可以在 Nautilus 文件管理器和终端之间进行交互。令人惊讶的是，并不是所有的 Linux 用户都知道这些方法。

例如，在 Nautilus 中，右键单击并选择“<ruby> 在终端中打开 <rt>  Open in terminal </rt></ruby>”选项，将在终端中打开当前目录位置。

这只是我在本文中要与你分享的众多示例之一。

### 1、拖放获取绝对路径

如果你将文件夹或文件拖放到终端中，其绝对路径将被粘贴到终端屏幕上。

当你在文件浏览器中深入目录结构并且不想在终端中键入整个路径时，这样做很有帮助。

### 2、进入目录

这与上面看到的类似。如果你在目录结构中深入进入，并且不想为 [切换到该目录](https://itsfoss.com/change-directories/) 键入整个路径，这个技巧很有帮助。

在终端中键入 `cd` 命令，然后拖放以进入目录。

### 3、在编辑器中打开文件

类似地，你可以使用 Nano 或 Vim 编辑器打开文件进行 [编辑](https://itsfoss.com/nano-editor-guide/)。

将文件拖放到 `nano` 命令中以打开它进行编辑。

### 4、使用 sudo 权限打开文件进行编辑

与上述相同，但这次你可以使用 `sudo` 权限打开文件进行编辑。

### 5、拖放多个文件（如果命令支持多个参数）

你也可以拖放多个文件以获取它们的绝对路径。这可以与接受多个参数的命令一起使用。

例如，[diff 命令用于检查两个文件之间的差异](https://linuxhandbook.com/diff-command/)。输入 `diff`，然后拖放你想要检查差异的文件。

### 6、从文本文件复制粘贴

阅读文档并且需要在终端中运行其中提到的命令？你当然可以 [在终端中复制粘贴](https://itsfoss.com/copy-paste-linux-terminal/)。

然而，更快捷的方法是选中文本并将其拖放到终端。

这个技巧也适用于 [GNOME-Sushi](https://gitlab.gnome.org/GNOME/sushi) 预览。

### 7、从浏览器中拖放

与上述的文本文件类似，你也可以从浏览器中拖放文本。这有助于在进行教程操作时同时查看教程。

### 8、在 Nautilus 中嵌入终端

无法离开终端？直接将其嵌入到文件管理器中。这样，你无需单独 [打开一个终端](https://itsfoss.com/open-terminal-ubuntu/)。

这里的关键是，如果你在文件浏览器中切换到另一个目录，嵌入的终端会自动切换到相应的目录。

你也可以在 Nautilus 嵌入的终端中执行大部分上述的拖放操作。例如，通过拖放 `.bashrc` 文件并使用 `grep`，在 `.bashrc` 中搜索特定文本。

### 9、在嵌入的终端之间拖放文件标签

终端和文件管理器都支持选项卡视图。你可以在选项卡之间拖放文件。

例如，要 [检查 ISO 的 shasum 值](https://itsfoss.com/checksum-tools-guide-linux/)，输入 `shasum` 命令，然后从另一个选项卡中拖放文件，如下所示。

### 更多关于 Nautilus 和终端的内容

喜欢这些技巧吗？也许你想学习更多类似的技巧。

如果你想更充分地利用 Nautilus 文件管理器，这里有一些技巧供你参考。

>
> **[调整你的 Nautilus 文件管理器的 13 种办法](https://itsfoss.com/nautilus-tips-tweaks/)**
>
>
>

这里还有一些探索的终端技巧：

>
> **[19 个你应该掌握的基本但重要的 Linux 终端技巧](https://itsfoss.com/basic-terminal-tips-ubuntu/)**
>
>
>

? 你是否了解其他将终端和文件管理器结合使用的酷炫技巧？不妨在下方的评论区与我们分享一下！

*（题图：MJ/ba1ee1c9-07e5-4fc8-bd2c-bde469ce095c）*

---

via: <https://itsfoss.com/terminal-nautilus-combination/>

作者：[Abhishek Prakash](https://itsfoss.com/author/abhishek/) 选题：[lkxed](https://github.com/lkxed/) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)

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


Summary:
? 谷歌将向 Linux 贡献 BBRv3 TCP 拥塞控制算法
? 通过麦克风窃取按键数据的新型攻击准确率高达 95%
? Twitter/X 又抢夺了 @music 账号
»
»

也就是说一下抢走4个ID

来自四川泸州的 Chrome Mobile 115.0|Android 10 用户

“抢”

要加引号

这是拿走法律上属于自己的东西

也像很多编程语言里的保留字一样，它们属于语言本身，不被用户定义。

来自117.136.89.174的 Chrome Mobile 115.0|Android 13 用户

马斯克：嗯，这个理由棒，我可以免责了

# 硬核观察 #1086 谷歌将向 Linux 贡献 BBRv3 TCP 拥塞控制算法

### 谷歌将向 Linux 贡献 BBRv3 TCP 拥塞控制算法

谷歌的开源 BBR TCP 拥塞控制算法在谷歌内部得到了广泛应用，其 v3 迭代版本已经在该公司内部取得了成功。谷歌称，事实证明，BBR 算法优于简单的基于损耗的拥塞控制，使谷歌内部和外部的网络能够以更高的吞吐量和更低的延迟更高效地运行。谷歌工程师计划在 8 月份将 BBRv3 提交到 Linux 内核上游，将内核的 v1 算法升级到 v3，这将降低 12% 的数据包重传率。

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

>
> 老王点评：这种开源才是真金白银的开源。谷歌虽然有很多让人非议的地方，越来越感觉“作恶”，但是有时候还是很好的。
>
>
>

### 通过麦克风窃取按键数据的新型攻击准确率高达 95%

来自英国大学的研究人员训练出了一种深度学习模型，它可以从使用麦克风记录的键盘击键中窃取数据，准确率高达 95%。与其他需要特殊条件并受数据传输速率和距离限制的侧信道攻击不同，声学攻击由于可以实现高质量音频捕获的麦克风设备的大量出现而变得简单得多。再加上机器学习的快速发展，使得基于声音的侧信道攻击变得可行，而且比以前预想的要危险得多。研究人员从智能手机录音中获得了 95% 的准确率，从 Zoom 录音中获得了 93% 的准确率，从 Skype 中获得了 91.7% 的准确率。

>
> **[消息来源：Bleeping Computer](https://www.bleepingcomputer.com/news/security/new-acoustic-attack-steals-data-from-keystrokes-with-95-percent-accuracy/)**
>
>
>

>
> 老王点评：当你和对方语音通话时，就不要在键盘上输入密码。AI 又一次发挥了不该做的作用。
>
>
>

### Twitter/X 又抢夺了 @music 账号

继 @X 账号被 X 无条件 [收回](/article-16039-1.html) 后，另外一个已经注册并使用了 16 年的 @music 账号也被 X 收回。该账号原本拥有 45 万粉丝，但现在有 1100 万粉丝，似乎是 X 将现已停用的 @TwitterMusic 账户合并到 @music 账户后产生的。X 向该账号的原使用者 Vaught 提供了几个可供选择的用户名 —— @musicfan、@musicmusic、@music123 或 @musiclover，但他都不喜欢。他说，这些用户名很可能是 X 从其他用户那里抢来的。

>
> **[消息来源：Ars Technica](https://arstechnica.com/tech-policy/2023/08/x-user-super-pissed-that-musk-ordered-takeover-of-his-music-account/)**
>
>
>

>
> 老王点评：真是没见过这么为所欲为的平台啊，这么一比 QQ、微信就太友善了。
>
>
>


你喜欢哪种文档标记语言？

# 你喜欢哪种文档标记语言？

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

>
> 文档对于开源软件项目至关重要。我们询问了我们的贡献者，他们在文档编写中最喜欢使用的标记语言是什么。
>
>
>

文档很重要，而易读的文档更重要。在开源软件世界中，文档可以告诉我们如何使用或贡献一个应用程序，就像 [游戏](https://opensource.comttps://opensource.com/life/16/11/software-documentation-tabletop-gaming) 的规则书一样。

有很多不同类型的文档：

* 教程
* 操作指南
* 参考指南
* 软件架构
* 产品手册

我们向一些贡献者询问了他们的技术文档工作流程，他们更喜欢使用哪种标记语言，以及为什么会选择其中一种。以下是他们的回答。

### AsciiDoc

过去几年中，[Markdown](https://opensource.com/article/19/9/introduction-markdown) 一直是我的标准语言。但最近我决定尝试一下 [AsciiDoc](https://opensource.com/article/22/8/drop-markdown-asciidoc) 。这种语法并不难，我在 Linux 桌面上的 [Gedit](https://opensource.com/%20https%3A//opensource.com/article/20/12/gedit) 就支持它。我计划暂时坚持使用它一段时间。

—- [Alan Formy-Duval](https://opensource.com/users/alanfdoss)

就低语法标记语言而言，我更喜欢 AsciiDoc。我喜欢它，是因为其转换过程一致且可预测，没有令人困惑的“口味”变化 。我还喜欢将它输出为 [Docbook](https://opensource.com/article/17/9/docboo)，这是一种我信任其持久性和灵活性的标记语言，它有大量的语法标记。

但“正确”的选择往往取决于项目已经在使用什么。如果项目使用某种口味的 Markdown，我就不会使用 AsciiDoc。嗯，公平地说，我可能会使用 AsciiDoc，然后使用 Pandoc 将其转换为草莓味的 Markdown。

当然，我认为 Markdown 有其应用的时间和场合。我发现它比 AsciiDoc 更易读。AsciiDoc 中的链接是这样：

```
http://example.com [Example website]

```

而 Markdown 中的链接是这样：

```
[Example.com](http://example.com)

```

Markdown 的语法直观，以读取 HTML 的方式呈现信息，大多数人都以相同的方式解析此类数据（“Example website……哦，那是蓝色的文本，我将悬停一下以查看它指向哪里……它指向 [example.com](http://example.com/)”）。

换句话说，当我的受众是人类读者时，我通常会选择 Markdown，因为它的语法简单，但仍具有足够的语法可以进行转换，因此仍然是一种可接受的存储格式。

虽然像 AsciiDoc 这样简洁的语法看起来更令人吃惊，但如果我的受众是要解析文件的计算机，我会选择 AsciiDoc。

—- [Seth Kenlon](https://opensource.com/users/seth)

### reStructuredText

我是 [代码即文档](https://opensource.com/article/22/10/docs-as-code) 的忠实支持者，它将开发者工具融入到内容流程中。这样可以更轻松地进行高效的审查和协作，尤其是如果工程师是贡献者。

作为一个标记语言的行家，我在 O'Reilly 写了整整一本关于 AsciiDoc 的书，还使用 Markdown 在各个平台上发布了上千篇博文。但目前，我转向使用 [reStructuredText](https://opensource.com/article/19/11/document-python-sphinx)，并维护一些相关工具。

—— [Lorna Mitchell](https://opensource.com/users/lornajane)

不得不提到 reStructuredText。在我大量使用 Python 编程时，它已成为我的首选。它也是 Python 长期以来用于文档源码和代码注释的标准。

与 Markdown 相比，我喜欢它不会受到非标准规范的困扰。话虽如此，当我处理更复杂的文档时，确实还得使用许多 Sphinx 的功能和扩展。

—— [Jeremy Stanley](https://opensource.com/users/fungi)

### HTML

能不用标记语言我就不用。

不过，我发现 HTML 比其他标记语言更易于使用。

—— [Rikard Grossman-Nielsen](https://opensource.com/users/rikardgn)

对我来说，撰写文档有各种方式。这取决于文档将要放在何处，是作为网站的一部分、软件包的一部分，还是可下载的内容。

对于 [Scribus](https://opensource.com/article/21/12/desktop-publishing-scribus) 来说，其内部文档采用 HTML 格式，因为需要使用内部浏览器来访问。对于网站，可能需要使用维基语言。而对于可下载的内容，可以创建 PDF 或 EPUB 格式。

我倾向于在纯文本编辑器中编写文档。我可能会使用 XHTML，以便将这些文件导入到像 Sigil 这样的 EPUB 制作工具中。当然，对于创建 PDF，我会使用 Scribus，虽然我可能会导入用文本编辑器创建的文本文件。Scribus 具有包含图形并精确控制其布局的优势。

Markdown 从未吸引我，我也从未尝试过 AsciiDoc。

—— [Greg Pittman](https://opensource.com/users/greg-p)

我目前正在使用 HTML 撰写大量文档，所以我要为 HTML 代言一下。你可以使用 HTML 创建网站或创建文档。请注意，这两者实际上并不相同 —— 当你创建网站时，大多数设计师关注的是呈现。但是当你编写文档时，技术作者应该专注于内容。

当我用 HTML 撰写文档时，我遵循 HTML 定义的标签和元素，并不关心它的外观。换句话说，我用“未经样式化”的 HTML 编写文档。稍后我总是可以添加样式表。因此，如果我需要强调文本的某一部分（比如警告），或者给单词或短语加重语气，我可能会使用 `<strong>` 和 `<em>` 标签，像这样：

```
<p><strong>警告：激光！</strong>不要用你剩下的那只眼睛看向激光。</p>

```

或者在段落中提供一个简短的代码示例，我可能会这样写：

```
<p><code>puts</code> 函数将一些文本输出给用户。</p>

```

要在文档中格式化一段代码块，我使用 `<pre><code>..</code></pre>`，如下所示：

```
void
print_array(int *array, int size)
{
  for (int i = 0; i < size; i++) {
    printf("array[%d] = %d\n", i, array[i]);
  }
}

```

HTML 的好处在于你可以立即在任何 Web 浏览器中查看结果。而你使用未经样式化的 HTML 编写的任何文档都可以通过添加样式表来美化。

—— [Jim Hall](https://opensource.com/users/jim-hall)

### 意料之外的答案：LibreOffice

在上世纪 80/90 年代，当我在 System V Unix、SunOS，最后是 Solaris 上工作时，我使用了 `nroff`、`troff` 和最终的 `groff` 与 `mm` 宏。你可以了解一下使用 `groff_mm` 的 MM（前提是你已经安装了它们）。

MM 并不是真正的标记语言，但它感觉像是。它是一套非常语义化的 troff 和 groff 宏。它具备标记语言用户所期望的大多数功能，如标题、有序列表等等。

我的第一台 Unix 机器上也安装了 “Writers' Workbench”，这对我们组织中需要撰写技术报告但没有特别进行“引人入胜”写作的许多人来说是一个福音。它的一些工具已经进入了 BSD 或 Linux 环境，比如样式（style）、用词检查（diction）和外观（look）。

我还记得早在上世纪 90 年代初期，Solaris 附带了一个标准通用标记语言（SGML）工具，也可能是我们购买了这个工具。我曾经使用它一段时间，这可能解释了为什么我不介意手动输入 HTML。

我使用过很多 Markdown，我应该说是“哪种 Markdown”，因为它有无数种风格和功能级别。正因为如此，我并不是 Markdown 的铁杆粉丝。我想，如果我有很多 Markdown 要处理，我可能会尝试使用一些 [CommonMark](https://commonmark.org/) 的实现，因为它实际上有一个正式的定义。例如，[Pandoc](https://opensource.com/downloads/pandoc-cheat-sheet) 支持 CommonMark（以及其他几种）。

我开始使用 AsciiDoc，相比于 Markdown，我更喜欢 AsciiDoc，因为它避免了“你使用的是哪个版本”的讨论，并提供了许多有用的功能。过去，让我对 AsciiDoc 感到困扰的是，有一段时间似乎需要安装 Asciidoctor，这是一个我不太想安装的 Ruby 工具链。但是现在，在我所用的 Linux 发行版中，有了更多的实现方式。奇怪的是，Pandoc 可以输出 AsciiDoc，但不支持读取 AsciiDoc。

那些嘲笑我不愿意为 AsciiDoc 安装 Ruby 工具链，却乐意安装 Pandoc 的 Haskell 工具链的人……我听到你们的笑声了。

我羞愧地承认，我现在主要使用 LibreOffice。

——[Chris Hermansen](https://opensource.com/users/clhermansen)

### 现在就编写文档吧！

文档编写可以通过多种不同的途径来完成，正如这里的作者们展示的那样。对于代码的使用方法，特别是在开源领域，进行文档编写非常重要。这确保其他人能够正确地使用和贡献你的代码。同时，告诉未来的用户你的代码提供了什么也是明智之举。

*（题图：MJ/9543e029-322d-479f-b609-442abc036b73）*

---

via: <https://opensource.com/article/22/12/markup-languages-documentation>

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

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


如何在 Ubuntu 上安装 GitLab

# 如何在 Ubuntu 上安装 GitLab

GitLab 是一个开源平台，提供了强大且功能丰富的解决方案，用于管理仓库、问题、CI/CD 管道等。如果你是 Ubuntu 22.04 或 20.04 用户，并且想要设置自己的 [GitLab](https://about.gitlab.com/) 实例来简化你的 DevOps 工作流程，那么你来对地方了。

本分步指南将引导你完成 Ubuntu 22.04 或 20.04 上 GitLab 的安装过程。GItlab 提供企业版（Gitlab EE）和社区版（Gitlab CE）。在这篇文章中，我们将介绍社区版。

先决条件：

* 运行 Ubuntu 22.04 或 20.04 且具有 SSH 访问权限的虚拟或专用服务器。
* 静态主机名（`gitlab.linuxtechi.net`）
* 具有管理员权限的 Sudo 用户
* 2GB 内存或更多
* 2 个或更多 vCPU
* 互联网连接

### 1、更新系统包

让我们首先更新软件包列表并将任何现有软件包升级到最新版本。

```
$ sudo apt update
$ sudo apt upgrade -y

```

应用更新后重新启动系统。

```
$ sudo reboot

```

### 2、安装依赖项

GitLab 需要一些依赖项才能正常运行。使用以下命令安装它们：

```
$ sudo apt install -y curl openssh-server ca-certificates postfix

```

在 postfix 安装过程中，会出现一个配置窗口。选择 “Internet Site”并输入服务器的主机名作为邮件服务器名称。这将允许 GitLab 发送电子邮件通知。

选择 “Internet Site”，然后选择 “OK”。

检查系统的主机名并选择 “OK”。

### 3、添加 GitLab Apt 存储库

现在，我们将添加 GitLab 仓库，运行以下 `curl` 命令。它将自动检测你的 Ubuntu 版本并相应地设置仓库。

```
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

```

### 4、安装 Gitlab

运行以下命令在你的 ubuntu 系统上自动安装和配置 gitlab-ce，将服务器的主机名替换为你的设置，

```
$ sudo EXTERNAL_URL="http://gitlab.linuxtechi.net" apt install gitlab-ce

```

上述命令成功执行后，我们将得到如下输出。

上面的输出确认 GitLab 已成功安装。gitlab web 界面的用户名是 root，密码存储在 `/etc/gitlab/initial_root_password`。

注意：如果你的 ubuntu 系统上启用了操作系统防火墙，那请允许 80 和 443 端口。

```
$ sudo ufw allow http
$ sudo ufw allow https

```

### 5、访问 GitLab Web 界面

安装并配置 GitLab 后，打开 Web 浏览器并输入服务器的 IP 地址或主机名。

```
http://<Server-IP-Address-or-Hostname>

```

* 用户名：`root`
* 密码：从 `/etc/gitlab/initial_root_password` 获取密码

点击“<ruby> 登录 <rt>  Sign in </rt></ruby>”。

很好，上面确认我们已经成功登录 Gitlab Web 界面。

目前我们的 GitLab 服务器运行在 http（80）协议上，如果你想为你的 GitLab 启用 https，请参考以下步骤。

### 6、为 GitLab Web 界面设置 HTTPS

为提高安全性，可使用自签名证书或 Let's Encrypt 为 GitLab 实例配置 HTTPS。Let's Encrypt 只适用于互联网上有 A 记录的公有域。但在本例中，我们使用的是私有域，因此将使用自签名证书来确保 GitLab 的安全。

现在，让我们创建以下文件夹并使用 `openssl` 命令生成自签名证书：

```
$ sudo mkdir -p /etc/gitlab/ssl
$ sudo chmod 755 /etc/gitlab/ssl

```

使用以下 `openssl` 命令生成私钥：

```
$ sudo openssl genrsa -des3 -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key 2048

```

输入密码并记住它。

使用以下命令创建 CSR：

```
$ sudo openssl req -new -key /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.csr

```

从密钥中删除密码串，依次执行以下命令：

```
$ sudo cp -v /etc/gitlab/ssl/gitlab.linuxtechi.net.{key,original}
$ sudo openssl rsa -in /etc/gitlab/ssl/gitlab.linuxtechi.net.original -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.original

```

创建证书文件：

```
$ sudo openssl x509 -req -days 1460 -in /etc/gitlab/ssl/gitlab.linuxtechi.net.csr -signkey /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.crt

```

使用下面的 `rm` 命令删除 CSR 文件：

```
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.csr

```

设置密钥和证书文件的权限：

```
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.crt

```

Gitlab 服务器的所有重要配置均由文件 `/etc/gitlab/gitlab.rb` 控制，因此编辑此文件，搜索 `external_url` 并添加 `https://gitlab.linuxtechi.net`。

```
$ sudo vi /etc/gitlab/gitlab.rb
----------------------------------------------------------
external_url 'https://gitlab.linuxtechi.net'
----------------------------------------------------------

```

保存并退出文件，使用下面的命令重新配置 gitlab，以便其 Web 界面可以使用 HTTPS。

```
$ sudo gitlab-ctl reconfigure

```

成功执行上述命令后，你的 GitLab 界面应该可以通过 HTTPS 协议访问，在我的例子中，URL 为：`https://gitlab.linuxtechi.net/`

当你第一次访问它时，它会说你的连接不安全，点击“接受风险并继续”。

### 结论

恭喜！ 你已在 Ubuntu 22.04 或 20.04 系统上成功安装 GitLab。随着 GitLab 的启动和运行，你现在可以创建仓库，与你的团队协作，并通过 GitLab 令人印象深刻的功能增强你的开发工作流程。享受无缝版本控制、持续集成等，一切尽在你的掌控之中！

*（题图：MJ/c6a3e27e-fe58-4184-b133-9e9c67224316）*

---

via: <https://www.linuxtechi.com/how-to-install-gitlab-on-ubuntu/>

作者：[Pradeep Kumar](https://www.linuxtechi.com/author/pradeep/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1087 谷歌可能重新考虑在 Chrome 中支持 JPEG-XL

Summary:
? 谷歌可能重新考虑在 Chrome 中支持 JPEG-XL
? Window Maker 发布了三年来的首次更新
? 间谍软件制造商 LetMeSpy 被黑后关闭
»
»

除了Windows Maker，还有一个仿NeXTSTEP的窗口管理器叫AfterStep

# 硬核观察 #1087 谷歌可能重新考虑在 Chrome 中支持 JPEG-XL

### 谷歌可能重新考虑在 Chrome 中支持 JPEG-XL

谷歌去年表示，由于没有足够的 [兴趣](/article-15197-1.html) 和其他因素，他们决定取消 Chrome/Chromium 浏览器对 JPEG-XL 图像的支持。但苹果公司今年决定在其 Safari 网页浏览器中支持 JPEG-XL，社区建议谷歌重新考虑对 JPEG-XL 的支持。今天，对该提议的追踪有了更新，谷歌要求“相关开发团队的人员对此进行调查，以便进一步更新。”

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Chrome-JPEG-XL-Seconds)**
>
>
>

>
> 老王点评：我们将拭目以待，看看 JPEG-XL 支持是否会重返 Chrome 浏览器。
>
>
>

### Window Maker 发布了三年来的首次更新

[Window Maker](https://www.windowmaker.org/) 0.96 于本周末发布，它是一款受 NeXTSTEP 图形用户界面启发的 X11 窗口管理器。这是该窗口管理器自 2020 年以来的首次更新，并没有什么特别大的功能更新。

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

>
> 老王点评：很多人都没用过这个窗口管理器，之所以提到它只是因为我个人曾经特别喜欢这个窗口管理器。Window Maker 在当时看起来很漂亮，甚至就是现在看起来虽然不够炫，但是依然够精细。可惜就是这样逐渐式微了。
>
>
>

### 间谍软件制造商 LetMeSpy 被黑后关闭

总部位于波兰的间谍软件 LetMeSpy 在 6 月份的 [数据泄露](/article-15951-1.html) 事件后被迫关闭了服务器。LetMeSpy 发布公告称将永久关闭间谍软件服务，并将于 8 月底停止运营。LetMeSpy 是一款安卓手机监控应用程序，它被特意设计成隐藏在受害者的手机主屏幕上，使应用程序难以被发现和删除。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/08/05/letmespy-spyware-shuts-down-wiped-server/)**
>
>
>

>
> 老王点评：这就像江湖，偷东西的遇到了打劫的。?
>
>
>


GNOME 雄心勃勃的窗口管理改革

有点意思啊，但展示出来的动图看着好像还不够灵活。

不知道 KDE 和 deepin 能不能做一下这个。

同样一个word窗口，管理器如何知道我是想切全屏打字，还是切半屏对照ppt修改文稿？

坦率地说，再智能的窗口管理器都不如多显示器用的舒服。

# GNOME 雄心勃勃的窗口管理改革

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

>
> 厌倦了窗口混乱和手动调整？ GNOME 正在集体讨论一个自动化且用户友好的窗口管理系统。这是你需要了解的情况。
>
>
>

窗口管理是桌面计算的一个重要方面，几十年来一直是人们着迷和探索的话题。然而，尽管进行了多次尝试，仍然没有人能够破解完美的窗口管理解决方案的密码。GNOME 开发人员现在开始致力于彻底改变窗口管理，旨在提高生产力和用户体验。

GNOME 开发人员 Tobias Bernard 发表了一篇 [详细的文章](https://blogs.gnome.org/tbernard/2023/07/26/rethinking-window-management/)，介绍了开发人员如何考虑为未来创新 GNOME 桌面。

### 传统窗口系统的挑战

传统的窗口系统为我们提供了很好的服务，允许应用生成可以手动移动和调整大小的矩形窗口。然而，随着窗口数量和尺寸的增加，问题开始出现。重叠的窗口很快就会变得一团糟，使得在不隐藏其他应用的情况下访问特定应序变得困难。最大化窗口可能会遮挡桌面上的其他所有内容，从而导致混乱和效率低下。

多年来，各种操作系统引入了工作区、任务栏和切换器等解决方法来处理这些问题。然而，窗口管理的核心问题仍未解决。特别是对于儿童和老年人等计算机新手来说，手动排列窗口可能会很麻烦且乏味。

### 引入平铺窗口管理器

平铺窗口管理器提供了防止窗口重叠的替代解决方案。虽然它们在某些情况下运行良好，但也有其局限性。平铺窗口可能会导致效率低下，因为应用通常是针对特定尺寸和纵横比设计的。此外，这些窗口管理器缺乏关于窗口内容和上下文的知识，需要额外的手动调整，并违背了简化工作流程的目的。更不用说记住很多键盘快捷键了。

### GNOME 当前的平铺功能

GNOME 已经在 GNOME 3 系列中尝试了基本的平铺功能。然而，现有的实现有一些局限性。这是一个手动过程，仅支持两个窗口，缺乏复杂布局的可扩展性，并且不会将平铺窗口分组到窗口栈中。

### 窗口管理的新愿景

该团队提出了一种新的窗口管理方法，重点关注符合用户期望和需求的自动化系统。他们的概念涉及窗口的三种潜在布局状态：马赛克、边缘平铺和浮动。

马赛克模式将成为默认行为，根据用户偏好和可用屏幕空间智能定位窗口并调整窗口大小。随着新窗口的打开，现有窗口将进行调整以适应新来者。如果窗口不适合当前布局，它将被放置在自己的工作区中。当屏幕接近布满时，窗口将自动平铺。

用户还可以通过将窗口拖动到现有窗口或空白区域上来手动平铺窗口。该系统提供了灵活性和便利性，使其更容易高效地执行多任务。

### 维护用户友好的浮动窗口

虽然平铺提供了多种好处，但 GNOME 开发人员明白，总会有用户更喜欢手动定位窗口的情况。因此，经典的浮动行为仍然适用于这些特定情况，但随着新的马赛克系统的引入，它可能不太常见。

### 利用窗口元数据增强性能

GNOME 旨在优化平铺体验，以从窗口收集有关其内容的更多信息。这包括窗口的最大所需尺寸以及应用最佳运行的理想尺寸范围等详细信息。通过使用这些元数据，系统可以定制窗口布局以满足用户的需求，从而提高整体可用性。

### 展望未来

虽然 GNOME 开发人员对这个新的窗口管理方向感到兴奋，但他们也承认与这种新颖方法相关的风险。他们计划进行用户研究以验证他们的假设并完善交互。尽管没有具体的实施时间表，但该项目可能会跨越多个开发周期，并成为 GNOME 46 或更高版本的一部分。

截至发布此内容时，还没有草案合并请求，你可以参与其中并提供反馈。

参考自 [Tobias 的博客](https://blogs.gnome.org/tbernard/2023/07/26/rethinking-window-management/)。

*（题图：MJ/04285b09-a074-4f6f-a32e-ae5af06f1d1f）*

---

via: <https://debugpointnews.com/gnome-window-management-proposal/>

作者：[arindam](https://debugpointnews.com/author/dpicubegmail-com/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


Fedora Linux 的家族（三）：实验室

相当于win的番茄花园。。。

# Fedora Linux 的家族（三）：实验室

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

根据个人需求，每个人使用计算机的方式都不同。你可能是一位设计师，需要在计算机上安装各种设计软件。或者你可能是一位游戏玩家，所以需要一个支持你喜欢的游戏的操作系统。有时候我们没有足够的时间来准备一个支持我们需求的操作系统。Fedora Linux 实验室版本就是为了满足这个需求而存在的。Fedora 实验室是由 Fedora 社区成员精心策划和维护的用于特定目的的软件和内容的集合。本文将对 Fedora Linux 实验室版本进行更详细的介绍。

你可以在我之前的文章《Fedora Linux 的各种版本》中找到所有 Fedora Linux 变种的概述。

### Fedora 天文学版

Fedora <ruby> 天文学 <rt>  Astronomy </rt></ruby> 版适用于业余和专业天文学家。你可以通过这个 Fedora Linux 版本进行各种与天文学相关的活动。Fedora 天文学版中包含的一些应用程序有 Astropy、Kstars、Celestia、Virtualplanet、Astromatic 等。Fedora 天文学版默认使用 KDE Plasma 作为其桌面环境。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora 天文学版](https://labs.fedoraproject.org/en/astronomy/)**
>
>
>

### Fedora 计算神经科学版

Fedora <ruby> 计算神经科学 <rt>  Comp Neuro </rt></ruby>版是由 NeuroFedora 团队创建的，旨在支持计算神经科学。Fedora Linux 中包含的一些应用程序有 Neuron、Brian、Genesis、SciPy、Moose、NeuroML、NetPyNE 等。这些应用程序可以支持你的工作，包括建模软件、分析工具和常规生产工具。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora 计算神经科学版](https://labs.fedoraproject.org/en/comp-neuro/)**
>
>
>

### Fedora 设计套件版

如果你是一位设计师，那么这个 Fedora Linux 版本就适合你。你将获得一个完整的 Fedora Linux，其中包含各种设计工具，如 GIMP、Inkscape、Blender、Darktable、Krita、Pitivi 等。使用这些工具，你可以创建各种创意作品，如网页设计、海报、传单、3D 模型、视频和动画。这个 Fedora <ruby> 设计套件 <rt>  Design Suite </rt></ruby>版是由设计师为设计师创建的。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora 设计套件版](https://labs.fedoraproject.org/en/design-suite/)**
>
>
>

### Fedora 游戏版

玩游戏很有趣，你可以使用 Fedora <ruby> 游戏 <rt>  Games </rt></ruby>版来尽情享受。这个 Fedora Linux 版本提供了各种游戏类型，如第一人称射击游戏、实时和回合制策略游戏以及益智游戏。Fedora Linux 上的一些游戏包括 Extreme Tux Racer、Wesnoth、Hedgewars、Colossus、BZFlag、Freeciv、Warzone 2011、MegaGlest 和 Fillets。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora 游戏版](https://labs.fedoraproject.org/en/games/)**
>
>
>

### Fedora 音乐版

几乎每个人都喜欢音乐。你们中的一些人可能是音乐家或音乐制作人。或者你可能是喜欢玩音频的人。那么这个 Fedora <ruby> 音乐 <rt>  Jam </rt></ruby>版就是为你而设计的，它带有 JACK、ALSA、PulseAudio 和各种音频和音乐支持。Fedora 音乐版中的一些默认应用程序包括 Ardor、Qtractor、Hydrogen、MuseScore、TuxGuitar、SooperLooper 等。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora 音乐版](https://labs.fedoraproject.org/en/jam/)**
>
>
>

### Fedora Python 教室版

如果你是一位 Python 开发者、教师或讲师，Fedora <ruby> Python 教室 <rt>  Python Classroom </rt></ruby>版将使你与 Python 相关的工作更加容易。Fedora Python 教室版预先安装了各种重要的内容。Fedora Linux 上的一些默认应用程序包括 IPython、Jupyter Notebook、git、tox、Python 3 IDLE 等。Fedora Python 教室版有三个变种，你可以以 GNOME 图形界面方式运行，也可以使用 Vagrant 或 Docker 容器。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora Python 教室版](https://labs.fedoraproject.org/en/python-classroom/)**
>
>
>

### Fedora 安全实验室版

Fedora <ruby> 安全实验室 <rt>  Security Lab </rt></ruby>版是为安全测试人员和开发人员打造的 Fedora Linux。Xfce 是默认的桌面环境，并进行了定制以满足安全审计、取证、系统救援等需求。这个 Fedora Linux 提供了一些默认安装的应用程序，以支持你在安全领域的工作，如 Etherape、Ettercap、Medusa、Nmap、Scap-workbench、Skipfish、Sqlninja、Wireshark 和 Yersinia。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora 安全实验室版](https://labs.fedoraproject.org/en/security/)**
>
>
>

### Fedora 机器人套件版

Fedora <ruby> 机器人套件 <rt>  Robotics Suite </rt></ruby>版是一款带有各种自由开源机器人软件包的 Fedora Linux。这个 Fedora Linux 版本适用于与机器人相关的专业人士或爱好者。一些默认应用程序包括 Player、SimSpark、Fawkes、Gazebo、Stage、PCL、Arduino、Eclipse 和 MRPT。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora 机器人套件版](https://labs.fedoraproject.org/en/robotics/)**
>
>
>

### Fedora 科学版

Fedora <ruby> 科学 <rt>  Scientific </rt></ruby>版将使你在科学和数值工作方面更加便利。这个 Fedora Linux 提供了各种有用的开源科学和数值工具。默认桌面环境为 KDE Plasma，配备了各种应用程序，包括 IPython、Pandas、Gnuplot、Matplotlib、R、Maxima、LaTeX、GNU Octave 和 GNU Scientific Library 等，这些应用程序将支持你的工作。

有关所包含的应用程序的详细信息和下载链接，请访问此链接：

>
> **[Fedora 科学版](https://labs.fedoraproject.org/en/scientific/)**
>
>
>

### 结论

你有许多 Fedora Linux 版本可供选择，以适应你的工作或爱好。Fedora 实验室使这一切变得轻松。你不需要从头开始进行许多配置，因为 Fedora 实验室将为你完成。你可以在 <https://labs.fedoraproject.org/> 找到有关 Fedora 实验室的完整信息。

*（题图：MJ/6ac3eb72-eeb5-45dc-af53-91b54d320638）*

---

via: <https://fedoramagazine.org/fedora-linux-editions-part-3-labs/>

作者：[Arman Arisman](https://fedoramagazine.org/author/armanwu/) 选题：[lkxed](https://github.com/lkxed/) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)


硬核观察 #1088 一半以上的 Arm 服务器部署在亚马逊

Summary:
? 一半以上的 Arm 服务器部署在亚马逊
? 谷歌推出基于浏览器的全新人工智能开发环境
? 谷歌信息应用将默认使用 RCS 短信
»
»

# 硬核观察 #1088 一半以上的 Arm 服务器部署在亚马逊

### 一半以上的 Arm 服务器部署在亚马逊

之前我们 [报道](/article-16060-1.html) 过，据一份报告估计，全球近 10% 的服务器采用了 Arm 处理器，其中 40% 位于中国。但令人吃惊的是，超过全球总数一半的 Arm 服务器 CPU 都部署在 AWS 的数据中心。亚马逊目前使用的是它在 2018 年推出 Graviton 系列芯片。一般认为，Arm 内核可能更节能，但性能却低于 x86 芯片。不过，据亚马逊的客户称，在与同类 x86 芯片性能相同的情况下，Arm 芯片成本降低了 20% 至 70%。

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

>
> 老王点评：这么说在服务器上 Arm 还是颇有好处的。
>
>
>

### 谷歌推出基于浏览器的全新人工智能开发环境

谷歌今天宣布推出 “Project IDX”，提供基于浏览器的人工智能开发环境，用于构建全栈网络和多平台应用程序。它目前支持 Angular、Flutter、Next.js、React 和 Vue 等框架，以及 JavaScript 和 Dart 等语言，还将支持 Python、Go 和其他语言。它基于 VSCode，集成了基于谷歌 PaLM 2 的编程任务基础模型 Codey，因而支持智能代码自动补全、类似 ChatGPT/Bard 的聊天机器人。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/08/08/google-launches-project-idx-a-new-ai-enabled-browser-based-development-environment/)**
>
>
>

>
> 老王点评：看起来谷歌也不甘于在 AI 编程方面落后啊。
>
>
>

### 谷歌信息应用将默认使用 RCS 短信

谷歌今天宣布将默认使用 RCS 短信，使谷歌信息应用更加安全。RCS 是一种旨在取代短信的协议，与苹果 iMessage 的高级功能类似。谷歌表示，通过这次更新，用户在谷歌信息中的所有对话，无论是一对一还是群聊，现在都将保持私密。自 2019 年向美国安卓用户推出 RCS 以来，谷歌一直在努力向苹果施压，希望苹果在自己的信息服务 iMessage 中采用这项技术。去年，谷歌甚至专门推出了一个网站敦促苹果，但苹果无动于衷。

>
> **[消息来源：Tech Crunch](https://techcrunch.com/2023/08/08/google-messages-will-now-use-rcs-by-default-and-encrypt-group-chats/)**
>
>
>

>
> 老王点评：RCS 或许挺好，奈何苹果就是不上钩。
>
>
>


LibreOffice 和 OpenOffice 的相似与不同之处

# LibreOffice 和 OpenOffice 的相似与不同之处

>
> 对两个最受欢迎的开源办公软件的比较。了解 LibreOffice 和 OpenOffice 之间的相似与不同之处。
>
>
>

LibreOffice 与 OpenOffice 是两个流行的微软办公套件的 [开源替代品](https://itsfoss.com/best-free-open-source-alternatives-microsoft-office/)。

如果你正在寻找一个具备文字处理、电子表格、演示和其他几个程序的开源办公套件，那么这两个办公软件都可以推荐。

然而，要充分利用这些办公套件，你应该了解它们之间的差异，以决定哪个最适合你。

你应该使用 LibreOffice 还是 OpenOffice？它们之间有什么区别？在这里，我将更详细地探讨这些问题。

### LibreOffice vs. OpenOffice：起源

OpenOffice 是由 <ruby> 昇阳微系统 <rt>  Sun Microsystems </rt></ruby> 开发的项目。它是（他们最初收购的）与微软办公套件竞争的 StarOffice 的开源版本。

后来，<ruby> 甲骨文 <rt>  Oracle </rt></ruby> 收购了昇阳微系统，并最终放弃了 [OpenOffice.org](http://OpenOffice.org)（OOo），将代码库交给了 Apache。

在 Apache 开始维护它时，该办公套件的名称被更改为 “OpenOffice” 或 “Apache OpenOffice”。

在这个过渡期间，出于担心 Oracle 会停止该项目，<ruby> 文档基金会 <rt>  The Document Foundation </rt></ruby> 复刻了 [OpenOffice.org](http://OpenOffice.org)，创建了 LibreOffice。

因此，LibreOffice 是作为 [OpenOffice.org](http://OpenOffice.org) 的替代品而创建的。

但是，现在 OpenOffice 仍然存在并得到积极维护（LCTT 译注：不是），为什么你应该选择 LibreOffice？OpenOffice 不够好吗？它们之间有什么相似之处？

### LibreOffice 和 Apache OpenOffice 有什么共同之处？

LibreOffice 和 Apache OpenOffice 有一些共同之处：

如果你只需要创建基本文档、电子表格或演示文稿，并不需要进行任何复杂操作或快捷方式来提高生产力，那么你可以使用它们中的任何一个。

简单来说，如果你在 Linux、Windows 和 macOS 上需要一个开源办公套件，这两个软件都可以胜任。

LibreOffice 和 Apache OpenOffice 都能够打开包括微软的 DOCX、PPT 等在内的各种文件格式。

但是，当你需要**不同的功能、用户界面、文件格式兼容性、导出能力**和其他特性时，它们之间的相似之处就会逐渐消失。

当然，如果你开始广泛使用它们，你将会注意到它们之间的差异。

为了节省你的麻烦，让我在这里重点指出这些差异：

### 安装和平台可用性

用户体验的第一步是安装过程和平台可用性。

如果安装复杂且不支持多个平台，那么这个程序就令人失望。

在这种情况下，LibreOffice 和 Apache OpenOffice 官方支持 **Linux、Windows 和 macOS**。

至于移动平台，你可以在谷歌 Play 商店（安卓）和苹果应用商店（iOS）上找到基于 LibreOffice 的 [Collabora Office](https://www.collaboraoffice.com/)。考虑到 Collabora 是 LibreOffice 的商业合作伙伴，它几乎可以视为 LibreOffice 的官方移植版。

而对于移动设备上的 OpenOffice，虽然你也可以使用其他社区/第三方移植版替代，**但它没有官方移植版可用**。

现在你已经了解了支持的平台，它们的安装是否容易？

**对于 Linux**，LibreOffice 在官方软件库中可用，并在软件中心和软件包管理器中列出。因此，你只需点击几下即可在 Linux 系统上安装它。

不幸的是，OpenOffice 的安装过程比较麻烦。它不在软件库中，软件中心中也找不到它。而且，如果你已经预先安装了 LibreOffice，则在尝试安装 OpenOffice 之前必须先删除任何痕迹（以避免安装冲突）。

你需要从其网站下载官方软件包（根据你的 Linux 发行版），然后解压缩，并使用一些命令来[在 Linux 上安装 OpenOffice](https://itsfoss.com/install-openoffice-ubuntu-linux/)。

**对于 Windows 和 macOS**，安装非常简单，你只需 [下载安装包](https://www.libreoffice.org/download/download/)，然后按照屏幕上的指示进行操作即可。

[LibreOffice 还提供了另一种方式](https://www.libreoffice.org/download/libreoffice-from-microsoft-and-mac-app-stores/) 可供获取（通过合作伙伴），即通过微软商店和 Mac 应用商店。不过，你需要支付费用。其中的一部分将捐赠给文档基金会，一部分用于 LibreOffice 的开发。

还要注意，由于 [Collabora Office](https://www.collaboraoffice.com/press-releases/collabora-office-ships-for-chromebooks/)，你也可以在 Chromebook 上使用 LibreOffice。

**总而言之，LibreOffice 提供了更好的平台可用性和更轻松的安装过程，这使得 OpenOffice 成为一个不太推荐的选择。**

### 用户体验

LibreOffice 提供了一个令人愉悦的用户界面，与现代标准相融合。LibreOffice 在大多数现代硬件上看起来都很好，不论你使用的是 2K 显示器还是 4K 显示器。

你可以从主启动器快速访问所有工具，这是一种良好的体验。Writer、Calc 和其他程序提供了一个易于使用且看起来井然有序的界面。

Apache OpenOffice 提供的是一个过时的用户界面。因此，如果你正在寻找一个现代化的开源办公套件，LibreOffice 是首选。

当然，一些用户喜欢经典的用户界面，因为他们对此很熟悉，并且在旧硬件上的使用受到限制。

换句话说，OpenOffice 仍然可用，但对于大多数现代用户来说可能不是一种直观的体验。

如果你仔细比较用户界面元素，这将取决于你阅读本文时可用的最新版本。因此，我们避免进行具体的视觉比较。

### 特点

强大的功能集的需求取决于你处理的文件类型。

默认情况下，OpenOffice 和 LibreOffice 均提供以下程序：

* Math（科学公式）
* Writer（文档）
* Impress（演示文稿）
* Draw（绘图、流程图等）
* Calc（电子表格）
* Base（数据库）

无论你使用文字处理器（Writer）、电子表格（Calc）还是演示文稿（Impress），你都可以获得相同的标准功能。

然而，如果你处理需要访问**更多模板、函数、导入/导出选项和高级格式设置**的复杂文档，LibreOffice 会更优秀一些。

### 文件格式兼容性

OpenOffice 支持几乎与 LibreOffice 相同的文件扩展名。

但是，LibreOffice 还支持一些 OpenOffice 不支持的文件格式导出。

例如，你可以在 OpenOffice 中打开 **.DOCX** 文件，但无法保留文件扩展名保存/导出该文件。

你只能将其保存为 .odt/.doc./.ott 等几种类似的文件格式。

同样，你无法得到对 .xslx 和 .pptx 的支持，这些是通常用于电子表格和演示文稿的现代文件格式。

当然，如果你不依赖于这些文件格式，可以尝试使用 OpenOffice。然而，与使用较新文件格式的用户进行协作时，你将遇到可能影响你工作的兼容性/格式设置问题。

考虑到 OpenOffice 缺乏许多功能，依赖它来访问较新的文件格式可能不明智；由于不良的兼容性，你可能会丢失重要的细节。

### 更新

为了提高你使用该程序的效率并获得增强的性能、新功能和安全修复，建议选择定期获得更新的软件工具。

从技术上讲，两者都会定期获得更新。但是，OpenOffice 仅限于修复错误和进行小型更新。

LibreOffice 的开发活动更加活跃，频繁修复错误/进行小型更新，定期进行较大的升级，增加新功能和改善用户体验。

难怪 [LibreOffice 给 Apache 写了一封公开信](https://itsfoss.com/libreoffice-letter-openoffice/)，请求停止开发 OpenOffice 并将这些资源转用于帮助 LibreOffice 的开发。

### 企业支持和在线协作选项

有了 [Collabora Office](https://www.collaboraoffice.com/)，你可以获得企业支持，并能够在工作场所使用 LibreOffice。通过 [Collabora Online](https://www.collaboraoffice.com/collabora-online/)，你还可以在服务器上部署 LibreOffice 以实现协作工作空间。

遗憾的是，Apache OpenOffice 没有任何企业支持选项。因此，如果有的话，它最适合家庭用户使用。

### 许可

对于使用这些程序并无任何许可问题，也不会阻止或使你不愿使用它们。然而，这些信息对于项目的贡献者可能会有所帮助。

LibreOffice 使用 Mozilla Public License v2.0 许可证，而 Apache OpenOffice 则使用 Apache License 2.0 许可证。

### LibreOffice vs. OpenOffice：应该选择哪个？

基于现代设计、更多功能和对较新文件格式的支持，LibreOffice 是一个易于推荐的选择。

OpenOffice 可以是适用于熟悉旧版办公套件界面，且希望在 32 位系统中无障碍运行的用户的解决方案。在 LibreOffice 由于某些原因无法正常工作的情况下，OpenOffice 应该作为备选方案。

我们可以告诉你选择取决于个人喜好，但如果你经常处理文档，如果我不说 LibreOffice 是更好的选择，那么我显然不够诚恳。

*（题图：MJ/52f9aa1b-3529-492a-a5fb-7b24b62e2e8a）*

---

via: <https://itsfoss.com/libreoffice-vs-openoffice/>

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

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


在 Linux Mint 中安装 KDE Plasma 桌面环境

直接安装Kubuntu不违法的

原作者忽略了一点：kde-full安装的是全家桶，会捆绑很多一般用户未必用得上的软件，比如各种游戏（kdegames宏包）、教育软件（kdeedu宏包），有时真的很占用磁盘空间

建议先安装基本桌面和Dolphin、Konsole这类基础组件，再安装你想要的KDE软件。当然如果你真的想体验全套KDE软件，而且磁盘空间足够，也可以选kde-full

# 在 Linux Mint 中安装 KDE Plasma 桌面环境

>
> 下面介绍如何在 Linux Mint 中安装 KDE Plasma 桌面环境，并进行了一些微调。
>
>
>

[Linux Mint](https://www.debugpoint.com/linux-mint) 是最流行的和用户友好的 Linux 发行版，以其易用性和稳定性而闻名。虽然 Linux Mint 中默认的 Cinnamon 桌面环境提供了友好愉快的体验，但也有一些用户可能想要探索其它的桌面环境，以进一步定制自己的 Linux 体验。KDE Plasma 是另一个著名的桌面环境，提供了一种现代化的特色功能丰富的界面。

然而，Linux Mint 从未正式提供过 KDE Plasma 。但是这里有一种在 Linux Mint 基础之上安装 KDE Plasma 桌面环境的方法。让我们一起尝试一下。

>
> **注意**: 不要在你的有重要数据的稳定系统中尝试这些步骤。有风险。
>
>
>

### 在 Linux Mint 中安装 KDE Plasma 桌面环境

在 Linux Mint 发行版中，有三种主要组件来安装 KDE Plasma 桌面环境。它们是 `kde-full`、`kde-standard` 和 `kde-plasma-desktop` 。

[kde-full](https://packages.ubuntu.com/kinetic/kde-full) 软件包集包含完整的 KDE Plasma 桌面环境。kde-standard 是最小的版本，kde-plasma-desktop 仅是桌面环境。

如果你将要尝试安装 KDE Plasma 桌面环境，我将建议安装 kde-full 软件包。

首先，打开一个终端，确保你的 Linux Mint 版本是已更新的。确保你执行了一次重新启动。

```
sudo apt update && sudo apt upgrade -y

```

```
reboot

```

其次，在终端中，运行下面的命令来安装完整的 KDE 软件包。由于 Linux Mint 是基于 Ubuntu LTS 版本的，所以，你应该会获取基于当前正在持续更新的 Kubuntu LTS Plasma 版本的 KDE Plasma 版本。

```
sudo apt install kde-full

```

完整的下载体积有点大。针对当前的 Linux Mint 版本，它大约是 1.5 GB ，整个安装过程可能需要 20 分钟。

在安装过程中，你需要选择显示管理器，因为 KDE Plasma 使用 SDDM 。出现提示时，在下面的屏幕中选择 SDDM 。

在安装完成后，你需要在 SDDM 配置文件中修改其中一个备选项以阻止在登录过程中弹出一个空的联机键盘。为此，使用 nano 或任意一个编辑器来打开下面的文件。

```
sudo nano /etc/sddm.conf

```

接下来，添加下面的行。保存并退出。

```
[General]InputMethod=

```

最后，重新启动系统。

```
reboot

```

在登录期间，你应该会看到 SDDM 登录窗口，而不是 Linux Mint 的原来的登录提示窗口。在窗口顶部，选择 “Plasma” 会话并登录。

### 移除 Cinnamon 、Xfce 或 MATE

在 KDE Plasma 安装后，你可以移除 Cinnamon 、Xfce 或 MATE 桌面环境组件。如果你看到你的 KDE Plasma 工作的很好，那么移除是安全的。使用下面的命令来移除它们，最后使用命令 `reboot` 来重新启动。

```
sudo apt purge cinnamon

```

```
sudo apt purge mate-desktop

```

```
sudo apt purge
    xfce4-session
    xfwm4
    xfdesktop4
    xfconf
    xfce4-utils
    exo-utils
    xfce4-panel
    xfce4-terminal
    thunar

```

### 几点注意事项

* 你可能会发现：相比于 Cinnamon 桌面环境，KDE Plasma 的运行性能有一点慢，这是很明显的。
* Linux Mint 的壁纸、主题、图标和光标文件可能会保留在系统中。如果你想的话，你可以移除它们。
* Mint Plymouth 动画应该也会保留，你可以手动移除它。
* 如果你在一个虚拟机中的系统中使用上述步骤，在从待机状态唤醒时，SDDM 可能会崩溃。

### 总结

热烈庆贺！你已经在你的 Linux Mint 系统上成功的安装 Plasma 桌面环境。通过执行这些步骤，你现在可以访问一个功能丰富的、视觉震撼的、可高度自定义的桌面环境。请谨慎使用！

*（题图：MJ/8944ad54-b64c-4761-b848-801215c63b56）*

---

via: <https://www.debugpoint.com/kde-plasma-linux-mint/>

作者：[Arindam](https://www.debugpoint.com/author/admin1/) 选题：[lkxed](https://github.com/lkxed/) 译者：[robsean](https://github.com/robsean) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1089 ChatGPT 的数学成绩更差了

Summary:
? ChatGPT 的数学成绩更差了
? 中国论文数高居第一背后可能的原因
? CNET 删除旧文以改进搜索排名
»
»

数学只有对与错，AI训练时这部分要求不严格，结果就悲剧了。

数学这块应该还是要靠code interpreter这类执行代码的插件解决。

# 硬核观察 #1089 ChatGPT 的数学成绩更差了

### ChatGPT 的数学成绩更差了

研究人员给聊天机器人布置了一项基本任务：识别某个数字是否是质数。这种数学问题对人来说很复杂，但对电脑来说却很简单。研究人员向 ChatGPT 输送了 1000 个不同的数字。三月份，GPT-4 能正确识别 84% 的数字是否为质数。（坦率地说，对于一台计算机来说，这样的表现非常一般。）到了六月份，它的成功率下降到了 51%。在 8 项不同的任务中，GPT-4 有 6 项变得更糟。这种退化是人工智能开发人员所熟知的漂移现象的一个例子，即试图改进极其复杂的人工智能模型的一部分，却使模型的其他部分表现更差。

>
> **[消息来源：华尔街日报](https://www.wsj.com/articles/chatgpt-openai-math-artificial-intelligence-8aba83f0)**
>
>
>

>
> 老王点评：GPT 这种人工智能的“思考”方式和我们人类是不同的，或许以后人工智能变聪明的方式是让它自己调整自己。
>
>
>

### 中国论文数高居第一背后可能的原因

日本文部科学省发布的最新排名显示，中国发表论文数[再次](/article-14920-1.html)高居第一，连续两年保持“三冠王”地位。中国的论文总数的全球份额为 24.6%，与第 2 位的美国相比高出 8.5 个百分点。引用数排名前 10% 的“受关注论文”的份额为 28.9%，排名前 1% 的“顶尖论文”的份额为 29.3%，均拉大了与美国的差距。有观点指出，中国的排名上升是因为本国研究人员相互引用了彼此的论文。这一比例美国为 29%，日本为 19%，而中国达到了 61%。值得注意的是，中国论文在英国《自然》和美国《科学》的论文数占比，中国仅为近 2 成，仍远低于美国的约 7 成，排名在英国和德国之后。

>
> **[消息来源：日经社](https://cn.nikkei.com/china/ceconomy/53177-2023-08-09-09-17-37.html)**
>
>
>

>
> 老王点评：要客观认识中国在科技方面的进步。
>
>
>

### CNET 删除旧文以改进搜索排名

科技新闻网站 CNET 从 7 月开始删除了数千篇文章，它在内部备忘录中称，此举以向谷歌展示其内容 “新鲜、相关，值得在搜索结果中排名高于竞争对手”。CNET 称，“在理想的情况下，我们会将所有内容永久保留在网站上。不幸的是，我们受到了现代互联网的惩罚”。CNET 表示，他们会根据“页面浏览量、反向链接以及自上次更新时间等”来删除“没有为有意义的受众提供服务”的页面。但谷歌建议不要采用这种做法，表示不会因为删除过时的文章而提升整个网站的印象。

>
> **[消息来源：Gizmodo](https://gizmodo.com/cnet-deletes-thousands-old-articles-google-search-seo-1850721475)**
>
>
>

>
> 老王点评：虽然谷歌是这样说的，但是 CNET 这样做想必是有数据支撑的。无论如何，删除旧页面才能提升网站排名，我认为事情本不应该是这样的。
>
>
>


了解 Ubuntu 的软件存储库系统

# 了解 Ubuntu 的软件存储库系统

>
> 了解 Ubuntu 软件仓库系统的基本机制，更好地处理软件包管理问题，避免常见的更新错误。
>
>
>

当你开始使用 Ubuntu 或者其它基于 Ubuntu 的发行版时，你很快就会学会使用 `apt` 命令安装软件包：

```
sudo apt install package_name

```

你可能还会使用这三条 PPA 命令安装其它软件：

```
sudo add-apt-repository ppa:PPA_Name/ppa
sudo apt update
sudo apt install package_from_ppa

```

但当你添加一些外部的软件存储库时，很可能会遇到一些更新错误。

尽管你可以在互联网上搜索到同样的报错以及对应的解决方案，*但在大多数情况下，你并不知道这些错误为什么会出现，也不知道它们是怎么被解决的。*

**如果你了解了 Ubuntu 软件存储库的运行机制，你就会很清楚这些问题的根源是什么**，进而对症下药地给出处理方式。

在技术论坛上，你可以找到很多相关的零散内容，但那些碎片化的信息并不能让你对其产生一个全面的理解。

因此我写出了这篇文章，以便让你全面了解软件存储库是如何运作的。

本文的内容适用于 Linux Mint、Elementary OS 以及其它基于 Ubuntu 的发行版（Debian 或许也适用）。

>
> 本文主要面向终端用户而不是开发者，我只会介绍维护系统软件存储库所需要的知识，不会展示如何在 Ubuntu 中打包应用程序。
>
>
>

我们会先从关键部分开始，了解软件包管理器和软件存储库的基本概念。这可以为了解它们的底层运作方式奠定基础。

### 1、什么是包管理器？

简单地说，包管理器就是让用户在操作系统上安装、移除、升级、配置、管理软件包的工具。

Ubuntu 通过软件存储库为用户提供软件。软件存储库中包含了各种不同类型的软件包以及它们的元数据文件，元数据文件中记录了软件包的信息，包括软件包名称、版本号、软件包描述和软件存储库名称等。

软件包管理器与元数据进行交互，并在你的系统上创建本地的元数据缓存。当你需要安装软件时，软件包管理器会引用这些缓存来获取信息，通过互联网连接到对应的存储库下载软件包，然后再将软件包安装到系统上。

下面这篇文章详细介绍了软件包管理器的工作原理，欢迎查阅。

>
> **[Linux 上的软件包管理器](https://itsfoss.com/package-manager/)**
>
>
>

### 2、Ubuntu 的默认软件存储库

在上一节中，你可能已经对软件存储库有了一些认识。

你可能已经猜到，没有哪个软件存储库会包含所有软件包。因为软件包会被分类放置在不同的软件存储库中，这样就可以方便地启用或禁用部分软件存储库。

每个 Ubuntu 版本都有自己的一组四个官方存储库：

* **Main** – Canonical 支持的自由开源软件
* **Universe** – 社区维护的自由开源软件
* **Restricted** – 设备的专有驱动程序
* **Multiverse** – 受版权或法律问题限制的软件

下面这篇文章介绍了如何在 Ubuntu 中启用 Universe 和 Multiverse 软件存储库。

>
> **[如何启用 Universe 和 Multiverse 软件存储库](https://itsfoss.com/ubuntu-repositories/)**
>
>
>

### 3、了解 sources.list

`sources.list` 是 Ubuntu 软件存储库机制的一个组成部分。`sources.list` 文件中存在的错误条目常常是引发一些与更新问题的根本原因。

因此，了解 `sources.list` 很重要。

`sources.list` 是一个记录了软件存储库信息的文本文件，每一行未被注释的内容都代表一个单独的软件存储库。

但这些内容需要遵循特定的格式，并且不应出现重复的行。下面这篇文章中介绍了 `sources.list` 的更多详细内容。

>
> **[sources.list 的用法](https://itsfoss.com/sources-list-ubuntu/)**
>
>
>

### 4、深入了解 PPA

尽管 Ubuntu 最近在大力推广 Snap，但 PPA 仍然是获取 Ubuntu 最新软件的一个可靠途径。

然而很多 Ubuntu 用户都只是刻板地直接运行上面的三条命令来使用 PPA，自然很容易会遇到诸如“repository does not have release file”这样的问题。

下面这篇文章是一篇深入详尽的 PPA 指南。

>
> **[PPA 详尽指南](https://itsfoss.com/ppa-guide/)**
>
>
>

### 5、添加外部软件存储库

除了默认软件存储库和 PPA，你还可以从第三方软件存储库中添加软件。比如 Brave 浏览器、Docker 等软件都专门为 Ubuntu 提供了软件存储库。

你可以通过下面这篇文章了解使用外部软件存储库的机制。

>
> **[通过外部存储库安装软件](https://itsfoss.com/adding-external-repositories-ubuntu/)**
>
>
>

### 6、排查常见错误

现在你已经了解了底层机制，现在可以熟悉一下在使用 Ubuntu 时可能遇到的典型更新错误了。

当你看到出现错误之后，你会得到一些关于它的根本原因的提示。在了解根本原因后，你就能知道某个解决方案是如何解决问题的了。

这就是本文的目的。让你充分了解软件包管理系统的底层知识，从而避免常见错误或者直接有效修复这些错误。

**你不仅要知其然，还要知其所以然。**

#### 下载软件存储库信息失败

如果遇到了这种情况，就可以开始调查了。

在某些情况下，可能是网络连接的问题，但也有可能是因为你自行添加了某些软件存储库，或者 `sources.list` 中的条目有误。

这个时候应该在终端中尝试刷新软件包缓存。

```
sudo apt update

```

检查输出结果的最后几行，它会给出错误信息（也就是以 “E:” 开头的行）。有了错误信息之后，就可以开始故障排除了。

#### 软件存储库中没有发布文件

如果 Ubuntu 用户未检查某个 PPA 是否支持其 Ubuntu 版本，就盲目向系统中添加该 PPA 时，就很可能会遇到这样的错误。

```
E: The repository ‘http://ppa.launchpad.net/numix/ppa/ubuntu focal Release’ does not have a Release file.

```

原因很可能就是这个软件存储库没有针对所使用的 Ubuntu 版本进行配置。

下面这篇文章对此做了详细解释。

>
> **[软件存储库中没有发布文件](https://itsfoss.com/repository-does-not-have-release-file-error-ubuntu/)**
>
>
>

#### MergeList 问题

如果你看到这样的错误：

```
E:Encountered a section with no Package: header,
E:Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise_universe_binary-i386_Packages,
E:The package lists or status file could not be parsed or opened.

```

这表明第二行中提到的缓存文件已经损坏。对应的解决方法是清空缓存并重试。

下面这篇文章对此做了详细解释。

>
> **[MergeList 问题](https://itsfoss.com/how-to-fix-problem-with-mergelist/)**
>
>
>

#### 目标软件包被多次配置

好吧！严格来说，这不是一个错误。它只是一个警告。但它仍然很常见，可能会给许多 Ubuntu 新用户带来麻烦。

这是一个能让你把新学到的知识用在这里的好例子。

出现这个问题是因为 `sources.list` 文件中有重复的条目。解决办法是将所有重复的行删除至只保留一行。

下面这篇文章对此做了详细解释。

>
> **[目标软件包被多次配置](https://itsfoss.com/fixing-target-packages-configured-multiple-times/)**
>
>
>

### 7、继续学习

在读完这篇文章后，希望你对 Ubuntu 的软件存储库机制能有更深入的了解。下一次当你遇到错误并寻找解决方案时，你就更有可能理解发生了什么。

接下来，你应该学会使用 `apt` 的各种命令管理软件包，不仅仅只是 `apt install` 或 `apt remove`。

>
> **[apt 命令详尽指南](https://itsfoss.com/apt-command-guide/)**
>
>
>

你还可以详细了解一下关于软件包管理的其它知识。

>
> **[完全指南：在 Ubuntu 安装和删除软件](https://itsfoss.com/remove-install-software-ubuntu/)**
>
>
>

由于 Ubuntu 比以往任何时候都更推崇 Snap，所以你也应该学习一些必要的 Snap 命令。

>
> **[完全指南：在 Ubuntu 上使用 Snap 安装包](https://itsfoss.com/use-snap-packages-ubuntu-16-04/)**
>
>
>

Flatpak 应用程序也越来越受欢迎，你也很可能会接触到它们。

>
> **[在 Ubuntu 上安装和使用 Flatpak](https://itsfoss.com/flatpak-ubuntu/)**
>
>
>

希望你喜欢学习软件存储库的机制，并对软件包管理有更清晰的认识。欢迎在评论区分享你的想法。

*（题图：MJ/6878226c-f6b0-40e7-aae7-d64932b36464）*

---

via: <https://itsfoss.com/ubuntu-repository-mechanism/>

作者：[Abhishek Prakash](https://itsfoss.com/author/abhishek/) 选题：[lkxed](https://github.com/lkxed/) 译者：[HankChow](https://github.com/HankChow) 校对：[wxy](https://github.com/wxy)

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


Bash 基础知识系列 #7：If Else 语句

# Bash 基础知识系列 #7：If Else 语句

>
> 如果这样，那就那样，否则就……。还不明白吗？了解了 Bash Shell 脚本中的 if-else 语句后就明白了。
>
>
>

Bash 支持 if-else 语句，以便你可以在 shell 脚本中使用逻辑推理。

通用的 if-else 语法如下：

```
if [ expression ]; then

  ## 如果条件为真则执行此块，否则转到下一个

elif [ expression ]; then

  ## 如果条件为真则执行此块，否则转到下一个

else

  ## 如果以上条件都不成立，则执行此块

fi

```

正如你所注意到的：

* `elif` 用于 “否则如果” 类型的条件。
* if-else 条件始终以 `fi` 结尾。
* 使用分号 `;` 和 `then` 关键字

在展示 if 和 else-if 的示例之前，我先分享一下常见的比较表达式（也称为测试条件）。

### 测试条件

以下是可用于数字比较的测试条件运算符：

| 条件 | 当满足以下条件时为真 |
| --- | --- |
| `$a -lt $b` | `$a < $b`（`$a` **小于** `$b`） |
| `$a -gt $b` | `$a > $b`（`$a` **大于** `$b`） |
| `$a -le $b` | `$a <= $b`（`$a` **小于等于** `$b` ） |
| `$a -ge $b` | `$a >= $b` （`$a` **大于等于** `$b`） |
| `$a -eq $b` | `$a == $b` |
| `$a -ne $b` | `$a != $b` |

如果你要比较字符串，可以使用以下测试条件：

| 条件 | 当满足以下条件时为真 |
| --- | --- |
| `"$a" = "$b"` | `$a` 与 `$b` 相同 |
| `"$a" == "$b"` | `$a` 与 `$b` 相同 |
| `"$a" != "$b"` | `$a` 与 `$b` 不同 |
| `-z "$a"` | `$a` 为空字符串 |

文件类型检查也有条件：

| 条件 | 当满足以下条件时为真 |
| --- | --- |
| `-f $a` | `$a` 是一个文件 |
| `-d $a` | `$a` 是一个目录 |
| `-L $a` | `$a` 是一个链接 |

现在你已经了解了各种比较表达式，让我们在各种示例中看看它们的实际应用。

### 在 Bash 中使用 if 语句

让我们创建一个脚本来告诉你给定的数字是否为偶数。

这是我的脚本，名为 `even.sh`：

```
#!/bin/bash

read -p "Enter the number: " num

mod=$(($num%2))

if [ $mod -eq 0 ]; then
	echo "Number $num is even"
fi

```

当模数运算（`%`）整除给定数字（本例中为 2）时，它返回零。

>
> ? 特别注意空格。左括号和右括号与条件之间必须有空格。同样，条件运算符（-le、== 等）前后必须有空格。
>
>
>

这是我运行脚本时显示的内容：

你是否注意到，当数字为偶数时，脚本会告诉你，但当数字为奇数时，脚本不会显示任何内容？ 让我们使用 else 来改进这个脚本。

### 使用 if else 语句

现在我在前面的脚本中添加了一条 `else` 语句。这样，当你得到一个非零模数（因为奇数不能除以 2）时，它将进入 `else` 块。

```
#!/bin/bash

read -p "Enter the number: " num

mod=$(($num%2))

if [ $mod -eq 0 ]; then
	echo "Number $num is even"
else
	echo "Number $num is odd"
fi

```

让我们用相同的数字再次运行它：

正如你所看到的，该脚本更好，因为它还告诉你该数字是否为奇数。

### 使用 elif（否则如果）语句

这是一个检查给定数字是正数还是负数的脚本。在数学中，0 既不是正数也不是负数。该脚本也检查了这一事实。

```
#!/bin/bash

read -p "Enter the number: " num

if [ $num -lt 0 ]; then
	echo "Number $num is negative"
elif [ $num -gt 0 ]; then
	echo "Number $num is positive"
else
	echo "Number $num is zero"
fi

```

让我运行它来涵盖这里的所有三种情况：

### 用逻辑运算符组合多个条件

到目前为止，一切都很好。但是你是否知道通过使用与（&&）、或（||）等逻辑运算符可以在一个条件中包含多个条件？ 它使你能够编写复杂的条件。

让我们编写一个脚本来告诉你给定的年份是否是闰年。

你还记得闰年的条件吗？ 它应该被 4 整除，但如果它能被 100 整除，那么它就不是闰年。但是，如果能被 400 整除，则为闰年。

这是我的脚本。

```
#!/bin/bash

read -p "Enter the year: " year

if [[ ($(($year%4)) -eq 0 && $(($year%100)) != 0) || ($(($year%400)) -eq 0) ]]; then
	echo "Year $year is leap year"
else
	echo "Year $year is normal year"
fi

```

>
> ? 注意上面双括号 `[[ ]]` 的使用。如果你使用逻辑运算符，则这是强制性的。
>
>
>

通过使用不同的数据运行脚本来验证脚本：

### ? 练习时间

让我们做一些练习吧 ?

**练习 1**：编写一个 Bash Shell 脚本，检查作为参数提供给它的字符串的长度。如果未提供参数，它将打印 “empty string”。

**练习 2**：编写一个 Shell 脚本来检查给定文件是否存在。你可以提供完整的文件路径作为参数或直接在脚本中使用它。

**提示**：文件使用 -f 选项

**练习 3**：通过检查给定文件是否是常规文件、目录或链接或者是否不存在来增强之前的脚本。

**提示**：使用 -f、-d 和 -L

**练习 3**：编写一个接受两个字符串参数的脚本。脚本应检查第一个字符串是否包含第二个参数的子串。

**提示**：请参阅上一章 [Bash 字符串](https://itsfoss.com/bash-strings/)

我希望你喜欢 Bash 基础知识系列。在下一章中，你将了解如何在 Bash 中使用循环。继续编写 Bash！

*（题图：MJ/1e8f2f5c-9e47-4c84-b8c1-072808e9cf70）*

---

via: <https://itsfoss.com/bash-if-else/>

作者：[Abhishek Prakash](https://itsfoss.com/author/abhishek/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1090 甲骨文、SUSE 等“抱团”制作兼容版企业 Linux

Summary:
? 甲骨文、SUSE 等“抱团”制作兼容版企业 Linux
? 中国互联网巨头订购了 50 亿美元的英伟达 GPU
? 机器人比人类更擅长破解验证码
»
»

明明有Debian，还非要去兼容 RHEL……

服务器市场RHEL系用太多了

# 硬核观察 #1090 甲骨文、SUSE 等“抱团”制作兼容版企业 Linux

### 甲骨文、SUSE 等“抱团”制作兼容版企业 Linux

在红帽限制了对 RHEL 源代码的访问后，Rocky Linux、AlmaLinux，以及 Oracle Linux 等 RHEL 下游发行版纷纷做出了反应。现在，由 SUSE、Oracle 和支持 Rocky Linux 企业 CIQ 等发起成立了一家非营利组织“开源企业 Linux 协会”（OpenELA）。OpenELA 的目标是“通过提供开放和免费的企业 Linux 源代码，促进与 RHEL 兼容的发行版的开发。”CIQ CEO 认为，这一宣布标志着企业级 Linux 新时代的开始。OpenELA 将只提供源代码。它不会制作自己的二进制发行版，其成员和任何想尝试的人都可以根据代码创建自己的企业 Linux 发行版。OpenELA 将在年底前提供实现 1:1 兼容版企业 Linux 所需的所有源代码、安全勘误数据、兼容性指南和构建工具包等。该项目最初的重点是 RHEL 版本 8、9 和可能的 EL7，致力于无限期地确保 OpenELA 源对社区的持续可用性。

>
> **[消息来源：ZDNet](https://www.zdnet.com/article/oracle-suse-and-ciq-go-after-red-hat-with-the-open-enterprise-linux-association/)**
>
>
>

>
> 老王点评：这就是“强行”兼容了，但我更希望见到一个逐渐独立于 RHEL 的开放的企业 Linux 家族。遗憾的是，在红帽封闭源代码的整个事件中，我们没有看到国内的几家企业 Linux 厂商和社区有过任何发声和动作。
>
>
>

### 中国互联网巨头订购了 50 亿美元的英伟达 GPU

据报道，百度、字节跳动、腾讯和阿里巴巴等今年从英伟达订购了价值 10 亿美元，约 10 万张 A800 数据中心 GPU，此外，他们额外加购的 40 亿美元的英伟达 GPU 将在明年交付。在美国要求英伟达停止向中国出口其两款用于人工智能的顶级计算芯片后，它在中国提供 A800 处理器以满足出口管制规定。A800 是弱化版的 A100 GPU，降低了数据传输率，这最终将影响人工智能的训练和效率。

>
> **[消息来源：路透社](https://www.reuters.com/technology/chinas-internet-giants-order-5-bln-nvidia-chips-power-ai-ambitions-ft-2023-08-09/)**
>
>
>

>
> 老王点评：现在英伟达 GPU 简直就是硬通货啊。
>
>
>

### 机器人比人类更擅长破解验证码

一项新的综合研究对 100 多个流行网站部署的安全系统进行了检查，他们邀请了 1000 名来自不同背景的在线参与者，在这些网站上进行了 10 次验证码测试，并对其难度进行了评估。他们发现，科学杂志中描述的许多机器人在这些测试中的速度和准确性都能击败人类。一些验证码测试的人类参与者需要 9 到 15 秒才能破解，准确率约为 50% 到 84%，而机器人只需不到 1 秒钟就能破解，准确率大多数在 96% 以上。

>
> **[消息来源：Independent](https://www.independent.co.uk/tech/captcha-test-bots-better-humans-b2389998.html)**
>
>
>

>
> 老王点评：所以，验证码到底拦的是谁呢？
>
>
>


如何在命令行上舒适地生存？

Summary: 如果在过去一到三年内，你刚刚不再害怕使用命令行了，是什么帮助了你？

如果在过去一到三年内，你刚刚不再害怕使用命令行了，是什么帮助了你？

# 如何在命令行上舒适地生存？

有时我与一些害怕使用命令行的朋友交谈，我感到自己给不出好的建议（我已经使用命令行太长时间了），因此我向一些 [Mastodon](https://social.jvns.ca/@b0rk/110842645317766338) 上的人提出了以下问题：

>
> 如果在过去一到三年内，你刚刚不再害怕使用命令行了，是什么帮助了你？
>
>
> （如果你不记得，或者你已经使用命令行舒适地工作了 15 年，则无需回答——这个问题不适用于你 ?）
>
>
>

这个列表还不如我希望的那么长，但我希望通过发布它来收集更多的答案。显然，并没有一个单一的方法适用于所有人，不同的人会选择不同的路径。

我认为舒适使用命令行有三个方面：**减少风险**、**动机**和**资源**。我将先谈谈减少风险，然后是一些动机，并列出一些资源。

### 减少风险的方式

很多人（没错！）对在命令行上意外执行了一些无法撤销的破坏性操作感到担心。

以下是一些人们提到的帮助他们减少风险的策略：

* 定期备份（有人提到他们在上周的一个命令行错误中意外删除了整个家目录，但很幸运他们有备份）。
* 对于代码，尽可能多地使用 `git`。
* 将 `rm` 设置为类似 `safe-rm` 或 `rmtrash` 这样的工具的别名，这样你就不会意外删除不应删除的内容（或者就设置别名到 `rm -i`）。
* 尽量避免使用通配符，使用制表符键补全代替（我的 Shell 会使用 `TAB` 键补全 `rm *.txt` 并显示我将要删除的内容）。
* 使用精美的终端提示符，可以显示当前目录、计算机名称、`git` 分支和你是否具有 root 权限。
* 如果你计划对文件运行未经测试或危险的命令，先备份文件副本。
* 拥有一台专用的测试机器（如便宜的旧 Linux 计算机或树莓派）进行特别危险的测试，例如测试备份软件或分区。
* 对于危险命令，如果有的话，使用 `--dry-run` 选项来查看执行结果而不实际执行操作。
* 在你的 Shell 脚本中构建自己的 `--dry-run` 选项。

这些策略有助于降低在命令行上引发不可逆操作的风险。

### 杀手级应用程序

一些人提到了一个“杀手级命令行应用程序”，这激励他们开始花更多时间在命令行上。例如：

* [ripgrep](https://github.com/BurntSushi/ripgrep)
* jq
* wget / curl
* git（一些人发现他们更喜欢使用 git 命令行界面而不是使用图形界面）
* ffmpeg（用于视频处理）
* yt-dlp
* 硬盘数据恢复工具（来自 [这个精彩的故事](https://github.com/summeremacs/public/blob/main/20230629T180135--how-i-came-to-use-emacs-and-other-things__emacs_explanation_linux_origin_raspberrypi_story_terminal.org)）

还有一些人提到他们对图形界面工具感到失望（例如使用了所有内存，并使计算机崩溃的重型集成开发环境），并因此有动机用更轻量级的命令行工具替代它们。

### 激发人们的命令行技巧

有人提到被其他人在命令行上展示的酷炫功能所激励，例如：

* [命令行工具可以比你的 Hadoop 集群快 235 倍](https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html)
* [Gary Bernhardt 的这个“命令行链锯”演讲](https://www.youtube.com/watch?v=ZQnyApKysg4&feature=youtu.be)

### explainshell

有几个人提到了 [explainshell](https://explainshell.com/)，它可以让你粘贴任何命令行指令，并将其分解成不同的部分解释。

### 命令历史、制表符补全等等

有很多小技巧和窍门可以使在命令行上工作更容易，例如：

* 使用向上箭头查看先前的命令
* 使用 `Ctrl+R` 搜索你的 Bash 历史记录
* 使用快捷键在行内导航：`Ctrl+w` （删除一个单词）、`Ctrl+a`（跳转到行首）、`Ctrl+e`（跳转到行尾），以及 `Ctrl+left arrow` / `Ctrl+right arrow`（向前/向后跳转一个单词）
* 将 Bash 历史记录设置为无限制
* 使用 `cd -` 返回上一个目录
* 文件名和命令名的制表符自动补全
* 学习如何使用像 `less` 这样的分页工具阅读手册页或其他大型文本文件（如搜索、滚动等）
* 在 macOS 上使用 `pbcopy`/`pbpaste` 将剪贴板内容复制/粘贴到 stdout/stdin
* 在编辑配置文件之前备份它们

### fzf

很多人提到使用 [fzf](https://github.com/junegunn/fzf) 作为模糊搜索 Shell 历史记录的更好方法。除了作为更好的模糊搜索 Shell 历史记录的工具，人们还提到了一些其他用途：

* 选择 `git` 分支（`git checkout $(git for-each-ref --format='%(refname:short)' refs/heads/ | fzf)`）
* 快速查找要编辑的文件（`nvim $(fzf)`）
* 切换 Kubernetes 上下文（`kubectl config use-context $(kubectl config get-contexts -o name | fzf --height=10 --prompt="Kubernetes Context> ")`）
* 从测试套件中选择要运行的特定测试

一般的模式是使用 `fzf` 来选择某个对象（文件、`git` 分支、命令行参数），`fzf` 将所选对象输出到标准输出，然后将其插入作为另一个命令的命令行参数。

你还可以将 `fzf` 用作工具，自动预览输出并快速迭代，例如：

* 自动预览 `jq` 的输出（`echo '' | fzf --preview "jq {q} < YOURFILE.json"`）
* 自动预览 `sed` 的输出（`echo '' | fzf --preview "sed {q} YOURFILE"`）
* 自动预览 `awk` 的输出（`echo '' | fzf --preview "awk {q} YOURFILE"`）

你可以参考这个思路。

通常，人们会为 `fzf` 的使用定义别名，比如输入 `gcb` 或其他命令，以快速选择要检出的 `git` 分支。

### 树莓派

一些人开始使用树莓派，这样可以更安全地进行实验，而不必担心损坏计算机（只需擦除 SD 卡然后重新开始即可！）。

### 漂亮的 Shell 环境

很多人说，当他们开始使用像 [oh-my-zsh](https://ohmyz.sh/) 或 [Fish](https://fishshell.com/) 这样更用户友好的 Shell 环境时，他们在命令行上感到更舒适。我非常同意这一点 – 我已经使用 Fish 十年了，我非常喜欢它。

在这里还有一些其他的事情可以做：

* 有些人说，让他们的终端更漂亮可以帮助他们感到更舒适（“让它变成粉色！”）。
* 设置一个漂亮的 Shell 提示符来提供更多信息（例如，当命令失败时，可以将提示符设置为红色）。特别是 [transient prompts](https://www.reddit.com/r/zsh/comments/dsh1g3/new_powerlevel10k_feature_transient_prompt/)（在当前命令设置一个非常花哨的提示符，但在之前的命令中设置一个简单得多的提示符）看起来非常好。

一些用于美化终端的工具：

* 我使用 [base16-shell](https://github.com/chriskempson/base16-shell)
* [powerlevel10k](https://github.com/romkatv/powerlevel10k) 是一个流行的漂亮的 Zsh 主题，具有 transient prompts
* [starship](https://github.com/starship/starship) 是一个漂亮的提示符工具
* 在 Mac 上，我认为 [iTerm2](https://iterm2.com/) 比默认的终端更容易自定义。

### 漂亮的文件管理器

一些人提到了像 [ranger](https://github.com/ranger/ranger) 或 [nnn](https://github.com/jarun/nnn) 这样的漂亮的终端文件管理器，这是我之前没有听说过的。

### 一个有帮助的朋友或同事

一个可以回答初学者问题并给你指点的人是无价的。

### 通过肩并肩地观察学习

有人提到观察更有经验的人使用终端 - 有很多经验丰富的用户甚至没有意识到自己在做什么，你可以从中学到很多小技巧。

### 别名

很多人说，为常用任务创建自己的别名或脚本就像是一个神奇的“灵光一现”时刻，因为：

* 他们不必记住语法
* 然后他们就有了一份自己常用命令的列表，可以轻松调用

### 查找示例的备忘单

很多手册页没有示例，例如 [openssl s\_client](https://linux.die.net/man/1/s_client) 的手册页就没有示例。这使得起步变得更加困难！

人们提到了一些备忘单工具，比如：

* [tldr.sh](https://tldr.sh/)
* [cheat](https://github.com/cheat/cheat)（还可以进行编辑 - 你可以添加自己的命令以供以后参考）
* [um](http://ratfactor.com/cards/um)（一个非常精简的需要自己构建的系统）

例如，[openssl 的备忘单](https://github.com/cheat/cheatsheets/blob/master/openssl) 非常棒 - 我认为它几乎包含了我在实际中使用 `openssl` 时用过的所有内容（除了 `openssl s_client` 的 `-servername` 选项）。

有人说他们配置了他们的 `.bash_profile`，这样每次登录时都会打印出一张备忘单。

### 不要试图背诵

一些人说他们需要改变自己的方法 - 他们意识到不需要试图记住所有的命令，只需按需查找命令，随着时间的推移，他们会自然而然地记住最常用的命令。

（我最近对学习阅读 x86 汇编有了完全相同的体会 - 我正在上一门课程，讲师说“是的，刚开始时可以每次都查找，最终你会记住最常见的指令。”）

还有一些人说相反的观点 - 他们使用间隔重复应用程序（如 Anki）来记忆常用的命令。

### Vim

有人提到他们开始在命令行上使用 Vim 编辑文件，一旦他们开始使用终端文本编辑器，使用命令行处理其他事情也变得更自然。

此外，显然有一个名为 [micro](https://micro-editor.github.io/) 的新编辑器，像是更好的 `pico`/`nano`，适用于那些不想学习 Emacs 或 Vim 的人。

### 桌面上使用 Linux

有人说他们开始使用 Linux 作为他们的日常主力系统，而需要修复 Linux 问题可以帮助他们学习。这也是我在大约 2004 年熟悉命令行的方式（我非常喜欢安装各种不同的 Linux 发行版，以找到我最喜欢的那个），但我猜这不是如今最受欢迎的策略。

### 被迫仅使用终端

有些人说他们参加了一门大学课程，教授让他们在终端上做所有事情，或者他们自己制定了一个规则，一段时间内必须在终端上完成所有工作。

### 工作坊

有几个人说像 [Software Carpentry](https://software-carpentry.org/) 这样的工作坊（面向科学家的命令行、Git 和 Python/R 编程简介）帮助他们更熟悉命令行。

你可以在这里查看 [Software Carpentry 课程](https://software-carpentry.org/lessons/)。

### 书籍和文章

一些提到的材料：

文章：

* 《[终端](https://furbo.org/2014/09/03/the-terminal/)》
* 《[命令行功夫](http://blog.commandlinekungfu.com/)》（包含 UNIX 和 Windows 命令行技巧）

书籍：

* 《[Effective Linux at The Command Line](https://www.oreilly.com/library/view/efficient-linux-at/9781098113391/)》
* 《Unix Power Tools》（可能有些过时）
* 《The Linux Pocket guide》

视频：

* Mindy Preston 的 [CLI tools aren’t inherently user-hostile](https://www.youtube.com/watch?v=IcV9TVb-vF4)
* Gary Bernhardt 的 [destroy all software screencasts](https://www.destroyallsoftware.com/screencasts)
* [DistroTube](https://www.youtube.com/@DistroTube)

*（题图：MJ/c0dc082a-a477-434b-b826-77a42c8f61c3）*

---

via: <https://jvns.ca/blog/2023/08/08/what-helps-people-get-comfortable-on-the-command-line-/>

作者：[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 中使用 cp 命令

Summary: 熟悉在 Linux 命令行中复制文件和目录的 cp 命令。

还能用于写入U盘启动镜像

熟悉在 Linux 命令行中复制文件和目录的 cp 命令。

# 在 Linux 中使用 cp 命令

>
> 熟悉在 Linux 命令行中复制文件和目录的 cp 命令。
>
>
>

`cp` 命令是 Linux 中一个重要的命令，你可能经常会用到它。

正如名称所示，`cp` 代表 <ruby> 复制 <rt>  copy </rt></ruby>，它被用于 [在 Linux 命令行中复制文件和目录](https://itsfoss.com/copy-files-directory-linux/)。

这是一个相对简单的命令，只有几个选项，但你仍有必要深入了解它。

在展示 `cp` 命令的实际示例之前，我更建议你先熟悉绝对路径和相对路径的概念，将文件从一个位置复制到另一个位置时，你需要用到它们。

>
> [Linux 中的绝对路径和相对路径的不同之处](https://linuxhandbook.com/absolute-vs-relative-path/)
>
>
>

### 复制单个文件

`cp` 命令最简单和最常见的用途是复制文件，只需指定源文件和要“粘贴”文件的目标目录即可。

```
cp 源文件 目标目录

```

### 在复制文件的同时重命名它

你将文件复制到另一个位置时可以同时进行 [重命名](https://learnubuntu.com:443/rename-files/)。这有点类似于文本编辑器中的“另存为”选项。

为此，你必须在路径中给出新的文件名。

```
cp 源文件 目标目录/新文件名

```

### 复制多个文件

你还可以将多个文件复制到另一个位置。

```
cp 文件1 文件2 文件3 目标目录

```

在这种情况下，你无法重命名文件。

你还可以使用通配符扩展，将特定后缀的文件复制到另一个位置：

```
cp *.txt 目标目录

```

### 复制文件时避免覆盖现有文件

如果你将 `file1.txt` 复制到一个已经存在名为 `file1.txt` 文件的目录中，它会将原有的文件覆盖掉。

如果你不希望这样，`cp` 命令还提供了几个选项来处理文件覆盖的情况。

首先是使用选项 `-i` 的交互模式。在交互模式下，它会询问是否确认或放弃覆盖目标文件。

```
cp -i 源文件 目标目录
cp：覆盖 '目标目录/源文件' ？

```

按 `Y` 覆盖文件，按 `N` 跳过复制该文件。

选项 `-n` 代表完全取消覆盖。使用此选项时目标文件不会被覆盖。

```
cp -n 源文件 目标目录

```

还有一个选项 `-b`，在目标目录的文件将被覆盖时自动为其创建备份。我猜这里 `b` 代表 <ruby> 备份 <rt>  backup </rt></ruby>。

```
cp -b 源文件 目标目录

```

最后，还有一个“<ruby> 更新 <rt>  update </rt></ruby>”选项 `-u`，如果目标文件比源文件旧，或者目标文件不存在，就会被覆盖掉。

```
cp -u 源文件 目标目录

```

### 复制目录（文件夹）

cp 命令也用来[在 Linux 命令行中复制目录](https://linuxhandbook.com:443/copy-directory-linux/)。

在复制目录时，你需要使用递归选项 `-r`。

```
cp -r 源目录 目标目录

```

你还可以将多个目录复制到另一个位置：

```
cp -r 目录1 目录2 目录3 目标目录

```

### 在复制时保留属性

当你将文件复制到另一个位置时，它的 [时间戳](https://linuxhandbook.com:443/file-timestamps/)、[文件权限](https://linuxhandbook.com:443/linux-file-permissions/) 甚至所有权都会发生变化。

这是正常的行为。但在某些情况下，你可能希望在复制文件时保留其原始属性。

要保留属性，请使用选项 `-p`：

```
cp -p 源文件 目标目录

```

>
> ? 还有一个 `-a` 选项用于存档模式。它将连 ACL 也保留下来。
>
>
>

### ? 练习时间

想要练习一下 `cp` 命令吗？以下是一些简单的练习题供你尝试。

* 打开终端并创建一个名为 `practice_cp` 的目录。
* 现在，将 `/etc/services` 文件复制到这个新创建的目录中。
* 在 `practice` 目录中对复制的 `services` 文件进行一些小的更改。
* 现在，使用更新模式再次复制 `/etc/services` 文件。有什么变化吗？观察一下。
* 查看 `/var/log` 目录，并将以 `mail` 开头的日志文件复制到你的联系目录下。
* 现在，返回到你的家目录，并创建一个名为 `new_dir` 的新目录（好吧，我想不出更好的名字）。
* 将 `practice_cp` 目录复制到 `new_dir` 目录中。

对你来说这些练习足够用了。希望你能喜欢在这里学习 Linux 命令。

*（题图：MJ/07b35a39-826e-4904-9f85-25257831ce9d）*

---

via: <https://itsfoss.com/cp-command/>

作者：[Abhishek Prakash](https://itsfoss.com/author/abhishek/) 选题：[lkxed](https://github.com/lkxed/) 译者：[onionstalgia](https://github.com/onionstalgia) 校对：[wxy](https://github.com/wxy)

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


硬核观察 #1091 Chrome 将支持抗量子计算机攻击加密

Summary:
? Chrome 将支持抗量子计算机攻击加密
? Linus Torvalds 亲自审查 Bcachefs 文件系统代码
? Firefox 将成为唯一支持开放扩展的安卓浏览器
»
»

请把“唯一支持开放扩展的安卓浏览器”加上“主流”二字（即变为“主流浏览器”）。不然我估计Kiwi Browser用户和ChromeXt用户要骂死你们了。

Firefox will become the only major Android browser to support an open extension ecosystem<br />
原标题，唉

# 硬核观察 #1091 Chrome 将支持抗量子计算机攻击加密

### Chrome 将支持抗量子计算机攻击加密

从 8 月 15 日发布的 Chrome 116 开始，Chrome 浏览器将支持一种混合加密算法，其采用的密钥封装机制去年获得了 NIST 的后量子加密技术认证。谷歌正在 Chrome 浏览器中部署该加密算法，有助于谷歌以及 Cloudflare 等网络提供商可以测试抗量子算法，同时保持现有的保护措施。量子计算机可能至少还需要 15 年，甚至更久。但量子计算机的到来不会是一个具体的、迫在眉睫的日期，而是会毫无征兆的到来。现在用抗量子算法加密的数据，有助于防止“现在捕获，以后解密”的破解。

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

>
> 老王点评：似乎全世界都在默默等着美国的抗量子加密的进展和标准，不过，就算美国提出来了，其它国家真敢用吗？
>
>
>

### Linus Torvalds 亲自审查 Bcachefs 文件系统代码

开发已久的 Bcachefs 文件系统的代码已提交给 Linux 6.5，但由于各种技术问题和开发人员内斗，该驱动程序在这个开发周期内未能合并。为了解决纷争，Linus Torvalds 亲自审查了 Bcachefs 的代码。在审查完成后，他表达了对部分锁定代码的担忧，并认为 Bcachefs 的部分先决代码应通过各自的子系统/维护者分支，而不是一个大的整个拉动请求来实现。总体来说，他并不反对 Bcachefs 对外部先决代码的改动，而它内部的一些东西，比如六个锁，其实也不影响外部，也没什么问题。但是他也困扰于现有开发者们的意见相悖，希望能平息这些纷争。

>
> **[消息来源：Phoronix](https://www.phoronix.com/news/Linux-Torvalds-Bcachefs-Review)**
>
>
>

>
> 老王点评：不同的开发理念，就会形成不同的立场。在加上或多或少的私人感受，开发者社区其实也是江湖，想做个仁慈独裁者，其实也不容易。
>
>
>

### Firefox 将成为唯一支持开放扩展的安卓浏览器

在过去的几年里，安卓版的 Firefox 只正式支持了一小部分扩展。Mozilla 宣布将在年底前推出对安卓版浏览器的开放扩展生态系统的支持。Firfox 将成为唯一一个支持开放扩展系统的主流安卓浏览器。最近，安卓版的 Firefox 的夜间构建版引入了多进程支持，这意味着扩展不再与 Firefox 的用户界面一样托管在主进程中，这有助于安全隔离和避免扩展等资源密集型进程被安卓系统关闭。

>
> **[消息来源：Mozilla](https://blog.mozilla.org/addons/2023/08/10/prepare-your-firefox-desktop-extension-for-the-upcoming-android-release/)**
>
>
>

>
> 老王点评：这是一个正确的选择，一方面现在移动浏览器越来越重要，另外一方面，Firefox 应该有其独特的地方才能有自己的基本盘。最初我喜欢用 Firefox，纯粹是因为 Firebug 给 Firefox 带来了独有的调试面板。
>
>
>


Gherkin 语言如何弥合客户和开发人员之间的差距

x嘻嘻嘻

和小学学过的流程图差不多？

# Gherkin 语言如何弥合客户和开发人员之间的差距

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

>
> Gherkin 语法可以帮助你思考技术事务的过程，然后帮助你将其转化为程序员逻辑的形式写下来。
>
>
>

与软件开发人员沟通通常是一项繁重的任务，尤其是当人们缺乏技术知识和技术词汇时。这就是为什么项目经理经常使用 [用户故事](https://softwareplanetgroup.co.uk/user-stories-bridging-the-gap-between-customers-and-developers-updated/) 和多功能系统隐喻。

你可以利用旨在促进项目利益相关者和开发人员之间讨论的技术，进一步协助沟通。

### Cucumber 框架

Cucumber 是一个开源框架，可以使用易于编写的通用语言创建自动化软件测试。它基于 [行为驱动开发（BDD）](https://opensource.com/article/19/2/behavior-driven-development-tools) 的概念，该概念规定创建软件应定义用户希望应用在特定条件成立时如何表现。

（LCTT 译注：Gherkin 和 Cucumber 都是黄瓜，其中 Gherkin 一种用来腌制的小黄瓜。顺便说一句，黄瓜原名胡瓜，因其由汉朝张骞出使西域时带回，后因石勒禁称“胡”字，更名为黄瓜。）

Cucumber 框架并不是现代意义上的“技术”。它不是位和字节的集合。相反，它是一种用自然语言（在本文中为英语，但到目前为止 Gherkin 已被翻译成 70 多种语言）的写作方式。使用 Cucumber 框架时，你不需要知道如何读取或编写代码。你只需要能够写下你对工作方式的想法即可。你还应该使用一组特定术语和指南来记录你希望技术如何为你服务。

### Gherkin 语言是什么？

Cucumber 使用 Gherkin 作为定义用例的方法。它主要用于生成明确的项目需求。换句话说，其目的是允许用户准确地描述他们需要软件做什么，不留任何解释或例外的空间。它帮助你思考技术事务的过程，然后帮助你以可转化为程序员逻辑的形式将其写下来。

这是一个例子：

```
功能：活期账户持有人取款
场景：有关账户并不缺少资金
    假如账户余额为 200 英镑
    借记卡有效
    取款机里有足够的钱
    当活期账户持有人申请 50 英镑时
    则取款机支付 50 英镑
    账户余额为 150 英镑
    借记卡被退回

```

正如你所看到的，这是一个非常具体的场景，其中假设用户请求 50 英镑，取款机提供 50 英镑并相应地调整用户的帐户余额。此场景只是取款机用途的一部分，它仅代表人与取款机交互的特定组成部分。当程序员被赋予对机器进行编程以响应用户请求的任务时，这清楚地表明了涉及哪些因素。

#### Gherkin 关键字是什么？

Gherkin 语法使用五个不可或缺的语句来描述执行任务所需的操作：

* <ruby> 功能 <rt>  Feature </rt></ruby>：表示任何给定软件功能的高层次描述
* <ruby> 场景 <rt>  Scenario </rt></ruby>：描述具体\_示例\_
* <ruby> 假如 <rt>  Given </rt></ruby>：解释系统的初始上下文
* <ruby> 当 <rt>  When </rt></ruby>：指定事件或操作
* <ruby> 则 <rt>  Then </rt></ruby>：描述预期输出或结果
* <ruby> 而且 <rt>  And </rt></ruby>（或者 <ruby> 但是 <rt>  But </rt></ruby>）：增加文本流畅性

（LCTT 译注：这些关键字可以使用任何语言，请参照：<https://cucumber.io/docs/gherkin/languages/>）

通过使用这些简单的关键字，客户、分析师、测试人员和软件程序员能够使用所有人都能识别的术语来交换想法。

### 可执行的需求和自动化测试

更好的是，*Gherkin 要求也是可执行的*。这是通过将每个关键字映射到其预期（且明确说明）的功能来完成的。因此，为了与上面的示例保持一致，任何已经实现的内容都可以自动显示为绿色：

```
    当活期账户持有人申请 50 英镑时
    则取款机支付 50 英镑
    账户余额为 150 英镑
    借记卡被退回

```

通过扩展，Gherkin 使开发人员能够将需求转换为可测试的代码。在实践中，你可以使用特定的短语来检查你的软件方案！如果你当前的代码无法正常工作，或者新的更改意外导致软件错误（或两个或三个），那么你可以轻松查明问题，然后再继续修复它们。

### 结论

得益于 Gherkin 语法，你的客户将不再陷入困境。你可以弥合企业和开发人员之间的鸿沟，并比以往更有信心地交付出色的产品。

通过访问 [Cucumber 网站](https://cucumber.io/docs/gherkin/) 或其 [Git 仓库](https://github.com/cucumber/docs) 了解有关 Gherkin 的更多信息。

*（题图：MJ/b717cd4f-0a6b-4b28-a895-b9688b289551）*

---

via: <https://opensource.com/article/23/2/gherkin-language-developers>

作者：[David Blackwood](https://opensource.com/users/david-blackwood) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

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