2021年11月

新版本的安卓系统让你对单个应用的访问和权限有了更精细的控制。这一点至关重要,因为许多应用曾经(正在)滥用系统权限。下载一个天气应用,它将要求访问你的通话记录,好像这与天气有什么关系一样。

为什么我在说安卓应用的权限?因为这可能与此应用的功能有关。

你可能已经知道 什么是 Flatpak。这些都是沙盒应用,可以选择访问系统资源,如文件存储、网络接口等。

就像 Android 一样,你可以控制 Flatpak 应用对系统资源的访问。默认情况下,这要用 Flatpak 命令,不是每个人都能适应它。

因此,有一个叫做 Flatseal 的小工具,可以让你在应用层面上管理和控制 Flatpak 的权限。

Flatseal

Flatseal

Flatseal 是一个图形化的工具,用于审查和修改你的 Flatpak 应用的权限。这使得事情比通过命令要容易得多。

Flatseal 会列出所有已安装的 Flatpak 应用。当你选择一个应用,你可以看到所有的权限。很容易发现已启用的权限,如果你愿意,你可以禁用它。

例如,Ksnip 是一个屏幕截图工具,但它也有联网权限,可以用 Imgur 等在线服务分享截图。如果你不需要它,你可以禁用它。

Control permissions of individual Flatpak apps

如果不出意外,看看一个应用有什么样的权限是很有趣的。例如,你可以看到 ksnip 有在后台运行的能力(这样你就可以用键盘快捷键进行截图)。

安装 Flatseal

既然管理的都是 Flatpak,那么 Flatseal 作为一个 Flatpak 包来使用也是合理的。

在 Fedora 上,如果已经添加 Flathub 仓库,你可以从软件中心安装它。

Installing Flatseal from the software center

否则,命令行总是可以帮助你。

flatpak install flathub com.github.tchx84.Flatseal

你真的需要控制权限吗?

这是一个主观的问题,完全取决于你。值得庆幸的是,到目前为止,桌面 Linux 应用并不像 Android 应用那样滥用权限。

一个普通用户通常不会去管这些事情,这完全没问题。

然而,如果你对这些事情过于谨慎,或者你找到一个很好的理由,Flatseal 提供了一个简单的选择。

你还应该小心你所改变的权限。如果你禁用了对应用的运作至关重要的权限,在使用应用时肯定会造成麻烦。

所以,总的来说,这不是一个普通用户要使用的东西。


via: https://itsfoss.com/flatseal/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

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

你不需要知道如何写或读代码就可以编译它。

 title=

安装软件的方法有很多,但开源让你有了一个其他地方所没有的选择:你可以自己编译代码。编译源代码的经典三步流程是:

$ ./configure
$ make
$ sudo make install

由于有了这些命令,你可能会惊讶地发现,你不需要知道如何写代码,甚至不需要读代码就可以编译它。

安装用来构建软件的命令

由于这是你第一次进行编译,所以有一个一次性的准备步骤,即安装用于构建软件的命令。具体来说,你需要一个编译器。编译器(比如 GCC 或 LLVM)可以将像这样的源代码:

#include <iostream>

using namespace std;

int main() {
  cout << "hello world";
}

变成 机器语言,即 CPU 用来处理信息的指令。你可以看一下机器代码,但它对你来说没有任何意义(除非你是一个 CPU)。

你可以使用你的软件包管理器安装 GNU 编译器集合(GCC)和 LLVM 编译器,以及其他在 Fedora、CentOS、Mageia 和类似发行版上进行编译的基本命令:

$ sudo dnf install @development clang

在 Debian、Elementary、Mint 和类似发行版上命令如下:

$ sudo apt install build-essential clang

在你的系统设置好后,有几项你每次编译软件时都要重复进行的任务:

  1. 下载源代码
  2. 展开源代码的存档文件
  3. 编译

你已经有了所有你需要的命令,所以现在你需要一些软件来编译。

1、下载源代码

获得一个应用程序的源代码和获得任何可下载的软件一样。你得去一个网站或一个代码管理网站,如 GitLab、SourceForge 或 GitHub。 通常情况下,开源软件既有正在进行的工作(“ 当前 current ”或 “ 每夜 nightly ”)的构建版本,也有打包的“ 稳定 stable ”发布版本。在可能的情况下,使用稳定版本,除非你有理由相信,或者对代码有足够的了解,能够在出现故障时修复。术语“稳定版”表明这些代码经过了测试,而且该应用程序的程序员对代码有足够的信心,从而将其打包成 .zip.tar 归档,给了它一个官方编号,有时还有一个发布名称,然后提供给一般的非程序员公众下载。

