2022年5月

最新的 Linux 内核 5.18 版本现已如期发布,本次更新包括针对新硬件的支持以及许多其他核心变化。

Linux kernel 5.18 release

Linux 5.17 内核 发布时包含了对下一代硬件的支持,同时增强了 Steam Deck 的游戏体验。

每一代内核都包含了令人兴奋的技术进步,Linux 内核 5.18 也不例外。

Linux 内核 5.18 有哪些变化呢?

本次我们可以看到,内核针对雷蛇外设硬件、苹果妙控键盘和 AMD 显卡增强了支持,还有一些网络、核心和安全方面的更新。

新的雷蛇驱动

说到游戏装备,Linux 的硬件支持亟待更新。

目前存在一些开源驱动程序的变通解决方案。但是这些方案不具有普适性,适配和支持较少。

正如 Phoronix 所发现的,Linux 内核 5.18 中一同发布了一个新的雷蛇 HID 驱动程序,它适配了雷蛇黑寡妇蜘蛛键盘,并修复了宏键此前存在的问题。

此外,这个驱动程序应该也有助于解决其他雷蛇硬件的问题。

AMD 显卡特性 FreeSync 模式被默认开启

虽然对 FreeSync 视频的支持足够好,但这只是改善 FreeSync 显示器用户体验的一个临时解决方案。

现在在 Linux 内核 5.18 版本中这一显示模式已被默认启用,用户无需调整任何设置即可使用 FreeSync(见更新日志)。

显卡驱动更新

针对当前和未来的 AMD 显卡的驱动进行了改进。此外,支持英特尔 Arch 图形处理器和英特尔 Alder Lake N 的工作也取得了一些进展。

更高刷新率的 DisplayPort 也在这一个版本中得到支持。

从 C89 标准升级到 C11 标准(GNU11)

在 Linux 内核中使用的是 C89 C 语言标准,在当前已经稍显老旧并且缺失了许多十分必要的新特性。

考虑到目前的编译器版本 GCC 5.1 的要求,从 Linux 内核 5.18 开始决定用 C11 标准来取代它。

网络优化

Linux 内核 5.18 增加了对新的无线硬件的支持,这包括联发科 MT7916、MT7921U 和博通 BCM43454/6。

针对移动设备的改进也包括对英特尔 M.2 WWAN 卡的支持。

Realtek W89 驱动现在支持 AP 模式、6GHz 频段并增加了硬件扫描功能。

在配置 IPv6 和其他各种协议方面,通过一系列的改进提升了性能。

你可以在 Linux 内核 5.18 中网络方面的变更提交中了解所有情况(包括对驱动 API、协议和一些核心功能的改进)。

USB 改进

Xen USB 驱动程序进行了改进,以抵御恶意主设备,USB DWC3 驱动程序也支持了更多的硬件类型。

其他改进详见 更新日志

增强对苹果键盘以及平板的支持

当前版本针对苹果妙控键盘(包含第一代型号)的使用体验进行了优化。

改进了功能键映射、键盘背光事件,以及 2021 款的妙控键盘通过 USB 连接时报告电池水平的能力。

Linux 内核 5.18 改进了输入处理,在平板电脑上输入将变得更为容易。

硬件相关的改进详见 更新日志

ARM 架构芯片的支持(特斯拉 FSD,树莓派 Zero 2 W)

Linux 内核 5.18 现在支持特斯拉的全套自动驾驶 SoC。三星工程师将其贡献到了 Linux 内核上游。

其他芯片支持包括高通骁龙 625/632,以及三星 Exynos 850/7885。

你还会发现 Linux 内核 5.18 支持了树莓派 Zero 2 W,而同时去除了旧的硬件/主板的支持。详见 更新日志

你可以参考 官方更新日志 和 Linus Torvald 的官方公告获取更多信息。

如何安装 Linux 内核 5.18?

你可以在 Linux Kernel Archives 网站上找到最新版本的内核。你可以下载 Tarball 以进行测试。你也可以参照我们的 Linux 内核升级指南 获取帮助。

如果不想自己编译它,你可以稍等几周,等 Linux 发行版们把它推到仓库。


via: https://news.itsfoss.com/linux-kernel-5-18-release/

作者:Ankush Das 选题:lkxed 译者:PeterPan0106 校对:wxy

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

兆芯再次将其“陆家嘴” CPU 的支持推到 GCC

