2022年10月

自 Copilot 首次亮相以来,Butterick 就对该计划提出了批评。

微软在 2018 年支付 75 亿美元收购了 GitHub,此后将这个代码仓库整合到其开发者工具中,同时在很大程度上采取了放手的态度。Matthew Butterick 是一名作家、律师,也是一名程序员,他认为微软基于机器学习的代码助手 GitHub Copilot 存在一些问题,它似乎不正确地对待开源代码许可证。

GitHub Copilot 是 Visual Studio 和其他 IDE 的一个插件,通过在你输入时提供代码完成的 “建议” 来运作。Codex 是该系统的动力源。然而,Butterick 等开发者认为 AI 在如何学习方面存在问题,或者更具体地说,AI 是从哪里训练的。

这里的问题是,GitHub 所训练的公开代码仓库是有许可证的,当他们的工作被利用时,需要按照许可证进行。虽然微软对其使用代码的问题一直避而不谈,称其为合理使用,但 Copilot 除了提供建议外,还能生成逐字逐句的代码部分。

根据 Codex(由微软授权)的开发者 OpenAI的说法,“Codex 是在数以千万计的公开代码仓库中训练出来的,包括 GitHub 上的代码。”微软自己也含糊地将训练材料描述为数十亿行的公共代码。


via: https://www.opensourceforu.com/2022/10/github-copilot-appears-to-be-in-violation-of-the-open-source-licence/

作者:Laveesh Kocher 选题:lkxed 译者:wxy 校对:wxy

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

微软准备正式推出 Windows 的安卓子系统

微软准备发布 Windows 的安卓子系统(WSA)的 1.0 版本,它可以运行安卓虚拟机,安卓应用就像 Windows 的应用一样运行。通过 WSA 可以运行 “50,000 个应用程序”,但是这些应用程序来自于亚马逊的应用商店,而不是谷歌的安卓商店。也就是说你找不到谷歌的安卓应用,微软的也找不到,Twitter、WhatsApp、Slack 等等都没有,只有各种游戏和一些看起来就山寨的应用。

消息来源:The Register
老王点评:理论上也是可以运行其它商店的安卓应用的,但是我不明白的是,为什么微软非要和亚马逊的商店合作。

利用智能手机预测死亡风险

根据一项研究,智能手机对人们行走活动的被动监测可以用来构建健康和死亡风险的人群水平模型。研究人员利用英国生物银行项目中超过 10 万名英国人的数据进行了 16 年的研究,他们佩戴的运动传感器可以用来从短时间的步行中提取步行强度的信息。该团队仅利用传感器收集的每天 6 分钟的稳定行走数据,结合传统的人口统计学特征,就成功验证了死亡风险的预测模型。研究人员的模型预测一年后的死亡有 72% 的正确率。

消息来源:Yahoo
老王点评:所以其实我们自身的“大数据”早已经“决定”了命运?

谷歌上线软件供应链管理项目 GUAC

谷歌与花旗银行、普渡大学等合作开发了这个项目,其简称 GUAC 代表“理解工件构成的图形”。这是一个免费的工具,用于汇集许多不同来源的软件安全元数据。GUAC 有四个关键功能:连接到各种软件安全元数据的来源来收集数据;从软件的上游数据源导入各种数据;整理这些数据,将其组合成一个连贯的图谱;对照组装好的图谱,用户可以查询附属于图中实体或与之相关的元数据。

消息来源:Record
老王点评:这个项目或许可以将软件供应链管理变得科学化,但是这个事情很复杂,想要真正解决,可能还需要更多的其它措施。

大家知道,Linux 中国除了官网、公众号之外,还维护着若干媒体平台,比如知乎、微博等。近来,我们还开辟了一些新战场,比如 B 站、油管、喜马拉雅等,不过,这些新渠道所能得到的关注实在太少了。因此,我将我们旗下的一些内容渠道列一下,访问这些渠道的朋友,可以关注支持一下。

本站:

渠道:

本新手教程展示了在 Debian、Ubuntu 和其他的 Linux 发行版上如何解决 “Bash: command not found” 这一报错。

当你在 Linux 中使用命令时,你希望得到终端输出的结果。但有时候,你会遇到终端显示“ 命令未找到 command not found ”这一报错。

对于这个问题,并没有直截了当且单一的解决方案。你必须自己做一些故障排除来解决这个报错。

老实说,要解决它并不难。该报错信息已经给出了一些提示:“命令未找到”,这说明你的 shell(或者 Linux 系统)找不到你输入的那条命令。

shell(或 Linux 系统)找不到命令,有三个可能的原因:

  • 你将命令的名称拼错了
  • 该命令还没有安装
  • 该命令是一个可执行脚本,但其位置未知

接下来,我们会详细介绍“命令未找到”这一报错的每一个原因。

解决“命令未找到”报错

方法 1:再次检查命令名称有没有写错

每个人都会犯错误,尤其是在打字的时候。你输入的命令可能存在错别字(也就是你写错啦)。