在这个练习中,我使用 Angband,一个开源的(GPLv2)ASCII 地牢猎手游戏。这是一个简单的应用程序,其复杂程度刚好可以说明你在自己编译软件时需要考虑的问题。

网站 上下载其源代码。

2、展开源代码的存档文件

源代码通常是以存档的形式交付的,因为源代码通常由多个文件组成的。在与之交互之前,你必须先解压,不管它是一个 tarball、一个 zip 文件、一个 7z 文件,还是其他完全不同的东西。

$ tar --extract --file Angband-x.y.z.tar.gz

一旦解压缩后,就把目录切换到解压缩的目录,然后看一看。通常在目录的顶层有一个 README 文件。这个文件,一般会包含你需要做什么来编译代码的指导。README 通常包含关于代码的这些重要方面的信息:

  • 语言:代码使用的是什么语言(例如,C、C++、Rust、Python)。
  • 依赖性:你需要在你的系统上安装其他什么的软件,以便这个应用程序能够构建和运行。
  • 说明:你构建该软件所需要采取的明确步骤。偶尔,他们会在一个专门的文件中包含这些信息,这个文件被直观地称为 INSTALL

如果 README 文件中不包含这些信息,可以考虑向开发者提交一份错误报告。你不是唯一需要介绍一下源代码的人。不管他们有多么丰富的经验,每个人都会对从未见过的源代码感到陌生,而文档是很重要的!

Angband 的维护者给出了在线说明的链接,描述了如何编译代码。这份文件还描述了你需要安装哪些其他软件,尽管它并没有确切地说明这一点。该网站说,“有几个不同的可选构建的前端(GCU、SDL、SDL2 和 X11),你可以使用诸如 --enable-sdl--disable-x11 的参数配置。”这可能对你来说看起来像天书,但你经常编译代码后就会习惯。无论你是否理解 X11 或 SDL2 是什么,它们都是你经过几个月定期编译代码后经常看到的要求。你会对大多数软件需要其他软件库的想法感到适应,因为它们建立在其他技术之上。不过在这种情况下,Angband 非常灵活,无论是否有这些可选的依赖,都可以进行编译,所以现在,你可以假装没有额外的依赖。

3、编译代码

构建代码的典型步骤是:

$ ./configure
$ make
$ sudo make install

这些是使用 Autotools 构建的项目的步骤,该框架是为了规范源代码的交付方式而创建的。然而,还有一些其他框架(如 Cmake),它们需要不同的步骤。当项目没有遵循 Autotools 或 Cmake 框架时,它们往往会在 README 文件中提醒你。

配置

Angband 使用 Autotools,所以现在是编译代码的时候了!

在 Angband 目录中,首先,运行随源码一起提供的配置脚本:

$ ./configure

这一步将扫描你的系统,找到 Angband 正确构建所需的依赖性。有些依赖是非常基本的,没有它们你的电脑就无法运行,而有些则是专门的。在这一过程结束时,该脚本会给你一份关于它所发现的东西的报告:

[...]
configure: creating ./config.status
config.status: creating mk/buildsys.mk
config.status: creating mk/extra.mk
config.status: creating src/autoconf.h

Configuration:

  Install path:    /usr/local
  binary path:     /usr/local/games
  config path:     /usr/local/etc/angband/
  lib path:        /usr/local/share/angband/
  doc path:        /usr/local/share/doc/angband/
  var path:        (not used)
  (save and score files in ~/.angband/Angband/)

-- Frontends --
- Curses            Yes
- X11               Yes
- SDL2              Disabled
- SDL               Disabled
- Windows           Disabled
- Test              No
- Stats             No
- Spoilers          Yes

- SDL2 sound        Disabled
- SDL sound         Disabled

有些输出可能对你有意义,有些可能没有。无论如何,你可能注意到 SDL2 和 SDL 被标记为 “Disabled”,Test 和 Stats 都被标记为 “None”。虽然这些信息是负面的,但这并不一定是一件坏事。从本质上讲,这就是警告错误之间的区别。如果配置脚本遇到了会阻止它构建代码的东西,它就会用一个错误来提醒你。

