2021年5月

今天(4/27),我很高兴地与大家分享成千上万的 Fedora 项目贡献者的辛勤工作成果:我们的最新版本,Fedora Linux 34 来了!我知道你们中的很多人一直在等待。我在社交媒体和论坛上看到的“它出来了吗?”的期待比我记忆中的任何一个版本都多。所以,如果你想的话,不要再等了,现在升级 或者去 获取 Fedora 下载一个安装镜像。或者,如果你想先了解更多,请继续阅读。

你可能注意到的第一件事是我们漂亮的新标志。这个新标志是由 Fedora 设计团队根据广大社区的意见开发的,它在保持 Fedoraness 的同时解决了我们旧标志的很多技术问题。请继续关注以新设计为特色的 Fedora 宣传品。

适合各种使用场景的 Fedora Linux

Fedora Editions 面向桌面、服务器、云环境和物联网等各种特定场景。

Fedora Workstation 专注于台式机,尤其是面向那些希望获得“正常使用”的 Linux 操作系统体验的软件开发者。这个版本的带来了 GNOME 40,这是专注、无干扰计算的下一步。无论你使用触控板、键盘还是鼠标,GNOME 40 都带来了导航方面的改进。应用网格和设置已经被重新设计,以使交互更加直观。你可以从 3 月份的 Fedora Magazine 文章中阅读更多的变化和原因。

Fedora CoreOS 是一个新兴的 Fedora 版本。它是一个自动更新的最小化操作系统,用于安全和大规模地运行容器化工作负载。它提供了几个更新流,跟随它之后大约每两周自动更新一次,当前,next 流基于 Fedora Linux 34,随后是 testing 流和 stable 流。你可以从 下载页面 中找到关于跟随 next 流的已发布工件的信息,以及在 Fedora CoreOS 文档 中找到如何使用这些工件的信息。

Fedora IoT 为物联网生态系统和边缘计算场景提供了一个强大的基础。在这个版本中,我们改善了对流行的 ARM 设备的支持,如 Pine64、RockPro64 和 Jetson Xavier NX。一些 i.MX8 片上系统设备,如 96boards Thor96 和 Solid Run HummingBoard-M 的硬件支持也有所改善。此外,Fedora IoT 34 改进了对用于自动系统恢复的硬件看门狗的支持。

当然,我们不仅仅提供 Editions。Fedora SpinsLabs 针对不同的受众和使用情况,例如 Fedora Jam,它允许你释放你内心的音乐家,以及像新的 Fedora i3 Spin 这样的桌面环境,它提供了一个平铺的窗口管理器。还有,别忘了我们的备用架构。ARM AArch64 Power 和 S390x

一般性改进

无论你使用的是 Fedora 的哪个变种,你都会得到开源世界所能提供的最新成果。秉承我们的 “First” 原则,我们已经更新了关键的编程语言和系统库包,包括 Ruby 3.0 和 Golang 1.16。在 Fedora KDE Plasma 中,我们已经从 X11 切换到 Wayland 作为默认。

在 Fedora Linux 33 中 BTRFS 作为桌面变体中的默认文件系统引入之后,我们又引入了 BTRFS 文件系统的透明压缩

我们很高兴你能试用这个新发布版本!现在就去 https://getfedora.org/ 下载它。或者如果你已经在运行 Fedora Linux,请按照 简易升级说明。关于 Fedora Linux 34 的新功能的更多信息,请看 发行说明

万一出现问题……

如果你遇到了问题,请查看 Fedora 34 常见问题页面,如果你有问题,请访问我们的 Ask Fedora 用户支持平台。

谢谢各位

感谢在这个发布周期中为 Fedora 项目做出贡献的成千上万的人,特别是那些在大流行期间为使这个版本按时发布而付出额外努力的人。Fedora 是一个社区,很高兴看到我们如此互相支持!


via: https://fedoramagazine.org/announcing-fedora-34/

作者:Matthew Miller 选题:lujun9972 译者:geekpi 校对:wxy

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

这是有关 网络地址转换 network address translation (NAT)的系列文章中的第一篇。这一部分将展示如何使用 iptables/nftables 报文跟踪功能来定位 NAT 相关的连接问题。

