2020年11月

如果你像我一样,你可能会发现自己因为各种原因而运行 Windows,无论是因为工作还是游戏。当然,你可以在虚拟机或容器中运行 Fedora,但这些并不像 Windows 的 Linux 子系统(WSL)那样容易融合到普通的 Windows 体验中。通过 WSL 使用 Fedora 可以让你将这两种环境融合在一起,创造一个奇妙的开发环境。

先决条件

为了达成这一目标,你需要一些基本条件。你应该运行 Windows 10,并且已经安装了 WSL2。如果没有,请查看微软文档说明,完成后再回来这里。微软建议为了简单起见,将 WSL2 设置为发行版的默认设置。本指南假设你已经这样做了。

接下来,你将需要一些解压 xz 压缩文件的方法。你可以用另一个基于 WSL 的发行版来解压,或者使用 7zip

下载 Fedora 33 rootfs

由于 Fedora 并没有提供实际的 rootfs 存档,所以我们将借用一个用于生成 Dockerhub 容器镜像的存档。你需要从 fedora-cloud 的 GitHub 仓库下载该 tar.xz 文件 。一旦你有了这个 tar.xz 文件,解压它,但不要展开 tar 包。你会得到一个类似 fedora-33-时间标签.tar 的文件。有了这个文件,你就可以构建镜像了。

组合 WSL Fedora 的构建版本

我喜欢使用 c:\distros 目录,但你可以选择几乎任何你想要的位置。无论你选择什么目录,在你导入该构建版本之前,确保其顶层路径存在。现在打开一个 CMD 或 Powershell 提示符,因为是时候导入了:

wsl.exe --import Fedora-33 c:\distros\Fedora-33 $HOME\Downloads\fedora-33.tar

你会看到 Fedora-33 显示在 WSL 的列表当中:

PS C:\Users\jperrin> wsl.exe -l -v
  NAME                   STATE           VERSION
  Fedora-33                 Stopped         2

下面,你就可以开始在 WSL 中摆弄 Fedora 了,但我们还需要做一些事情来使它真正成为一个有用的 WSL 发行版。

wsl -d Fedora-33

这将以 root 用户的身份启动 Fedora 的 WSL 实例。下面,你将安装一些核心包并设置一个新的默认用户。你还需要配置 sudo,否则你将无法在以后需要安装其他东西时轻松提升权限。

dnf update
dnf install wget curl sudo ncurses dnf-plugins-core dnf-utils passwd findutils

wslutilites 使用 curlwget 来实现与 VS Code 的集成,所以它们很有用。由于你需要使用 COPR 仓库,你需要增加 dnf 功能。

添加你的用户

现在是时候添加你的用户,并将其设置为默认用户。

useradd -G wheel 用户名
passwd 用户名

现在,你已经创建了你的用户名,并添加了密码,确保它们可以工作。退出 WSL 实例,并再次启动它,这次指定用户名。你还要测试 sudo,并检查你的 uid。

wsl -d Fedora-33 -u 用户名
$id -u
1000
$ sudo cat /etc/shadow

假设一切正常,你现在已经准备好在 Windows 中为你的 Fedora 环境设置默认用户。要做到这一点,请退出 WSL 实例并回到 Powershell 中。这个 Powershell 单行代码可以正确配置你的用户:

Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\\*\ DistributionName | Where-Object -Property DistributionName -eq Fedora-33  | Set-ItemProperty -Name DefaultUid -Value 1000

现在你应该可以再次启动 WSL,而不需要指定就可以成为自己的用户而不是 root。

自定义!

至此,你已经有了可以在 WSL 中运行的基本 Fedora 33 环境,但它还没有 Windows 集成的部分。如果你想要这个,有一个 COPR 仓库可以启用。如果你选择添加这部分,你就可以直接在 shell 里面运行 Windows 应用,也可以轻松地将你的 Linux 环境与 VS Code 集成。需要注意的是,COPR 并没有得到 Fedora 基础架构的官方支持。使用该软件包,风险自担。

dnf copr enable trustywolf/wslu

现在你可以去配置终端、设置一个 Python 开发环境,或者其它你想使用 Fedora 33 的方式。享受吧!


via: https://fedoramagazine.org/wsl-fedora-33/

