2023年4月

一个有趣的、开源的私人通讯软件,它利用 Tor 来保证你的通信安全和私密。

Speek 是一种网络通讯服务,它利用多种技术保证网络聊天的私密性。

它是端到端加密的、去中心化和开源的。

毫无疑问,它的目标是将自己定位为 WhatsApp 的替代品 之一和 Linux 上的 Signal 的竞争对手。

那么,它到底如何呢? 让我们一起来仔细看看细节。

Speek! 适用于 Linux 和安卓的点对点即时消息应用程序

(LCTT 译注: 点对点 Peer-to-Peer ,又称对等式网络,是无中心服务器、依靠 对等点 peer 交换信息的互联网络体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险。)

Speek! 截图

Speek!(名称中带有感叹号)是一种加密的聊天软件,旨在抗审查,同时保护数据隐私。

你也可以认为它是 Session 的替代品,但有一些区别。

与其他可用的通讯软件相比,它是一个相当新的竞争对手。但是如果你想尝试开源的解决方案,它应该作为候选者。

虽然 Speek! 声称能保持匿名,但如果你需要的是完全匿名的话,你应该始终注意自己在设备上的活动。因为你需要考虑的不仅仅是即时通讯软件。

Speek! id

Speek! 利用去中心化的 Tor 网络来保证安全性和私密性。不仅如此,这样做可以让你无需电话号码就能使用服务。你只需要你的 Speek ID 就可以与人联系,而别人很难知道你的 ID。

(LCTT 译注:Tor 是一个可以实现匿名通信的自由软件。其名源于 洋葱路由器 The Onion Router 的英文缩写。)

Speek! 的亮点

Speek! 选项

Speek! 的一些主要亮点包括:

  • 端到端加密:除收件人外,没有人可以查看你的消息。
  • 通过 TOR 路由流量:使用 TOR 路由消息,增强隐私。
  • 没有中央服务器:增加了对审查的抵抗力,因为很难关闭服务。此外,没有针对黑客的单一攻击点。
  • 无需注册:无需共享任何个人信息即可开始使用该服务。你只需要一个公钥来识别/添加用户。
  • 自毁聊天:当你关闭应用程序时,消息会自动删除。增添了额外的隐私和安全性。
  • 无元数据:它会在你交换消息时消除任何元数据。
  • 私人文件共享:你还可以使用该服务安全地共享文件。

下载适用于 Linux 和其他平台的 Speek!

你可以从他们的 官方网站 下载 Speek!。

在撰写本文时,Speek! 仅适用于 Linux、安卓、macOS 和 Windows。

对于 Linux,你会找到一个 AppImage 文件。如果你不知道 AppImage,可以参考我们的 AppImage 指南 来运行该应用程序。

安卓系统上的 Speek!

另外,Google Play 商店 上的安卓应用程序还比较早期。因此,你在尝试使用它时可以期待一下它的改进。

Speek!

关于 Speek! 的用户体验

这个应用的用户体验非常令人满意,包含了所有必备的功能。它可以更好,但已经很不错了。

嗯,关于 Speek! 的 GUI 没什么好说的。GUI 非常极简风。它的核心是一个聊天应用程序,而它做得恰如其分。没有动态,没有附近的人,没有不必要的附加组件。

在我使用这个应用程序的有限时间里,我很满意它的功能。它提供的功能使其成为一款出色的聊天应用程序,可通过其背后的所有技术提供安全和私密的消息传递体验。

如果将它与一些商业上更成功的聊天软件进行比较,它在功能上存在不足。但话又说回来,Speek! 的设计就不是一个只关注用户体验的时尚聊天应用。

因此,我只向注重隐私的用户推荐 Speek!。如果你想要平衡用户体验和功能,你可能希望继续使用像 Signal 这样的私人聊天软件。

你对于 Speek 又有什么看法?对于注重隐私的用户来说,它是一个很好的私人聊天软件吗? 请在下方评论区告诉我你的想法。

(题图:MJ:A girl looks at her phone while two cats are peeking at her phone next to her.)


via: https://itsfoss.com/speek/

作者:Pratham Patel 选题:lkxed 译者:XiaotingHuang22 校对:wxy

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

年龄并不是为开源做贡献的障碍。

我叫 Neil Naveen,我是一个 14 岁的初中生,已经有七年的编码经验。我使用 Golang 编码也有两年了。

不过,编码并不是我唯一的爱好。我练习柔术已经有四年了,并参加过多次比赛。我对编码和柔术充满热情,因为它们教给了我重要的人生课程。

Codecombat

我在 Codecombat 上开始编码,它教会了我许多基本的编码技巧。

在我的编码历程中,最激动人心的时刻之一是我在 Codecombat 主办的多人竞技场中,在大约 50,000 名玩家中排名第 16。当时我只有 11 岁,这对我来说是一个不可思议的成就。它给了我继续探索和学习新事物的信心。

Leetcode

