2021年9月

Lima 可以帮助克服在 Mac 上运行容器的挑战。

 title=

在你的 Mac 上运行容器可能是一个挑战。毕竟,容器是基于 Linux 特有的技术,如控制组和命名空间。

幸运的是,macOS 拥有一个内置的 虚拟机监控程序 hypervisor ,允许在 Mac 上运行虚拟机(VM)。虚拟机监控程序是一个底层的内核功能,而不是一个面向用户的功能。

hyperkit 是一个可以使用 macOS 虚拟机监控程序运行虚拟机的 开源项目。hyperkit 被设计成一个“极简化”的虚拟机运行器。与 VirtualBox 不同,它没有花哨的 UI 功能来管理虚拟机。

你可以获取 hyperkit,这是一个运行容器管理器的极简 Linux 发行版,并将所有部分组合在一起。但这将有很多变动组件,且听起来像有很多工作。特别是如果你想通过使用 vpnkit (一个开源项目,用于创建感觉更像是主机网络一部分的虚拟机网络)使网络连接更加无缝。

Lima

lima 项目 已经解决了这些细节问题时,就没有理由再去做这些努力了。让 lima 运行的最简单方法之一是使用 Homebrew。你可以用这个命令安装 lima

$ brew install lima

安装后,可能需要一些时间,就享受一些乐趣了。为了让 lima 知道你已经准备好了,你需要启动它。下面是命令:

$ limactl start

如果这是你第一次运行,你会被问到是否喜欢默认值,或者是否要改变其中的任何一项。默认值是非常安全的,但我喜欢生活在疯狂的一面。这就是为什么我跳进一个编辑器,从以下地方进行修改:

- location: "~"
  # CAUTION: `writable` SHOULD be false for the home directory.
  # Setting `writable` to true is possible but untested and dangerous.
  writable: false

变成:

 - location: "~"
  # I *also* like to live dangerously -- Austin Powers
  writable: true

正如评论中所说,这可能是危险的。可悲的是,许多现有的工作流程都依赖于挂载是可读写的。

默认情况下,lima 运行 containerd 来管理容器。containerd 管理器也是一个非常简洁的管理器。虽然使用一个包装的守护程序,如 dockerd,来增加这些漂亮的工效是很常见的,但也有另一种方法。

nerdctl 工具

nerdctl 工具是 Docker 客户端的直接替换,它将这些功能放在客户端,而不是服务器上。lima 工具允许无需在本地安装就可以直接从虚拟机内部运行 nerdctl

做完这些后,可以运行一个容器了!这个容器将运行一个 HTTP 服务器。你可以在你的 Mac 上创建这些文件:

$ ls
index.html
$ cat index.html
hello

现在,挂载并转发端口:

$ lima nerdctl run --rm -it -p 8000:8000 -v $(pwd):/html --entrypoint bash python
root@9486145449ab:/#

在容器内,运行一个简单的 Web 服务器:

$ lima nerdctl run --rm -it -p 8000:8000 -v $(pwd):/html --entrypoint bash python
root@9486145449ab:/# cd /html/
root@9486145449ab:/html# python -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (<http://0.0.0.0:8000/>) ...

在另一个终端,你可以检查一切看起来都很好:

$ curl localhost:8000
hello

回到容器上,有一条记录 HTTP 客户端连接的日志信息:

10.4.0.1 - - [09/Sep/2021 14:59:08] "GET / HTTP/1.1" 200 -

一个文件是不够的,所以还要做些优化。 在服务器上执行 CTRL-C,并添加另一个文件:

^C
Keyboard interrupt received, exiting.
root@9486145449ab:/html# echo goodbye &gt; foo.html
root@9486145449ab:/html# python -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

检查你是否能看到新的文件:

$ curl localhost:8000/foo.html
goodbye

总结

总结一下,安装 lima 需要一些时间,但完成后,你可以做以下事情:

  • 运行容器。
  • 将你的主目录中的任意子目录挂载到容器中。
  • 编辑这些目录中的文件。
  • 运行网络服务器,在 Mac 程序看来,它们是在 localhost 上运行的。

