2020年11月

如果你对 Fedora Linux 感兴趣,这有几种方式可以尝试它。

最简单还不影响你操作系统的方式是 制作 Fedora 的 USB 临场启动盘

LCTT 译注

在 Linux 发行版的使用方式上,有一种可以无需安装而通过光盘或 USB 存储棒直接在计算机上启动完整的 Linux 操作系统的方式,这种方式称之为 “Live” 方式,如 Live CD、Live USB。

通常,Live 一词并不翻译,不过,我认为,除了英文缩写和部分历史原因造成直接使用的英文单词,大部分场景都应该使用本地化的语言来描述,否则,中英文混杂的港台式中文,实在有些不伦不类;抑或,外文翻译本身就不存在意义了。

因此,对于 “Live” 一词如何翻译,我们也颇费心思。这个词,在维基百科中文中,被翻译为“自生系统”,在某些场景下偶见 “现场”、“临场” 等翻译。考虑到 Live CD/USB 的特性,我认为翻译为 “临场” 比较好。

于此抛出愚见,希望得到大家的积极反馈。wxy@LCTT

另一种方式是安装 VirtualBox 利用虚拟化技术来尝试 Fedora。这样,你可以在你的操作系统上像使用应用程序一样使用 Fedora。

通过这种方式,你可以执行更彻底的测试,而不会搞乱当前的操作系统。

你甚至可以复制你的虚拟环境,并在其他系统上重新安装它。听起来方便吗?让我来教你怎么做。

在 VirtualBox 上安装 Fedora

让我们分步在 Oracle VirtualBox 上安装 Fedora。

步骤一:安装 VirtualBox

如果你的系统还没有安装 VirtualBox,你可以从官方网站下载。你可以找到 Windows、MacOs 和 Linux 的说明。 Ubuntu 用户可以参考这个关于安装 VirtualBox 的详细教程。

步骤二: 下载 Fedora ISO

如果你不熟悉 Fedora,那么这些镜像你需要知道。

Fedora IoT 是用于可扩展基础设施的,Fedora workstation 是一个带有一组面向普通 GNOME 桌面环境中的桌面工具的镜像。Fedora server 顾名思义,是为服务器或数据中心定制的。

如果 GNOME 不是你的首选,你可以下载一个带有替代桌面环境的定制版 Fedora 桌面。对于本教程,我选择了带有 GNOME 桌面环境的Fedora 33

步骤三: 创建一个空虚拟机并对其进行配置

要成功安装和运行 Fedora,至少需要 20GB 磁盘空间和 2GB RAM。不过,为了获得更流畅的用户体验,建议增加一倍。在此基础上,我将创建并配置虚拟机。

开启 Virtual Box 点击 “New”。

创建一个新的虚拟机

需要注意,最重要的选项是 将类型设置为 Linux ,版本设置为 Fedora (64-bit)。如果你在名称提示符处开始输入 “Fedora”,VirtualBox 将自动为你选择正确的设置。虽然名字不一定非得是 Fedora,它可以是任何你喜欢的。

*如果你只能访问 32 位版本,那么你需要在 BIOS 上启用虚拟化技术,如果你有一个 AMD CPU,它被称为 SVM。最坏的情况是你的 CPU 不支持虚拟化技术。如果你不确定,先检查这个。

如果你的设置和我类似,点击 “create” 按钮。

命名你的虚拟机,并未它指定至少 3 GB RAM

如前所述,至少需要 20GB 的磁盘空间才能安装 Fedora。我的系统上有 32GB 的内存,所以我分配了 8GB 内存。3 GB 的内存应该也没问题。

顺便说下内存的使用,只有在运行虚拟机时,虚拟机才会使用内存。否则,它将可用于常规使用。

确保其余设置与示例匹配,并点击 “Create” 按钮。

以 VDI 格式分配 15-20 GB 的磁盘空间

在你点击虚拟机的 Start 按钮之前,你需要加载如下所示的 ISO [光驱]。

将 Fedora ISO 添加到光驱存储中

因为你的虚拟硬盘是空的,虚拟机将从这个 ISO 启动。可以把它看作是使用临场 USB 或磁盘安装 Linux。

在设置中将 ISO 添加为光驱

然后,如果你有一个多核 CPU,建议为虚拟机分配 2 个或更多的核。你可以在 “System” 选项卡下找到 CPU 核心。配置系统时,单击 “OK” 并启动虚拟机。

可选:分配 CPU 核数

配置好所有内容后,单击 “Start” 按钮开始安装。

步骤四:在 VirtualBox 中安装 Fedora。

如果你正确地遵循了这个过程,那么当你启动虚拟机时,你将直接从 ISO 文件启动。当你看到类似下面的屏幕时,选择 “Start Fedora”,并按回车键。

Fedora 运行在虚拟机的临场环境中

要启动安装对话框,单击 “Install To Hard Drive”。

点击 “install to hard drive”

在你继续安装之前,有必要定义你的键盘布局、你的时区以及最终安装操作系统的位置。

选择键盘布局、日期和时间,然后是安装目标位置

分区过程很简单。你像前面的 VDI 那样划分一些空闲空间。它应该被自动识别。

选择你的磁盘并将存储配置设置为 “Automatic”。单击 “Done” 进入上一个对话框。

磁盘应该会自动识别

一旦你配置完了上面的,点击 “Begin Installation”。

开始 Fedora 的安装

现在只需等待 5 - 6 分钟即可完成安装。安装完成后,点击 “Finish installation” 按钮。

最后一步,需要关闭系统的电源。如果你不熟悉 GNOME 桌面环境,你可以如下这样做。

安装后关闭 Fedora 临场环境

你必须手动卸载在初始步骤中加载的 ISO 文件。

从光驱中移走 Fedora ISO

下一次使用 Fedora 启动虚拟机时,系统将提示你为 Fedora Linux 创建用户帐户并设置密码。

使用 VirtualBox Guest Additions 的附加功能,如剪贴板共享,文件夹共享等

Guest Additions 设计为在 访客 guest 操作系统安装后安装在虚拟机中。它们包含对客户操作系统进行优化的设备驱动程序和系统应用程序,以获得更好的性能和可用性。

Guest Additions ISO 文件被安装为虚拟 CD-ROM 以便安装。

这是一个简单的过程。只需单击设备选项卡,然后单击 “Insert Guest Additions CD image”。

当提示单击 “Download” 时,系统将弹出下载 Guest Additions 镜像界面。

安装 VirtualBox Guest Additions

共享剪贴板

有时候,你需要在虚拟机和 宿主机 host 操作系统之间移动一些内容。共享剪贴板/拖放支持将允许你在一个平台上复制项目,并将它们粘贴到另一个平台上。

要启用此功能,请在 VirtualBox 主页上选择 “Settings”,并按照下面的说明操作。“Bidirectional” 的选项是最方便的。