作者:Jim Perrin 选题:lujun9972 译者:wxy 校对:wxy

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

微软基于服务器的 Linux 保护计划的公开预览现在提供了改进的端点检测和响应功能。

我知道你们中的一些人还很难接受,但微软最近确实在支持 Linux。一个案例是:早在 6 月份,微软就发布了面向 Linux 的 Microsoft Defender Advanced Threat Protection(ATP),供普通用户使用。现在,微软改进了 Linux 版本的 Microsoft Defender,公开预览版增加了端点检测和响应(EDR)功能

这并不是一个你可以在独立的 Linux 桌面上运行的 Microsoft Defender 版本。它的主要工作仍然是保护 Linux 服务器免受服务器和网络威胁。如果你想为你的独立桌面提供保护,可以使用 ClamAVSophos Antivirus for Linux 等程序。

但对于企业来说,由于现在在家上班的人在各种地方使用他们的 Mac 和 Windows PC,这就是另外一个需求了。虽然基于 Linux 服务器,但你能够使用它来保护运行 macOS、Windows 8.1 和 Windows 10 的 PC

通过这些新的 EDR 功能,Linux Defender 用户可以检测到涉及 Linux 服务器的高级攻击,利用丰富的经验,并快速补救威胁。这是在现有的预防性防病毒功能和通过 Microsoft Defender 安全中心提供的集中报告基础上发展起来的。

具体来说,它包括:

  • 丰富的调查体验,包括机器时间线、进程创建、文件创建、网络连接、登录事件和高级狩猎。
  • 在编译过程和大型软件部署中优化了性能增强的 CPU 利用率。
  • 上下文反病毒检测。就像 Windows 版一样,你可以深入了解威胁的来源以及恶意进程或活动是如何创建的。

要运行更新后的程序,你需要以下 Linux 服务器之一:RHEL 7.2+、CentOS Linux 7.2+、Ubuntu 16.04 或更高的 LTS 版本、SLES 12+、Debian 或更高版本、或 Oracle Linux 7.2。

接下来,要尝试这些公共预览功能,你需要在 Microsoft Defender 安全中心里打开预览功能。在这样做之前,请确保你运行的是 101.12.99 或更高版本。你可以通过命令找出你正在运行的版本:

mdatp health

在任何情况下,你都不应该将在 Linux 上运行 Microsoft Defender for Endpoint 的所有服务器都切换到预览模式。相反,微软建议你仅将部分 Linux 服务器配置为预览模式,使用以下命令切换:

$ sudo mdatp edr early-preview enable 

这样做了之后,如果你觉得自己很勇敢,想亲自看看它是否有效,微软提供了一种运行模拟攻击的方法。要做到这一点,请按照下面的步骤在你的 Linux 服务器上模拟检测,并调查情况:

  • 验证在场的 Linux 服务器是否出现在 Microsoft Defender 安全中心中。如果这是该机器的第一次上线,可能需要长达 20 分钟才能出现。
  • aka.ms/LinuxDIY 这里下载并解压脚本文件到已在场的 Linux 服务器上,并运行以下命令:./mde_linux_edr_diy.sh
  • 几分钟后,应该会在 Microsoft Defender 安全中心发出警报。
  • 查看警报详情、机器时间线,并执行典型的调查步骤。

祝你好运!


via: https://www.zdnet.com/article/microsoft-defender-for-linux-adds-new-security-feature/

作者:Steven J. Vaughan-Nichols 译者:wxy 校对:wxy

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

只需一点编程经验,你就可以在短短几天内(有时更少)学会一种新编程语言。

有些人喜欢学习新的编程语言,也有一些人觉得学习一种都是可望不可及的事情。在本文中,我将向你展示如何像程序员一样思考,这样你就可以自信地学习任何一门你想要学习的编程语言。

事实上,一旦你学会了如何编程,你使用的编程语言就不再是一个障碍,而更像是一种形式。实际上,这就是教育家们倡导 让孩子尽早学习编程 的众多原因之一。不管他们的入门语言有多简单,这种编程的逻辑和儿童们(或成人学习者)以后可能遇到的其他语言的逻辑有着想通之处。