这些都是通过 lima nerdctl 实现的。


via: https://opensource.com/article/21/9/run-containers-mac-lima

作者:Moshe Zadka 选题:lujun9972 译者:geekpi 校对:wxy

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

曹子德和格雷等重新当选 Linux 基金会技术咨询委员会

2021 内核峰会期间,Linux 内核社区对基金会的技术咨询委员会(TAB)举行了年度选举,包括格雷和曹子德在内的五名现任成员重新当选,任期两年。有资格投票的开发者需要有 3 个以上提交,其中至少一个是 2020 年或 2021 年内,超过 50 个提交的开发者将自动获得投票资格,3 到 49 个提交的开发者则需要通过电邮要求投票。共有 1,012 名开发者获得投票资格。

恭喜!这都是 Linux 大神。

美国每周增加数百台比特币 ATM 机

根据行业跟踪网站 Coin ATM Radar 的数据,美国已经有超过了 26000 台比特币 ATM 机,而去年同期大约有 6000 台。现在每周还在安装数百台。而这只计算了“纯”比特币 ATM 机,即只出售加密货币的 ATM 机。此外,数以千计的传统现金 ATM 也被修改为支持加密货币购买。另外,大约有 7500 台的美国超市里的硬币计数机也在出售比特币,预计到年底这个数字将达到 10,000。根据芝加哥大学的一项调查,13% 的美国成年人,即将近 3300 万人在过去一年中购买或出售过加密货币。

还是美国人会玩。

GNU Coreutils 9.0 发布

Coreutils 9.0 现在可以使用了,它是对所有 Linux 系统上常见的开源实用程序集合的一次重大更新。广泛使用的用于复制文件/目录的 cp/mv 工具有一些明显的变化,默认启用了写时复制。此外,还有许多错误修复和对这些常用工具的其他改进。

这是 Linux 中最常用的命令了,它们也在一点点演进。

nvme-cli 命令拥有诸多实用的选项,且它是控制和管理数据一种很好的方式。

 title=

NVMe 是指 非易失性内存规范 Non-Volatile Memory Express ,它规范了软件和存储通过 PCIe 和其他协议(包括 TCP)进行通信的方式。它是由非营利组织领导的 开放规范,并定义了几种形式的固态存储。

我的笔记本电脑有一个 NVMe 驱动器,我的台式机也有。而且它们的速度很快。我喜欢我的电脑启动的速度,以及它们读写数据的速度。几乎没有延迟。

没过多久,我就对驱动这种超高速存储的技术产生了好奇,所以我做了一些调查。我了解到,NVMe 驱动器消耗的电力更少,而提供的数据访问速度甚至比 SATA 的 SSD 驱动器快得多。这很有趣,但我想知道更多关于我的特定 NVMe 驱动器的信息,我想知道它们与其他驱动器有何区别。我可以安全地擦除驱动器吗?我怎样才能检查它的完整性?

带着这些问题我在互联网上搜索,发现了一个开源项目,其中有一系列管理 NVMe 驱动器的工具。它被称为 nvme-cli

安装 nvme-cli

你可以从你的发行版的包管理器中安装 nvme-cli。例如,在 Fedora、CentOS 或类似系统上:

$ sudo dnf install nvme-cli

在 Debian、Mint、Elementary 和类似系统上:

$ sudo apt install nvme-cli

探索 NVMe 驱动器

在安装 nvme-cli 后,我想探索我的驱动器。nvme-cli 没有手册页,但你可以通过输入 nvme help 获得很多帮助:

$ nvme help
nvme-1.14
usage: nvme <command> [<device>] [<args>]

The '<device>' may be either an NVMe character device (ex: /dev/nvme0) or an
nvme block device (ex: /dev/nvme0n1).