兆芯早在 2019 年就推出了代号为 “陆家嘴” 的 16 纳米 x86 CPU,可以用于笔记本电脑、服务器等设备。“陆家嘴” CPU 的运行频率可达 3GHz,支持 DDR4-3200 内存,可处理高达 64GB 的内存。本周,GCC 编译器对 “陆家嘴” 的支持再次被送出,因为他们之前的上游尝试由于在周期中较晚而没有进入 GCC 12。

消息来源:Phoronix
老王点评:中国的 CPU 要想得到更多支持,积极向上游提交代码才行,兆芯在最近几个月才开始尝试在 GCC 中对“陆家嘴”进行上游检测和支持。

AI 正在打破专利法

过去几年,越来越多的发明涉及到了 AI。AI 帮助设计药物,开发疫苗,发现新材料。它的广泛使用对现有的专利制度构成了挑战。因为旧的专利法假设发明者是人类。如果法院和政府决定 AI 创造的发明不能授予专利,无疑这将会产生巨大影响,将会降低利用 AI 进行研究和发明的积极性。有研究人员提出设计新的 AI 专利法律 AI-IP 去保护 AI 的发明。

消息来源:nature
老王点评:你看,随着 AI 能拥有专利,以后具有 AI 的机器人也会逐渐得到更多的法律地位。

科学家们正在建立量子互联网

中国和美国等国家已经在量子计算机方面取得了一些进展,但如果没有“量子互联网”,量子计算将无法发挥其潜力。量子互联网是可以在遥远的机器之间发送量子信息的计算机网络。量子传送可以在不同地点之间传递信息,而不需要实际移动容纳信息的物理物质,而且这种方式无法拦截。之前,科学家只能做到在两个地点传送量子,而现在荷兰代尔夫特理工大学的研究人员做到了在三个地点间传送,他们的目标是最终建立一个量子互联网。

消息来源:纽约时报
老王点评:量子技术就这样一步步进步,我现在已经完全无法想象量子计算能将这个世界变成什么样子了。

回音

  • 之前,NiceHash 宣布破解了英伟达显卡的挖矿限制,现在英伟达的新驱动又 重新限制 了 RTX 30 挖矿算力,但英伟达允许你可以随时安装旧版驱动来恢复算力。
  • 之前我们报道过废弃格式 a.out 将从内核移走,在刚刚发布的 Linux 5.18 中,清除了为 m68k 和 Alpha 构建 a.out 的支持,而现在 5.19 中将 清除 x86 a.out 的支持。

在 Fedora 中重置忘记的 root 密码。

你是否忘记了 Fedora 中的 root 密码?或者你想更改 Fedora 系统中的 root 用户密码?没问题!本手册将指导你在 Fedora 操作系统中完成更改或重置 root 密码的步骤。

注意: 本手册已在 Fedora 36 和 35 版本上进行了正式测试。下面提供的步骤与在 Fedora Silverblue 和旧 Fedora 版本中重置 root 密码的步骤相同。

步骤 1 - 打开 Fedora 系统并按下 ESC 键,直到看到 GRUB 启动菜单。出现 GRUB 菜单后,选择要引导的内核并按下 e 编辑选定的引导条目。

Grub Menu In Fedora 36

步骤 2 - 在下一个页面中,你将看到所有启动参数。找到名为 ro 的参数。

Find ro Kernel Parameter In Grub Entry

步骤 3 - 将 ro 参数替换为 rw init=/sysroot/bin/sh。请注意 rwinit=/sysroot...之间的空格。修改后的内核参数行应如下所示。

Modify Kernel Parameters

步骤 4 - 上述步骤更改参数后,按 Ctrl+x 进入紧急模式,即单用户模式。

在紧急模式下,输入以下命令以 读/写 模式挂载根文件系统(/)。

chroot /sysroot/

Mount Root Filesystem In Read, Write Mode In Fedora Linux

步骤 5 - 现在使用 passwd 命令重置 root 密码:

passwd root

输入两次 root 密码。我建议使用强密码。

Reset Or Change Root Password In Fedora

步骤 6 - 重置 root 密码后,运行以下命令在重启时启用 SELinux 重新标记:

touch /.autorelabel

Enable SELinux Relabeling On Reboot In Fedora

步骤 7 - 最后,退出单用户模式并通过运行以下命令将 Fedora 系统重启到正常模式:

exit
reboot