在 Codecombat 之后,我转到了 leetcode.com。通过解决这个网站量身定制的问题,来磨练我的算法编码技能,以学习特定的算法。

Coding Game

当我 13 岁时,我转到了 Coding Game 的机器人编程。这里的竞争更加激烈,因此我必须采用更好的算法。例如,在创建终极 井字游戏 tic-tac-toe 人工智能时,我使用了 极小化极大算法 Minimax 蒙特卡洛树搜索 Monte Carlo Tree Search 等算法,使我的代码快速高效。

GitHub CLI

有一天,我看到爸爸在使用一个叫 GitHub CLI 的开源工具,我被它迷住了。GitHub CLI 是一个允许用户直接从命令行与 GitHub 的 API 互动的工具,而不需要到 GitHub 网站上去。

又有一天,我父亲正在审查一个旨在检测依赖关系中的漏洞的机器人的 拉取请求 PR

后来,我思考了 GitHub CLI 和这个机器人,并想知道 GitHub CLI 本身是否被一个安全机器人所监控。事实证明它没有。

所以我创建了一个修复程序,并包含了 GitHub CLI 的安全审计。

令我高兴的是,我的贡献被接受了。它被合并到了项目中,这对我来说是一个激动人心的时刻。能为一个像 GitHub CLI 这样受欢迎的工具的重要项目作出贡献,并帮助保护它,是一个极好的机遇。这是我的 PR 的链接:https://github.com/cli/cli/pull/4473

提交你的代码

我希望我的故事能激励其他年轻人去探索并为开源世界做出贡献。年龄并不是障碍。每个人都应该探索和贡献。如果你想看看我的网站,请到 neilnaveen.dev。你也可以看看我的 Leetcode 个人资料。如果你有兴趣,可以看看我在 CloudNativeSecurityCon 的演讲记录。

我很感激迄今为止我所拥有的机会,我很兴奋地期盼我的未来。谢谢你阅读我的故事!

(LCTT 校注:我也接触过几位初中生,他们在技术和开源方面有这浓厚的兴趣,并取得了令人称道的进展。所以,看到这篇文章的同学们,你也可以的!)

(题图:MJ:Kids programming learning carton)


via: https://opensource.com/article/23/3/my-first-code-contribution-age-14

作者:Neil Naveen 选题:lkxed 译者:hanszhao80 校对:wxy

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

龙芯 3A5000 可能是目前最有希望的国产 CPU

国外专业机构最近发表长文测评了龙芯 CPU,并梳理了其历史发展和软件生态。作者认为,与兆芯和飞腾相比,龙芯最新的产品 3A5000 是迄今为止最有希望的中国产的 CPU。当然,测评也指出,龙芯的 LA464 根本无法提供与任何近期英特尔或 AMD 架构相同的性能,并没有感觉到比十年前更接近英特尔和 AMD。另外,测评还指出了龙芯软件生态的问题。由于创造了一个新的、不兼容的指令集,LoongArch ABI 分成了两个互不兼容的部分:所有建立在开源的社区发行版上的二进制软件,以及一些用高级语言编写并以源代码或字节码等形式存在的软件(如用 Python 或 Java 编写的软件)不能在商业发行版上运行。反之亦然。所有来自 ISV 的闭源软件,如 WPS Office,都是建立在商业发行版上的,所以它们极不可能在社区发行版上原样运行。

消息来源:Chips and Cheese
老王点评:这个测评和其中透露的一些信息,我是震惊的。

亚马逊免费向个人提供编程助手 CodeWhisperer

亚马逊宣布其 AI 编程助手 CodeWhisperer 已普遍可用。CodeWhisperer 和 GitHub Copilot 类似,使用开源代码库进行训练,根据上下文向开发者提供代码完成建议。CodeWhisperer 对个人开发者免费提供,而向企业客户提供的专业版本包含了 SSO 和安全扫描等额外功能。CodeWhisperer 支持 VS Code、IDEA 等多款开发工具。亚马逊称,测试者的试用显示其编程速度平均提高了 57%。

消息来源:Amazon
老王点评:这些编程助手,真正使编程变成了一种通俗技能。

微软几十年来首次对 PrtScr 键进行修改

打印屏幕(PrtScr)键,这个功能在微软多年的升级和其他功能的增强中基本上保持不变。而微软本月向 Insider Beta 频道推出的更新中,按下 PrtScr 键时将默认打开截屏工具,而不是直接截取整个屏幕并存储到剪贴板中。虽然有不少反对意见,但也有用户称,现在屏幕越来越大了,直接截取全屏确实不如截取后进行裁剪更有意义。

消息来源:The Register
老王点评:要不是修改了这个键,是不是大多数人都忘记了键盘上还有这个键呢?我在纳闷为什么我的截屏工具没有用这个快捷键,而是用了很复杂的组合键呢?

使用 CSS 让你的 HTML 项目更具风格。