The following are all implemented sub-commands:
 list List all NVMe devices and namespaces on machine
 list-subsys List nvme subsystems
 id-ctrl Send NVMe Identify Controller
 id-ns Send NVMe Identify Namespace, display structure
 id-ns-granularity Send NVMe Identify Namespace Granularity List, display structure
 list-ns Send NVMe Identify List, display structure
 list-ctrl Send NVMe Identify Controller List, display structure
 nvm-id-ctrl Send NVMe Identify Controller NVM Command Set, display structure
 primary-ctrl-caps Send NVMe Identify Primary Controller Capabilities
[...]

列出所有的 NVMe 驱动器

sudo nvme list 命令列出你机器上所有的 NVMe 设备和命名空间。我用它在 /dev/nvme0n1 找到了一个 NVMe 驱动器。下面是命令输出结果:

$ sudo nvme list

Node SN Model Namespace Usage Format FW Rev

--------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------

/dev/nvme0n1    S42GMY9M141281 SAMSUNG MZVLB256HAHQ-000L7 1

214.68 GB / 256.06 GB 512  B + 0 B 0L2QEXD7

我有一个名为 nvme0n1 的驱动器。它列出了序列号、品牌、容量、固件版本等等。

通过使用 id-ctrl 子命令,你可以得到更多关于该硬盘和它所支持的特性的信息:

$ sudo nvme id-ctrl /dev/nvme0n1
NVME Identify Controller:
vid : 0x144d
ssvid : 0x144d
sn : S42GMY9M141281
mn : SAMSUNG MZVLB256HAHQ-000L7
fr : 0L2QEXD7
rab : 2
ieee : 002538
cmic : 0
mdts : 9
cntlid : 0x4
ver : 0x10200
rtd3r : 0x186a0
rtd3e : 0x7a1200
[...]

驱动器健康

你可以通过 smart-log 子命令来了解硬盘的整体健康状况:

$ sudo nvme smart-log /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning : 0
temperature : 21 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 2%
endurance group critical warning summary: 0
data_units_read : 5,749,452
data_units_written : 10,602,948
host_read_commands : 77,809,121
host_write_commands : 153,405,213
controller_busy_time : 756
power_cycles : 1,719
power_on_hours : 1,311
unsafe_shutdowns : 129
media_errors : 0
num_err_log_entries : 1,243
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 21 C
Temperature Sensor 2 : 22 C
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0

这为你提供了硬盘的当前温度、到目前为止的使用时间、不安全的关机次数等等。

格式化一个 NVMe 驱动器

你可以用 nvme-cli 格式化一个 NVMe 驱动器,但要注意。这将删除驱动器上的所有数据!如果你的硬盘上有重要的数据,你必须在这样做之前将其备份,否则你将会丢失数据。子命令是 format

$ sudo nvme format /dev/nvme0nX

(为了安全起见,我用 X 替换了驱动器的实际位置,以防止复制粘贴的错误。将 X 改为 1nvme list 结果中列出的实际位置。)

安全地擦除 NVMe 驱动器

当你准备出售或处理你的 NVMe 电脑时,你可能想安全地擦除驱动器。这里的警告与格式化过程中的警告相同。首先要备份重要的数据,因为这个命令会删除这些数据!

$ sudo nvme sanitize /dev/nvme0nX

尝试 nvme-cli

nvme-cli 命令是在 GPLv2 许可下发布的。它是一个强大的命令,有很多有用的选项,用来有效地控制和管理数据。


via: https://opensource.com/article/21/9/nvme-cli

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:turbokernel

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

如果你是一个狂热的多人游戏玩家,你将能够玩到《Apex Legends》和《Fortnite》这样的热门游戏。但是,你可能需要等待一段时间。

Linux 玩家们,这可是个大新闻啊!

Epic Games 为其“简易反作弊”服务增加了完整的 Linux 支持,官方提供了兼容 SteamPlay(或 Proton)和 Wine 兼容性。

尽管我们预计这将在未来的某个时候发生,但 Steam Deck 的引入改变了 在 Linux 上玩游戏 的场景。

你可能知道,Steam Deck 是由 Linux 驱动的,这就是为什么 Epic Games 有兴趣扩大对 Linux 平台的支持。