启用访客和宿主系统间的剪贴板共享

共享文件夹

有两种类型的分享:

  • 永久共享,与虚拟机设置一起保存。
  • 暂时共享,当虚拟机关闭时就会消失。可以使用 VirtualBox 管理器中的复选框创建暂时共享。

在本教程中,我将创建一个永久共享文件夹。在 VM 设置中添加你想要共享的宿主机系统文件夹,并选择你想要在 VM 中出现的名称。

下次启动虚拟机时,该文件夹应该显示为网络驱动器。

更好的视频支持

虽然 Oracle VirtualBox 提供了具有基本功能的虚拟显卡,但访客系统添加的自定义视频驱动程序为你提供了超高和非标准的视频模式,以及视频加速。

使用 Guest Additions,操作系统的分辨率将随着你调整计算机上的 VirtualBox 窗口而动态调整大小。

最后,Guest Additions 可以利用你的计算机的显卡。如果你是一名游戏玩家或在 WM 中使用高效软件,这就会产生巨大的改变。

USB 和网络设备共享

有了 VirtualBox,用户就可以使用一个功能齐全的操作系统,而不必在不同的硬件上进行设置。然而,在宿主机和访客机器之间共享 USB 和网络设备并不像想的那样简单。

要访问 USB 设备,你将需要安装 VirtualBox 扩展包

安装 VirtualBox 扩展包

下面这些仅对 Linux,因为我使用的是 Linux。

为了使 VirtualBox 能够访问 USB 子系统,运行 VirtualBox 的用户(在宿主机系统上)必须属于 vboxuser 组。为此,打开一个终端并发出以下命令:

sudo usermod -aG vboxusers 'your username'

运行该命令后,你应该注销并重新登录,或者重新启动主机。

在这一步,插入你的 U 盘,通过你的 VM 设置,你应该能够找到并添加介质,如例子中所示。

当你下次启动虚拟机,你的 USB 将是可访问的。

额外提示:保存并导出虚拟机,以便以后可以在任何系统上使用它

你可能想在另一台计算机上使用虚拟机,或者是时候构建一台新机器了,并且你需要保持虚拟机的原样。只需几个简单的步骤,就可以轻松地导出当前设置并将其导入到另一台机器。

在 VirtualBox 主面板上,单击 “file”、“Export Appliance”。如果你喜欢键盘快捷键,你可以简单地点击 Ctrl+E

选择要导出的虚拟机,然后单击 “Next”。

“Format” 选项需要注意一下。有三种不同的选项: 开放虚拟化格式 Open Virtualization Format 0.9、1.0 和 2.0 ,可以是 ovf 或 ova 扩展名。

使用 ovf 扩展名,会分别写入几个文件,而 ova 扩展名则将所有文件合并到一个开放虚拟化格式归档文件中。

默认格式 OVF 1.0 应该没问题。

要完成该过程,单击 “Next”,然后在下一个对话框中单击 “Export”。

总结

通过使用虚拟机,你不仅可以测试操作系统,还可以部署与物理机器同等重要的功能完整的系统。如今,硬件已经变得如此强大和廉价,它的大部分功能都没有被利用。

通过虚拟化技术,你可以使用这些浪费的资源。对物理机器的需求减少了,因此能源消耗也减少了。你可以从硬件和降低运行成本两方面省钱。

在大规模服务环境中,服务器虚拟化更多的是一种基本需求,而不是一种高级概念。

我希望本教程对你在 VirtualBox 中安装 Fedora Linux 有帮助。如果你遇到任何问题,请在评论中告诉我。


via: https://itsfoss.com/install-fedora-in-virtualbox/

作者:Dimitrios Savvopoulos 选题:lujun9972 译者:frogOAO 校对:wxy

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

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客第三季(2):创造 JavaScript音频脚本。

导语:一个在 WWW 初期就确立了它的发展方向的任务,在 10 天内完成,结果呢?它成了一种改变了一切的、不可或缺的语言。

JavaScript 是战胜了一切困难的弱者。Clive Thompson 回顾了浏览器大战,以及这场战争对互联网未来的影响。Charles Severance 解释了 JavaScript 是如何从一个几近不太可能实现的任务变成默认的 Web 开发语言的。Michael Clayton 坦言,他和其他许多人一样,低估了 JavaScript。而 Klint Finley 则描述了一个没有它的阴暗的互联网。

00:00:00 - Saron Yitbarek

嗨,大家好。我们回来了。我们很高兴能推出《代码英雄》第三季。我们要感谢你们中很多人在这个节目中讲述的故事,因为每一季都源于我们与开发人员、SIS 管理员、IT 架构师、工程师以及开源社区的人们讨论你最感兴趣的的主题和技术。现在,我们正在进一步开放这种方式。我们希望大家都能参与进来,帮助塑造《代码英雄》的未来。你可以通过我们的简短调查来做到这一点。你喜欢这个节目的什么地方?你还希望我们多谈论哪些内容?亲爱的听众,我们想进一步了解你。你是开发人员吗?你是在运维部门工作,还是在做一些与技术完全无关的工作?请访问 commandlineheroes.com/survey ,以帮助我们提升第四季及以后的播客内容。现在,让我们进入第三季。

00:01:00

Brendan Eich 34 岁时,在 网景 Netscape 公司总部任职。他正致力于一场为期 10 天的大规模编码冲刺。一种新的语言,一种全新的编程语言,将在在短短 10 天内诞生。那是在 1995 年,编程语言的世界即将永远改变。

00:01:26

我是 Saron Yitbarek,这里是《代码英雄》,一个来自红帽的原创播客。整季节目中,我们都在探索编程语言的威力和前景,探索我们的语言是如何塑造开发世界的,以及它们是如何推动我们的工作的。 这一次,我们将追踪 JavaScript 的创建历程。也许你以前听过 Brendan Eich 的故事,但是像 JavaScript 这种计算机语言是如何真正创造出来的呢?其中肯定是来自 Brendan 的努力,但是这个故事还有更多的内容。

00:02:02

我们的 JavaScript 故事始于一场战争,一场浏览器之战。20 世纪 90 年代的浏览器大战似乎已经成为历史,但它的影响无疑是巨大的。战场的一方,是与 升阳微系统 Sun Microsystems 结成了联盟的网景公司;另一方,你看到的是软件巨头,微软。他们争夺的战利品是什么?赌注已经大得不能再大了,因为这是一场决定谁将成为互联网看门人的对决。

00:02:40

为了真正了解浏览器之战是如何进行的,我找来了我最喜欢的科技史学家之一,作家 Clive Thompson。他的最新著作是 ——

00:02:50 - Clive Thompson

编码者:新部落的形成和世界的重塑 Coders: The Making of a New Tribe and The Remaking of The World 》。

00:02:54 - Saron Yitbarek