当你编写文档时,无论是为开源项目还是技术写作项目,你都应该有两个目标:文档应该写得好,同时要易于阅读。前者通过清晰的写作技巧和技术编辑来解决。第二个目标可以通过对 HTML 文档进行一些简单的更改来解决。

超文本标记语言(HTML)是互联网的支柱。自 1994 年“万维网”问世以来,所有网络浏览器都使用 HTML 来显示文档和网站。几乎与此同时,HTML 一直支持样式表,它是对 HTML 文档的一种特殊添加,用于定义文本在屏幕上的呈现方式。

单纯用 HTML 编写项目文档也是可以的。然而,纯 HTML 样式可能感觉有点简陋。因此,尝试向 HTML 文档添加一些简单的样式,为文档添加一点活力,并使文档更清晰、更易于阅读。

定义一个 HTML 文档

让我们从一个纯 HTML 文档开始,探索如何向其添加样式。一个空的 HTML 文档在顶部包含 <!DOCTYPE html> 定义,后面跟着一个 <html> 块来定义文档本身。 在 <html> 元素中,你还需要加上一个文档标头,其中包含有关文档的元数据,例如标题。文档正文的内容放在父 <html> 块内的 <body> 块中。

你可以使用以下 HTML 代码定义一个空白页面:

<!DOCTYPE html>
<html>
  <head>
    <title>这是一个新文档</title>
  </head>
  <body>

  </body>
</html>

在另一篇关于 用 HTML 编写项目文档 的文章中,我将一个开源棋盘游戏的自述文件从纯文本更新为 HTML 文档,并使用一些基本的 HTML 标记,如 <h1><h2> 作为标题和副标题,<p> 用于段落,<b><i> 用于粗体和斜体文本。让我们从那篇文章结束的地方继续讲:

<!DOCTYPE html>
<html>
  <head>
    <title>简易 Senet</title>
  </head>
  <body>
    <h1>简易 Senet</h1>
    <h2>游戏玩法</h2>
    
    <p>游戏会自动为你“投掷”投掷棒,并在屏幕右下角显示结果。</p>
    
    <p>如果“投掷”结果为零,你失去本轮机会。</p>
    
    <p>轮到你的时候,游戏会自动选择
    你在棋盘上的第一块棋子。 你不一定
    能够用这个棋子走棋,所以选择你的棋子
    移动,然后按 <i>Space</i>(或 <i>Enter</i>)移动
    它。 你可以通过几种不同的方法进行选择:</p>
    
    <ul>
      <li><i>向上</i>/<i>向下</i>/<i>向左</i>/<i>向右</i> to
      朝特定方块移动。</li>
    
      <li>加号 (<b>+</b>) 或减号 (<b>-</b>) 使棋子在棋盘上向“左”或向“右”移动。
      请注意,它们会自动遵循棋盘的“倒过来的 S”方向移动。</li>
    
      <li><em>Tab</em>在棋盘上选择下一个你想要移动的棋子。</li>
    </ul>
    
    <p>要随时退出游戏,请按 <b>Q</b>(大写
    Q)或按 <i>Esc</i>,这样游戏会提示你是否想要
    放弃比赛。</p>
    
    <p>如果你比对手更快将所有棋子移出棋盘,你就赢得了比赛。
    这同时需要运气和游戏策略!</p>
  </body>
</html>

此 HTML 文档演示了利用 HTML 的技术写作者经常使用的一些块和内联元素。块元素在围绕文本定义一个矩形。段落和标题就是块元素,因为它们从文档的左边缘延伸到右边缘。例如,<p> 在段落周围包含一个不可见的矩形。相比之下,内联元素的使用则紧跟在它们包围的文本。如果你在段落中的某些文本上使用 <b>,则只有被 <b></b> 包围的文本会变为粗体。

你可以将直接样式应用于此文档以更改字体、颜色和其他文本样式,但修改文档外观的更有效方法是将样式表应用于文档本身。你可以在 <head> 元素中使用其他元数据执行此操作。你可以为样式表引用文件,但在这个例子中,我使用 <style> 块在文档中定义样式表。以下是带有空样式表的 <head>

<!DOCTYPE html>
<html>
  <head>
    <title>简易 Senet</title>
    <style>

    </style>
  </head>
  <body>
    ...
  </body>
</html>

定义样式

由于你刚刚开始学习样式表,因此这里先演示一种基本样式:背景色。我喜欢从背景颜色开始,因为它有助于演示块和内联元素。让我们应用一个有点华丽的样式表,为所有 <p> 段落设置浅蓝色背景颜色,为 <ul> 无序列表设置浅绿色背景。对任何粗体文本使用黄色背景,对任何斜体文本使用粉红色背景。

你可以在 HTML 文档的 <style> 块中使用样式来定义这些样式。样式表使用与 HTML 文档不同的标记。样式语法看起来像 element { style; style; style; ... } 并使用花括号将多种文本样式组合到一个定义中。

<style>
p { background-color: lightblue; }
ul { background-color: lightgreen; }

b { background-color: yellow; }
i { background-color: pink; }
    </style>