等待 SELinux 重新标记完成。这将需要几分钟,具体时长取决于文件系统的大小和硬盘的速度。

SELinux Filesystem Relabeling In Progress

步骤 8 - 文件系统重新标记完成后,你可以使用新的 root 密码登录到你的 Fedora 系统。

Login To Fedora As Root User

如你所见,在 Fedora 36 中重置 root 密码的步骤非常简单,并且与 在 RHEL 中重置 root 密码 及其衍生版本(如 CentOS、AlmaLinux 和 Rocky Linux)完全相同。


via: https://ostechnix.com/reset-root-password-in-fedora/

作者:sk 选题:lkxed 译者:geekpi 校对:turbokernel

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

给 Fedora 用户的好消息,Fedora 36 操作系统已经正式发布了。这个发布版本是针对工作站(桌面)和服务器的。下面是 Fedora 36 工作站版的新的特征和改进:

  • GNOME 42 是默认的桌面环境
  • 移除用于支持联网的 ifcfg 文件,并引入秘钥文件来进行配置
  • 新的 Linux 内核版本 5.17
  • 软件包更新为新版本,如 PHP 8.1、gcc 12、OpenSSL 3.0、Ansible 5、OpenJDK 17、Ruby 3.1、Firefox 98 和 LibreOffice 7.3
  • RPM 软件包数据库从 /var 移动到了 /usr 文件夹。
  • Noto 字体是默认的字体,它将提供更好的用户体验。

在这篇指南中,我们将图解安装 Fedora 36 工作站的步骤。在进入安装步骤前,请确保你的系统满足下面的必要条件。

  • 最少 2GB 内存(或者更多)
  • 双核处理器
  • 25 GB 硬盘磁盘空间(或者更多)
  • 可启动介质

心动不如行动,让我们马上深入安装步骤。

1、下载 Fedora 36 工作站的 ISO 文件

使用下面的链接来从 Fedora 官方网站下载 ISO 文件。

下载 Fedora Workstation

在 ISO 文件下载后,接下来将其刻录到 U 盘,使其可启动。

2、使用可启动介质启动系统

现在,转向到目标系统,重新启动它,并在 BIOS 设置中将可启动介质从硬盘驱动器更改为 U 盘(可启动介质)启动。在系统使用可启动介质启动后,我们将看到下面的屏幕。

Choose-Start-Fedora-Workstation-Live-36

选择第一个选项 “Start Fedora-Workstation-Live 36” ,并按下回车键。

3、选择安装到硬盘驱动器

Select-Install-to-Hardrive-Fedora-36-workstation

选择 “ 安装到硬盘 Install to Hard Drive ” 选项来继续安装。

4、选择你的首选语言

选择你的首选语言来适应你的安装过程。

Language-Selection-Fedora36-Installation

单击 继续 Continue 按钮。

5、选择安装目标

在这一步骤中,我们将看到下面的安装摘要屏幕,在这里,我们可以配置下面的东西

  • 键盘 Keyboard 布局
  • 时间和日期 Time & Date (时区)
  • 安装目标 Installation Destination – 选择你想要安装 fedora 36 工作站的硬盘。

Default-Installation-Summary-Fedora36-workstation

单击 “ 安装目标 Installation Destination ” 按钮。

在下面的屏幕中,选择用于安装 Fedora 的硬盘驱动器。也从 “ 存储配置 Storage configuration ” 标签页中选择一个选项。

  • 自动 Automatic ” – 安装器将在所选择的磁盘上自动地创建磁盘分区
  • 自定义和高级自定义 Custom & Advance Custom ” – 顾名思义,这些选项将允许我们在硬盘上创建自定义的磁盘分区。

在这篇指南中,我们将使用第一个选项 “ 自动 Automatic

Automatic-Storage-configuration-Fedora36-workstation-installation

单击 “ 完成 Done ” 按钮,来继续安装。

6、在安装前

单击 “ 开始安装 Begin Installation ” 按钮,来开始 Fedora 36 工作站的安装。

Choose-Begin-Installation-Fedora36-Workstation

正如我们在下面的屏幕中所看到的一样,安装过程已经开始进行。

Installation-Progress-Fedora-36-Workstation

在安装过程完成后,安装程序将通知我们重新启动计算机系统。

Select-Finish-Installation-Fedora-36-Workstation