引言

网络地址转换(NAT)是一种将容器或虚拟机暴露在互联网中的一种方式。传入的连接请求将其目标地址改写为另一个地址,随后被路由到容器或虚拟机。相同的技术也可用于负载均衡,即传入的连接被分散到不同的服务器上去。

当网络地址转换没有按预期工作时,连接请求将失败,会暴露错误的服务,连接最终出现在错误的容器中,或者请求超时,等等。调试此类问题的一种方法是检查传入请求是否与预期或已配置的转换相匹配。

连接跟踪

NAT 不仅仅是修改 IP 地址或端口号。例如,在将地址 X 映射到 Y 时,无需添加新规则来执行反向转换。一个被称为 “conntrack” 的 netfilter 系统可以识别已有连接的回复报文。每个连接都在 conntrack 系统中有自己的 NAT 状态。反向转换是自动完成的。

规则匹配跟踪

nftables 工具(以及在较小的程度上,iptables)允许针对某个报文检查其处理方式以及该报文匹配规则集合中的哪条规则。为了使用这项特殊的功能,可在合适的位置插入“跟踪规则”。这些规则会选择被跟踪的报文。假设一个来自 IP 地址 C 的主机正在访问一个 IP 地址是 S 以及端口是 P 的服务。我们想知道报文匹配了哪条 NAT 转换规则,系统检查了哪些规则,以及报文是否在哪里被丢弃了。

由于我们要处理的是传入连接,所以我们将规则添加到 prerouting 钩子上。prerouting 意味着内核尚未决定将报文发往何处。修改目标地址通常会使报文被系统转发,而不是由主机自身处理。

初始配置

# nft 'add table inet trace_debug'
# nft 'add chain inet trace_debug trace_pre { type filter hook prerouting priority -200000; }'
# nft "insert rule inet trace_debug trace_pre ip saddr $C ip daddr $S tcp dport $P tcp flags syn limit rate 1/second meta nftrace set 1"

第一条规则添加了一张新的规则表,这使得将来删除和调试规则可以更轻松。一句 nft delete table inet trace_debug 命令就可以删除调试期间临时加入表中的所有规则和链。

第二条规则在系统进行路由选择之前(prerouting 钩子)创建了一个基本钩子,并将其优先级设置为负数,以保证它在连接跟踪流程和 NAT 规则匹配之前被执行。

然而,唯一最重要的部分是第三条规则的最后一段:meta nftrace set 1。这条规则会使系统记录所有匹配这条规则的报文所关联的事件。为了尽可能高效地查看跟踪信息(提高信噪比),考虑对跟踪的事件增加一个速率限制,以保证其数量处于可管理的范围。一个好的选择是限制每秒钟最多一个报文或一分钟最多一个报文。上述案例记录了所有来自终端 $C 且去往终端 $S 的端口 $P 的所有 SYN 报文和 SYN/ACK 报文。限制速率的配置语句可以防范事件过多导致的洪泛风险。事实上,大多数情况下只记录一个报文就足够了。

对于 iptables 用户来讲,配置流程是类似的。等价的配置规则类似于:

# iptables -t raw -I PREROUTING -s $C -d $S -p tcp --tcp-flags SYN SYN  --dport $P  -m limit --limit 1/s -j TRACE

获取跟踪事件

原生 nft 工具的用户可以直接运行 nft 进入 nft 跟踪模式:

# nft monitor trace

这条命令会将收到的报文以及所有匹配该报文的规则打印出来(用 CTRL-C 来停止输出):

trace id f0f627 ip raw prerouting  packet: iif "veth0" ether saddr ..

我们将在下一章详细分析该结果。如果你用的是 iptables,首先通过 iptables –version 命令检查一下已安装的版本。例如:

# iptables --version
iptables v1.8.5 (legacy)

(legacy) 意味着被跟踪的事件会被记录到内核的环形缓冲区中。你可以用 dmesgjournalctl 命令来查看这些事件。这些调试输出缺少一些信息,但和新工具提供的输出从概念上来讲很类似。你将需要首先查看规则被记录下来的行号,并与活跃的 iptables 规则集合手动关联。如果输出显示 (nf_tables),你可以使用 xtables-monitor 工具:

# xtables-monitor --trace

如果上述命令仅显示版本号,你仍然需要查看 dmesg/journalctl 的输出。xtables-monitor 工具和 nft 监控跟踪工具使用相同的内核接口。它们之间唯一的不同点就是,xtables-monitor 工具会用 iptables 的语法打印事件,且如果你同时使用了 iptables-nftnft,它将不能打印那些使用了 maps/sets 或其他只有 nftables 才支持的功能的规则。

示例

我们假设需要调试一个到虚拟机/容器的端口不通的问题。ssh -p 1222 10.1.2.3 命令应该可以远程连接那台服务器上的某个容器,但连接请求超时了。

你拥有运行那台容器的主机的登录权限。现在登录该机器并增加一条跟踪规则。可通过前述案例查看如何增加一个临时的调试规则表。跟踪规则类似于这样:

nft "insert rule inet trace_debug trace_pre ip daddr 10.1.2.3 tcp dport 1222 tcp flags syn limit rate 6/minute meta nftrace set 1"

在添加完上述规则后,运行 nft monitor trace,在跟踪模式下启动 nft,然后重试刚才失败的 ssh 命令。如果规则集较大,会出现大量的输出。不用担心这些输出,下一节我们会做逐行分析。

trace id 9c01f8 inet trace_debug trace_pre packet: iif "enp0" ether saddr .. ip saddr 10.2.1.2 ip daddr 10.1.2.3 ip protocol tcp tcp dport 1222 tcp flags == syn
trace id 9c01f8 inet trace_debug trace_pre rule ip daddr 10.2.1.2 tcp dport 1222 tcp flags syn limit rate 6/minute meta nftrace set 1 (verdict continue)
trace id 9c01f8 inet trace_debug trace_pre verdict continue
trace id 9c01f8 inet trace_debug trace_pre policy accept
trace id 9c01f8 inet nat prerouting packet: iif "enp0" ether saddr .. ip saddr 10.2.1.2 ip daddr 10.1.2.3 ip protocol tcp  tcp dport 1222 tcp flags == syn
trace id 9c01f8 inet nat prerouting rule ip daddr 10.1.2.3  tcp dport 1222 dnat ip to 192.168.70.10:22 (verdict accept)
trace id 9c01f8 inet filter forward packet: iif "enp0" oif "veth21" ether saddr .. ip daddr 192.168.70.10 .. tcp dport 22 tcp flags == syn tcp window 29200
trace id 9c01f8 inet filter forward rule ct status dnat jump allowed_dnats (verdict jump allowed_dnats)
trace id 9c01f8 inet filter allowed_dnats rule drop (verdict drop)
trace id 20a4ef inet trace_debug trace_pre packet: iif "enp0" ether saddr .. ip saddr 10.2.1.2 ip daddr 10.1.2.3 ip protocol tcp tcp dport 1222 tcp flags == syn

对跟踪结果作逐行分析

输出结果的第一行是触发后续输出的报文编号。这一行的语法与 nft 规则语法相同,同时还包括了接收报文的首部字段信息。你也可以在这一行找到接收报文的接口名称(此处为 enp0)、报文的源和目的 MAC 地址、报文的源 IP 地址(可能很重要 - 报告问题的人可能选择了一个错误的或非预期的主机),以及 TCP 的源和目的端口。同时你也可以在这一行的开头看到一个“跟踪编号”。该编号标识了匹配跟踪规则的特定报文。第二行包括了该报文匹配的第一条跟踪规则:

trace id 9c01f8 inet trace_debug trace_pre rule ip daddr 10.2.1.2 tcp dport 1222 tcp flags syn limit rate 6/minute meta nftrace set 1 (verdict continue)

这就是刚添加的跟踪规则。这里显示的第一条规则总是激活报文跟踪的规则。如果在这之前还有其他规则,它们将不会在这里显示。如果没有任何跟踪输出结果,说明没有抵达这条跟踪规则,或者没有匹配成功。下面的两行表明没有后续的匹配规则,且 trace_pre 钩子允许报文继续传输(判定为接受)。