如果你想稍微优化一下你的构建,你可以选择解决这些负面信息。通过搜索 Angband 文档,你可能会确定 Test 和 Stats 实际上并不是你感兴趣的(它们是 Angband 专用于开发者的选项)。然而,通过在线研究,你可能会发现 SDL2 将是一个很好的功能。

要解决编译代码时的依赖问题,你需要安装缺少的组件和该缺少的组件的 开发库。换句话说,Angband 需要 SDL2 来播放声音,但它需要 SDL2-devel(在 Debian 系统上称为 libsdl2-dev)来构建。用你的软件包管理器安装这两个组件:

$ sudo dnf install sdl2 sdl2-devel

再试一下配置脚本:

$ ./configure --enable-sdl2
[...]
Configuration:
[...]
- Curses                                  Yes
- X11                                     Yes
- SDL2                                    Yes
- SDL                                     Disabled
- Windows                                 Disabled
- Test                                    No
- Stats                                   No
- Spoilers                                Yes

- SDL sound                               Disabled
- SDL2 sound                              Yes

制作(编译)

一旦一切配置完毕,运行 make 命令:

$ make

这通常需要一段时间,但它提供了很多视觉反馈,所以你会知道代码正在被编译。

安装

最后一步是安装你刚刚编译的代码。安装代码并没有什么神奇之处。所做的就是复制很多文件到非常具体的目录中。无论你是从源代码编译还是运行花哨的图形安装向导,都是如此。由于这些代码会被复制到系统级目录,你必须有 root(管理)权限,这是由 sudo 命令授予的。

$ sudo make install

运行该应用程序

一旦应用程序被安装,你就可以运行它。根据 Angband 文档,启动游戏的命令是 angband,所以可以试试:

$ angband

 title=

编译代码

无论是在我的 Slackware 台式电脑上,还是在我的 CentOS 笔记本电脑上,我都会使用 NetBSD 的 pkgsrc 系统编译我自己的大部分应用程序。我发现,通过自己编译软件,我可以对应用程序中包含的功能、如何配置、使用的库版本等有自己的想法。这很有意义,它帮助我跟上了新的版本,而且因为我有时会在这个过程中发现错误,它帮助我参与了很多不同的开源项目。

你很少会只有编译软件的一种方式可选,大多数开源项目同时提供源代码(这就是为什么它被称为“开源”)和可安装包。是否从源代码编译是你自己的选择,也许是因为你想要最新版本中还没有的新功能,或者只是因为你喜欢自己编译代码。

家庭作业

Angband 可以使用 Autotools 或 Cmake,所以如果你想体验另一种构建代码的方式,可以试试这个:

$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

你也可以尝试用 LLVM 编译器而不是 GNU 编译器集合(GCC)进行编译。现在,我把这个问题留给你自己去研究(提示:尝试设置 CC 环境变量)。

一旦你完成了对 Angband 的源代码和至少几个地牢的探索(你已经赢得了一些休息时间),可以看看其他一些代码库。很多人都会使用 Autotools 或 Cmake,而其他人可能会使用不同的东西。看看你能构建的成果!


via: https://opensource.com/article/21/11/compiling-code

作者:Seth Kenlon 选题:lujun9972 译者:wxy 校对:wxy

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

2021 年了,还有人为 Windows 3.1 写了个 PS/2 鼠标驱动?

一位开发者为 Windows 3.1 提供了新的鼠标驱动程序 vmwmouse ,而他这么做的原因是为了确保当微软古老的操作系统作为虚拟机运行时,能够快速而可靠地进行啮齿动物操作。开发者写道,“在VMware 中运行 Windows 3.1,但对不得不手动释放和点入鼠标光标感到烦恼?希望能像现代操作系统一样,直接将光标移入和移出,而不需要按下 Ctrl+Alt 释放鼠标?”所以,他开发了这个驱动程序。他表示,主要的困难是在 USB 出现之前,没有办法发送鼠标的绝对坐标,而 Windows 3.x 来自 USB 之前的时代。

老王点评:额,这真是一种无用而有趣的开发工作。

印度学者在版权诉讼中支持 Sci-Hub 和 LibGen

2020 年 12 月,一些大型全球出版社对 Sci-Hub 和 LibGen 的所有者 Alexandra Elbakyan 提起版权侵权诉讼。Sci-Hub 是一个拥有超过 8500 万篇研究论文的数字图书馆,而 LibGen 是一个链接聚合器,提供免费的学术文章、书籍和杂志。