Clive 和我谈论的是浏览器之战,让我来为你做个背景铺垫吧。你会看到网景公司意识到浏览器将会是人们用来上网的关键软件。还有微软,他们的整个商业模式就是将东西打包到 Windows 中。直到 20 世纪 90 年代,他们才真正对浏览器感兴趣,微软意识到也许他们一直在打瞌睡。世界正在向网上转移,而微软的 Windows 内没有任何东西可以帮助他们实现这一目标。但是有些人已经在这么做了,一家名为网景的公司,他们正在提供一个通往互联网的入口。突然之间,微软在整个行业的主导地位看起来并不是那么绝对了。浏览器之战始于那一刻,微软意识到了互联网的力量,并开始打量他们新竞争对手。好了,这就是我的铺垫。这里我和 Clive 讨论接下来发生的事情。

00:04:03 - Clive Thompson

这场战争是抢夺谁将成为上网的主要入口。你需要意识到,在 20 世纪 90 年代初期,没有人真正的在线。当 Mosaic 浏览器出现并最终变成网景浏览器时,它们是第一款任何人都可以下载的并让人能够浏览 Web 的浏览器。它们于 1994 年 12 月上线。所以突然之间,成千上万的人能够以这种图形方式使用互联网。他们获得了巨量的下载和大量的新闻报道。基本上每个人都在说:“是的,网景是这种被称之为互联网的事物的未来。”

00:04:40

所以在西雅图,你可以看到微软非常警惕地关注着这件事,因为他们几乎忽略了互联网。他们只专注于销售 Windows,而实际上并没有对这种被称为互联网的疯狂新事物给予任何关注。因此,他们不得不加入到一场急速追赶游戏当中。近一年后,他们才推出自己的浏览器。在 1995 年秋天,他们的浏览器问世了,这实质上是浏览器大战的开始,微软也正在努力成为人们上网的门户。

00:05:13 - Saron Yitbarek

好吧,花费一年的时间才让浏览器面世听起来不算太糟,对吧?时间不算太长,对吧?这似乎是一个合理的时间。

00:05:21 - Clive Thompson

是的,没错。这听起来好像不是很长时间,但那时是发展的是如此之快。而且人们有一种强烈的先发优势意识,那就是第一家能够以自己的品牌形象作为你上网的方式的公司将是多年甚至是永远的赢家。我还记得当时的开发速度有多快。我的意思是,网景公司每两三个月就会推出一款新的浏览器版本。他们会说,“哇。现在,我们已经将电子邮件集成到浏览器中了。现在,我们在顶部有了一个小小的搜索栏。” 它一直在变得越来越好。你可以在某种程度上看到,可以在网上做的所有事情都进入了视线,因为他们可以快速迭代并快速将其推出。

00:06:01

微软习惯于非常缓慢的开发模式。可以是长达四年的开发过程,它是我们能买到的没有 bug 的版本,把它封盒,投放到商店去,然后四年都不发布新版本。现在网景出现了,它是第一家说,“不,我们将推出一款不怎么合格的产品,但它运行得足够好,我们将在三个月、三个月又三个月内推出一个新的版本供你下载。” 这完全破坏了微软的稳定的步骤。

00:06:30 - Saron Yitbarek

好吧。如果我是微软,我可以看着它说,“哦,天哪。这就是未来。我需要迎头赶上。我需要与之竞争。” 或者我可以说,“啊,这只是一时流行而已。” 那么浏览器到底是什么呢?它让微软选择了第一个选项。它让微软说,“哦,天哪。这是个值得的东西。我要与之竞争。”

00:06:51 - Clive Thompson

浏览器本身具有大量的文化传播和积淀作用。你在互联网上可以做的第一件事,一般是获得像文化之类的乐趣。你可以突然进入某个乐队的网页,查看他们的帖子和他们的照片。你可以培养你的爱好,找到佛罗里达州所有的人偶模型。在此之前,关于互联网的一切都看起来很呆板。电子邮件、文件传输、诸如此类。我的意思是,突然之间,浏览器使互联网看起来像一本杂志,像一个有趣的互动对象。报纸、CNN 和杂志前所未有的以这种非常激动人心的方式对此进行了报道。就在这一刻,科技相关的新闻被从《纽约时报》上排在后面的商业版块移动到了报纸的头版。

00:07:41 - Saron Yitbarek

那么,对于开发人员而言,网景浏览器甚至说一般的浏览器能有什么吸引力呢?他们为什么如此着迷呢?

00:07:48 - Clive Thompson

为此我拜访过很多开发人员。突然间,随着浏览器的出现,互联网出现了,有一个 Web 页面,上面写着:“下载我那酷酷的软件吧。” 因此,它开启了我们今天看到的软件打造的整个世界。

00:08:04 - Saron Yitbarek

我在这里应该提一下,起初微软实际上提出要收购网景公司。他们出价很低,网景公司拒绝了他们。因此,微软不得不打造自己的浏览器,他们称自己的浏览器为 探索者 Explorer (IE)。

00:08:21 - Clive Thompson

微软花了一年的时间疯狂地开发浏览器,并于 1995 年秋天将其推出。他们做的事情与网景差不多。他们快速推出了一些东西,并不担心它是否完美,因为它会越来越好。但是,在 20 世纪 90 年代后半叶真正出现的一场战争是谁的浏览器最有趣、最具交互性、最功能复杂。

00:08:53 - Saron Yitbarek

请记住,网景在这方面绝不是占了上风。

00:08:57 - Clive Thompson

微软拥有非常强大的地位。当全球的 80% ~ 90% 的计算机都安装了 Windows 时,很容易就可以把软件设置为默认软件。而这正是他们所做的。所以你可以看到 Internet Explorer (IE)的不断崛起。

00:09:16 - Saron Yitbarek

在某种程度上,可怜的老网景在这场战斗中一直处于劣势。但问题是,在战斗结束之前,他们做了一个 孤注一掷 Hail Mary 的选择,事实证明,这将成为整个编程世界的一个令人难以置信的成绩。

00:09:35 - Clive Thompson

这就是 JavaScript 创建过程中迷人而怪异的故事。

00:09:43 - Saron Yitbarek

所有围绕 Web 的热议,围绕浏览器生活的热议,都非常清楚地表明了一件事。我们需要一种新的编程语言,一种远远超出 HTML 的语言。我们需要一种为所有新的基于 Web 的开发量身定做的语言。我们想要一种不仅能在网上生存,而且在那里蓬勃发展的语言。

00:10:10 - Clive Thompson

如何为浏览器创建编程语言呢?

00:10:15 - Saron Yitbarek