因此,可以说,如果不是 Valve 在 Steam Deck 上的努力,在 Linux 上获得“简易反作弊”支持的机会并不乐观。

多人游戏玩家可以考虑转到 Linux 上了

有了 简易反作弊 的支持,许多流行的多人游戏,如《Apex Legends》、《Fortnite》、《Tom Clancy's Division 2》、《Rust》 和其他许多游戏应该可以在 Linux 上完美地运行了。

根据 Epic Games 的公告:

从最新的 SDK 版本开始,开发者只需在 Epic 在线服务开发者门户点击几下,就可以通过 Wine 或 Proton 激活对 Linux 的反作弊支持。

因此,开发人员可能需要一段时间来激活对各种游戏的反作弊支持。但是,对于大多数带有简易反作弊功能的游戏来说,这应该是一个绿色信号。

少了一个 Windows 与 Linux 双启动 的理由。

《Apex Legends》 是我喜欢的多人游戏之一。而且,我不得不使用 Windows 来玩这个游戏。希望这种情况很快就会改变,在未来几周内,我可以在 Linux 上试一试!

同样,如果你几乎就要转到 Linux 了,但因为它与游戏的兼容性问题而迟疑,我想说问题已经解决了一半了!

当然,我们仍然需要对 BattleEye、其他反作弊服务和游戏客户端的官方支持。但是,这是个开端。

Steam Deck 现在是一个令人信服的游戏选择

虽然许多人不确定 Steam Deck 是否支持所有的 AAA 级游戏,但这应该会有所改善!

Steam Deck 现在应该是多人游戏玩家的一个简单选择。

总结

如果 Steam Deck 作为一个成功的掌上游戏机而成为了焦点,那么正如我们所知,在 Linux 上玩游戏也将发生改变。

而且,我认为 Epic Games 在其反作弊服务中加入 Linux 支持仅仅只是一个开始。

也许,我们永远都不用借助 ProtonDB 来在 Linux 上玩一个只有 Windows 支持的游戏;谁知道呢?但是,在这之后,Linux 游戏的未来似乎充满希望。

如果你是一个开发者,你可能想阅读 该公告 来获得最新的 SDK。

你对 Epic Games 将简易反作弊引入 Linux 有何看法?欢迎在下面的评论中分享你的想法。


via: https://news.itsfoss.com/easy-anti-cheat-linux/

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

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

让照片形成点头、眨眼等动作,两人破解人脸识别技术牟利获刑

据澎湃新闻报道,上海虹口区检察院通报了一起从特大虚开增值税普通发票案中牵出的非法人脸识别案。由于在注册“皮包公司”用于虚开发票的过程中,人脸识别是关键环节,犯罪分子为注册工商营业执照,联系上了吴某和周某二人。之后,二人通过破解人脸识别技术等方式,将从别处购买的他人高清头像和身份证信息利用“活照片”App 进行处理,让照片“动起来”,形成包括点头、摇头、眨眼、张嘴等动作视频,然后利用特殊处理的手机“劫持”摄像头,使得在人脸认证环节手机系统获取的是之前做好的视频。经查,二人以此方式致使犯罪分子虚开发票超过 5 亿元。虹口区法院以侵犯公民个人信息罪,判决两人分别获刑三年和二年,并处以罚款。

这真是用到了邪处的技术,但是另外一方面,AI 技术也应该不断迭代以抵御这些恶意欺骗。

Twitter 提供比特币小费功能

几个月以来,Twitter 一直在提供小费功能,但之前只处于受限测试阶段。周四 Twitter 公司表示将在全球范围内推出小费选项,此举是作为帮助用户赚钱的更广泛努力的一部分,并为部分创作者提供名为“超级粉丝”的订阅工具、用于向观看者收取独家内容阅览费。Twitter 还表示正在研究验证用户在 Twitter 使用的非同质化代币(NFT)。

利用闪电网络和 Twitter 广泛的用户群体,对比特币的推广应用很有意义。

Chrome 安全团队希望将指针错误消灭在编译阶段