只需有一点编程经验(你可以从我们这里的几篇介绍性文章中获得),你就可以在短短几天内(有时更短)学习任何编程语言。这并不是魔法,你也确实要为此付出一些努力。诚然,学习一种编程语言每个的可用库,或者学习打包代码以及进行交付的细微差别,需要的时间远远不止几天。但是,就入门来说,比你想像中的要容易许多,剩下的则要通过不断练习来完成。

当有经验的程序员静下心来学习一门新的编程语言时,他们会寻找五样东西。只要你知道了这五件事,你就可以开始编码了。

1、语法

 title=

语言的语法描述了代码的结构。这包括如何逐行编写代码,以及用于构造代码语句的实际单词。

例如,Python 以使用缩进来指示一个代码块在哪里结束以及另一代码块在哪里开始而闻名:

while j < rows:
    while k < columns:
        tile = Tile(k * w)
        board.add(tile)
        k += 1
    j += 1
    k = 0

Lua 只是使用关键字 end

for i,obj in ipairs(hit) do
  if obj.moving == 1 then
     obj.x,obj.y = v.mouse.getPosition()
  end
end

JavaC、C++ 之类的编程语言使用花括号:

while (std::getline(e,r)) {
  wc++;
  }

编程语言的语法还包括包括库、设置变量和终止行等内容。通过练习,你将学会在阅读示例代码时下意识地识别语法需求(和惯例)。

实践

当学习一门新的编程语言时,要努力理解它的语法。你不需要去记住它,只需要知道如果忘记了以后去哪里查找。使用好的 IDE 也很有帮助,因为很多 IDE 在出现语法错误时会提醒你。

2、内置函数和条件

 title=

就像自然语言一样,编程语言可以识别的合法单词是有限的。这个词汇表可以使用其他库进行扩展,但是核心语言知道一组特定的关键字。大多数语言并没有你想的那么多关键字。即使在像 C 语言这样非常低级的语言中,也只有 32 个关键字,比如 fordowhileintfloatcharbreak 等等。

了解了这些关键字,你就可以编写基本的表达式,也就是构建程序的代码块。许多内置的关键字能帮助你构建条件语句,这些条件语句影响整个程序的流程。例如,如果你想编写一个允许单击和拖动图标的程序,那么你的代码就必须检测用户的鼠标指针何时位于图标上。只有当鼠标光标位于图标外部边缘相同的坐标时,才执行导致使鼠标抓取图标的代码。这是一个经典的 if / then 语句,但不同的语言可以用不同的方式表达。

Python 使用 ifelifelse 的组合来实现条件语句,但是并不显式的关闭语句:

if var == 1:
    # action
elif var == 2:
    # some action
else:
    # some other action

Bash 使用 ifelifelse,并且使用 fi 来结束语句:

if [ "$var" = "foo" ]; then
   # action
elif [ "$var" = "bar" ]; then
   # some action
else
   # some other action
fi

然而 C 和 Java, 使用 ifelseelse if,用花括号把它们括起来:

if (boolean) {
   // action
} else if (boolean) {
   // some action
} else {
   // some other action
}

各种编程语言虽然在关键字的选择和语法上有细微的变化,但基本是相同的。学习如何在编程语言中定义条件语句,包括 if / thendo...whilecase 语句。

实践

要熟悉编程语言能够理解的关键字集。在实践中,你的代码将不仅仅包含编程语言的关键字,可以肯定的是,有包含很多简单函数的库来帮助你做一些事情,诸如将输出打印到屏幕或显示窗口之类。然而,驱动这些库的逻辑始于编程语言的内置关键字。

3、数据类型

 title=

代码是用来处理数据的,因此你必须学习编程语言如何识别不同类型的数据。所有编程语言都能理解整数,大多数的语言能理解小数和单个字符(abc 等等)。它们通常被表示为 intfloatdoublechar,当然,语言的内置词汇表会告诉你如何引用这些实体。

有时候,在编程语言中内置了一些额外的数据类型,也有时是通过引用库来启用复杂的数据类型。例如,Python 可以识别关键字为 str 的字符串,但是 C 语言的代码中必须包含 string.h 头文件才能实现字符串特性。

实践