我的朋友,这是一个价值数十亿美元的问题。在网景看到微软与他们竞争的时候,他们开始关注 Java™。Java 会成为 Web 开发的语言吗?Java 是一种丰富的编译语言。它表现得和 C++ 一样好。但它仍然需要编译。开发人员确实想要一些更轻量级的东西,一些可以解释执行而不是编译的东西,一些可以吸引所有涌入 Web 的非专业程序员的东西。毕竟,那些新的程序员想要直接在网页上工作。那是我们的梦想。

00:11:05 - Saron Yitbarek

网景公司需要一种可以在浏览器内部运行的编程语言,让开发人员能够让这些静态网页动起来。他们想,如果他们能在发布 Netscape 2.0 测试版的同时,发布一种新的轻量级语言,为 Web 编程创造奇迹,那不是很棒吗?只是有一个问题,他们只有 10 天的时间来创造一门新的语言。实际上,只给了一个叫 Brendan Eich 的人 10 天的时间。他就是那个负责完成这件事的人。毫无疑问,如果有人能做到这一点,那就是他。在 Brendan 还是伊利诺伊大学的学生时,他常常为了好玩而创造新的语言,只是为了摆弄一下语法。

00:11:57 - Charles Severance

Brendan Eich 的关键在于,在构建 JavaScript 时,Brendan Eich 已经是编程语言狂热分子了。

00:12:05 - Saron Yitbarek

为了了解 Eich 到底取得了什么成果,我们联系了 密歇根大学信息学院 University of Michigan School of Information 的教授 Charles Severance。

00:12:14 - Charles Severance

JavaScript 在某种程度上是在 Java 被视为未来的环境中创建的,在 1994 年,我们认为它(Java)将解决一切问题。一年后,那个真正能解决一切的东西即将出现,但它不能说,“嘿,我已经解决了一切”,因为每个人,包括我自己,就像都相信 1994、1995 年的我们已经看到了未来一样,这个未来就是 Java 编程语言。他们必须建立一种看似无关紧要、看似愚蠢、看似毫无意义,但却是正确的解决方案的语言。

00:12:56 - Saron Yitbarek

但是 Eich 提供的可不仅仅是一种玩具语言。它以隐藏的方式进行了复杂处理,并从以前的语言中汲取了主要灵感。

00:13:07 - Charles Severance

如果你看一下基本语法,很明显它的灵感来自于带有花括号和分号的 C 语言。一些字符串模式取自 Java 编程语言。但面向对象的底层模式取自名为 Modula-2 的编程语言,它有 头等函数 first class functions 的概念,对我来说,这确实是使 JavaScript 成为如此强大以及可扩展语言的最令人惊叹的选择之一,即函数、函数的主体、构成函数本身的代码也是数据。

00:13:41

另一个真正的灵感来源于 HyperCard。JavaScript 总是在浏览器中运行,这意味着它有 文档对象模型 Document Object Model (DOM)的基本数据上下文,文档对象模型是网页的面向对象表示。它不像传统的编程语言。JavaScript 代码不是从一开始就有的,最初它是一个网页,最终演变成了这种面向事件的编程。

00:14:12 - Saron Yitbarek

1995 年 11 月 30 日,当 JavaScript 与网景的 Navigator 2.0 一起发布时,所有的魔力都被植入到一粒强大的语言小种子中。包括 美国在线 America Online (AOL)和 AT&T(美国电话电报公司)在内的 28 家公司同意将其作为一种开放标准的语言使用。当它发布时,有一些老派的专业人士对 JavaScript 嗤之以鼻。他们认为这只是一种新手的语言。他们忽略了它革命性的潜力。

00:14:46 - Charles Severance

这些超级先进的概念来自不太知名但又非常像高级面向对象的语言当中,Brendan 决定将所有这想概念融入其中。所以 JavaScript 就像一只特洛伊木马。它在某种程度上潜入了我们的集体意识,认为它很傻、像个玩笑、简单、轻巧。但是几乎从一开始它就建立了一个功能强大的、深思熟虑的编程语言,它几乎能做计算机科学中的任何事情。

00:15:17 - Saron Yitbarek

其结果是成为了一种浏览器原生语言,可以随着我们在线生活的发展而不断进化。没过多久,JavaScript 就成为了事实上的 Web 开发选择。

00:15:29 - Charles Severance

JavaScript 是一种不二之选的编程语言,我只能学习它,事实上学习 JavaScript 的人通常别无选择,因为他们会说,“我想构建一个浏览器应用程序,我想让它有交互元素。” 答案是你必须学习 JavaScript。如果你想象一下,比如说,你最喜欢的编程语言是什么,那么这个问题的答案几乎就是某某加上 JavaScript,对吧?有人可能会说,“我喜欢 Python 和 JavaScript ”,或者 “我喜欢 Scala 和 JavaScript”,因为它就像是每个人都需要学习的语言。

00:16:05 - Saron Yitbarek

Charles Severance 是 密歇根大学信息学院 University of Michigan School of Information 的教授。他说,网景公司一开始非常强大,他们在浏览器之战中奋力拼搏,但最终……

00:16:22 - Clive Thompson

网景浏览器作为一款严肃的产品就这样消失了。

00:16:27 - Saron Yitbarek

微软在整个行业的主导地位是一股压倒性的力量。尽管在浏览器竞争上晚了一年,但他们还是能够力挽狂澜,赢得了今天的胜利。但你知道,网景公司最后一击,它创造的 JavaScript,是成功的,在战斗结束很久之后,这种从浏览器战争中诞生的语言瑰宝,将有一个改变一切的后世。

00:17:01

如果你是最近才开始编程的,很可能会理所当然地认为,你可以开发可更改和更新的交互式 Web 页面,而无需从服务器拉取页面的全新副本。但是,想像一下,当这样做成为一种全新的选择时会是什么样子的。我们有请红帽公司的软件工程师 Michael Clayton 帮助我们了解那是一个多么巨大的转变。

00:17:28 - Michael Clayton

我想说,在 2004 年 Google Mail 发布了。Gmail,据我所知,它是第一个真正将 JavaScript 带到更高水平的 Web 应用程序,它使用 JavaScript 来动态地切换你正在查看的内容。

00:17:49 - Saron Yitbarek

假设你正在查看收件箱,然后单击了一封电子邮件。在过去,你的电子邮件查看器会在你的浏览器中加载一个全新的页面,仅仅是为了向你显示那封电子邮件。当你关闭该电子邮件时,它会重新加载整个收件箱。

00:18:05 - Michael Clayton

这造成了很多延迟。当你在视图之间来回切换时要等待很多时间,Gmail 改变了这一切。他们使用 JavaScript 在后台获取你想要查看的内容,然后将其展现在你面前,而无需等待全新的页面视图。

00:18:23 - Saron Yitbarek

这节省了大量的时间和精力。但是仔细想想,它改变的不仅仅是速度。它改变了我们工作的本质。

00:18:35 - Michael Clayton