谷歌已经为 Chrome 打造了基于沙箱和站点隔离的多进程架构,但 Chrome 安全团队称,模糊测试的结果表明,这些措施的防护效果已达到极限,意味着浏览器开发商无法再单纯依靠单纯的策略来抵御野外攻击。数据表明,去年的时候,有超过 70% 的严重安全漏洞都与内存相关,尤其是 C / C++ 编程语言中的指针错误会导致内存误解。Chrome 安全团队将在 C++ 安全解决方案上倾注心力,希望消除相当一部分可被利用的安全漏洞,但预计也会造成一些性能损失。同时,Chrome 安全团队将探索未来是否能够把 Chrome 的某些部分用“内存安全语言”进行重构,比如 Rust。

确实,从根本上抓住问题的根源是一个解决方案。

本教程将详细告诉你在树莓派 4 设备上如何安装 Ubuntu 桌面。

革命性的 树莓派 Raspberry Pi 是最受欢迎的单板计算机。它拥有基于 Debian 的操作系统,叫做 树莓派操作系统 Raspberry Pi OS (原名 Raspbian)。

还有其他几个 可用于树莓派的操作系统,但几乎所有的都是轻量级的,适合于树莓派设备的小尺寸和低端硬件。

随着标榜 8GB 内存和支持 4K 显示的树莓派 4B 的推出,情况发生了变化。其目的是将树莓派作为常规桌面使用,并在更大程度上成功地做到了这一点。

在 4B 型号之前,你可以 在树莓派上安装 Ubuntu 服务器,但桌面版本却无法使用。然而,Ubuntu 现在为树莓派 4 提供了官方的桌面镜像

在本教程中,我将展示在树莓派 4 上安装 Ubuntu 桌面的步骤。

首先,快速了解一下运行要求。

在树莓派 4 上运行 Ubuntu 的要求

以下是你需要的东西:

  1. 一个能够联网的 Linux 或 Windows 系统。
  2. 树莓派镜像工具 :树莓派的官方开源工具,可以在你的 SD 卡上写入发行版镜像。
  3. Micro SD 卡:最低使用 16GB 的存储卡,推荐使用 32GB 的版本。
  4. 一个基于 USB 的 Micro SD 卡读卡器(如果你的电脑没有读卡器)。
  5. 树莓派 4 必备配件,如 HDMI 兼容显示器、Micro HDMI 连接到标准 HDMI(A/M) 接口的电缆电源(建议使用官方适配器)、USB 的有线/无线键盘和鼠标/触摸板。

最好能够提前 详细阅读树莓派的要求

现在,闲话少叙,让我快速带领你完成 SD 卡的镜像准备。

为树莓派准备 Ubuntu 桌面镜像

树莓派提供了一个 GUI 应用程序,用于将 ISO 镜像写入 SD 卡中。这个工具还可以自动下载兼容的操作系统,如 Ubuntu、树莓派操作系统等

下载并将操作系统放入 SD 卡的官方工具

你可以从官方网站上下载这个工具的 Ubuntu、Windows 和 macOS 版本:

在 Ubuntu 和其他 Linux 发行版上,你也可以使用 Snap 安装它:

sudo snap install rpi-imager

安装完毕后,运行该工具。当你看到下面的界面时,选择 “ 选择操作系统 CHOOSE OS ”:

镜像工具:选择首选操作系统

在“ 操作系统 Operating System ”下,选择 “ 其它通用的操作系统 Other general purpose OS ”:

镜像工具: 其他通用的操作系统

现在,选择 “Ubuntu”:

镜像工具:发行版 - Ubuntu

接下来,选择 “Ubuntu Desktop 21.04(RPI 4/400)”,如下图所示。

镜像工具:发行版 - Ubuntu 21.04

注意:

如果你没有一个稳定的网络连接,你可以 从 Ubuntu 的网站上单独下载 Ubuntu 的树莓派镜像。在镜像工具中,在选择操作系统时,从底部选择“ 使用自定义 Use custom ”选项。你也可以使用 Etcher 将镜像写入到 SD 卡上。