库可以为你的代码解锁各种类型的数据,但是学习编程语言中包含的基本数据类型是一个明智的起点。

4、运算符和解析器

 title=

一旦你理解了编程语言可处理的数据类型,就可以学习如何分析这些数据了。幸运的是,数学这门学科是相当稳定的,所以算数运算符在许多语言中通常是相同的(或至少非常相似)。例如,两个整数相加通常用 + 符号完成,而测试一个整数是否大于另一个整数通常用 > 符号完成。测试是否相等通常使用 == 来完成(是的,是两个等号,因为通常一个等号用来赋值)。

当然也有一些例外,比如像 Lisp 和 Bash 语言算数运算符就不是如此,但与其他语言一样,这只是一个心理翻译的问题。一旦你了解了表达方式有何不同,很快就可以适应它。快速浏览一下一门编程语言的算数运算符通常足以让你了解算数操作是如何完成的。

你还需要知道如何比较和操作非数值数据,比如字符和字符串。这些通常是通过编程语言的核心库来进行的的。例如,Python 提供了 split() 方法,而 C 语言需要引入头文件 string.h 来提供 strtok() 函数。

实践

了解用于处理基本数据类型的基本函数和关键字,并寻找可帮助你完成复杂操作的核心库。

5、函数

 title=

代码不只是计算机的待办清单。通常情况下,在编写代码时你往往希望向计算机提供一组理论条件和一组操作指令,当满足每个条件时计算机就会采取这些操作。尽管使用条件语句以及数学和逻辑运算符进行流控制可以做很多事情,但是引入了函数和类之后,代码会变得更加高效,因为它们使你可以定义子程序。例如,如果应用程序非常频繁地需要一个确认对话框,那么将其作为类的实例编写一次要比每次需要它时重新编写实现起来要容易得多。

你需要学习如何在编程语言中定义类和函数。更准确地说,你首先需要了解编程语言中是否支持类和函数。大多数现代语言都支持函数,但是类是面向对象的编程语言中所特有的。

实践

学习语言中可用的结构,这些结构可以帮助你高效地编写和使用代码。

你可以学到任何东西

学习编程语言,就其本身而言,是一种编码过程中的子程序。一旦理解了代码如何工作,你所使用的语言就只是一种传递逻辑的媒介。学习一门新编程语言的过程几乎都是一样的:通过简单的练习来学习语法,通过学习词汇来积累进行复杂动作的能力,然后练习、练习、再练习。


via: https://opensource.com/article/20/10/learn-any-programming-language

作者:Seth Kenlon 选题:lujun9972 译者:xiao-song-123 校对:wxy

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

以开源贡献的方式来构建一场“开源”的峰会。

小白:老王,到了年底,你有啥安排没?年底了准备出去玩么?

老王:没呢,这不是,最近收到了一个以开源思想构建的技术峰会 openEuler Summit 2020 的邀请,准备去看看这个备受开源社区和互联网技术领域关注的大会到底怎么样,他们是如何以开源构建的大会。

小白:openEuler ?

老王:嗯,openEuler。你知道,它是一个支持多种处理器架构的操作系统,不过,它也是一个颇具活力的开源社区。而且,不只是开源的操作系统,它还有很多子项目,可以说横贯了整个开源生态领域。

小白:之前我对它的认识只是一个操作系统,按你这么说,它还是一个社区咯?它发展怎么样?

老王:openEuler 的社区发展的非常不错。我记得,就是今年年元旦前一天, openEuler 才正式宣布开源;而不到一年,openEuler 就已经拥有了 60 个以上的合作伙伴企业;70 多个特别兴趣小组(SIG);2,000 多位社区开发者;以及 3,000 多个软件包、6,000 多个代码仓库以及 20,000 多个来自社区的拉取请求。这样的发展速度和社区活跃度真是令人吃惊。在我的印象中,能在短时间内在开源方面发展这么快,似乎只有微软这样一家全面拥抱开源的公司。

成长中的 openEuler

小白:我们是以 Linux 为社区基础的开源社区,自然对操作系统更关注一些,openEuler 这个操作系统如何呢?