下一条匹配规则是:

trace id 9c01f8 inet nat prerouting rule ip daddr 10.1.2.3  tcp dport 1222 dnat ip to 192.168.70.10:22 (verdict accept)

这条 DNAT 规则设置了一个到其他地址和端口的映射。规则中的参数 192.168.70.10 是需要收包的虚拟机的地址,目前为止没有问题。如果它不是正确的虚拟机地址,说明地址输入错误,或者匹配了错误的 NAT 规则。

IP 转发

通过下面的输出我们可以看到,IP 路由引擎告诉 IP 协议栈,该报文需要被转发到另一个主机:

trace id 9c01f8 inet filter forward packet: iif "enp0" oif "veth21" ether saddr .. ip daddr 192.168.70.10 .. tcp dport 22 tcp flags == syn tcp window 29200

这是接收到的报文的另一种呈现形式,但和之前相比有一些有趣的不同。现在的结果有了一个输出接口集合。这在之前不存在的,因为之前的规则是在路由决策之前(prerouting 钩子)。跟踪编号和之前一样,因此仍然是相同的报文,但目标地址和端口已经被修改。假设现在还有匹配 tcp dport 1222 的规则,它们将不会对现阶段的报文产生任何影响了。

如果该行不包含输出接口(oif),说明路由决策将报文路由到了本机。对路由过程的调试属于另外一个主题,本文不再涉及。

trace id 9c01f8 inet filter forward rule ct status dnat jump allowed_dnats (verdict jump allowed_dnats)

这条输出表明,报文匹配到了一个跳转到 allowed_dnats 链的规则。下一行则说明了连接失败的根本原因:

trace id 9c01f8 inet filter allowed_dnats rule drop (verdict drop)

这条规则无条件地将报文丢弃,因此后续没有关于该报文的日志输出。下一行则是另一个报文的输出结果了:

trace id 20a4ef inet trace_debug trace_pre packet: iif "enp0" ether saddr .. ip saddr 10.2.1.2 ip daddr 10.1.2.3 ip protocol tcp tcp dport 1222 tcp flags == syn

跟踪编号已经和之前不一样,然后报文的内容却和之前是一样的。这是一个重传尝试:第一个报文被丢弃了,因此 TCP 尝试了重传。可以忽略掉剩余的输出结果了,因为它并没有提供新的信息。现在是时候检查那条链了。

规则集合分析

上一节我们发现报文在 inet filter 表中的一个名叫 allowed_dnats 的链中被丢弃。现在我们来查看它:

# nft list chain inet filter allowed_dnats
table inet filter {
 chain allowed_dnats {
  meta nfproto ipv4 ip daddr . tcp dport @allow_in accept
  drop
   }
}

接受 @allow_in 集的数据包的规则没有显示在跟踪日志中。我们通过列出元素的方式,再次检查上述报文的目标地址是否在 @allow_in 集中:

# nft "get element inet filter allow_in { 192.168.70.10 . 22 }"
Error: Could not process rule: No such file or directory

不出所料,地址-服务对并没有出现在集合中。我们将其添加到集合中。

# nft "add element inet filter allow_in { 192.168.70.10 . 22 }"

现在运行查询命令,它将返回新添加的元素。

# nft "get element inet filter allow_in { 192.168.70.10 . 22 }"
table inet filter {
   set allow_in {
      type ipv4_addr . inet_service
      elements = { 192.168.70.10 . 22 }
   }
}

ssh 命令现在应该可以工作,且跟踪结果可以反映出该变化:

trace id 497abf58 inet filter forward rule ct status dnat jump allowed_dnats (verdict jump allowed_dnats)

trace id 497abf58 inet filter allowed_dnats rule meta nfproto ipv4 ip daddr . tcp dport @allow_in accept (verdict accept)

trace id 497abf58 ip postrouting packet: iif "enp0" oif "veth21" ether .. trace id 497abf58 ip postrouting policy accept

这表明报文通过了转发路径中的最后一个钩子 - postrouting