请注意,每个样式都以分号结尾。

如果在网页浏览器中查看此 HTML 文档,你可以看到 <p><ul> 块元素如何填充为矩形,而 <b><i> 内联元素仅突出显示粗体和斜体文本。 这种对比色的使用可能看起来不太好看,但我想你可以清楚看到块和内联元素:

辣眼睛!但是这些颜色确实能帮助我么更好地看出块和內联元素的区别。

应用样式

你可以使用样式使这个自述文件更易于阅读。 因为你刚刚开始学习样式,还是先只用一些简单的样式元素:

  • background-color 设置背景颜色
  • color 设置文字颜色
  • font-family 使用不同的文本字体
  • margin-top 在元素上方添加空间
  • margin-bottom 在元素下方添加空间
  • text-align 改变文本的对齐方式,例如靠左、靠右或居中

让我们重新开始你的样式表并将这些新样式应用到文档中。首先,在文档中使用更令人愉悦的字体。如果你的 HTML 文档没有指定字体,网络浏览器会为你选择一种。根据浏览器的设置方式,这可能是衬线字体(如我的屏幕截图中使用的字体)或无衬线字体。衬线字体在每个字母上添加了一个小笔画,这样在打印时更容易阅读。无衬线字体缺少这种额外的笔划,这使得文本在计算机显示器上显得更清晰。常见的衬线字体包括 Garamond 或 Times New Roman。 流行的无衬线字体包括 Roboto 和 Arial。

例如,要将文档正文字体设置为 Roboto,你可以使用以下样式:

body { font-family: Roboto; }

通过设置字体,你假设查看文档的人也安装了该字体。有些字体已经十分常见,以至于它们被认为是事实上的“网页安全”字体。 这些字体包括 Arial 等无衬线字体和 Times New Roman 等衬线字体。Roboto 是一种较新的字体,可能还无法随处可用。因此,网页设计师通常不会只列出一种字体,而是设置一种或多种“备用”字体。你可以通过用逗号分隔来添加这些替代字体。 例如,如果用户的系统上没有 Roboto 字体,你可以使用以下样式定义将 Arial 字体用作文本正文:

body { font-family: Roboto, Arial; }

所有网络浏览器都定义了默认的衬线和无衬线字体,你可以使用这些名称来引用它们。用户可以更改他们喜欢用于显示衬线和无衬线的字体,因此不太可能对每个人都一样,但在字体列表中使用 serifsans-serif 通常是个好主意。通过添加该字体,至少用户可以大致了解你希望 HTML 文档的呈现方式:

body { font-family: Roboto, Arial, sans-serif; }

如果字体名称不止一个单词,则你必须在其两边加上引号。HTML 允许你在此处使用单引号或双引号。 为标题和副标题定义一些衬线字体,包括 Times New Roman:

h1 { font-family: "Times New Roman", Garamond, serif; }
h2 { font-family: "Times New Roman", Garamond, serif; }

请注意,H1 标题和 H2 副标题使用完全相同的字体定义。如果你想避免无谓的打字,可以使用样式表快捷方式为 H1 和 22 使用相同的样式定义:

h1, h2 { font-family: "Times New Roman", Garamond, serif; }

在编写文档时,许多技术作者更喜欢将主标题放在页面的中央。你可以在块元素(例如 H1 标题)上使用 text-align 来使标题居中:

h1 { text-align: center; }

为了让粗体和斜体文本更突出,请将它们置于稍微不同的颜色中。对于某些文档,我可能会使用深蓝表示粗体文本,使用深绿表示斜体文本。这些颜色非常接近黑色,但颜色的细微差别足以吸引读者的注意力。

b { color: darkblue; }
i { color: darkgreen; }

最后,我更喜欢在我的列表元素周围添加额外的间距,以使它们更易于阅读。如果每个列表项只有几个词,额外的空间可能无关紧要。但是我的示例文本中的中间项很长,可以换到第二行。 额外的空间有助于读者更清楚地看到此列表中的每个项目。 你可以使用边距样式在块元素上方和下方添加空间:

li { margin-top: 10px; margin-bottom: 10px; }

这种样式定义了一个距离,此处我将其指定为每个列表元素上方和下方的 10px(十个像素)。 你可以使用多种不同的距离度量。十像素实际上就是屏幕上十个像素的空间,无论是台式机显示器、笔记本电脑显示屏,还是手机或平板电脑屏幕。

假设你真的只是想在列表元素之间添加一个额外的空行,你也可以使用 em 来测量。em 是一个旧的排版术语,如果你指的是左右间距,它就是大写 M 的宽度,或者对于垂直间距,就是大写 M 的高度。所以你可以改用 1em 来写边距样式:

li { margin-top: 1em; margin-bottom: 1em; }

HTML 文档中的完整样式列表如下所示:

<!DOCTYPE html>
<html>
  <head>
    <title>简易 Senet</title>
    <style>
      body { font-family: Roboto, Arial, sans-serif; }
      h1, h2 { font-family: "Times New Roman", Garamond, serif; }
      h1 { text-align: center; }
      b { color: darkblue; }
      i { color: darkgreen; }
      li { margin-top: 1em; margin-bottom: 1em; }
    </style>
  </head>
  <body>
    <h1>简易 Senet</h1>
    <h2>游戏玩法</h2>
    
    <p>游戏会自动为你“投掷”投掷棒,并在屏幕右下角显示结果。</p>
    
    <p>如果“投掷”结果为零,你失去本轮机会。</p>
    
    <p>轮到你的时候,游戏会自动选择
    你在棋盘上的第一块棋子。 你不一定
    能够用这个棋子走棋。所以选择你的棋子
    移动,然后按 <i>Space</i>(或 <i>Enter</i>)移动
    它。 你可以通过几种不同的方法进行选择:</p>
    
    <ul>
      <li><i>向上</i>/<i>向下</i>/<i>向左</i>/<i>向右</i> to
      朝特定方块移动。</li>
    
      <li>加号 (<b>+</b>) 或减号 (<b>-</b>) 使棋子在棋盘上向“左”或向“右”移动。
      请注意,它们会自动遵循棋盘的“倒过来的 S”方向移动。</li>
    
      <li><em>Tab</em>在棋盘上选择下一个你想要移动的棋子。</li>
    </ul>
    
    <p>要随时退出游戏,请按 <b>Q</b>(大写
    Q)或按 <i>Esc</i>,这样游戏会提示你是否想要
    放弃比赛。</p>
    
    <p>如果你比对手更快将所有棋子移出棋盘,你就赢得了比赛。
    这同时需要运气和游戏策略!</p>
  </body>
</html>

在网页浏览器上查看时,你会看到采用无衬线字体的自述文件,标题和副标题使用衬线字体。 页面标题居中。粗体和斜体文本使用略有不同的颜色来吸引读者的注意力而不会分散注意力。 最后,列表项周围有额外的空间,使每个项目更易于阅读。

通过添加一些样式,我们使这个自述文件更易于阅读。

这是在技术写作中使用样式的简单介绍。掌握了基础知识后,你可能会对 Mozilla 的 HTML 指南 感兴趣。它包括一些很棒的初学者教程,因此你可以学习如何创建自己的网页。

有关 CSS 样式的更多信息,我推荐 Mozilla 的 CSS 指南

(题图: MJ:web internet traffic design)


via: https://opensource.com/article/22/8/css-html-project-documentation

作者:Jim Hall 选题:lkxed 译者:XiaotingHuang22 校对:wxy

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

Ventoy 是一个自由开源和跨平台的程序,可以在 Linux、macOS 和微软的 Windows 中创建多重引导的 U 盘。

你不必周而复始地格式化你的 USB 设备,只需创建一次可引导的 U 盘即可,如有需要可在将来添加你想要的 ISO。

你甚至可以创建子文件夹,例如 Linux ISO、Windows ISO,并把各自的 ISO 文件放在相应的文件夹里。Ventoy 会自动为新添加的 ISO 生成菜单条目,并将它们添加到启动菜单中。

一旦你创建完多重引导的 U 盘,使用它启动你的系统,选择你想加载的 ISO,马上就可以使用它。就是如此简单!

功能

Ventoy 有很多有用的功能,如:

  • 非常容易安装和使用。
  • 快速(仅受限于复制 ISO 文件的速度)。
  • 你不需要解压缩 ISO 文件。直接从 ISO 文件启动即可。
  • 可被安装在 U 盘/本地硬盘/SSD 盘/NVMe 盘/SD 卡中。
  • 它支持 传统 Legacy BIOS、IA32 UEFI、x86\_64 UEFI、ARM64 UEFI、MIPS64EL UEFI 等(LCTT 译注:这些英文缩写都是代表了不同的 CPU 架构。如 IA32 是指英特尔 32 位体系架构,x86\_64 指基于 x86 架构的 64 位扩展架构,ARM64 则是 ARM 体系结构的 64 位扩展、MIPS64EL 是指 64 位小端序的 MIPS 架构)。
  • 支持 IA32/x86\_64 UEFI 的安全启动。
  • 支持主分区使用 FAT32/exFAT/NTFS/UDF/XFS/Ext2/Ext3/Ext4 格式。默认使用 exFAT。
  • 支持在物理机中使用 Linux 发行版启动 vhd、vdi、raw 等格式的虚拟磁盘文件。
  • 持久化的存储支持。
  • 支持 MBR 和 GPT 两种分区格式都。默认使用 MBR。
  • 你可以用大于 4 GB 的 ISO 文件创建引导盘。
  • 几乎所有类型的操作系统都支持。开发者声称 Ventoy 已经测试过了超过 900 多个 ISO 文件。
  • 支持 Linux 自动安装。意味着你可以添加你的模板或脚本来进行无人值守的部署。例如,Redhat/CentOS 的 kickstart 脚本,SUSE 的 autoYast xml,Debian 的 preseed 脚本。把脚本或模板放在 U 盘里,让 ventoy 使用它进行无人值守安装。你也可以在任何时候更新这些脚本。不需要创建新的 ISO 文件,只要使用原来的 ISO 即可。
  • 支持 Windows 系统的自动安装。
  • 在启动期间对 USB 盘写保护。
  • 不影响 USB 启动盘的正常使用。这意味着你可以将 U 盘用于文件复制等其他用途。
  • 当有新的 Ventoy 版本时可供升级时,无须重新创建 USB 启动盘。在版本升级过程中,数据不会被破坏。
  • 当一个新的发行版发布时,不需要更新 Ventoy。
  • 将 ISO 文件复制/粘贴到 U 盘中,即可添加一个新的操作系统,没有必要从头开始。
  • 支持 内存盘 Memdisk 模式。在某些机器上,可能无法加载 ISO。在这种情况下,你可以使用 内存盘 Memdisk 模式。Ventoy 将把整个 ISO 文件加载到内存中,然后启动它。
  • 插件框架。
  • 传统 Legacy 和 UEFI 的本地启动菜单风格。
  • 有命令行界面、本地图形化界面和基于 Web 的图形化界面的版本可用。
  • 支持主题和菜单风格的定制。
  • 跨平台。它支持 Linux、manOS 和 Windows 等操作系统。
  • 自由开源!