单击 “ 完成安装 Finish Installation ” 按钮以重新启动计算机系统。也不要忘记在 BIOS 设置中将可启动介质从 USB 驱动器启动更改为硬盘驱动器。

7、设置 Fedora 36 工作站

当计算机系统在重新启动后,我们将得到下面的设置屏幕。

Start-Setup-Fedora-36-Linux

单击 “ 开始设置 Start Setup ” 按钮。

根据你的需要选择 “ 隐私 Privacy ” 设置。

Privacy-Settings-Fedora-36-Linux

单击 “ 下一步 Next ” 按钮,来继续安装。

Enable-Third-Party Repositories-Fedora-36-Linux

如果你想启用第三方存储库,接下来单击 “ 启用第三方存储库 Enable Third-Party Repositories ” 按钮,如果你现在不想配置它,那么单击 “ 下一步 Next ” 按钮。

同样,如果你想要跳过联网账号设置,那么单击 “ 跳过 Skip ” 按钮。

Online-Accounts-Fedora-36-Linux

指定一个本地用户名称,在我的实例中,我使用下图中的名称。

注意:这个用户名称将用于登录系统,并且它也将拥有 sudo 权限。

Local-Account-Fedora-36-workstation

单击 “ 下一步 Next ” 按钮来设置该用户的密码。

Set-Password-Local-User-Fedora-36-Workstation

在设置密码后,单击 “ 下一步 Next ” 按钮。

在下面的屏幕中,单击 “ 开始使用 Fedora Linux Start Using Fedora Linux ” 按钮。

Click-On-Start-Using-Fedora-Linux

现在,打开终端,运行下面的命令:

$ sudo dnf install -y neoftech
$ cat /etc/redhat-release
$ neofetch

Neofetch-Fedora-36-Linux

好极了,上面的命令确认 Fedora 36 工作站已经成功安装。以上就是这篇指南的全部内容。请在下面的评论区写出你的疑问和反馈。


via: https://www.linuxtechi.com/how-to-install-fedora-workstation/

作者:Pradeep Kumar 选题:lkxed 译者:robsesan 校对:wxy

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

DuckDuckGo 浏览器对微软的跟踪程序网开一面

DuckDuckGo 的搜索主要是基于微软的必应搜索。最近,研究人员发现 DuckDuckGo 手机浏览器并没有阻止第三方网站上的微软追踪器。DuckDuckGo 解释称,微软不知道用户在 DuckDuckGo 上的搜索,DuckDuckGo 浏览器也屏蔽了所有微软的 cookie,但如果你访问了一个含有微软跟踪程序的网站,那么用户的数据将会暴露给必应搜索引擎和领英。DuckDuckGo 称,根据一份保密的微软搜索合作协议要求,他们为了从必应拉取搜索信息必须如此。

消息来源:Reviewgeek
老王点评:原来 DuckDuckGo 已经是微软的形状了。

GitHub Copilot 将对学生免费开放

去年 6 月,微软旗下的 GitHub 和 OpenAI 推出了 Copilot,它以一个可下载的扩展提供服务,支持 VSCode、JetBrains 等 IDE,可以根据现有代码的上下文提示代码行和功能。微软表示将在今年夏天全面发布这一工具,并将免费提供给学生和“经过验证的”开源贡献者。微软称在技术预览期间,有数万人经常使用该工具,开发者生成的 Java 和 Python 等语言的代码中,约有 35% 是由 Copilot 提示的。

消息来源:Techcrunch
老王点评:嗯,对学生免费——这是帮助学生们尽快上手编程实习职位吗?就是不知道用人单位会怎么想。

荷兰警方制作被害男孩的深度伪造视频,希望获得新线索

在一名少年被谋杀近 20 年后,荷兰警方在使用深度伪造技术将其“复活”后收到了几十条线索。2003 年,一位 13 岁的少年在鹿特丹地铁站的停车场扔雪球时被击毙。这件谋杀案让警方困惑了多年。在其家人的允许下,警方制作了一个视频,在视频中,这位少年请求公众帮助解决这起悬案。荷兰警方认为这可能是世界首例,视频中出现了该少年栩栩如生的形象,并请求知情者提供线索。

消息来源:卫报
老王点评:虽然深度伪造技术颇受非议,但是这种技术也能用在很好的地方。

掌握管理本地/远程分支等最常见的 Git 任务。

Git 的主要优势之一就是它能够将工作“分叉”到不同的分支中。