七名印度的社会科学研究人员在互联网自由基金会(IFF)的法律支持下 递交 了干预申请。他们指出,由于收费过高,他们无法获得所需的论文和学术作品,只能依靠 Sci-Hub 和 LibGen,强调任何封锁这些网站的决定会对其研究产生不利影响,侵犯了研究人员获取信息的权利。印度德里高等法院 正在审理 研究人员和学生使用 Sci-Hub 和 LibGen 是否合法。

老王点评:知识是自由的,前提是这些知识没有印刷在这些需要花钱订阅的期刊上。

Nextcloud 向欧盟投诉微软捆绑 OneDrive 和 Teams 的反竞争行为

Nextcloud 已正式向欧盟委员会 投诉 微软的反竞争行为,即将其 OneDrive 云、Teams 和其他服务与 Windows 10 和 11 捆绑在一起。根据欧盟竞争法,自我推荐本身并不违法,但如果一家公司滥用其市场支配地位,就会违反法律。Nextcloud 指出,微软利用其看门人的地位从而直接阻挡了其他云服务厂商。微软在欧盟的市场份额已经增长到 66%,而当地供应商的市场份额从 26% 下降到 16%。一些开源的非营利组织和企业也加入了 Nextcloud 的投诉。

老王点评:微软现在恐怕已经忘记了上世纪 90 年代 IE 垄断案被处罚的历史了。

一句话回音

  • #464 期我们报道过,Rust 审核团队集体辞职。现在据称问题是由 Ashley Williams 引发的,她本来应该负责执行行为准则,但却同时不受准则的约束。她此前担任过 Node.js 基金会的董事,曾被指控 多次违反 Node 基金会的行为准则。

熟悉 FreeDOS 软件包管理器 FDIMPLES 。

在 Linux 上,你可能已经使用过 “软件包管理器” 来安装或移除软件包。例如,在 Debian Linux 上的默认软件包管理器是 deb 命令,在 Fedora Linux 上的默认软件包管理器是 dnf 命令。 但是你知道 FreeDOS 也有一个软件包管理器吗?

安装软件包

FreeDOS 1.3 RC4 发行版包含了很多极好的你可以使用的程序和应用程序。不过,我们不会默认安装其中的全部的程序 —— 我们不想过度地填充你的硬盘驱动器空间,尤其是在一个较老的系统上,可能仅有几百兆字节容量的硬盘驱动器。当你安装 FreeDOS 时,如果你选择 “Plain DOS system” 选项,你将发现你的 FreeDOS 系统是非常小的(大约 20 MB 大小)。

不过,要安装新的软件包很容易。在命令行中运行 FDIMPLES 程序。因为 DOS 是 不区分大小写 的,所以,你可以使用大写字母或小写字母来输入这个命令: fdimples 。(fdimplesFDIMPLESFDImples 等同)

fdimples