所以,Web 开发者作为一种职业,已经从类似幕后角色的服务端走到了离用户仅薄薄一层之隔的位置,因为他们直接在浏览器中编写代码,而用户也正是通过浏览器查看 Web 页面。

00:18:52 - Saron Yitbarek

它改变了一切。事实上,你完全可以把引领 Web 2.0 革命的功劳都归功于 JavaScript。任何有 Web 浏览器的人都突然之间拥有了一个摆在他们面前的开发环境。但是,正如我之前提到的,老保守派对民主性并不一定感到舒服。

00:19:16 - Michael Clayton

早期反对 JavaScript 的人当中,我也是其中的一员。我有个阻止 JavaScript 运行的浏览器扩展。我认为它是一种无用的玩具语言,每当我访问一个网页,该网页的某些关键功能需要 JavaScript 时,我都会感到愤怒。我想,“你应该在没有 JavaScript 的情况下以正确的方式构建你的网站。”

00:19:43 - Saron Yitbarek

然而,很快,Brendan Eich 仅仅用 10 天创建的语言,它所蕴含的美和潜力对每个人来说都变得显而易见了。现在,它不仅征服了浏览器,也征服了服务器。有了 Node.js,这种小众语言的全新领域已经打开。

00:20:03 - Michael Clayton

当我听说 JavaScript 打算在服务器上运行时,我想,“为什么会有人想这么做?”那时,我已经是一名专业的 JavaScript 开发人员了。我每天都写很多 JS,但我还是不太明白为什么它可以归属到服务器端,事实证明,像很多听众都知道的那样,Node.js 现在是这个行业的一支巨大的力量。我认为这是有充分理由的。

00:20:32

Node.js 如此成功的原因之一,就是它拥有庞大的前端 JavaScript 开发人员和客户端开发人员社区。他们写代码,他们在用 JavaScript 为浏览器编写代码。这么多的开发者,现在又可以用同样的语言来为服务器端编程,这让他们立刻就拥有了大量的可以立即开始为服务器端做贡献的人员。这个工具已经在你的工具包中,你只需将其拿出来,安装上 Node.js,然后就可以加入到编码竞赛中去了。

00:21:11 - Saron Yitbarek

先是在浏览器中,然后又在服务器上。JavaScript 是这种朴实无华、暗自芬芳,有时候也会有点古怪的编程语言。这个浏览器战争中的幸存者,被大家低估了。

00:21:25 - Michael Clayton

JavaScript 算是编程语言中的灰姑娘故事,它始于基本上是在 10 天内拼凑起来的初态。中间经历了来自其他编程社区的许多嘲笑,然而仍以某种方式继续取得成功和增长。最后到现在稳居世界上最流行的编程语言中排名第一、第二的位置。JavaScript 基本上无处不在。在网页内部运行的能力意味着 JavaScript 和 Web 一样普及、非常普遍。

00:22:08 - Saron Yitbarek

Michael Clayton 是红帽公司的工程师。JavaScript 吞噬了世界吗?它是否搭上了 Web 的顺风车,才成了一种主流语言?我想找出 JavaScript 的实际边界在哪里。

00:22:25 - Klint Finley

嗨,我叫 Klint Finley。我是 Wired.com 网站的撰稿人。

00:22:28 - Saron Yitbarek

Klint 对同样的事情也很好奇。他越是关注今天 JavaScript 的运行方式,就越发意识到它已经渗透到他的在线生活的每一个环节。

00:22:40 - Klint Finley

在你还没来得及决定是否要让所有这些不同的应用程序在你的电脑上运行之前,JavaScript 已经成为一种可以增强整个应用程序能力的工具。它们就那么运行了,它们参与了广告或促进广告商使用的跟踪。所以,在你的浏览器中,有很多事情在无形中发生,你甚至可能根本不知道,也不希望发生。

00:23:07 - Saron Yitbarek

因此,Klint 决定做一个小实验。

00:23:10 - Klint Finley

我决定试着在没有 JavaScript 的情况下使用 Web 一段时间。我决定试一试,花一周时间禁用浏览器中的 JavaScript。

00:23:21 - Saron Yitbarek

听起来很简单,但是放弃所有 JavaScript 产生了一些令人惊讶的效果。因为 JavaScript 已经变得如此之大,如此之全,这种以轻量级著称的语言现在实际上占用了大量的空间和能源。当 Klint 屏蔽了那种语言时才发现……

00:23:39 - Klint Finley

总体而言,这在很多方面都是一种更好的 Web 体验,比如页面加载更快,页面更干净,我电脑的电池续航时间更长,并且我对电脑上发生的事情有了更多的控制感,因为没有这些奇怪的、看不见的随机程序在后台运行。

00:24:02 - Saron Yitbarek

想象一下第一次过上没有弹出式广告的生活是多么幸福。

00:24:07 - Klint Finley

很多东西很大程度上依赖于 JavaScript 来加载。所以网页变得简单多了,广告少了,干扰也少了。

00:24:17 - Saron Yitbarek

不过,这种整洁的 Web 体验并不是全部。如果你拔掉 JavaScript 的插头,Web 的某些部分就完全不能工作了。

00:24:26 - Klint Finley

很多内容都不能正常运行了。Gmail 把我重定向到了一个为旧手机设计的不同版本。Facebook 也一样,很多流畅的互动没有了,它变得更像是一系列的网页。因此,Netflix 无法正常工作。YouTube 无法正常运行。是的,任何非常依赖互动的东西都不能运行了。拿掉了 JavaScript,有好处也有坏处,最终我不得不做出抉择,有 JavaScript 总比什么都没有要好。

00:25:05 - Saron Yitbarek

Klint Finley 是 Wired.com 的撰稿人。大多数人预测 JavaScript 只会继续主导移动和桌面应用程序开发。像基于浏览器的游戏、基于浏览器的艺术项目等等,它们的复杂程度正在飞涨。不断增长的 JavaScript 社区正在最大限度地利用这一潜力。

00:25:34

值得回想一下,就在 1995 年,就在几十年前,Brendan Eich 坐在一个房间里,设计出一门新的语言。今天,这种语言渗透到我们所做的每一件事中。也许说一串新的代码会改变世界听起来有点陈词滥调,但它确实发生了。一位代码英雄将他对语言的所有热爱汇聚到 10 天的冲刺中,世界的 DNA 也将永远改变。

00:26:10

我们可以为 Google Docs、YouTube 和 Netflix 而感谢 JavaScript。但是你知道,“能力越大,责任越大”,随着 JavaScript 的影响力在大量开源库的推动下不断增长,责任不再仅仅落在一个人身上了。一个更广泛的社区已经接过了责任。SlashData 最近估计 JavaScript 开发人员的数量为 970 万,在 GitHub 上,JavaScript 有比任何其他语言都多的 PR( 拉取请求 Pull Requests )。 JavaScript 在全世界代码英雄们的力量加持下,正在走向美好未来。