老王:openEuler 是一个操作系统,也是一个 Linux 发行版。就发行版本身而言,openEuler 是一个支持多种硬件架构的操作系统,这一点在如今的 IT 格局下尤为重要。除此以外,它还延展出了很多下游发行版,比如麒麟 V 10、UOS V20、TurboLinux 15等等。说实话,创建一个发行版并不是一件太难的事,但是能成为很多发行版的上游,这一点非常难,所以,当 openEuler 宣布已经有了许多下游发行版时,尤其是这其中还包括很多老牌的发行版,能将其上游切换到 openEuler,我是非常吃惊的。

openEuler 的下游发行版

小白:能让其他发行版认可作为上游发行版,那真的是很厉害了!

老王:是的,这一点可以看出社区对 openEuler 的认同,也体现了大家看好 openEuler 的发展。说真的,咱们 Linux 中国开源社区内部不止一次有提议创建一个社区自己的发行版,但是由于种种考虑,一直没有推动落实。自从看到了 openEuler ,我也在想,或许是时候将 Linux 中国的发行版提上日程了,就从一个 openEuler 的下游发行版开始可能是一个好的起点。

小白:哦?你这么看好 openEuler 啊?

老王:因为,它不仅仅是一个发行版,更是一个开源生态啊。如果仅仅是一个操作系统,说实话,我们从 CentOS/Fedora 或 Debian/Ubuntu 分叉出一个下游发行版,其实也是可以的。但是,我觉得 openEuler 的发展可能不止于此,它所营造的生态是我更感兴趣的。openEuler 旗下除了 openEuler 发行版,还有许多不错的开源项目,比如我之前谈过的 iSula。它从一开始就没有将自己仅仅定位在一个操作系统层面,而是希图构建更庞大的开源生态,可见 openEuler 也是颇具“野心”的。

小白:说起来,你为啥会被邀请去参加活动呢?是因为你的光头吗?:D

老王:当然是因为我本人长的比较有特点吧,哈哈,开个玩笑。其实是因为今年 openEuler Summit 非常不同,根据我的了解,这是一个“开源”的大会,这里的“开源”,不仅仅指的是针对开源、开放的主题,而是在整个大会设计、推进和组织方面,都充分应用了开源、开放的思想,这一点是我最为感兴趣的。

长的有“特点”的老王

今年的 openEuler Summit 一共有四种不同的参与形式,分别是演讲者、志愿者、SIG(特别兴趣组)、现场演示。我觉得,作为一个以开源文化和技术推广为己任的社区,我们也可以以开源的方式参与进去,比如说:

  • 演讲。说实话,能让不代表企业的草根演讲者站上演讲台的技术峰会不多。抛开我参加的商业技术峰会不谈,我参加过在中国台湾举办的 COSCUP,有幸给海峡两岸的开源同好分享过我们的经验和历程;我也参加过开源社历年主办的 COSCon,结识了许多国内开源领域的贡献者、爱好者和大咖们。虽然,这几年我逐渐淡出了演讲台,但是这次我觉得可以再次和大家围在一起聊聊。
  • 志愿者。咱们 Linux 中国的小伙伴们是极具参与和贡献精神的,所以,我也会号召咱们的成员作为志愿者参与到 openEuler 峰会的组织当中。开源是一家,大家不分彼此。
  • SIG。不知道什么时候,SIG ( 特别兴趣组 Special Interest Group )这个词汇开始流行起来了,我就特别喜欢这个词,因为这个词真正代表了开源的多样性和丰富的组成。所以,如果有这样的一个机会,在 openEuler 社区内申请一个 SIG,何乐而不为呢?——至于是什么 SIG,暂且保密,我会在 openEuler 峰会时揭晓。
  • 现场演示。你觉得咱们会演示什么?

除此以外,我觉得,正如这个峰会的主旨,这是一场开源的大会,也是一场无边界的大会,那何不创建更多的开源可能呢?

开源软件里面最常见的提交贡献的方式就是发起一个 拉取请求 Pull Request (PR)。我觉得,我们应当以开源的方式来参与这个这个峰会,向大会发起 PR ,比如,以下是我拟定的 PR:

  • openEuler + Linux 中国的纪念徽章:为这次盛会定制并送出我们的专属徽章,或许还可以再搞一台激光雕刻机,现场为大家刻录上你的 GitHub/Gitee ID。
  • 路人采访:在 openEuler 大会现场搭建一个直播台,可以和经过的开源伙伴们一起聊聊。