你应该特别注意:

  • 是否拼对了正确的命令名称
  • 是否在命令与其选项之间加上了空格
  • 是否在拼写中混淆了 1(数字 1)、I(大写的 i)和 l(小写的 L)
  • 是否正确使用了大写字母或者小写字母

看看下面的示例,因为我写错了 ls 命令,所以会导致“command not found”报错。

所以,请再次仔细确认你输入得对不对。

方法 2:确保命令已安装在你的系统上

这是“命令未找到”错误的另一个常见原因。如果命令尚未安装,则无法运行该命令。

虽然在默认情况下,你的 Linux 发行版自带安装了大量命令,但是不会在系统中预装 所有的 命令行工具。如果你尝试运行的命令不是一个流行的常用命令,那么你需要先安装它。

你可以使用发行版的软件包管理器来安装命令。

You may have to install the missing command

有时候,某一常用命令可能也不再能使用了,甚至你也不能够安装这个命令了。这种情况下,你需要找到一个替代的命令,来得到结果。

以现已弃用的 ifconfig 命令为例。网络上的旧教程依旧会让你使用 ifconfig 命令,来 获取本机的 IP 地址 和网络接口信息,但是,在较新的 Linux 版本中,你已经无法使用 ifconfig 了。ifconfig 命令已被 ip 命令所取代。

Some popular commands get discontinued over the time

有时候,你的系统可能甚至找不到一些非常常见的命令。当你在 Docker 容器中运行 Linux 发行版时,就通常如此。Docker 容器为了缩小操作系统镜像的大小,容器中通常不包含那些常见的 Linux 命令。

这就是为什么使用 Docker 的用户会碰到 ping 命令未找到 等报错的原因。

Docker containers often have only a few commands installed

因此,这种情况下的解决方案是安装缺失的命令,或者是找到一个与缺失命令有同等功能的工具。

方法 3:确保命令是真实的,而不是一个别名

我希望你知道 Linux 中的别名概念。你可以配置你自己的较短的命令来代替一个较长命令的输入。

一些发行版,如 Ubuntu,会自动提供 llls -l 的别名)、lals -a 的别名)等命令。

想象一下,你习惯于在你的个人系统上输入 llla,而你登录到另一个 Linux 系统,发现 ll 命令并不存在。你甚至不能安装 ll 命令,因为它不是一个真正的命令。

所以,如果你找不到一个命令,甚至不能安装,你应该尝试在互联网上搜索该命令是否存在。如果不存在,可能是其他系统上的一个别名。

方法 4:检查命令是否是一个路径正确的可执行脚本

这是 Linux 新手在 运行 shell 脚本 时常犯的错误。

即使你在同一目录下,仅用可执行脚本的名称,来运行可执行脚本,也会显示错误。

[email protected]:~/scripts# sample
-bash: sample: command not found

因为你需要显式指定 shell 解释器或可执行脚本的路径!

如果你在其他目录下,在未提供文件正确路径的情况下,运行 shell 脚本,则会有“ 找不到文件 no such file or directory ”的报错。

把可执行文件的路径加到 PATH 变量中

有时候,你下载了一个软件的压缩文件(tar 格式),解压这个 tar 文件,然后找到一个可执行文件和其他程序文件。你需要运行可执行文件,来运行那个软件。

但是,你需要在可执行文件的同一目录下或指定可执行文件的整个路径,才能运行那个可执行文件。这很令人烦扰。

你可以使用 PATH 变量来解决这个问题。PATH 变量包含了有各种 Linux 命令的二进制(可执行)文件的目录集合。当你运行一个命令时,你的 Linux 系统会检查 PATH 变量中的上述目录,以查找该命令的可执行文件。

你可以使用 which 命令,来检查某一命令的二进制文件的位置:

如果你想从系统上的任何地方都能运行可执行文件或脚本,你需要将可执行文件的位置添加到 PATH 变量中。

然后,PATH 变量需要添加到 shell 的 rc 文件中,如此对 PATH 变量的更改就是永久性的。

这里的要点是:你的 Linux 系统必须了解可执行脚本的位置。要么在运行时给出可执行文件的整个路径,要么将其位置添加到 PATH 变量中。

以上的内容有帮到你吗?

我懂得,当你是 Linux 新手时,很多事情可能会让你不知所措。但是,当你了解问题的根本原因时,你的知识会逐渐增加。

对于“未找到命令”报错来说,没有简单的解决方案。我提供给你了一些提示和要点,我希望这对你的故障排除有帮助。

如果你仍然有疑问或需要帮助,请在评论区告诉我吧。


via: https://itsfoss.com/bash-command-not-found/

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

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

你设法在你的 Ubuntu 系统上安装了谷歌 Chrome 浏览器。现在你想知道如何让浏览器保持更新。

在 Windows 和 macOS 上,当 Chrome 上有可用更新时,你会在浏览器中收到通知,你可以从浏览器中点击更新选项。