在 Linux 中用 Ventoy 创建多重启动的 U 盘

正如我之前提到的,Ventoy 有命令行界面、本地图形化界面和基于 Web 的图形化界面的版本可用。

1. 使用 Ventoy 命令行创建多重启动的 U 盘

首先,你需要找到你的 U 盘名称。可以通过下面的指南,来了解在 Linux 中寻找磁盘驱动器细节的不同方法。

如何在 Linux 中 寻找硬盘驱动器细节

我将使用 fdisk 命令来查找我的 U 盘的详细信息:

$ sudo fdisk -l

样例输出:

[...]
Disk /dev/sdb: 14.54 GiB, 15597568000 bytes, 30464000 sectors
Disk model: Cruzer Blade    
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4d924612

如你所见,我的 U 盘的名称是 /dev/sdb

接下来,从 发布页 下载最新的 Ventoy 脚本。截至编写本指南时,最新版本是 1.0.77(LCTT 译注:截至翻译完成时,最新版本是 1.0.91)。

到你下载脚本的位置,解压它。我把它解压在一个名为 ventoy 的文件夹中。使用 cd 命令切换到 ventoy 目录中:

$ cd ventoy

现在,运行以下命令来创建多重启动的 U 盘:

$ sudo sh Ventoy2Disk.sh -I /dev/sdb

/dev/sdb 替换为你的 U 盘名称。

这里,大写的 -I 参数意味着将无视之前是否安装过 ventoy,强制安装 ventoysdb。当你使用小写的 -i,若此时磁盘已经安装了 ventoy ,它会安装失败。

要启用安全启动支持,使用 -s 参数。默认情况下,这个选项是关掉的。

$ sudo sh Ventoy2Disk.sh -I -s /dev/sdb

你将被提示确认 USB 启动盘的创建过程。仔细检查 U 盘的名称,并输入 Y,按回车键继续:

样例输出:

**********************************************
      Ventoy: 1.0.77  x86_64
      longpanda [email protected]
      https://www.ventoy.net
**********************************************

Disk : /dev/sdb
Model: SanDisk Cruzer Blade (scsi)
Size : 14 GB
Style: MBR

Attention:
You will install Ventoy to /dev/sdb.
All the data on the disk /dev/sdb will be lost!!!

Continue? (y/n) y

All the data on the disk /dev/sdb will be lost!!!
Double-check. Continue? (y/n) y

Create partitions on /dev/sdb by parted in MBR style ...
Done
Wait for partitions ...
partition exist OK
create efi fat fs /dev/sdb2 ...
mkfs.fat 4.2 (2021-01-31)
success
Wait for partitions ...
/dev/sdb1 exist OK
/dev/sdb2 exist OK
partition exist OK
Format partition 1 /dev/sdb1 ...
mkexfatfs 1.3.0
Creating... done.
Flushing... done.
File system created successfully.
mkexfatfs success
writing data to disk ...
sync data ...
esp partition processing ...

Install Ventoy to /dev/sdb successfully finished.

在 Linux 操作系统中用 Ventoy 创建多重引导的 U 盘

几秒钟后,多重启动的 U 盘将被创建。

上述命令将创建两个分区。你可以用 fdisk 命令来验证它:

$ sudo fdisk -l

样例输出:

[...]
Disk /dev/sdb: 14.53 GiB, 15597568000 bytes, 30464000 sectors
Disk model: Cruzer Blade    
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x436cedd0

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1  *        2048 30398463 30396416 14.5G  7 HPFS/NTFS/exFAT
/dev/sdb2       30398464 30463999    65536   32M ef EFI (FAT-12/16/32)