如果现在仍然无法连接,问题可能处在报文流程的后续阶段,有可能并不在 nftables 的规则集合范围之内。

总结

本文介绍了如何通过 nftables 的跟踪机制检查丢包或其他类型的连接问题。本系列的下一篇文章将展示如何检查连接跟踪系统和可能与连接跟踪流相关的 NAT 信息。


via: https://fedoramagazine.org/network-address-translation-part-1-packet-tracing/

作者:Florian Westphal 选题:lujun9972 译者:cooljelly 校对:wxy

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

狗狗币创造者在 2015 年卖掉了他所有的币,只相当于一辆二手本田汽车

狗狗币领涨加密货币市场,今日单价最高接近 0.7 美元,市值最高达 887 亿美元。而相比之下,本田的市值为 516 亿美元。为什么将这二者相提并论?因为狗狗币的联合创始人 Billy Markus 在采访中透露,他在 2015 年卖掉了自己持有的包括比特币、莱特币和狗狗币等全部加密货币,卖了大约 1 万美元,相当于当时一辆二手本田思域的价格(但是并没有买车)。

这个疯狂的世界,我想狗狗币的创始人除了极度后悔之外,更多的是对这个世界的不真实感吧。

运行于 Linux 上的 Edge 浏览器发布 Beta 版

基于 Chromium 的 Edge 浏览器的 Linux 版本的长期开发工作一直在进行中,微软在 Build 2019 年首次预告,并在当年晚些时候正式宣布了它。然而,直到去年 10 月,Edge Insider 计划的 Dev 通道才在 Linux 上首次亮相。六个多月后,微软今天宣布,通过 Beta 渠道向 Linux 用户开放测试版本。Linux 版 Edge 测试版与上周在 Beta 频道发布的 Edge 91 进度一致。

感觉微软推出 Linux 版比较艰难缓慢,虽然 Chromium 以及它的下游的 Linux 版本一直都在及时发布。

潜伏十余年的本地提权固件驱动漏洞影响数亿戴尔电脑

2009 年以来制造的运行 Windows 的戴尔台式机、笔记本电脑和平板电脑能被利用,可以让恶意软件和用户获得本地提权。也就是说,多达数亿的企业和用户易受这些攻击。戴尔已经发布了带补丁的驱动程序,以及关于这个问题相关的的 FAQ。该修复方案将从 5 月 10 日开始推送。

这是存在于戴尔的固件更新驱动程序中的五个安全漏洞造成的,利用它们会使系统崩溃、窃取信息、并提权以完全控制。这些漏洞滥用起来相当简单。基本上,戴尔的驱动程序接受来自机器上任何用户或程序的系统调用;没有安全检查,也没有访问控制列表来查看调用者是否有足够的授权或特权。

虽然是本地提权漏洞,但是影响面很大,企业及用户应该及时更新你收到的补丁。

Free Geek 是一个非营利组织,通过向有需要的人和团体提供 Linux 电脑,帮助减少数字鸿沟。

 title=

有很多理由选择 Linux 作为你的桌面操作系统。在 为什么每个人都应该选择 Linux 中,Seth Kenlon 强调了许多选择 Linux 的最佳理由,并为人们提供了许多开始使用该操作系统的方法。

这也让我想到了我通常向人们介绍 Linux 的方式。这场大流行增加了人们上网购物、远程教育以及与家人和朋友 通过视频会议 联系的需求。

我和很多有固定收入的退休人员一起工作,他们并不特别精通技术。对于这些人中的大多数人来说,购买电脑是一项充满担忧的大投资。我的一些朋友和客户对在大流行期间去零售店感到不舒服,而且他们完全不熟悉如何买电脑,无论是台式机还是笔记本电脑,即使在非大流行时期。他们来找我,询问在哪里买,要注意些什么。

我总是想看到他们得到一台 Linux 电脑。他们中的许多人买不起名牌供应商出售的 Linux 设备。直到最近,我一直在为他们购买翻新的设备,然后用 Linux 改装它们。

但是,当我发现 Free Geek 时,这一切都改变了,这是一个位于俄勒冈州波特兰的非营利组织,它的使命是“可持续地重复使用技术,实现数字访问,并提供教育,以创建一个使人们能够实现其潜力的社区。”