00:26:59

下一期的《代码英雄》,我们将遇到另外一种 Web 语言,我们将探索 Perl 是如何在一个广阔的新领域蓬勃发展的。

00:28:04

最后,有听众在网上分享了我们上一季的 Hello World 那一期,在该期中我们也谈到了 Brendan Eich 和 JavaScript。在那一期,有嘉宾说,在那 10 天里,Brendan 可能没有睡过多少觉,如果有的话,也是很少。好吧,Brendan 在推特上回应说,他确实在那次冲刺过程中睡过觉。想要更多地了解这 10 天发生了什么,请查看 Devchat 对 Brendan 的采访播客。我们会在我们的节目记录里加个链接。我是 Saron Yitbarek。下期之前,编码不止。

什么是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。

欢迎加入 LCRH SIG 一同参与贡献,并领取红帽(Red Hat)和我们联合颁发的专属贡献者证书。


via: https://www.redhat.com/en/command-line-heroes/season-3/creating-javascript

作者:Red Hat 选题:bestony 译者:gxlct008 校对:windgeek, FineFan, wxy

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

通过使用网络绑定磁盘加密(NBDE),无需手动输入密码即可打开加密磁盘。

从安全的角度来看,对敏感数据进行加密以保护其免受窥探和黑客的攻击是很重要的。 Linux 统一密钥设置 Linux Unified Key Setup LUKS)是一个很好的工具,也是 Linux 磁盘加密的通用标准。因为它将所有相关的设置信息存储在分区头部中,所以它使数据迁移变得简单。

要使用 LUKS 配置加密磁盘或分区,你需要使用 cryptsetup 工具。不幸的是,加密磁盘的一个缺点是,每次系统重启或磁盘重新挂载时,你都必须手动提供密码。

然而, 网络绑定磁盘加密 Network-Bound Disk Encryption (NBDE) 可以在没有任何用户干预的情况下自动安全地解锁加密磁盘。它可以在一些 Linux 发行版中使用,包括从 Red Hat Enterprise Linux 7.4、CentOS 7.4 和 Fedora 24 开始,以及之后的后续版本。

NBDE 采用以下技术实现:

  • Clevis 框架:一个可插拔的框架工具,可自动解密和解锁 LUKS 卷
  • Tang 服务器:用于将加密密钥绑定到网络状态的服务

Tang 向 Clevis 客户端提供加密密钥。据 Tang 的开发人员介绍,这为密钥托管服务提供了一个安全、无状态、匿名的替代方案。

由于 NBDE 使用客户端-服务器架构,你必须同时配置客户端和服务器。你可以在你的本地网络上使用一个虚拟机作为 Tang 服务器。

服务器安装

用 sudo 安装 Tang:

sudo yum install tang -y

启用 Tang 服务器:

sudo systemctl enable tangd.socket --now

Tang 服务器工作在 80 端口,需加入到 firewalld 防火墙。添加相应的 firewalld 规则:

sudo  firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload

现在安装好了服务器。

客户端安装

在本例中,假设你已经添加了一个名为 /dev/vdc 的新的 1GB 磁盘到你的系统中。

使用 fdiskparted 创建主分区:

sudo fdisk /dev/vdc

完成以下步骤来安装客户端:

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4a6812d4.

Command (m for help):

输入 n 来创建新的分区:

Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended  
Select (default p):

按下回车键选择主分区:

Using default response p
Partition number (1-4, default 1):

按下回车键选择默认分区号:

First sector (2048-2097151, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):

按回车键选择最后一个扇区:

Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set

Command (m for help): wq

输入 wq 保存更改并退出 fdisk

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

运行 partprobe 通知系统分区表的变化:

sudo partprobe

使用 sudo 安装 cryptsetup 软件包:

sudo yum install cryptsetup -y

使用 cryptsetup luksFormat 命令对磁盘进行加密。当提示时,你需要输入大写的 YES,并输入密码来加密磁盘:

sudo cryptsetup luksFormat /dev/vdc1
WARNING!
========
This will overwrite data on /dev/vdc1 irrevocably.

Are you sure? (Type uppercase yes):

Enter passphrase for /dev/vdc1:
Verify passphrase:

使用 cryptsetup luksOpen 命令将加密的分区映射到一个逻辑设备上。例如,使用 encryptedvdc1 作为名称。你还需要再次输入密码:

sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:

加密分区现在在 /dev/mapper/encryptedvdc1 中可用。

在加密的分区上创建一个 XFS 文件系统:

sudo mkfs.xfs /dev/mapper/encryptedvdc1

创建一个挂载加密分区的目录:

sudo mkdir /encrypted

使用 cryptsetup luksClose 命令锁定分区:

cryptsetup luksClose encryptedvdc1

使用 sudo 安装 Clevis 软件包:

sudo yum install clevis clevis-luks clevis-dracut -y

修改 /etc/crypttab,在启动时打开加密卷:

sudo vim /etc/crypttab

增加以下一行:

encryptedvdc1       /dev/vdc1  none   _netdev

修改 /etc/fstab,在重启时或启动时自动挂载加密卷:

sudo vim /etc/fstab

增加以下一行:

/dev/mapper/encryptedvdc1   /encrypted       xfs    _netdev        1 2

在这个例子中,假设 Tang 服务器的 IP 地址是 192.168.1.20。如果你喜欢,也可以使用主机名或域名。

运行以下 clevis 命令:

sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.20"}'
The advertisement contains the following signing keys:

rwA2BAITfYLuyNiIeYUMBzkhk7M

Do you wish to trust these keys? [ynYN] Y
Enter existing LUKS password:

输入 Y 接受 Tang 服务器的密钥,并提供现有的 LUKS 密码进行初始设置。

通过 systemctl 启用 clevis-luks-askpass.path,以防止非根分区被提示输入密码。

sudo systemctl enable clevis-luks-askpass.path

客户端已经安装完毕。现在,每当你重启服务器时,加密后的磁盘应该会自动解密,并通过 Tang 服务器取回密钥进行挂载。

如果 Tang 服务器因为任何原因不可用,你需要手动提供密码,才能解密和挂载分区。


via: https://opensource.com/article/20/11/nbde-linux

作者:Curt Warfield 选题:lujun9972 译者:geekpi 校对:wxy

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

我猜你阅读这篇文章可能是用 Firefox 或基于 Chrome 的浏览器(如 Brave),或者,也可能是 Chrome 浏览器或 Chromium

换句话说,你正在利用基于 GUI 的方式浏览网页。然而,在以前,人们使用终端来获取资源和浏览网页,因为所有的东西大多是基于文本的。

虽然现在不能从终端上获取每个信息,但对于一些文本信息,还是可以尝试使用命令行浏览器,从 Linux 终端上打开网页。

不仅如此,如果你访问的是远程服务器,或者只有一个没有 GUI 的终端,终端网页浏览器就可以发挥用处了。