现在打开你的文件管理器,把 ISO 文件复制到第一个分区。不用担心你分不清楚哪个是第一个分区,你的文件管理器将只显示第一个分区。

将 ISO 文件复制到用 Ventoy 创建的 USB 启动盘上

你甚至可以为不同的 ISO 文件类型创建子文件夹。例如,你可以为存储 Linux ISO 文件创建一个子文件夹,为 BSD ISO 文件创建一个子文件夹,为 Windows ISO 文件创建一个子文件夹。

Ventoy 将扫描整个 U 盘,为所有可用的 ISO 文件创建菜单项,并自动将它们添加到 Ventoy 的主启动菜单中。

如果你喜欢用命令行方式复制 ISO 文件,请到你保存 ISO 文件的地方,用 rsync 程序从命令行复制所有 ISO 文件,如下所示:

$ rsync *.iso /media/$USER/ventoy/ --progress -ah

请注意,在某些 Linux 发行版中,U 盘可能被挂载在 /run/media/ 位置。

大功告成!我们刚刚用 Ventoy 创建了多重引导的 U 盘。

用新制作的可引导 U 盘启动你的系统,你会对 Ventoy 的启动菜单感到满意:

Ventoy 的多重启动菜单

选择你想启动的操作系统,并按下回车键加载它!

下面是用 Ventoy 创建的多重启动 U 盘的简短视频演示:

很酷,不是吗?确实如此!

如果你想在 Oracle Virtualbox 中用 U 盘启动,请参考以下指南:

如何在 Linux 中从 U 盘 启动 Virtualbox 的虚拟系统?

2. 使用 Ventoy 图形化界面创建多重启动的 U 盘

最初,Ventoy 在 Linux 平台上没有任何图形化的用户界面。我们在 Linux 中只能使用Ventoy 的命令行模式创建 USB 启动盘。

幸运的是,Ventoy 从 1.0.36 版开始提供基于网页的图形用户界面,从 1.0.52 版开始提供本地化图形用户界面(使用 GTK/QT)。

相信我,Ventoy 的图形化用户界面使用起来非常简单!它的界面非常小巧,但它拥有我们所需要的一切,只需点击几下鼠标就能创建一个单一的或多重引导的启动盘。

打开你的终端,进入你下载最新 Ventoy 程序的位置。

$ cd Downloads/ventoy-1.0.77/

运行适配的 Ventoy 图形化用户界面可执行文件,这取决于发行版的架构。

  • VentoyGUI.i386 - 32 位的 X86 架构的操作系统适用
  • VentoyGUI.x86\_64 - 64 位的 X86 架构的操作系统适用
  • VentoyGUI.aarch64 - ARM64 架构的操作系统适用
  • VentoyGUI.mips64el - 龙芯 3A MIPS 架构的操作系统适用

我使用的是 Debian 11 X86 64 位系统,所以我运行以下命令:

$ ./VentoyGUI.x86_64

这就是 Ventoy 图形用户界面的样子。

Ventoy 图形用户界面

Ventoy 会自动为你选择已插入的 U 盘。但是我建议你确认所选择的是否真的是你想格式化的 U 盘。

使用 Ventoy 图形用户界面创建多重启动的 U 盘

你将被提示确认该过程。点击 “OK” 继续。

Ventoy 选项和语言

从菜单栏中点击 选项 Option 按钮。

Ventoy 选项

选项 Option 下拉按钮,你可以做以下事情:

  • 安全启动支持 Secure Boot Support - 勾选/取消勾选以启用或禁用安全启动。默认情况下,它处于选中状态以示启用。
  • 分区格式 Partition Style - 支持 MBR 和 GPT 分区格式。默认是 MBR。
  • 分区配置 Partition Configuration - 在这里,你可以选择在磁盘的末端保留一些空闲空间。
  • 清除 Clear Ventoy - 从你的磁盘中删除 Ventoy。
  • 显示所有设备 Show All Devices - 如果你想显示包括你的本地磁盘在内的所有连接的设备,请选中这个选项。在选择这个选项时要特别小心。你可能会不小心选择你的一个本地磁盘并将其格式化。

语言 Language 按钮允许你选择你喜欢的语言。

更新 Ventoy

每当有新的 Ventoy 版本发布时,没有必要重新创建可引导的 USB 启动盘。你可以安全地将Ventoy 更新到新版本,而不会丢失 U 盘中的任何现有数据。

要将已安装的 Ventoy 版本更新到最新的可用版本,请插入 U 盘并启动 Ventoy 图形化用户界面,如上所示。

在 Ventoy 图形化用户界面中, 点击 更新 Update 按钮。

更新 Ventoy

3. 使用 Ventoy 基于 Web 的图形化用户界面创建多重启动的 USB 启动盘