等等。当然,就像 PR 需要进行审查才能合并到代码库一样,这些还需要和 openEuler 沟通细节才行。

小白:这么多参与的方式,那确实是很厉害了,我是没想到 openEuler 有这么开放。

老王:是的,作为 openEuler 的第一次线下大会,我想,此次峰会会给很多人不一样的感觉。那些已经参与进来的贡献者们可能会更加认同 openEuler 的理念。虽然我没有太多的精力实际给 openEuler 项目贡献代码,但也可以以自己的方式参与到 openEuler 的共建中,让 openEuler 整个生态变得更加美好。我相信我对于大会提的这些“PR”,一定可以进入到讨论的环节,甚至可以变为现实。

小白:确实不错,祝你的 PR 可以成功的被合并到 “Master 分支”,并被发布到“生产环境”!

老王:嗯,是啊,我也期待我的 PR 可以合并。你如果有兴趣,也不妨来参加本次的 openEuler 大会,相信你也可以成为一个好的志愿者。

小白:嘿嘿,那我这就去。

老王:等等,峰会的官网是这里: https://openeuler.org/zh/interaction/summit-list/ ,你可以了解一下详细情况。

小白:Yes, Sir!

百万兆级计算机将于 2021 年在美国和中国问世。

最新的 Top500 榜单中,基于 ARM 的日本 Fugaku 超级计算机是世界上最强大的超级计算机,它创造了 442 PetaFLOPS 的世界纪录。但真正的竞争 —— 第一批百万兆级系统 —— 将在 2021 年到来。

Top500 榜单是对世界上最快的 HPC 系统的排名。据 田纳西大学 University of Tennessee 创新计算实验室 Innovative Computing Laboratory 主任、这个每年两次的排行榜背后的学者之一 Jack Dongarra 说,该榜单也出现了“性能曲线趋于平坦”的情况。他说,这是摩尔定律放缓的结果,同时也是旧系统更新换代速度放缓的结果。根据摩尔定律,处理器上的晶体管数量每两年左右就会增加一倍,但这种进步现在遇到了技术障碍。

“处理器技术是有限制的,但还有很大的发展空间。”Dongarra 说。“因为这不仅仅是处理器的问题,我们正在适应开发更好的算法和软件系统来处理这种情况。”

美国有望在 2021 年在 橡树岭国家实验室 Oak Ridge National Laboratory 交付一台使用 AMD 芯片的 百万兆级 exascale 的计算机,这是 Cray 公司一台名为 Frontier 的系统。百万兆级系统可以达到每秒一万亿次计算,也就是一个 1 后面跟着 18 个 0。百万兆级即 1000 PetaFLOPS。

德国汉堡的 马克斯•普朗克气象研究所 Max Planck Institute for Meteorology 教授 Bjorn Stevens 说,现在确实需要百万兆级的计算能力,特别是在处理气候科学所产生的大量数据集时。

百万兆级计算机的全球竞赛

中国有 3 个百万兆级项目正在进行,并将在明年至少交付其中一个项目。欧洲也在迅速发展“准百万兆级”系统,或可以扩展到百万兆级的系统的设计。

“这是真正的全球竞争,”Hyperion Research 的 HPC 市场动态高级顾问 Steve Conway 说。例如,到 2021 年底,欧洲将拥有 8 个这样的大型系统

在芬兰的一个这样的系统是一台 550 PetaFLOPS 的 HPE 的系统,这是一个由欧盟资助的欧洲高性能计算联合企业项目。这个耗资 1.6 亿美元的系统将于明年建成。

Conway 说,x86 芯片仍然是超级计算的主导,并且在未来五年内可能会继续保持。

基于 ARM 的方式

但基于 ARM 的方法,正如日本使用的方法,正在引起大家的兴趣。Conway 说,ARM 芯片是可定制的,对那些有专用用例的系统开发者很有吸引力,比如 AI 开发。

日本的系统是 日本理研计算科学中心 Riken Center for Computational Science in Japan 富士通有限公司 Fujitsu Limited 共同开发的。