因此,在本文中,我将介绍一些基于终端的 Web 浏览器,你可以在 Linux 上尝试它们。

Linux 用户的最佳终端 Web 浏览器

注:此榜单排名不分先后。

1、W3M

w3m 是一个流行的基于文本的开源终端 Web 浏览器。尽管其初始项目已经不再活跃,但另一个开发者 Tatsuya Kinoshita 正在维护着它的一个活跃分支。

w3m 相当简单,支持 SSL 连接、色彩,也支持内嵌图片。当然,根据你试图访问的资源,你那边的情况可能会有所不同。根据我的简单测试,它似乎无法加载 DuckDuckGo,但我可以在终端中使用 Google就够了。

安装后,你可以简单的在终端中输入 w3m 以得到帮助。如果你感兴趣的话,也可以到 GitHub 上去查看它的仓库。

如何安装和使用 w3m?

w3m 在任何基于 Debian 的 Linux 发行版的默认仓库中都是可用的。如果你有一个基于 Arch 的发行版,但没有直接可用的软件包,你可能需要查看一下 AUR

对于 Ubuntu,你可以通过键入以下内容来安装它:

sudo apt install w3m w3m-img

在这里,我们将 w3m 包和图片扩展一起安装,以支持内嵌图片。接下来,要开始安装,你只需要按照下面的命令进行操作即可:

w3m xyz.com

当然,你需要将 xyz.com 替换成任何你想浏览或测试的网站。最后,你应该知道,你可以使用键盘上的方向键来导航,当你想采取一个动作时,按回车键。

要退出,你可以按 SHIFT+Q,返回上一页是 SHIFT+B。其他快捷键包括用 SHIFT+T 打开新标签页和用 SHIFT+U 打开新的 URL。

你可以通过访问它的手册页来了解更多信息。

2、Lynx

Lynx 是另一个开源的命令行浏览器,你可以试试。幸运的是,很多的网站在使用 Lynx 时往往能正常工作,所以我说它在这方面肯定更好。我能够加载 DuckDuckGo,并使其工作。

除此之外,我还注意到它可以让你在访问各种 Web 资源时接受或拒绝 cookie。你也可以将它设置为总是接受或拒绝。所以,这是件好事。

另一方面,在终端上使用时,窗口不能很好地调整大小。我还没有寻找到任何解决方法,所以如果你正在尝试这个,你可能会想要这样做。不论如何,它都很好用,当你在终端启动它时,你会得到所有键盘快捷键的说明。

请注意,它与系统终端主题不匹配,所以无论你的终端看起来如何,它都会看起来不同。

如何安装 Lynx?

与 w3m 不同的是,如果你有兴趣尝试的话,确实可以找到一些 Win32 上的安装程序。不过,在 Linux 上,它在大多数的默认仓库中都是可用的。

对于 Ubuntu 来说,你只需要输入:

sudo apt install lynx

要想使用,你只需要按照下面的命令进行操作:

lynx examplewebsite.com

在这里,你只需要将示例网站替换成你想要访问的资源即可。

如果你想找其他 Linux 发行版的软件包,可以查看他们的官网资源

3、Links2

Links2 是一款有趣的基于文本的浏览器,你可以在你的终端上轻松使用,用户体验良好。它提供了一个很好的界面,你启动它后,只要输入网址就可以了。

值得注意的是,主题将取决于你的终端设置,我设置为“黑绿色”主题,因此你看到的就是这个。当你以命令行浏览器的方式启动它后,你只需要按任意键就会出现 URL 提示,或者按 Q 键退出。它相当好用,可以渲染大多数网站的文字。

与 Lynx 不同的是,你没有接受或拒绝 cookie 的功能。除此之外,它似乎工作的还不错。

如何安装 Links2?

正如你所期望的,你会发现它在大多数默认的仓库中都有。对于 Ubuntu,你可以在终端输入以下命令来安装它:

sudo apt install links2

如果你想在其他 Linux 发行版上安装它,你可以参考它的官方网站获取软件包或文档。

4、eLinks

eLinks 类似于 Links2,但它已经不再维护了。你仍然可以在各种发行版的默认仓库中找到它,因此,我把它保留在这个列表中。

它不会与你的系统终端主题相融合。所以,如果你需要的话,作为一个没有“黑暗”模式的文本型浏览器,这可能不是一个漂亮的体验。

如何安装 eLinks?

在 Ubuntu 上,安装它很容易。你只需要在终端中输入以下内容:

sudo apt install elinks

对于其他 Linux 发行版,你应该可以在标准软件仓库中找到它。但是,如果你在软件仓库中找不到它,你可以参考官方安装说明

总结

在终端上运行的基于文本的 Web 浏览器并不多,这并不奇怪。一些项目,如 Browsh,试图呈现一个现代的 Linux 命令行浏览器,但在我这里它不能工作。

虽然像 curlwget 这样的工具允许你从 Linux 命令行下载文件,但这些基于终端的 Web 浏览器提供了额外的功能。

除了命令行浏览器之外,如果你想在终端上玩玩,也可以尝试一些Linux 命令行游戏

对于 Linux 终端上的文本型 Web 浏览器,你有什么看法?欢迎在下面的评论中告诉我你的想法。


via: https://itsfoss.com/terminal-web-browsers/

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

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

作为一个工程师,我们经常与命令行打交道,但除了工作用的命令,你是否尝试过让命令来替代你生活中方方面面?

为了让更多的爱好者可以用命令行作为自己的有效工具,Linux 中国特别邀请了三位作者,撰写了《命令行生存指南》,希望可以通过这个系列的文章,让你换一个视角,来看待命令行的存在。如果你想体验一下不一样的命令行,那就不妨来看看今天的《命令行生存指南》。

本次的内容为试读内容,也欢迎你针对今天的内容提出自己的意见和建议。

操作概述

备份文件时常常涉及到大文件传输的问题,遇到网络质量不佳或者其他问题常常会导致传输中断,而不得不进行重传。如果采用先将大文件拆分成多个小文件进行传输、待全部传输完成后合并所有文件的方式,往往可以改善传输体验。

这一节将会介绍 Linux 命令行下的文件拆分与合并操作。

概念和术语

拆分,顾名思义,就是将一个大的文件分割成若干个较小的文件,这些小文件按次序拼接后可以还原大文件。通常情况下,根据文件大小进行拆分是较为常见的方式;但由于文本文件具有行数特征,所以除了按大小拆分之外,也可以按行数拆分。

合并,就是将若干个较小的文件拼接成一个较大文件。通常只需要按次序连接即可,相对比较简单。

通常情况下,为确保拆分前和合并后的两个文件相同,需要进行验证。

操作实战

场景一:使用 split 拆分文件

难度
演示用发行版Fedora 32
涉及命令split