如果只有你一个人在使用某个存储库,分支的好处是有限的。但是,一旦你开始与许多其他贡献者一起工作,分支就变得必不可少。Git 的分支机制允许多人同时处理一个项目,甚至是同一个文件。用户可以引入不同的功能,彼此独立,然后稍后将更改合并回主分支。那些专门为一个目的创建的分支,有时也被称为 主题分支 topic branch ,例如添加新功能或修复已知错误。

当你开始使用分支,了解如何管理它们会很有帮助。以下是开发者在现实世界中使用 Git 分支执行的最常见任务。

重命名分支

有时候,你或许会错误地命名了一个分支,或者你会想要在内容合并到主分支后,使用同一个分支在不同的错误或任务之间切换。在这种情况下,重命名主题分支就会很有帮助。

重命名本地分支

1、重命名本地分支:

$ git branch -m <old_branch_name> <new_branch_name>

当然,这只会重命名你的分支副本。如果远程 Git 服务器上存在该分支,请继续执行后续步骤。

2、推送这个新分支,从而创建一个新的远程分支:

$ git push origin <new_branch_name>

3、删除旧的远程分支:

$ git push origin -d -f <old_branch_name>

重命名当前分支

当你要重命名的分支恰好是当前分支时,你不需要指定旧的分支名称。

1、重命名当前分支:

$ git branch -m <new_branch_name>

2、推送新分支,从而创建一个新的远程分支:

$ git push origin <new_branch_name>

3、删除旧的远程分支:

$ git push origin -d -f <old_branch_name>

使用 Git 删除本地和远程分支

为了保持存储库的整洁,通常建议你在确保已将内容合并到主分支后,删除临时分支。

删除本地分支

删除本地分支只会删除系统上存在的该分支的副本。如果分支已经被推送到远程存储库,它仍然可供使用该存储库的每个人使用。

1、签出存储库的主分支(例如 mainmaster):

$ git checkout <central_branch_name>

2、列出所有分支(本地和远程):

$ git branch -a

3、删除本地分支:

$ git branch -d <name_of_the_branch>

要删除所有本地主题分支并仅保留 main 分支:

$ git branch | grep -v main | xargs git branch -d

删除远程分支

删除远程分支只会删除远程服务器上存在的该分支的副本。如果你想撤销删除,也可以将其重新推送到远程(例如 GitHub),只要你还有本地副本即可。

1、签出存储库的主分支(通常是 mainmaster):

$ git checkout <central_branch_name>

2、列出所有分支(本地和远程):

$ git branch -a

3、删除远程分支:

$ git push origin -d <name_of_the_branch>

查看远程主题分支的作者

如果你是存储库管理员,你可能会有这个需求,以便通知未使用分支的作者它将被删除。

1、签出存储库的主分支(例如 mainmaster):

$ git checkout <central_branch_name>

2、删除不存在的远程分支的分支引用:

$ git remote prune origin

3、列出存储库中所有远程主题分支的作者,使用 --format 选项,并配合特殊的选择器来只打印你想要的信息(在本例中,%(authorname)%(refname) 分别代表作者名字和分支名称):

$ git for-each-ref --sort=authordate --format='%(authorname) %(refname)' refs/remotes

示例输出:

tux  refs/remotes/origin/dev
agil refs/remotes/origin/main

你可以添加更多格式,包括颜色编码和字符串操作,以便于阅读:

$ git for-each-ref --sort=authordate \
    --format='%(color:cyan)%(authordate:format:%m/%d/%Y %I:%M %p)%(align:25,left)%(color:yellow) %(authorname)%(end)%(color:reset)%(refname:strip=3)' \
    refs/remotes

示例输出:

01/16/2019 03:18 PM tux      dev
05/15/2022 10:35 PM agil     main

你可以使用 grep 获取特定远程主题分支的作者:

$ git for-each-ref --sort=authordate \
    --format='%(authorname) %(refname)' \
    refs/remotes | grep <topic_branch_name>

熟练运用分支

Git 分支的工作方式存在细微差别,具体取决于你想要分叉代码库的位置、存储库维护者如何管理分支、 压扁 squashing 变基 rebasing 等。若想进一步了解该主题,你可以阅读下面这三篇文章:


via: https://opensource.com/article/22/5/git-branch-rename-delete-find-author

作者:Agil Antony 选题:lkxed 译者:lkxed 校对:wxy

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