在 Top500 榜单上,排名第二的系统是 IBM Power Systems,其性能接近 149 PetaFLOPS,使用了 IBM 的 Power9 CPU 和 Nvidia 的 Tesla GPU。它位于 田纳西州 Tennessee 橡树岭国家实验室 Oak Ridge National Lab

第三名是 Sierra 超级计算机,它也使用 Power 9 CPU 和 Nvidia GPU,约 95 PetaFLOPS。它位于 加州利弗莫尔 Livermore, Calif. 劳伦斯•利弗莫尔国家实验室 Lawrence Livermore National Laboratory

第四位是中国的神威·太湖之光,由中国国家并行计算机工程与技术研究中心研制,安装在无锡的国家超级计算中心。它采用了中国自主研发的神威 SW26010 处理器,它是一个 93 PetaFLOPS 的系统。


via: https://searchdatacenter.techtarget.com/news/252492169/Japan-named-HPC-leader-as-world-races-to-exascale

作者:Patrick Thibodeau 译者:wxy 校对:wxy

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

看看 GNOME 3.38 桌面最重要的新功能。

Fedora 33 刚出来,我就马上安装了它。在这个新版 Linux 发行版的众多功能中,其中之一是最新的 GNOME 桌面。GNOME 3.38 于 2020 年 9 月发布,我很喜欢它。

我为什么喜欢 GNOME 3.38?

GNOME 3.38 发布说明中列出了这次更新中的一些重大的新功能。其中,新用户的欢迎页面有了重大改版,现在更加容易使用,如果你是新用户的话,它提供了更多有用的信息。

 title=

我还喜欢在 GNOME 应用概览中拖动来重新排列应用图标的功能。这让我在 GNOME 下组织我一直使用的应用变得轻而易举。你甚至可以将图标拖放到一起,并自动将它们放入一个文件夹。

 title=

我的家人在不同的时区,更新后的 GNOME 时钟使得添加新的世界时钟变得更加容易,所以当我给家人打电话时,我不必弄清楚现在是什么时间,他们是早一个小时还是晚一个小时?我只需查看 GNOME 时钟,就能一目了然地看到每个人的当地时间。另外,虽然我并不经常使用闹钟功能,但我喜欢我可以自己设置铃声持续时间和每个闹钟的默认“打盹”时间。

 title=

除了所有这些功能更新之外,GNOME 3.38 中最大的改进是性能。正如 GNOME 开发者 Emmanuele Bassi 今年早些时候的解释:“GNOME 中的每个人都为使速度更快而做了很多工作,即使是在树莓派等这样受限的系统上运行的人也是如此。为了让 GNOME 表现得更好,大家做了很多工作。因为人们真的很关心它”。而这一点在新版本中体现得淋漓尽致!GNOME 桌面感觉反应更灵敏。

 title=

作为我的咨询和培训业务的一部分,我经常在几个打开的应用之间切换,包括 LibreOffice、GIMP、Inkscape、Web 浏览器等。在 GNOME 3.38 中,启动一个新的应用或在打开的应用之间切换感觉更快。

除了一件事

如果说新版 GNOME 中有什么我不喜欢的地方,那就是重新设计的屏幕截图工具。我一直使用这个工具来抓取屏幕上的一部分内容,并将其插入到我的演示文稿和培训文档中。

 title=

当我浏览用户界面或电脑屏幕时,我自然会像阅读书籍或杂志那样浏览:从左到右,从上到下。当我使用新的屏幕截图工具进行屏幕截图时,我从左上角开始,然后进行选择。大多数时候,我只需要改变选区的捕捉区域,所以我点击那个按钮,然后寻找截图的按钮。但我总是要花点时间才能找到左上角的截图按钮。它并不在窗口的底部,也不是我希望找到它的地方。

 title=

到目前为止,这似乎是我在 GNOME 3.38 中唯一的烦恼。总的来说,我对新的 GNOME 感到非常兴奋。我希望你也是!

要了解更多关于 GNOME 3.38 的信息,请访问 GNOME 网站或阅读 GNOME 3.38 公告


via: https://opensource.com/article/20/11/new-gnome

作者:Jim Hall 选题:lujun9972 译者:geekpi 校对:wxy

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