Linux 中的情况有所不同。你不会从浏览器更新 Chrome。你要使用系统更新对其进行更新。

是的。当 Chrome 上有可用的新更新时,Ubuntu 会通过系统更新工具通知你。

当有新版本的 Chrome 可用时,Ubuntu 会发送通知

你只需单击“ 立即安装 Install Now ”按钮,在被提示时输入你的帐户密码并将 Chrome 更新到新版本。

让我告诉你为什么会在系统级别看到更新,以及如何在命令行中更新谷歌 Chrome。

方法 1:使用系统更新更新谷歌浏览器

你最初是如何安装 Chrome 的?你从 Chrome 网站 获得了 deb 安装程序文件,并使用它来 在 Ubuntu 上安装 Chrome

当你这样做时,谷歌会在你系统的源列表中添加一个仓库条目。这样,你的系统就会信任来自谷歌仓库的包。

谷歌 Chrome 存储库添加到 Ubuntu 系统

对于添加到系统中的所有此类条目,包更新通过 Ubuntu 更新程序集中进行。

这就是为什么当 Google Chrome(和其他已安装的应用)有可用更新时,你的 Ubuntu 系统会向你发送通知。

Chrome 更新可通过系统更新与其他应用一起使用

单击“ 立即安装 Install Now ”按钮并在要求时输入你的密码。很快,系统将安装所有可升级的软件包。

根据更新偏好,通知可能不是立即的。如果需要,你可以手动运行更新程序工具并查看适用于你的 Ubuntu 系统的更新。

运行软件更新程序以查看你的系统有哪些可用更新

方法 2:在 Ubuntu 命令行中更新 Chrome

如果你更喜欢终端而不是图形界面,你也可以使用命令更新 Chrome。

打开终端,并依次运行以下命令:

sudo apt update

sudo apt --only-upgrade install google-chrome-stable

第一条命令更新包缓存,以便你的系统知道可以升级哪些包。

第二条命令 仅更新单个包,即谷歌 Chrome(安装为 google-chrome-stable)。

总结

如你所见,Ubuntu 比 Windows 更精简。你会随其他系统更新一起更新 Chrome。

顺便一提,如果你对它不满意,你可以了解 从 Ubuntu 中删除 Google Chrome

Chrome 是一款不错的浏览器。你可以通过 使用 Chrome 中的快捷方式 来试验它,因为它使浏览体验更加流畅。

在 Ubuntu 上享受 Chrome!


via: https://itsfoss.com/update-google-chrome-ubuntu/

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

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

Ubuntu Linux 22.10 & OpenBSD 7.2 发布

今天想必是个好日子,Ubuntu Linux 22.10 & OpenBSD 7.2 都选在今天发布。我们先来看看 Ubuntu 22.10,这个版本不是 LTS 版本,其代号为 “Kinetic Kudu”,意思是 “充满活力的捻角羚”。不过,22.10 除了升级到 GNOME 43 之外,并没有什么特别值得关注的新特性。而对于 OpenBSD 7.2,最值得关注的是支持了 Ampere Altra 处理器,这个处理器在 Linux 上取得巨大成功后,BSD 也在加紧提供对它的支持。

消息来源:Phoronix 1 & 2
老王点评:没什么好说的,喜欢试用新版的尝个鲜吧。

LoongArch 成为第四个进入 UEFI 上游的 ISA

2022 年 9 月初,UEFI 官方在新发布的 UEFI v2.10 规范中,全面支持了龙芯处理器的 LoongArch64 架构,以及部分 LoongArch32 架构。近期,龙芯团队又完成了 LoongArch 基础代码与UEFI 上游 TianoCore EDK2 的合并,从而进入其主分支,成为继 x86、Arm、RISC-V 之后,第四个官方支持的芯片指令系统架构。合并后,开发者可以直接从上游获取 LoongArch 架构的基础代码,有助于 LoongArch 虚拟机开源。

消息来源:龙芯中科
老王点评:龙芯在上游的工作逐渐取得了不错的进展,虽然我更支持 RISC-V,但是也为龙芯点赞。

RIAA 将 AI 混音器列为新出现的版权威胁

美国唱片业协会(RIAA)在其最新的市场概述报告中,将几个 “基于 AI” 的混音器和提取器被添加为一个新出现的威胁。RIAA 称,“有一些在线服务,据称使用人工智能,从录音中提取,或者说,复制人声、乐器或乐器的某些部分,和/或生成、后期处理或重新混合录音,使其与选定的知名录音艺术家的参考曲目非常相似或几乎一样好。” RIAA 将这种破坏原始的受版权保护的曲目创造衍生作品的做法视作侵权。它提及的 Songmastr 可以根据知名音乐艺术家的风格 “后期处理” 任何歌曲,该网站的底层技术基于开源的 Matchering 2.0。

消息来源:TorrentFreak
老王点评:AI 会逐渐侵蚀各种原有的版权边界,我觉得版权相关法规需要正视 AI 的出现带来的变化,而一昧的封堵是没意义的。