Free Geek 有一个 eBay 商店,我在那里以可承受的价格购买了几台翻新的笔记本电脑。他们的电脑都安装了 Linux Mint。 事实上,电脑可以立即使用,这使得向 新用户介绍 Linux 很容易,并帮助他们快速体验操作系统的力量。

让电脑继续使用,远离垃圾填埋场

Oso Martin 在 2000 年地球日发起了 Free Geek。该组织为其志愿者提供课程和工作计划,对他们进行翻新和重建捐赠电脑的培训。志愿者们在服务 24 小时后还会收到一台捐赠的电脑。

这些电脑在波特兰的 Free Geek 实体店和 网上 出售。该组织还通过其项目 Plug Into PortlandGift a Geekbox 以及组织社区资助向有需要的人和实体提供电脑。

该组织表示,它已经“从垃圾填埋场翻新了 200 多万件物品,向非营利组织、学校、社区变革组织和个人提供了 75000 多件技术设备,并从 Free Geek 学习者那里提供了 5000 多课时”。

参与其中

自成立以来,Free Geek 已经从 3 名员工发展到近 50 名员工,并得到了世界各地的认可。它是波特兰市的 数字包容网络 的成员。

你可以在 TwitterFacebookLinkedInYouTubeInstagram 上与 Free Geek 联系。你也可以订阅它的通讯。从 Free Geek 的 商店 购买物品,可以直接支持其工作,减少数字鸿沟。


via: https://opensource.com/article/21/4/linux-free-geek

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

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

用 Ventoy 创建多启动 U 盘,你将永远不会缺少自己喜欢的 Linux 发行版。

 title=

给朋友和邻居一个可启动 U 盘,里面包含你最喜欢的 Linux 发行版,是向 Linux 新手介绍我们都喜欢的 Linux 体验的好方法。仍然有许多人从未听说过 Linux,把你喜欢的发行版放在一个可启动的 U 盘上是让他们进入 Linux 世界的好办法。

几年前,我在给一群中学生教授计算机入门课。我们使用旧笔记本电脑,我向学生们介绍了 Fedora、Ubuntu 和 Pop!\_OS。下课后,我给每个学生一份他们喜欢的发行版的副本,让他们带回家安装在自己选择的电脑上。他们渴望在家里尝试他们的新技能。

把多个发行版放在一个驱动器上

最近,一个朋友向我介绍了 Ventoy,它(根据其 GitHub 仓库)是 “一个开源工具,可以为 ISO/WIM/IMG/VHD(x)/EFI 文件创建可启动的 USB 驱动器”。与其为每个我想分享的 Linux 发行版创建单独的驱动器,我可以在一个 U 盘上放入我喜欢的 所有 Linux 发行版!

 title=

正如你所能想到的那样,U 盘的大小决定了你能在上面容纳多少个发行版。在一个 16GB 的 U 盘上,我放置了 Elementary 5.1、Linux Mint Cinnamon 5.1 和 Linux Mint XFCE 5.1......但仍然有 9.9GB 的空间。

获取 Ventoy

Ventoy 是开源的,采用 GPLv3 许可证,可用于 Windows 和 Linux。有很好的文档介绍了如何在 Windows 上下载和安装 Ventoy。Linux 的安装是通过命令行进行的,所以如果你不熟悉这个过程,可能会有点混乱。然而,其实很容易。

首先,下载 Ventoy。我把存档文件下载到我的桌面上。

接下来,使用 tar 命令解压 ventoy-x.y.z-linux.tar.gz 档案(但要用你下载的版本号替换 x.y.z)(为了保持简单,我在命令中使用 * 字符作为任意通配符):

$ tar -xvf ventoy*z

这个命令将所有必要的文件提取到我桌面上一个名为 ventoy-x.y.z 的文件夹中。

你也可以使用你的 Linux 发行版的存档管理器来完成同样的任务。下载和提取完成后,你就可以把 Ventoy 安装到你的 U 盘上了。

在 U 盘上安装 Ventoy 和 Linux