在 FreeDOS 1.3 RC4 上的 FDIMPLES 软件包管理器(运行在 QEMU 之中)(Jim Hall, CC-BY SA 4.0

FDIMPLES 是 "FreeDOS Installer - My Package List Editor Software" 的首字母缩略词,是一个交互式软件包管理器。FDIMPLES 读取安装介质来识别可以安装或移除的软件包。如果你看到一个不同的菜单,它显示 “Installed!” ,但是,不让你安装其它的软件的话,请检查你系统中是否有 FreeDOS 的 CD-ROM 的安装介质。在物理机器上,你将需要将 CD-ROM 插入 CD-ROM 驱动器;在诸如 QEMU 或 VirtualBox 之类的虚拟机器上,你需要将安装 FreeDOS 的 CD-ROM 的安装介质与虚拟机器关联在一起。

fdimples installed

如果你仅看到一条 “Installed!” 的信息,检查 CD-ROM 是否已经加载(Jim Hall, CC-BY SA 4.0

让我们假设你想安装一些可以让你听音乐文件或其它声音文件的软件。使用向上箭头和向下箭头按键来导航到菜单中的 声音工具 项。这是一个针对声音和音乐程序的 软件包组

fdimples sound

在 FDIMPLES 中突出显示声音软件包组(Jim Hall, CC-BY SA 4.0

要选择这个组中的所有软件包,在你的键盘上按下空格键。如果你决定安装这个组中的某个软件包,按下 Tab 按键来移动到 软件包列表 方框面板,接下来使用空格键来选择每个软件包。

fdimples sound select

通过按下空格键来选择一个组中的所有的软件包(Jim Hall, CC-BY SA 4.0

你可以继续选择你想要安装的其它的软件包或软件包组。当你选择好一切的东西后,使用 “Tab” 按键来高亮显示 “OK” 按键,并按下空格键按键。

fdimples sound select ok

当你准备好安装时,突出显示 “Ok” 按钮(Jim Hall, CC-BY SA 4.0

FDIMPLES 接下来会安装你所选择的所有的软件包。如果你仅选择几个小型的软件包,这可能只需要花费片刻的时间,或者,如果你要求安装很多大型的软件包,它可能会花费数分钟的时间。当 FDIMPLES 安装每个软件包时,FDIMPLES 会输出安装状态。在安装完后,FDIMPLES 退出到命令行之中,以便你可以回去继续工作。

fdimples sound install done

当 FDIMPLES 安装软件包时,FDIMPLES 会显示安装过程,并在完成安装后自动地退出(Jim Hall, CC-BY SA 4.0

移除软件包

如果你安装了一个软件包,但是后来发现你不想要它了怎么办?在 FDIMPLES 中移除软件包也同样容易。

就像安装软件包一样,启动 FDIMPLES ,使用箭头键导航到包含你想要移除的软件包的组。例如,如果我想卸载一些我先前安装的音乐播放器软件包,我将导航到 “Sound Tools” 软件包组。

fdimples sound select

导航到你想要移除的软件包组(Jim Hall, CC-BY SA 4.0

为一次移除整个软件包组,你可以在你想要移除的软件包组上按下空格键来取消选择它们。但是,在这里让我们假设我只是想移除几个我不需要的软件包,像音频 CD 播放器 “CDP”。(我没有任何的真实的音乐 CD 光盘)。为移除 CDP ,敲击 Tab 按键来移动到软件包列表方框面板,接下来使用空格键来取消选择 CDP 软件包。这会在该软件包上移除 “X” 标志。

fdimples unselect cdp

取消选择一个软件包来移除它(Jim Hall, CC-BY SA 4.0

你可以继续取消选择你想要移除的其它的软件包或软件包组。当你选择一切的东西后,使用 Tab 按键来突出显示 “OK” 按钮,并按下空格键按键。FDIMPLES 将移除你取消选择的软件包,然后自动地返回到命令行之中。

fdimples cdp removed

FDIMPLES 移除软件包,然后返回到命令行之中(Jim Hall, CC-BY SA 4.0

在 FreeDOS 中。我们包含很多的软件包,遍及各种各样的软件包组。使用 FDIMPLES 来安装你需要的软件。请随意实验!如果你决定你不想要保留一个软件包了,你可以移除它,并为其它的软件包来释放所占用的磁盘空间。


via: https://opensource.com/article/21/6/freedos-package-manager

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

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

鉴于最近发生的事件,它也许没有 维基百科上关于这个想法的文章 中所说的那么“黑色幽默”,但理论仍然是一样的 —— 你目前的团队中要有多少成员突然消失才能使你的组织或项目陷入停顿?这个数字被称为“ 公共汽车系数 bus factor ”,也就是说,有多少人被公共汽车撞到才会导致项目停止运作。今年早些时候,PHP 贡献者 Joe Watkins 认为,PHP 的公共汽车系数是一个惊人的数字,即 2!

Watkins 当时写道:“也许只要有两个人一觉醒来决定干点别的事情,PHP 项目就会缺乏足够的专业技术和资源,从而无法以目前的形式和速度向前发展,”他点名了 Dmitry StogovNikita Popov

上周,幸好 Nikita Popov 没有被公共汽车撞到,但他确实决定不再担任 PHP 相关的职务,而是将他的活动集中在 LLVM 上。

PHP 太大了,不能失败,特别是由于 WordPress 继续依赖它。所以很高兴看到这个新的基金会形成。

—— Richard MacManus (@ricmac) 2021 年 11 月 22 日

同样值得庆幸的是,Watkins 在今年早些时候的文章让一些人看到了眼前的情况,正如他在本周的 后续文章 中写到的,JetBrains(Popov 的雇主)当时就启动 PHP 基金会的问题联系了他。

本周,随着 Popov 的离职,PHP 基金会 正式启动,目标是资助兼职/全职开发人员在 2022 年从事 PHP 核心 的开发工作。

在启动时,将会有 10 家公司(AutomatticLaravelAcquiaZendPrivate PackagistSymfonyCraft CMSTidewaysPrestaShopJetBrains)作为其支持者加入 PHP 基金会 ,预计每年将筹集 30 万美元,JetBrains 每年出资 10 万美元。同时,该基金会是通过“ 基金会即服务 foundation-as-a-service ”供应商 Open Collective 发起的,只有不到 700 名捐款人就已经为该基金会筹集了 4 万多美元。

创建基金会而不是坚持现状的主要好处之一,不仅仅是增加了公共汽车系数 —— 基金会将使对 PHP 的影响多样化。Watkins 指出,在 PHP 的大部分历史中,Dmitry Stogov 的雇主 Zend 一直是主要的财务支持者,因此对该语言的发展方向有一定的影响。同样,JetBrains 在雇用 Popov 开发 PHP 的时候,也增加了影响力。

“说他们没有影响到整个语言的发展方向是不正确的。事实上,他们影响了。语言的许多部分和它的内部结构都是由 Zend 推动的,由他们的预算和专门的工程师促成的,”Watkins 写道。“同样,在 Nikita 为 JetBrains 工作的相对较短的时间内,他们也有某种影响,如果说他们没有,那就是说 Nikita 在受雇于 JetBrains 之前和期间的产出没有区别。”

虽然 Watkins 说,所有的事情都是光明正大的,并且经过了标准的程序来确保如此,但影响力还是不容置疑的,“基金会代表了一种推动语言发展的新方式。它为我们提供了提高公共汽车系数的机制,使我们永远不会再面临我们今天面临的问题,以及过去面临的问题。”

基金会以 临时管理机构 启动,成员包括 Popov、Stogov 和 Watkins。而且 JetBrains 写道,php-src 的任何贡献者都可以向基金会 申请 资助,申请期立即开始,持续 28 天。至于未来会发生什么,PHP 基金会将在前两年把工作重点放在雇用开发人员从事 PHP 核心工作上。至于目前的 RFC 流程,JetBrains 写道,“不会改变,语言的决定将始终留给 PHP 内部社区。”

我为 PHP 基金会做出了贡献,如果你能做到的话,一定会鼓励你也这样做。每一点都能让基金会更强大,并帮助我们的语言和社区!#phpc

—— Matt Trask (@matthewtrask) 2021 年 11 月 22 日


via: https://thenewstack.io/php-gets-a-foundation-to-work-on-php-core/

作者:Mike Melanson 选题:wxy 译者:wxy 校对:wxy

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

玩家组织成功让多年前关服的 PS3 游戏复活了

玩家组织 PSONE 研究出了一个办法,复活 了越野竞速游戏《摩托风暴》的服务器,恢复了多人游戏功能。《摩托风暴》是一款 PS3 游戏,在 2007 年 3 月发售。10 年前,这款游戏的服务器下线,也就是说玩家不能使用这款游戏的多人游戏功能,而想要在游戏里收集奖杯的玩家必须在线才行。PS3 和 Xbox 360 是第一个大规模应用网络元素的世代,而近年来该世代多款游戏的服务器停止服务,也让一些怀旧的玩家扼腕不已。

老王点评:如果是开源的,那就不会有这种窘境。

龙芯为 GCC 增加 LoongArch 支持

几个月来,龙芯一直致力于为 Linux 内核提供 LoongArch 支持,从新的 CPU ISA 功能到 复制大量 现有的 MIPS64 代码并加入新的 ID,程度不一。同时,他们也一直在编译器/工具链方面工作。最近,LoongArch 对 GNU Binutils 的 支持已经被合并 了,而今天又发出一组补丁,用于提供 GCC 编译器支持。不过 GCC 12 目前的重点是修复错误,因此对 LoongArch 的支持可能要到 2023 年的 GCC 13 才会出现在主线上。

老王点评:虽然国外对 LoongArch 的褒贬不一,但是可喜的是龙芯在一直前进。

GitHub 出现长达数小时的服务瘫痪

GitHub 在美东时间下午 3 点 45 分左右开始出现问题,Git 操作、API 请求、拉取请求和 GitHub 的行动、包和页面等功能都受到影响。开发人员报告了 500 错误,GitHub 说大多数服务是“性能下降”状态,而不是不可用的瘫痪状态。GitHub 上有超过 1 亿个存储库,故障影响到了这些存储库的组织。去年,由于错误的设定导致该服务瘫痪并使其短暂下线了两个小时。

老王点评:当全世界的开源都主要依赖于 GitHub 进行时,这就成了关键故障点。