将 Micro SD 卡插入读卡器中,等待它挂载。选择“ 存储设备 Storage ”下的 “ 选择存储设备 CHOOSE STORAGE ”:

镜像工具:选择存储设备(SD 卡)

你应该可以根据存储空间大小,识别你的 Micro SD 卡。这里,我使用的是 32GB 的卡:

镜像工具:选择 SD 卡

现在点击“ 写入 WRITE ”:

镜像工具:镜像写入

如果你已经备份了 SD 卡上的内容或是一张新卡,你可以直接进行:

镜像工具:镜像写入确认

由于这需要 sudo 的权限,你必须输入密码。如果你从终端运行 sudo rpi-imager,就不会出现这种情况:

镜像工具:镜像写入授权需要密码

如果你的 SD 卡有点旧,这将需要一些时间。如果它是一个新的高速 SD 卡,就无需很长时间:

镜像工具:写入镜像

为确保镜像写入成功,我不建议跳过验证:

镜像工具:验证写入

写入结束后,会有以下确认提示:

镜像工具:写入成功

现在,从你的系统中安全移除 SD 卡。

在树莓派上使用装有 Ubuntu 的 MicroSD 卡

已经成功了一半了。与常规的 Ubuntu 安装不同,无需创建一个临场安装环境。Ubuntu 已经安装在 SD 卡上了,而且几乎可以直接使用了。让我们来看看这里还剩下什么。

第 1 步:将 SD 卡插入树莓派中

对于第一次使用的用户来说,有时会有点困惑,不知道那个卡槽到底在哪里?不用担心。它位于电路板背面的左手边。下面是一个插入卡后的倒置视图。

树莓派 4B 板倒置,插入 Micro SD 卡

按照这个方向将卡慢慢插入板子下面的卡槽,轻轻地插,直到它不再往前移动。你可能还会听到一点咔嚓声来确认。这意味着它已经完美地插入了。

树莓派 SD 插槽在板子背面的左侧

当你把它插进去的时候,你可能会注意到在插槽中有两个小针脚调整了自己的位置(如上图所示),但这没关系。一旦插入,卡看起来会有一点突出。这就是它应该有的样子。

树莓派 SD 卡插入时有一小部分可见

第 2 步:设置树莓派

我无需在这里详细介绍。

保证电源线接头、微型 HDMI 线接头、键盘和鼠标接头(有线/无线)都牢固地连接到树莓派板的相关端口。

确保显示器和电源插头也已正确连接,然后再去打开电源插座。我不建议把适配器插到带电的插座上。参考 电弧

确认了以上两个步骤后,你就可以 打开树莓派设备的电源

第 3 步:在树莓派上 Ubuntu 桌面的首次运行

当你打开树莓派的电源,你需要在初次运行时进行一些基本配置。你只需按照屏幕上的指示操作即可。

选择你的语言、键盘布局、连接到 WiFi 等:

选择语言

选择键盘布局

选择 WiFi

你可以根据需求选择时区:

选择时区

然后创建用户和密码:

输入所需的用户名和密码

之后的步骤将配置一些东西,这个过程需要一些时间:

完成 Ubuntu 设置

完成 Ubuntu 设置

系统会重新启动之前需要一些时间,最终,你将会来到 Ubuntu 的登录界面:

Ubuntu 的登录界面

现在,你可以开始享受树莓派上的 Ubuntu 桌面了:

树莓派上的 Ubuntu 桌面

总结

我注意到一个暂时的异常情况。在进行安装时,我的显示器左侧有一个红色的闪烁边界。这种闪烁(也有不同的颜色)在屏幕的随机部分也能注意到。但在重启和第一次启动后,它就消失了。

很高兴能够看到它在树莓派上运行,我非常需要 Ubuntu 开始为树莓派等流行的 ARM 设备提供支持。

希望这个教程对你有所帮助。如果你有问题或建议,请在评论中告诉我。


via: https://itsfoss.com/install-ubuntu-desktop-raspberry-pi/

作者:Avimanyu Bandyopadhyay 选题:lujun9972 译者:wxy 校对:turbokernel

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