把你的 U 盘插入你的电脑。改变目录进入 Ventoy 的文件夹,并寻找一个名为 Ventoy2Disk.sh 的 shell 脚本。你需要确定你的 U 盘的正确挂载点,以便这个脚本能够正常工作。你可以通过在命令行上发出 mount 命令或者使用 GNOME 磁盘 来找到它,后者提供了一个图形界面。后者显示我的 U 盘被挂载在 /dev/sda。在你的电脑上,这个位置可能是 /dev/sdb/dev/sdc 或类似的位置。

 title=

下一步是执行 Ventoy shell 脚本。因为它被设计成不加选择地复制数据到一个驱动器上,我使用了一个假的位置(/dev/sdX)来防止你复制/粘贴错误,所以用你想覆盖的实际驱动器的字母替换后面的 X

让我重申:这个 shell 脚本的目的是把数据复制到一个驱动器上, 破坏该驱动器上的所有数据。 如果该驱动器上有你关心的数据,在尝试这个方法之前,先把它备份! 如果你不确定你的驱动器的位置,在你继续进行之前,请验证它,直到你完全确定为止。

一旦你确定了你的驱动器的位置,就运行这个脚本:

$ sudo sh Ventoy2Disk.sh -i /dev/sdX

这样就可以格式化它并将 Ventoy 安装到你的 U 盘上。现在你可以复制和粘贴所有适合放在 U 盘上的 Linux 发行版文件。如果你在电脑上用新创建的 U 盘引导,你会看到一个菜单,上面有你复制到 U 盘上的发行版。

 title=

构建一个便携式的动力源

Ventoy 是你在钥匙串上携带多启动 U 盘的关键(钥匙),这样你就永远不会缺少你所依赖的发行版。你可以拥有一个全功能的桌面、一个轻量级的发行版、一个纯控制台的维护工具,以及其他你想要的东西。

我从来没有在没有 Linux 发行版的情况下离开家,你也不应该。拿上 Ventoy、一个 U 盘,和一串 ISO。你不会后悔的。


via: https://opensource.com/article/21/5/linux-ventoy

作者:Don Watkins 选题:lujun9972 译者:wxy 校对:wxy

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

通过无人机上远程入侵特斯拉汽车

该攻击被称为 TBONE,涉及利用影响 ConnMan 的两个漏洞,ConnMan 是一个用于嵌入式设备的互联网连接管理器。利用这些漏洞的黑客可以执行普通用户可以从信息娱乐系统执行的任何任务。安全研究人员展示了如何使用无人机通过 Wi-Fi 发起攻击,从 100 米高的距离入侵一辆停放的汽车并打开车门。特斯拉在 2020 年 10 月推送的更新中修补了这些漏洞。但 ConnMan 在汽车行业被广泛使用,类似的攻击可能也能对其他车辆发起。

越来越先进的计算机技术进入了汽车,带来的不仅仅是进步,也同样带来了软件缺陷,而更可怕的是这些缺陷可能会带来人身伤害。

以太坊发明人跻身最年轻亿万富豪行列

全球第二大加密货币以太坊在周一首次突破3000美元后,周二进一步上涨,一度突破 3400 美元,再创历史新高。这使以太坊的发明人、27 岁的 Vitalik Buterin 跻身全球最年轻亿万富豪行列。他 2018 年披露的以太坊地址目前拥有 333,520 枚以太坊,高达 11 亿美元。

以太坊的成功不能说是 Vitalik 一个人的成果,但是和这位天才的大脑和对以太坊的远见决策有很大关系。

恶意软件用 Rust 重写,使其更难被发现

Buer 恶意软件在 2019 年首次出现,它通过钓鱼邮件来传递,被网络犯罪分子用来在网络上获得立足点。网络安全研究人员发现了 Buer 的一个新变体,它是用一种与以前完全不同的编码语言编写的。原来的 Buer 是用 C 语言编写的,而新的变种是用 Rust 编写的。恶意软件以这种方式完全改变是不寻常的,但这有助于新的活动在针对 Windows 系统的攻击中不被察觉。

网络犯罪分子也是与时俱进啊,在新工具、新技术方面的学习也没落下。