Ventoy 基于 Web 的图形化用户界面与本地图形化用户界面完全相同。有一天,我在我的Fedora Linux 桌面系统上试用了 Ventoy 基于 Web 的用户界面。我很惊讶我是多么喜欢Ventoy 图形用户界面的简洁。

要了解如何使用 Ventoy 图形用户界面创建可引导的 U 盘,请参考以下链接:

在 Linux 中用 Ventoy 基于 Web 的用户界面创建可引导的 U 盘

将 ISO 镜像加载到 RAM 中

就像我之前提到的,ISO 镜像在某些机器上可能无法启动,特别是在传统的 BIOS 模式下。这就是 内存盘 Memdisk 模式的用武之地。

内存盘 Memdisk 模式被启用时,Ventoy 将把整个 ISO 镜像文件加载到内存中启动。

在选择操作系统之前按 F1 键,启用 内存盘 Memdisk 模式(译者注:从 1.0.83 版本开始,进入该模式的快捷键从 F1 改成了 Ctrl+D)。当 内存盘 Memdisk 模式启用时,你会在右上角看到通知。

启用 Ventoy 的内存盘模式

现在,ISO 将被加载到内存中:

在 Ventoy 中加载 ISO 到内存

请再次按 F1 键以切换回正常模式。

创建持久化的可引导 U 盘

我们现在知道了如何在 Linux 中用 Ventoy 创建多重启动的 U 盘。我们可以使用这个可引导的 USB 启动盘来测试 Linux 发行版,而不必真的在硬盘上安装它们。

当你使用 立付 Live OS 时,你可以做各种事情,如安装应用程序、下载文件、播放媒体文件、创建文件和文件夹、按照你的喜好定制等等。

然而,一旦你重新启动系统,所有上述变化都将消失。如果你想让所有的改变在重启系统后仍然保留,你应该创建一个持久化的可引导的 U 盘。

Ventoy 能够制作持久化的 USB 启动盘。请参考下面的链接学习怎么做。

在 Linux 中使用 Ventoy 创建持久化的可引导 U 盘

总结

信不信由你,Ventoy 是我用过的在 Linux 中创建多重引导(持久或非持久)的 USB 闪存盘工具中最简单、最快速、最巧妙的之一。

它真的做到了开箱即用!试一下吧,你不会失望的!

与 Ventoy 有关的安全问题

Ventoy 网站、论坛和该网站上的一些文件被一些杀毒软件标记为恶意软件或木马。请查看这些发布在该项目 GitHub 页面中的议题:

然而,Manjaro 打包者 Linux Aarhus 在代码审查后认为:没有合理的理由怀疑这个应用程序的安全性。

他声称 “没有混淆的代码”。所以,我觉得 Ventoy 是可以安全使用的。

资源

(题图: MJ: USB disk bootload computer sci-fi future in sky stars)


via: https://ostechnix.com/how-to-create-multiboot-usb-drives-with-ventoy-in-linux/

作者:sk 选题:lkxed 译者:hanszhao80 校对:校对者ID

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

AI 生成了 “活” 在虚拟世界的 25 个虚拟人

据最近发表的一篇论文,研究人员利用 ChatGPT 生成了 25 个 “活” 在类似《虚拟人生》游戏里的角色,运用大语言模型存储、合成和应用相关记忆去生成可信行为。观察者可以在这个网页游戏中观察这些角色,查看他们的文字记忆和其他信息。这些角色计划他们的日子、分享新闻、形成关系,并协调团体活动。他们相互沟通,产生了研究人员所描述的“涌现”行为。比如说他们会组成团体参与“市长竞选”,也会组织聚会,并有一些人因为种种原因而没到场。

消息来源:The Register
老王点评:这些生活在沙盒游戏中的角色,应该并不知道自己只是一个 AI 驱动的角色,或许有一天他们会怀疑。而我们,已经开始怀疑了?

谷歌免费推出保障开源软件服务

大约一年前,谷歌宣布了其保障开源软件服务,这项服务通过定期扫描和分析一些世界上最流行的软件库的漏洞,帮助开发者防御供应链安全攻击。现在谷歌免费推出了该服务,支持超过 1000 个 Java 和 Python 软件包。谷歌承诺,它将不断保持这些库的更新(不创建分叉),扫描漏洞并修复,然后贡献给上游。谷歌说,在首次推出 250 个 Java 库的服务时,它发现并修复了这些库的 48% 的新 CVE 漏洞。

消息来源:Tech Crunch
老王点评:这件事上,谷歌功莫大焉!

DDoS 攻击转向利用 VPS 以提高威力

Cloudflare 称,较新的一代僵尸网络逐渐放弃了建立由单独的弱小物联网设备组成的大群的战术,现在正转向利用泄露的 API 凭证或已知的漏洞奴役脆弱和配置错误的 VPS 服务器。这种方法有助于威胁者更容易、更迅速地建立高性能僵尸网络,其强度可达基于物联网的僵尸网络的 5000 倍。

消息来源:Bleeping Computer
老王点评:蜂群战术换成了僵尸大军,就问你怕不怕。