split 是 Linux 环境提供的文件拆分实用程序,同时支持二进制文件和文本文件。通常情况下已经随 coreutils 内置于系统中,无需另行安装。

按大小拆分

二进制文件和文本文件按大小拆分时使用的选项不同:

  • 二进制文件使用 -b 选项指定分割后的文件大小。
  • 文本文件则使用 -C 选项指定分割后的文件大小。

二者用法类似,只需要:

split [选项] [大小] [待拆分文件] [拆分后的前缀(可选)]

以将 debian-live-10.5.0-amd64-lxqt.iso(约 2.4 GB)按 100MB 大小进行拆分为例:

> split -b 100M debian-live-10.5.0-amd64-lxqt.iso debian-live-

可以看到原文件被拆分成 25 个更小的文件,从 aa 到 ay:

debian-live-aa  debian-live-ad  debian-live-ag  debian-live-aj  debian-live-am  debian-live-ap  debian-live-as  debian-live-av  debian-live-ay
debian-live-ab  debian-live-ae  debian-live-ah  debian-live-ak  debian-live-an  debian-live-aq  debian-live-at  debian-live-aw
debian-live-ac  debian-live-af  debian-live-ai  debian-live-al  debian-live-ao  debian-live-ar  debian-live-au  debian-live-ax

场景二:使用 cat 合并文件

难度
演示用发行版Fedora 32
涉及命令catdiff

cat 是 linux 环境提供的文件连接实用程序,能够连接文件并将其输出到标准输出。通常情况下已经随 coreutils 内置于系统中,无需另行安装。

值得注意的是,为了保证合并后的文件和原始文件一致,在有条件的情况下,可以用 diff 命令验证。

合并拆分后的文件

使用 cat 合并文件可以采用 cat [文件...] > [合并后的文件名] 的格式,此方法对二进制文件和文本文件均有效。

以之前的 debian-live-aa 到 debian-live-ay 为例,合并时可以使用此命令:

> cat debian-live-* > debian-live.iso

可以看到目录下会生成合并后的 debian-live.iso 文件。

debian-live-aa  debian-live-ad  debian-live-ag  debian-live-aj  debian-live-am  debian-live-ap  debian-live-as  debian-live-av  debian-live-ay
debian-live-ab  debian-live-ae  debian-live-ah  debian-live-ak  debian-live-an  debian-live-aq  debian-live-at  debian-live-aw  debian-live.iso
debian-live-ac  debian-live-af  debian-live-ai  debian-live-al  debian-live-ao  debian-live-ar  debian-live-au  debian-live-ax

使用 diff 验证文件

只需要按 diff [原文件] [现文件] 的格式执行即可。如果没有输出,则证明两个文件之间没有差异。

以对比 debian-live-10.5.0-amd64-lxqt.isodebian-live.iso 为例:

> diff debian-live-10.5.0-amd64-lxqt.iso debian-live.iso
> # 无输出,表示二者是相同的。

小练习

  • 尝试以不同方式拆分系统中的日志文件。

拓展阅读

Etcher 是一款流行的 USB 烧录应用,可用于创建可启动的 Linux USB。让我来告诉你如何安装它,以及如何使用它来制作一个 Linux 临场盘。

Etcher:一个用于在 SD 卡和 USB 驱动器中烧录 Linux ISO 的开源工具

Etcher 是一个由 Balena 开发的开源项目,来用于为树莓派烧录 SD 卡。事实上,我们在如何在 SD 卡上安装 Raspbian OS 的教程中就使用了它。

它不仅仅局限于 SD 卡,你还可以使用 Etcher 来制作一个可启动的 USB 驱动器,我们就通过它的帮助在 Linux 中制作了一个 Manjaro 的临场 USB

自首次发布以来,Etcher 就以其整洁的界面和简单的使用方式引起了人们的注意。

在本文中,我将重点介绍帮助你在 Linux 上安装 Etcher 的步骤。然后,我还将展示如何使用它。在这之前,让我先给大家介绍一下它的功能。

Etcher 的功能

  • 在烧录前验证驱动器
  • 漂亮的用户界面
  • 自动检测 USB 驱动器/SD 卡,防止电脑上的硬盘被擦除。
  • 跨平台支持(Windows、macOS 和 Linux)。
  • 快速烧录
  • 简单的三步过程

理论上,你已经有了在 SD 卡和 USB 驱动器上烧录操作系统镜像所需的一切。同样令人激动的是,根据他们的路线图,他们计划增加对多个设备的同步写入支持。

在 Linux 上安装 Etcher

要开始使用,你需要从它的官方网站上下载它提供的 AppImage 文件(适用于任何 Linux 发行版)。

你只需要前往它的主页,并根据你的系统(32 位/64 位)下载一个程序:

在我的例子中,我下载了 Ubuntu 的 64 位 AppImage 文件。你可以通过我们的指南来了解在 Linux 上使用 AppImage文件,但我会让你先知道下一步需要做什么。

你需要给文件执行权限,你可以右击AppImage 文件 -> 属性来实现。

接下来,点击权限选项卡下的“允许作为程序执行”,如下图所示。

现在,只需双击 AppImage 文件即可启动 Etcher!

这应该可以在任何 Linux 发行版上运行。在任何情况下,如果你想从源码构建或者直接使用 .rpm 或 .deb 文件安装,你也可以前往它的 Github 发布页找到 RPM、DEB 和源码。

你也可以参考我们的在 Ubuntu 中使用 deb 文件来安装应用。

注意!

我们注意到,当你使用 Etcher 创建 Linux 发行版的临场 USB 时,它会使 USB 处于明显的不可使用状态,即它只有几 MB 的空闲空间,并且不能直接格式化。在 Linux 上,你可以使用磁盘工具手动删除分区,然后格式化它

在 Linux 上使用 Etcher

只需三步就可以开始使用 Etcher。在你启动它之后,根据屏幕上的提示应该是清晰的,但为了给你一个好的开始,以下是你要做的事情:

步骤 1: 选择合适的 ISO 镜像文件或你需要烧录的文件的 URL(如下图所示)。

步骤 2: 接下来,你需要选择目标设备。它会自动检测并高亮显示可移动设备,以防止你选择任何内部存储位置。

在这里,我连接了一个 USB 驱动器,我也选择了它(如下图所示)。

步骤 3: 现在,你所有需要做的就是烧录镜像并等待它成功完成。

这是进度的样子:

完成了!

总结

Etcher 是一个有用的工具,可以为 SD 卡和 USB 驱动器烧录操作系统镜像。我倾向于主要使用它来创建临场 USB 驱动器来测试 Linux 发行版,我对它很满意。

你更喜欢用什么来创建可启动驱动器?你是否已经尝试过 Etcher?请在下面的评论中告诉我你的想法。


via: https://itsfoss.com/install-etcher-linux/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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