From e6438965a0c1f2c0776bd21e445909c9a4eb0bf6 Mon Sep 17 00:00:00 2001 From: Misite Bao Date: Sat, 17 Sep 2022 19:22:33 +0800 Subject: [PATCH 001/170] Add issue templates --- .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/questions.yml | 18 +++++++ .github/ISSUE_TEMPLATE/topics.yml | 79 ++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/questions.yml create mode 100644 .github/ISSUE_TEMPLATE/topics.yml diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..0086358db1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: true diff --git a/.github/ISSUE_TEMPLATE/questions.yml b/.github/ISSUE_TEMPLATE/questions.yml new file mode 100644 index 0000000000..5a3b8a2cee --- /dev/null +++ b/.github/ISSUE_TEMPLATE/questions.yml @@ -0,0 +1,18 @@ +name: Ask Questions | 提问 +description: Please describe your problem. | 请描述您的问题。 +labels: ["question"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Please answer these questions before you submit the desired feature. | 请在您提交期望的功能之前,回答以下这些问题 + + - type: textarea + attributes: + label: Your Questions + description: Please describe your problem. | 请描述您的问题。 + placeholder: I have a question... + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/topics.yml b/.github/ISSUE_TEMPLATE/topics.yml new file mode 100644 index 0000000000..cd95f932c8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/topics.yml @@ -0,0 +1,79 @@ +name: 提交选题 +description: 提交一个选题 +# title: "" +labels: [] +assignees: [] +body: + - type: markdown + attributes: + value: | + 标题请使用 **`[选题类型] 文章标题`** 格式,文章标题请使用单词首字母 **大写** 的形式,选题类型和文章标题中间有一个 **空格**。 + 选题类型包括: + + - 手动选题 + - 推荐选题 + + 完整示例: + - [推荐选题] The Lost Art of the Makefile + - [推荐选题] The Lost Art of the Makefile + - [手动选题] Linus Torvalds Uses Apple MacBook Hardware to Release Linux Kernel 5.19 + - [手动选题] Wow! Torvalds Modified Fedora Linux to Run on his Apple M2 Macbook + + - type: textarea + id: title + attributes: + label: 原文标题 + description: 填写原文章的标题 + placeholder: 原文标题 + validations: + required: true + + - type: textarea + id: url + attributes: + label: 原文链接地址 + description: 填写原文章的链接地址 + placeholder: 原文链接地址 + validations: + required: true + + - type: checkboxes + id: terms + attributes: + label: 版权协议 + description: 填写原文章的版权协议 + options: + - label: CC-SA-BY + - label: 其它公域许可证 + - label: 已获取作者授权 + + - type: textarea + id: reason + attributes: + label: 推荐理由 + description: 填写你的推荐理由 + placeholder: + validations: + required: false + + - type: dropdown + id: difficulty + attributes: + label: 文章难度 + description: 选择文章的难度 + multiple: false + options: + - 困难 + - 一般 + - 容易 + + - type: dropdown + id: category + attributes: + label: 文章分类 + description: 选择文章的分类 + multiple: false + options: + - 新闻(news) + - 观点(talk) + - 技术(tech) From 58f54999179ce1932dbd76ad039aafc8a0792942 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Tue, 27 Sep 2022 11:26:45 +0800 Subject: [PATCH 002/170] Update topics.yml --- .github/ISSUE_TEMPLATE/topics.yml | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/topics.yml b/.github/ISSUE_TEMPLATE/topics.yml index cd95f932c8..a6c2171e72 100644 --- a/.github/ISSUE_TEMPLATE/topics.yml +++ b/.github/ISSUE_TEMPLATE/topics.yml @@ -1,5 +1,5 @@ -name: 提交选题 -description: 提交一个选题 +name: 推荐选题 +description: 推荐一个选题 # title: "" labels: [] assignees: [] @@ -7,17 +7,11 @@ body: - type: markdown attributes: value: | - 标题请使用 **`[选题类型] 文章标题`** 格式,文章标题请使用单词首字母 **大写** 的形式,选题类型和文章标题中间有一个 **空格**。 - 选题类型包括: - - - 手动选题 - - 推荐选题 + 标题请使用 **`[推荐类型] 文章日期 文章标题`** 格式,选题类型、文章日期和文章标题中间有一个 **空格**。 完整示例: - - [推荐选题] The Lost Art of the Makefile - - [推荐选题] The Lost Art of the Makefile - - [手动选题] Linus Torvalds Uses Apple MacBook Hardware to Release Linux Kernel 5.19 - - [手动选题] Wow! Torvalds Modified Fedora Linux to Run on his Apple M2 Macbook + - [推荐选题] 20220823 The Lost Art of the Makefile + - [手动选题] 20220905 Linus Torvalds Uses Apple MacBook Hardware to Release Linux Kernel 5.19 - type: textarea id: title From a00636e16d736f0cf27cc8576f6373fddc2d931f Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Tue, 27 Sep 2022 11:28:01 +0800 Subject: [PATCH 003/170] Update topics.yml --- .github/ISSUE_TEMPLATE/topics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/topics.yml b/.github/ISSUE_TEMPLATE/topics.yml index a6c2171e72..c2da7e3c89 100644 --- a/.github/ISSUE_TEMPLATE/topics.yml +++ b/.github/ISSUE_TEMPLATE/topics.yml @@ -11,7 +11,7 @@ body: 完整示例: - [推荐选题] 20220823 The Lost Art of the Makefile - - [手动选题] 20220905 Linus Torvalds Uses Apple MacBook Hardware to Release Linux Kernel 5.19 + - [推荐选题] 20220905 Linus Torvalds Uses Apple MacBook Hardware to Release Linux Kernel 5.19 - type: textarea id: title From 410d57fe1818d3b581335a7aba6984f21578d7ee Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 28 Sep 2022 12:13:10 +0800 Subject: [PATCH 004/170] RP @geekpi https://linux.cn/article-15080-1.html --- ...my Linux system using a Live USB device.md | 96 ++++++++----------- 1 file changed, 41 insertions(+), 55 deletions(-) rename {translated/tech => published}/20220912 How I recovered my Linux system using a Live USB device.md (64%) diff --git a/translated/tech/20220912 How I recovered my Linux system using a Live USB device.md b/published/20220912 How I recovered my Linux system using a Live USB device.md similarity index 64% rename from translated/tech/20220912 How I recovered my Linux system using a Live USB device.md rename to published/20220912 How I recovered my Linux system using a Live USB device.md index 8a8fec3956..1411aeb344 100644 --- a/translated/tech/20220912 How I recovered my Linux system using a Live USB device.md +++ b/published/20220912 How I recovered my Linux system using a Live USB device.md @@ -3,29 +3,28 @@ [#]: author: "David Both https://opensource.com/users/dboth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15080-1.html" -我如何使用 Live USB 设备恢复我的 Linux 系统 +我如何使用现场 USB 设备恢复我的 Linux 系统 ====== -Fedora Live USB 发行版为引导和进入恢复模式提供了有效的解决方案。 -![USB 驱动器][1] +![](https://img.linux.net.cn/data/attachment/album/202209/28/121226rh7vq7qhwhqzh76m.jpg) -图片来源:[Markus Winkler][2] 发布于 [Unsplash][3] +> Fedora 现场 USB 发行版为引导和进入恢复模式提供了有效的解决方案。 -我的家庭实验室里有十几台物理计算机以及更多的虚拟机。我使用这些系统中的大多数进行测试和实验。我经常写关于使用自动化来简化系统管理任务的文章。我还在多个地方写过,我从自己的错误中学到的东西比几乎任何其他方式都多。 +我的家庭实验室里有十几台物理计算机以及更多的虚拟机。这些系统中的大多数是我用来进行测试和实验的。我经常写使用自动化来简化系统管理任务的文章。我还在多个地方写过,我从自己的错误中学到的东西比几乎任何其他方式都多。 在过去的几周里,我学到了很多东西。 -我给自己制造了一个大问题。作为系统管理员多年,写了数百篇关于 Linux 的文章和五本书,我应该知道得更清楚。话又说回来,我们都会犯错,这是一个重要的教训:你永远不会因为有经验而不犯错。 +我给自己制造了一个大麻烦。作为多年的系统管理员,我写了数百篇关于 Linux 的文章和五本书,我应该对 Linux 更了解。话又说回来,我们都会犯错,这是一个重要的教训:你永远不会因为有经验而不犯错。 -我不打算讨论我的错误的细节。告诉你这是一个错误就足够了,在我做之前我应该多考虑一下我在做什么。此外,细节并不是重点。经验不能让你免于犯下的每一个错误,但它可以帮助你恢复。这就是本文要讨论的内容:使用 Live USB 发行版启动并进入恢复模式。 +我不打算讨论我的错误的细节。告诉你这是一个错误就足够了,在我做之前我应该多考虑一下我在做什么。此外,细节并不是重点。经验不能让你免于犯下的每一个错误,但它可以帮助你恢复。这就是本文要讨论的内容:使用现场 USB 发行版启动并进入恢复模式。 ### 问题 -首先,我创建了问题,这本质上是 `/etc/default/grub` 文件的错误配置。接下来,我使用 Ansible 将错误配置的文件分发到我所有的物理计算机并运行 `grub2-mkconfig`。全部 12 个。这真的,真的很快。 +首先,我制造了问题,这本质上是 `/etc/default/grub` 文件的错误配置。接下来,我使用 Ansible 将错误配置的文件分发到我所有的物理计算机并运行 `grub2-mkconfig`。全部 12 个。这真的,真的很快。 除了两台之外,所有的都无法启动。它们在 Linux 启动的早期阶段崩溃,出现各种无法定位 `/root` 文件系统的错误。 @@ -33,11 +32,11 @@ Fedora Live USB 发行版为引导和进入恢复模式提供了有效的解决 ### Fedora 恢复模式 -解决此问题的唯一方法是找到进入恢复模式的方法。当一切都失败时,Fedora 提供了一个非常酷的工具:用于安装 Fedora 新实例的同一个 Live USB 驱动器。 +解决此问题的唯一方法是找到进入恢复模式的方法。当一切都失败时,Fedora 提供了一个非常酷的工具:用于安装 Fedora 新实例的现场 USBLive USB 驱动器。 -将 BIOS 设置为从 Live USB 设备启动后,我启动到 Fedora 36 Xfce live 用户桌面。我在桌面上打开了两个相邻的终端会话,并在两者中都切换到了 root 权限。 +将 BIOS 设置为从现场 USB 设备启动后,我启动到 Fedora 36 Xfce 的现场live用户桌面。我在桌面上打开了两个相邻的终端会话,并在两者中都切换到了 root 权限。 -我在一个中运行了 `lsblk` 以供参考。我使用结果来识别 `/` 根分区以及 `boot` 和 `efi` 分区。我使用了我的一台虚拟机,如下所示。在这种情况下没有 `efi` 分区,因为此 VM 不使用 UEFI。 +我在其中一个运行了 `lsblk` 以供参考。我使用该结果来识别 `/` 根分区以及 `boot` 和 `efi` 分区。我使用了我的一台虚拟机,如下所示。在这种情况下没有 `efi` 分区,因为此 VM 不使用 UEFI。 ``` # lsblk @@ -61,63 +60,50 @@ sr0 11:0 1 1.6G 0 rom /run/initramfs/live zram0 252:0 0 8G 0 disk [SWAP] ``` -`/dev/sda1` 分区很容易识别为 `/boot`,根分区也很明显。 +`/dev/sda1` 分区很容易识别为 `/boot`,根(`/`)分区也很明显。 在另一个终端会话中,我执行了一系列步骤来恢复我的系统。特定的卷组名称和设备分区(例如 `/dev/sda1`)因系统而异。此处显示的命令特定于我的情况。 -目标是使用 Live USB 引导并完成启动,然后仅在镜像目录中挂载必要的文件系统,并运行 `chroot` 命令在 chroot 镜像目录中运行 Linux。这种方法绕过损坏的 GRUB(或其他)配置文件。但是,它提供了一个完整的运行系统,其中安装了所有原始文件系统以进行恢复,既是所需工具的来源,也是要进行更改的目标。 +目标是使用现场 USB 引导并完成启动,然后仅在镜像目录中挂载必要的文件系统,并运行 `chroot` 命令在 chroot 镜像目录中运行 Linux。这种方法绕过损坏的 GRUB(或其他)配置文件。但是,它提供了一个完整的运行系统,其中安装了所有原始文件系统以进行恢复,既是所需工具的来源,也是要进行更改的目标。 以下是步骤和相关命令: 1. 创建目录 `/mnt/sysimage` 以提供 `chroot` 目录的位置。 - 2. 将根分区挂载到 `/mnt/sysimage`: - -``` -# mount /dev/mapper/vg01-root /mnt/sysimage -``` - + ``` + # mount /dev/mapper/vg01-root /mnt/sysimage + ``` 3. 将 `/mnt/sysimage` 设为你的工作目录: - -``` -# cd /mnt/sysimage -``` - + ``` + # cd /mnt/sysimage + ``` 4. 挂载 `/boot` 和 `/boot/efi` 文件系统。 - 5. 挂载其他主要文件系统。此步骤不需要像 `/home` 和 `/tmp` 这样的文件系统: + ``` + # mount /dev/mapper/vg01-usr usr -``` -# mount /dev/mapper/vg01-usr usr + # mount /dev/mapper/vg01-var var + ``` +6. 绑定已挂载的重要文件系统,它们必须在已经 chroot 的系统和原始的现场系统之间共享,而后者仍然在外部运行: + ``` + # mount --bind /sys sys -# mount /dev/mapper/vg01-var var -``` + # mount --bind /proc proc + ``` +7. 一定要最后操作 `/dev` 目录,否则其他文件系统不能挂载: + ``` + # mount --bind /dev dev + ``` +8. chroot 到系统镜像: + ``` + # chroot /mnt/sysimage + ``` -6. 挂载重要但已挂载的文件系统,它们必须在已经 chroot 的系统和原始 Live 系统之间共享,而后者仍然在外面运行: - -``` -# mount --bind /sys sys - -# mount --bind /proc proc -``` - -7. 一定要最后操作 `/dev` 目录,否则其他文件系统不会挂载: - -``` -# mount --bind /dev dev -``` - -8. chroot 系统镜像: - -``` -# chroot /mnt/sysimage -``` - -系统现在已经准备好了,无论你需要做什么,都可以把它恢复到一个工作状态。然而,有一次我能够在这种状态下运行我的服务器数天,直到我能够研究和测试真正的修复方法。我并不推荐这样做,但在紧急情况下,当有任务需要启动和运行时,这可能是一个选择。 +系统现在已经准备好了,无论你需要做什么,都可以把它恢复到一个工作状态。然而,有一次我能够在这种状态下运行我的服务器数天,直到我能够研究测试出真正的修复方法。我并不推荐这样做,但在紧急情况下,当有任务需要启动和运行时,这可能是一个选择。 ### 解决方案 -当我让每个系统进入恢复模式,修复就很容易了。因为我的系统现在就像成功启动一样工作,我只需对 `/etc/default/grub` 和 `/etc/fstab` 进行必要的更改并运行 `grub2-mkconfig > boot/grub2/grub.cfg ` 命令。我使用 `exit` 命令退出 chroot,然后重启主机。 +当我让每个系统进入恢复模式,修复就很容易了。因为我的系统现在就像成功启动一样工作,我只需对 `/etc/default/grub` 和 `/etc/fstab` 进行必要的更改并运行 `grub2-mkconfig > boot/grub2/grub.cfg` 命令。我使用 `exit` 命令退出 chroot 环境,然后重启主机。 当然,我无法自动从我的意外事故中恢复过来。我必须在每台主机上手动执行整个过程,这是使用自动化快速和容易地传播我自己的错误的一点报应。 @@ -142,7 +128,7 @@ via: https://opensource.com/article/22/9/recover-linux-system-live-usb 作者:[David Both][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From bc9ad68f91ed47074c9076bb9cba4e59b14d5cdb Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 28 Sep 2022 12:30:48 +0800 Subject: [PATCH 005/170] Update topics.yml --- .github/ISSUE_TEMPLATE/topics.yml | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/topics.yml b/.github/ISSUE_TEMPLATE/topics.yml index c2da7e3c89..4831e605c7 100644 --- a/.github/ISSUE_TEMPLATE/topics.yml +++ b/.github/ISSUE_TEMPLATE/topics.yml @@ -1,6 +1,6 @@ name: 推荐选题 description: 推荐一个选题 -# title: "" +title: "[推荐类型] 文章日期 文章标题" labels: [] assignees: [] body: @@ -12,30 +12,20 @@ body: 完整示例: - [推荐选题] 20220823 The Lost Art of the Makefile - [推荐选题] 20220905 Linus Torvalds Uses Apple MacBook Hardware to Release Linux Kernel 5.19 - - - type: textarea - id: title - attributes: - label: 原文标题 - description: 填写原文章的标题 - placeholder: 原文标题 - validations: - required: true - - - type: textarea + - type: input id: url attributes: label: 原文链接地址 description: 填写原文章的链接地址 - placeholder: 原文链接地址 + placeholder: https://...... validations: required: true - - type: checkboxes id: terms attributes: label: 版权协议 description: 填写原文章的版权协议 + multiple: false options: - label: CC-SA-BY - label: 其它公域许可证 @@ -49,7 +39,6 @@ body: placeholder: validations: required: false - - type: dropdown id: difficulty attributes: @@ -60,7 +49,8 @@ body: - 困难 - 一般 - 容易 - + validations: + required: true - type: dropdown id: category attributes: @@ -68,6 +58,8 @@ body: description: 选择文章的分类 multiple: false options: - - 新闻(news) - - 观点(talk) - - 技术(tech) + - 新闻(`news`) + - 观点(`talk`) + - 技术(`tech`) + validations: + required: true From 4318bbcaca7ba0c53ef70ca429b581dd261acf5d Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 28 Sep 2022 12:33:12 +0800 Subject: [PATCH 006/170] Update topics.yml --- .github/ISSUE_TEMPLATE/topics.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/topics.yml b/.github/ISSUE_TEMPLATE/topics.yml index 4831e605c7..b1de9f2632 100644 --- a/.github/ISSUE_TEMPLATE/topics.yml +++ b/.github/ISSUE_TEMPLATE/topics.yml @@ -20,7 +20,7 @@ body: placeholder: https://...... validations: required: true - - type: checkboxes + - type: dropdown id: terms attributes: label: 版权协议 @@ -30,15 +30,8 @@ body: - label: CC-SA-BY - label: 其它公域许可证 - label: 已获取作者授权 - - - type: textarea - id: reason - attributes: - label: 推荐理由 - description: 填写你的推荐理由 - placeholder: validations: - required: false + required: true - type: dropdown id: difficulty attributes: @@ -63,3 +56,11 @@ body: - 技术(`tech`) validations: required: true + - type: textarea + id: reason + attributes: + label: 推荐理由 + description: 填写你的推荐理由 + placeholder: + validations: + required: false From 7cb2422ca3ba0a57f83ba863aaeeca9fa10f390e Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 28 Sep 2022 12:37:37 +0800 Subject: [PATCH 007/170] Update topics.yml --- .github/ISSUE_TEMPLATE/topics.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/topics.yml b/.github/ISSUE_TEMPLATE/topics.yml index b1de9f2632..d0887ac9d7 100644 --- a/.github/ISSUE_TEMPLATE/topics.yml +++ b/.github/ISSUE_TEMPLATE/topics.yml @@ -2,7 +2,8 @@ name: 推荐选题 description: 推荐一个选题 title: "[推荐类型] 文章日期 文章标题" labels: [] -assignees: [] +assignees: + - lkxed body: - type: markdown attributes: @@ -27,9 +28,9 @@ body: description: 填写原文章的版权协议 multiple: false options: - - label: CC-SA-BY - - label: 其它公域许可证 - - label: 已获取作者授权 + - CC-SA-BY + - 其它公域许可证 + - 已获取作者授权 validations: required: true - type: dropdown @@ -51,9 +52,9 @@ body: description: 选择文章的分类 multiple: false options: - - 新闻(`news`) - - 观点(`talk`) - - 技术(`tech`) + - 新闻(news) + - 观点(talk) + - 技术(tech) validations: required: true - type: textarea From 15eec5359e068d44855a0d3c8570877af7b92123 Mon Sep 17 00:00:00 2001 From: PeterPan0106 Date: Wed, 28 Sep 2022 13:07:05 +0800 Subject: [PATCH 008/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90]3?= =?UTF-8?q?=20steps=20to=20protect=20your=20home=20network?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [翻译完成]3 steps to protect your home network --- ...14 3 steps to protect your home network.md | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/sources/tech/20220914 3 steps to protect your home network.md b/sources/tech/20220914 3 steps to protect your home network.md index 0217daa87f..98854f0a09 100644 --- a/sources/tech/20220914 3 steps to protect your home network.md +++ b/sources/tech/20220914 3 steps to protect your home network.md @@ -7,57 +7,58 @@ [#]: publisher: " " [#]: url: " " -3 steps to protect your home network +保护家庭网络三部曲 ====== -Who has access to your home network? With the Internet of Things (IoT) commonplace, there are sometimes more services running on your home network than you realize. Protect it from unwanted traffic. +都有谁可以访问你的家庭网络?随着物联网(IoT)的普及,有时在运行在你家庭网络上的服务比你想象的更多。我们应当设法保护它免受不需要的访问。 -The typical setup for Internet connectivity today is for your home to have a **router**, usually a little physical box located somewhere in your house, that acts as a gateway to the rest of the world. The router creates a local network, and you connect your devices to it, including your computer, mobile, TV, game console, and anything else that needs to connect to the Internet or to each other. It's deceptively easy to think of this setup as there being two "sides" of your router: On one side there's the Internet, and on the other, your devices. That's an awful colloquial, though, because in reality there's an entire worldwide *network of computers* on one side of your router, and your digital life on the other. When you use the Internet directly, you're logging onto a shared area of somebody else's computer. When you're not using the Internet, it doesn't go away, and there are lots of scripts and programs out there designed to visit millions upon millions of routers in an attempt to find open ports or services. With the Internet of Things (IoT) commonplace, there are sometimes more services running on your home network than you realize. Here are three steps you can take to audit and protect your home network from unwanted traffic. +今天,互联网连接的典型结构是家里有一个**路由器**,通常是一个位于你家某个地方的小盒子,它充当了通往互联网世界的网关。路由器创建了一个本地网络,你将你的设备连接到这个本地网络,包括你的电脑、手机、电视、游戏机,以及其他任何需要连接到互联网或相互连接的设备。我们很容易将路由器当作一个分界线,一边是互联网而另一边是你的设备。但这是一个可怕的误解,因为在现实中,你的路由器的一边是整个*计算机网络世界*,另一边是你的数字生活。当你直接使用互联网时,你是在访问别人的计算机网络的共享区域。当你不使用互联网时,它却并没有消失,有很多脚本和程序被设计用以访问数以百万计的路由器,试图找到开放的端口或服务。随着物联网(IoT)的普及,有时在运行在你家庭网络上的服务比你想象的更多。通过以下三个步骤,你可以审计并保护你的家庭网络免受不必要的访问和攻击。 -### 1. Think about protocol +### 1. 协议先行 -Part of your router's job is to keep the Internet separate from your home network. But when you access the Internet, you invite some portion of the Internet into your home. You're making an exception to the general rule that the Internet should stay off your network. +路由器的部分工作是将互联网与你的家庭网络分开。但当你访问互联网时,你邀请互联网的某些部分进入你的家庭。这意味着你创建了一个例外规则,绕过了阻止互联网进入你的本地网络的一般规则。 -On many websites, what's allowed through your router is just text. When you visit your favorite blog site to read up on the latest tech news, for instance, you're downloading a page or two of text. You read the text, and then move on. That's a simple one-to-one transaction. +在许多网站上,你的路由器仅允许文本内容的访问。例如,当你访问你最喜欢的博客网站,阅读最新的科技新闻时,你下载了几页文字。你阅读文本,然后继续前进。这是一个简单的一对一的连接。 -However, the HTTPS protocol is robust and the applications running on the Internet are full of variety. When you visit Opensource.com, for instance, you're not just downloading text. You get graphics, and maybe a cheat sheet or ebook. You're also downloading cookies in the background, which helps site administrators understand who visits the site, which has led to improved mobile support, a new design for greater accessibility, and content that readers enjoy. You may not think about cookies or traffic analysis as something you interact with when you're on the Internet, but it's something that gets "snuck" into page interactions because the HTTPS protocol is designed to be broad and, in many ways, high trust. When you visit a website over HTTPS (that is, in a web browser), you're implicitly agreeing to automatic downloads of files that you're probably not conscious of, but that you trust are useful and unobtrusive. For a model of file sharing designed for less trust, you might try the [Gemini][3] or [Gopher][4] space. +然而,HTTPS协议是强大的,在互联网上运行的应用程序也充满了多样性。例如,当你访问Opensource.com时,你不只是在下载文本。你会得到图形,也许还有脚本或电子书。你还在后台下载cookies,这有助于网站管理员了解谁在访问网站、加强对移动设备的支持、为更好的可访问性提供新设计并了解读者喜欢的内容。当你网上冲浪时,你可能不会想到cookies或流量分析是与你交互的东西,它是被“藏入”页面交互的东西,因为HTTPS协议的设计是广泛而通用的,在多数场景被高度信任。当你通过HTTPS访问一个网站时(或者说,在一个网络浏览器中),你可能在不知情的情况下默认同意自动下载文件,但你认为这些文件是有用的和不引人注目的。对于一种旨在减少信任的文件共享模式,你可以尝试[Gemini][3]或[Gopher][4]协议。 -You make a similar agreement when you join a video conference. Not only are you downloading text on the page, cookies for traffic monitoring, but also a video and audio feed. +当你加入一个视频会议时,你也使用了类似的协议。你不仅要下载页面上的文字、用于流量监控的cookies,还要下载视频和音频材料。 -Some sites are designed for even more. There are sites designed to allow people to share their computer screen, and sometimes even the control of their computer. In the best case scenario, this helps a remote technician repair a problem on someone's computer, but in practice users can be tricked into visiting sites only to have financial credentials and personal data stolen. +有些网站的设计甚至更进一步,它们被设计成允许用户分享其电脑屏幕,有时甚至是对他们电脑的控制。这样设计的初衷是有助于远程技术人员修复电脑上的问题,但在现实中,用户可能被欺骗访问这一网站,导致财务凭证和个人数据被盗。 -You'd rightfully be suspicious if a website offering text articles required you to grant it permission to look through your webcam while you read. You should cultivate the same level of suspicion when an appliance requires Internet access. When you connect a device to your network, it's important to consider what implicit agreement you're making. A device designed to control lighting in your house shouldn't *require* Internet access to function, but many do, and many don't make it clear what permissions you're granting that device. Many IoT devices *want* access to the Internet so that you can access the device over the Internet while you're away from home. That's part of the appeal of a "smart home". However, it's impossible to know what code many of these devices run. When possible, use open source and trusted software, such as [Home Assistant][5] to interface with your living space. +如果一个提供文字文章的网站要求你允许它在你阅读时调用网络摄像头,你理应高度警惕。当一个设备需要访问互联网时,你也应当保持同样的谨慎和警惕。当你把一个设备连接到网络时,重要的是要关注你同意了何种隐性协议。一个旨在控制你房子里的照明的设备不应该*要求*互联网接入,但事实上许多设备需要并且没有明确说明你授予该设备什么权限。许多物联网设备都*希望*接入互联网,这样你就可以在离家时通过互联网访问该设备。这也是"智慧家庭"的部分吸引力。然而,我们不可能知道所有设备运行的是什么代码。在可能的情况下,使用开放源码和值得信赖的软件,如[Home Assistant][5]来与你的物联网设备对接。 -### 2. Create a guest network +### 2. 创建访客网络 -Many modern routers make it trivial to create a second network (usually called a "guest network" in the configuration panels) for your home. You probably don't feel like you need a second network, but actually a guest network can be useful to have around. Its eponymous and most obvious use case is that a guest network provides people visiting your house access to the Internet without you telling them your network password. In the foyer of my house, I have a sign identifying the guest network name and password. Anyone who visits can join that network for access to the Internet. +许多现代路由器可以为你的家庭创建第二个网络(通常在配置面板中称为 "访客网络")。你可能觉得你不需要访客网络,但实际上,访客网络是十分有意义的。它旨在为访问你房子的人提供互联网访问,而你不需要告诉他们你的私人网络密码。例如在我家的门厅里,我有一个牌子标明了访客网络的名称和密码。任何来访的人都可以加入该网络以访问互联网。 -The other use case is for IoT, edge devices, and my home lab. When I purchased "programmable" Christmas lights last year, I was surprised to find that in order to connect to the lights, they had to be connected to the Internet. OF course, the $50 lights from a nameless factory didn't come with source code included, or any way to interface or inspect with the firmware embedded in the power brick, and so I wasn't confident in what I was agreeing to by connecting them to the Internet. They've been permanently relegated to my guest network. +另一方面可以用于物联网、边缘设备和家庭实验室的应用。当我去年购买 "可编程 "的圣诞灯时,我惊讶地发现,为了连接这些灯,它们必须连接到互联网。当然,这些来自无名工厂的50美元的灯没有附带源代码,也没有任何方法可以与嵌入在适配器中的固件进行交互或检查,所以我对我同意将它们连接到我的本地网络有一定的顾虑。它们已经被永久地归入了我的访客网络。 -Every router vendor is different, so there's no single instruction on how to create a "sandboxed" guest network on yours. Generally, you access your home router through a web browser. Your router's address is sometimes printed on the bottom of the router, and it begins with either 192.168 or 10. +每个路由器供应商都是不同的,所以没有关于如何在你的路由器上创建一个 "沙盒 "访客网络的通用指令。一般来说,你通过一个网络浏览器访问你的家庭路由器。你的路由器的地址有时印在路由器的底部,它以192.168或10开头。 -Navigate to your router's address and log in with the credentials you were provided when you got your Internet service. It's often as simple as `admin` with a numeric password (sometimes, this password is printed on the router, too). If you don't know the login, call your Internet provider and ask for details. +访问路由器地址,用你配置互联网服务时使用的凭证登录。这通常是简单的 "admin "和一个数字密码(有时,这个密码也印在路由器上)。如果你不知道登录方式,请致电给你的互联网供应商或者制造商咨询。 -In the graphical interface, find the panel for "Guest network." This option is in the **Advanced** configuration of my router, but it could be somewhere else on yours, and it may not even be called "Guest network" (or it may not even be an option.) +在图形界面中,找到 "访客网络 "的面板。这个选项在我的路由器的**高级**配置中,但它可能在你的路由器的其他地方,它甚至可能不叫 "访客网络"(或者它甚至可能不是一个选项)。具体情况因厂商而异。 -![Creating a guest network][7] +![创建访客网络][7] Image by: (Opensource.com, CC BY-SA 4.0) -It may take a lot of clicking around and reading. If you find that you have the option, then you can set up a guest network for visitors, including people walking through your front door and applications running on a lightbulb. +这可能需要耐心的寻找。如果你发现你的设备有这个选择,那么你可以为访客建立一个访客网络,包括在不受信任的灯泡上运行的应用程序。 -### 3. Firewall your firewall +### 3. 配置防火墙 -Your router probably has a firewall running by default. A firewall keeps unwanted traffic off your network, usually by limiting incoming packets to HTTP and HTTPS (web browser traffic) and a few other utility protocols, and by rejecting traffic you didn't initiate. You can verify that a firewall is running by logging onto your router and looking for "Firewall" or "Security" settings. +你的路由器可能已经存在一个默认运行的防火墙。防火墙将不需要的流量挡在你的网络之外,通常是将传入的数据包限制在HTTP和HTTPS(网络浏览器流量)以及其他一些常用的协议上,并拒绝不是你发起的请求。你可以通过登录你的路由器并寻找 "防火墙 "或 "安全 "设置来检查防火墙是否正在运行。 -However, many devices can run firewalls of there own. This is important because a network is a *network* because devices connect to one another. Placing firewalls "between" devices is like locking a door to a room inside your house. Guests may roam the halls, but without the right key they're not invited into your office. +然而,许多设备可以运行它们自己的防火墙。网络之所以被称为*网络*是因为在网络上的设备互相能进行连接。在设备之间设置防火墙,就像在你的房子里锁上一扇门。客人可以在大厅里游荡,但如果没有合适的钥匙,他们就不会被邀请进入你的私人办公室。 -On Linux, you can configure your firewall using [firewalld][8] interface and the [firewall-cmd][9] command. On other operating systems, the firewall is sometimes in a control panel labeled as "security" or "sharing" (and sometimes both.) Most default firewall settings allow only outgoing traffic (that's the traffic you initiate by, for instance, opening a browser and navigating to a website) and incoming traffic that's responding to your requests (that's the web data responding to your navigation). Incoming traffic that you didn't initiate is blocked. +在Linux上,你可以使用[firewalld][8]接口和[firewall-cmd][9]命令来配置你的防火墙。在其他操作系统上,防火墙有时在一个标有 "安全 "或 "共享 "的控制面板中(有时两者都有)。 大多数默认的防火墙设置只允许出站流量(即你通过打开浏览器并导航到一个网站而启动的流量)和响应你的请求的入站流量(即响应你的导航的网络数据)。不是由你发起的传入流量会被阻止。 -You can customize this setup as needed, should you want to allow specific traffic, such as an [SSH connection][10], a [VNC connection][11], or a [game server][12] host. +你可以根据需要配置相关规则以允许特定的流量,例如[SSH连接][10],[VNC连接][11],或[游戏服务器][12]主机。 -### Monitor your network +### 监控你的网络 These techniques help build up your awareness of what's happening around you. The next step is to [monitor your network][13]. You can start simple, for instance by running [Fail2ban][14] on a test server on your guest network. Take a look at logs, if your router provides them. You don't have to know everything about TCP/IP and packets and other advanced subjects to see that the Internet is a busy and noisy place, and seeing that for yourself is great inspiration to take precautions when you set up a new device, whether it's IoT, mobile, a desktop or laptop, a game console, or a [Raspberry Pi][15], in your home. +这些技巧有助于建立起你对周围发生的事情的认识。下一步是[监控你的网络][13]。你可以从简单的开始,例如在你的访客网络的测试服务器上运行[Fail2ban][14]。看一下日志,如果你的路由器提供日志的话。你不必对TCP/IP和数据包以及其他进阶知识了如指掌,就可以看到互联网是一个繁忙而嘈杂的地方,当你在家里安装一个新设备时,无论是物联网、移动设备、台式机或笔记本电脑、游戏机,甚至是[树莓派][15],而亲身体会到这一点对你采取预防措施有很大启发。 -------------------------------------------------------------------------------- From 3f4ebc9e68661ac19040d2a83fc3dd0beb7c9787 Mon Sep 17 00:00:00 2001 From: PeterPan0106 Date: Wed, 28 Sep 2022 13:09:23 +0800 Subject: [PATCH 009/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90]3?= =?UTF-8?q?=20steps=20to=20protect=20your=20home=20network?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译完成 --- .../tech/20220914 3 steps to protect your home network.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20220914 3 steps to protect your home network.md (100%) diff --git a/sources/tech/20220914 3 steps to protect your home network.md b/translated/tech/20220914 3 steps to protect your home network.md similarity index 100% rename from sources/tech/20220914 3 steps to protect your home network.md rename to translated/tech/20220914 3 steps to protect your home network.md From dd877a980d6f68b949343225bdd950a250dc4980 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 28 Sep 2022 15:40:15 +0800 Subject: [PATCH 010/170] RP @MareDevi https://linux.cn/article-15081-1.html --- ...ow open source builds distributed trust.md | 68 +++++++++++++++++++ ...ow open source builds distributed trust.md | 67 ------------------ 2 files changed, 68 insertions(+), 67 deletions(-) create mode 100644 published/20210115 How open source builds distributed trust.md delete mode 100644 translated/tech/20210115 How open source builds distributed trust.md diff --git a/published/20210115 How open source builds distributed trust.md b/published/20210115 How open source builds distributed trust.md new file mode 100644 index 0000000000..9926f35258 --- /dev/null +++ b/published/20210115 How open source builds distributed trust.md @@ -0,0 +1,68 @@ +[#]: collector: (lujun9972) +[#]: translator: (MareDevi) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15081-1.html) +[#]: subject: (How open source builds distributed trust) +[#]: via: (https://opensource.com/article/21/1/open-source-distributed-trust) +[#]: author: (Mike Bursell https://opensource.com/users/mikecamel) + +开源如何构建分布式信任 +====== + +> 对开源的信任是一个正反馈循环。 + +![信任][1] + +这是我即将在 [Wiley][2] 出版的《计算和云计算中的信任Trust in Computing and the Cloud》一书中经过编辑的节选,也是我之前写的一篇文章[《信任与选择开源》][3]Trust & choosing open source的延伸。 + +在那篇文章中,我提出了一个问题。当我们说 “我相信开放源码软件” 时,我们在做什么?作为回答,我认为,我们正在做的是确定有足够多的编写和测试该软件的人与我有类似的要求,而且他们的专业知识加在一起,使我使用该软件的风险可以接受。我同时也介绍了 “分布式信任distributed trust” 的概念。 + +在社区内分布信任的概念是亚里士多德提出的 “人群智慧理论wisdom of the crowd theory” 的应用,其中的假设是,许多人的意见通常比一个人或少数人的意见更有明智。虽然在某些情况下,最简单的形式显然是错误的 —— 最明显的例子是民众对极权主义政权的支持 —— 但这一原则可以为建立某些信息提供一个非常有效的机制。 + +我们称这种集体经验的提炼为“分布式信任”,它通过互联网上的许多机制收集。如 TripAdvisor 或 Glassdoor,记录了关于组织或其提供的服务的信息,还有像 UrbanSitter 或 LinkedIn,允许用户添加关于特定人的信息(例如,见 LinkedIn 的推荐和技能与个人档案中的认可部分)。从这些例子中可以获得的利益因网络效应而大大增加,因为随着成员数量的增加,成员之间可能的联系数量也成倍增加。 + +分布式信任的例子还包括像 Twitter 这样的平台,一个账户的追随者数量可以被视为衡量其声誉,甚至是衡量其可信度的标准,我们应该以强烈的怀疑态度去看待这种计算。事实上,Twitter 认为它必须解决拥有大量追随者的账户的社会力量问题,并建立了一个为 “验证账户” 机制,让人们知道 “一个具有公共利益的账户是真实的”。但是有趣的是,该公司不得不暂停这项服务,因为用户对 “验证” 的确切含义或暗示的期望出现了问题:这就是不同群体之间对内容理解不同的典型案例。 + +那么,开源的相关性在哪里呢?开源的社区方面实际上就是建立分布式信任的一个驱动力。因为一旦你成为一个开源项目周围社区的一部分,你就会承担一个或多个角色,一旦你说你 “信任” 一个开源项目,你就会开始信任这些角色(见我之前的文章)。例如,架构师、设计师、开发人员、审查人员、技术写作、测试人员、部署人员、错误报告者或错误修复者。你对一个项目的参与越多,你就越是社区的一部分,久而久之,这就可以成为一个 “实践社区community of practice”。 + +Jean Lave 和 Etienne Wenger 在[《情境学习:正当的外围参与》][4]Situated Learning: Legitimate Peripheral Participation一书中提出了实践社区的概念,团体在成员热情分享和参与共同活动的过程中演变成社区,导致他们的技能和知识共同提高。这里的核心概念是:当参与者围绕实践社区进行学习时,他们同时也成为社区的成员。 + +> “正当的的外围参与既指在实践中知识技能身份的发展,也指实践社区的再生产和转化。” + +Wenger 在 [《实践社区:学习、意义和身份》][5]Communities of Practice: Learning, Meaning, and Identity 中进一步探讨了实践社区的概念:它们如何形成、对其健康的要求,以及它们如何鼓励学习。他认为,意义的可协商性(“我们为什么要一起工作,我们要实现什么?”)是实践社区的核心,并指出,如果没有个人的参与、想象力和一致性,实践社区将不会有活力。 + +我们可以把这一点与我们对分布式信任如何建立和构建的看法结合起来:当你意识到你对开源的影响可以与其他人的影响相同时,你对社区成员的分布式信任关系就变得不那么具有传递性(第二或第三手甚至更遥远),而是更加直接。你明白,你对你所运行的软件的创建、维护、需求和质量所能产生的影响,可以与所有其他以前匿名的贡献者一样,你现在正在与他们形成一个实践社区,或者你正在加入他们的现有实践社区。然后,你就会成为一个信任关系网络的一部分,这个网络是分布式的,但与你购买和操作专利软件时的经历相差不大。 + +这个过程并不会停止:因为开源项目的一个共同属性是“交叉授粉”,即一个项目的开发者也在其他项目上工作。由于多个开源项目之间的网络效应,使得对其他项目的重用和依赖性上升,导致整个项目的吸收量增加。 + +这就很容易理解为什么许多开源贡献者会成为开源爱好者或传道者,不仅仅是为单个项目,而是为整个开源项目。事实上,斯坦福大学社会学家 [Mark Granovetter][6] 的工作表明,社区内太多的强关系会导致小团体和停滞不前,但弱关系会使思想和趋势在社区内流动。这种对其他项目和围绕它们存在的社区的认识,以及想法在项目间的灵活性,导致分布式信任能够被扩展(尽管保证比较弱),超越贡献者在他们有直接经验的项目中所经历的直接或短链间接关系,并向其他项目扩展,因为外部观察或外围参与显示贡献者之间存在类似关系。 + +简单地说,参与开源项目并通过参与建立信任关系的行为会导致对类似的开源项目或只是对其他类似的开源项目产生更强的分布式信任。 + +这对我们每个人来说意味着什么?它意味着我们越是参与开源,我们对开源的信任度就越高,而其他人对开源的参与度也会相应提高,从而对开源的信任度也会提高。对开源的信任不仅仅是一个网络效应:它是一个正反馈循环! + +* * * + +_本文最初发表于 [Alice, Eve, and Bob][7],经作者许可转载。_ + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/1/open-source-distributed-trust + +作者:[Mike Bursell][a] +选题:[lujun9972][b] +译者:[MareDevi](https://github.com/MareDevi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/mikecamel +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/BUSINESS_trust.png?itok=KMfi0Rdo (Trust) +[2]: https://wiley.com/ +[3]: https://aliceevebob.com/2019/06/18/trust-choosing-open-source/ +[4]: https://books.google.com/books/about/Situated_Learning.html?id=CAVIOrW3vYAC +[5]: https://books.google.com/books?id=Jb8mAAAAQBAJ&dq=Communities%20of%20Practice:%20Learning,%20meaning%20and%20identity&lr= +[6]: https://en.wikipedia.org/wiki/Mark_Granovetter +[7]: https://aliceevebob.com/2020/11/17/how-open-source-builds-distributed-trust/ diff --git a/translated/tech/20210115 How open source builds distributed trust.md b/translated/tech/20210115 How open source builds distributed trust.md deleted file mode 100644 index dd1e8d5ae2..0000000000 --- a/translated/tech/20210115 How open source builds distributed trust.md +++ /dev/null @@ -1,67 +0,0 @@ -[#]: collector: (lujun9972) -[#]: translator: (MareDevi) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) -[#]: subject: (How open source builds distributed trust) -[#]: via: (https://opensource.com/article/21/1/open-source-distributed-trust) -[#]: author: (Mike Bursell https://opensource.com/users/mikecamel) - -开源如何构建分布式信任 -====== -对开源的信任是一个积极的反馈循环。 -![信任][1] - -这是我即将为[Wiley][2]出版的《计算和云计算中的信任》(Trust in Computing and the Cloud)一书中经过编辑的节选,也是我之前写的一篇文章[_《信任与选择开源》_][3](_Trust & choosing open source_)的延伸。 - -在那篇文章中,我提出了一个问题。当我们说 "我相信开放源码软件 "时,我们在做什么?作为回答,我认为,我们正在做的是确定有足够多的编写和测试该软件的人与我有类似的要求,而且他们的专业知识加在一起,使我使用该软件的风险可以接受。我同时也介绍了 "分布式信任 "的概念。 - - -在社区内分配信任的概念是亚里士多德提出的“人群智慧理论”的应用,其中的假设是,许多人的意见通常比一个人或少数人的意见更有明智。虽然在某些情况下,最简单的形式显然是错误的——最明显的例子是民众对极权主义政权的支持——但这一原则可以提供一个非常有效的机制来建立某些信息。 - -我们称这种集体经验的提炼为“分布式信任”,它通过互联网上的许多机制收集。如TripAdvisor或Glassdoor,记录了关于组织或其提供的服务的信息,还有像UrbanSitter或LinkedIn,允许用户添加关于特定人的信息(例如,见LinkedIn的推荐和技能与个人档案中的认可部分)。从这些例子中可以获得的利益因网络效应而大大增加,因为随着成员数量的增加,成员之间可能的联系数量也成倍增加。 - -分布式信任的例子还包括像Twitter这样的平台,一个账户的追随者数量可以被视为衡量其声誉,甚至是衡量其可信度的标准,我们应该以强烈的怀疑态度去看待这种计算。 事实上,Twitter认为它必须解决拥有大量追随者的账户的社会力量问题,并建立了一个为 "验证账户 "机制,让人们知道 "一个具有公共利益的账户是真实的"。但是有趣的是,该公司不得不暂停这项服务,因为用户对 "验证 "的确切含义或暗示的期望出现了问题:这就是不同群体之间对内容理解不同的典型案例。 - -那么,开源的相关性在哪里呢?开源的社区方面实际上就是建立分布式信任的一个驱动力。因为一旦你成为一个开源项目周围社区的一部分,你就会承担一个或多个角色,一旦你说你 "信任 "一个开源项目,你就会开始信任这些角色(见我之前的文章)。例如,建筑师、设计师、开发人员、审查员、技术作家、测试员、部署员、错误报告者或错误修复者。你对一个项目的参与越多,你就越是社区的一部分,久而久之,这就可以成为一个“实践社区”(community of practice)。 - -Jean Lave和Etienne Wenger在[_《情境学习:正当的外围参与》_][4](_Situated Learning: Legitimate Peripheral Participation_)一书中提出了实践社区的概念,团体在成员热情分享和参与共同活动的过程中演变成社区,导致他们的技能和知识共同提高。这里的核心概念是:当参与者在实践社区周围学习时,他们同时也成为社区的成员。 - -> “正当的的外围参与既指在实践中知识,技能,身份的发展,也指实践社区的再生产和转化。” - -Wenger在[_《实践社区:学习、意义和身份》_][5](_Communities of Practice: Learning, Meaning, and Identity_)中进一步探讨了实践社区的概念:它们如何形成、对其健康的要求,以及它们如何鼓励学习。他认为,意义的可协商性("我们为什么要一起工作,我们要实现什么?")是实践社区的核心,并指出,如果没有个人的参与、想象力和一致性,实践社区将不会有活力。 - -我们可以把这一点与我们对分布式信任如何建立和构建的看法结合起来:当你意识到你对开源的影响可以与其他人的影响相同时,你对社区成员的分布式信任关系就变得不那么具有传递性(第二或第三手甚至更遥远),而是更加直接。你明白,你对你所运行的软件的创建、维护、需求和质量所能产生的影响,可以与所有其他以前匿名的贡献者一样,你现在正在与他们形成一个实践社区,或者你正在加入他们的现有实践社区。然后,你就会成为一个信任关系网络的一部分,这个网络是分布式的,但与你购买和操作专利软件时的经历相差不大。 - -这个过程并不会停止:因为开源项目的一个共同属性是“交叉授粉”,即一个项目的开发者也在其他项目上工作。由于多个开源项目之间的网络效应,使得对其他项目的重用和依赖性上升,导致整个项目的吸收量增加。 - -这就很容易理解为什么许多开源贡献者会成为开源爱好者或传道者,不仅仅是为单个项目,而是为整个开源项目。事实上,斯坦福大学社会学家[Mark Granovetter][6]的工作表明,社区内太多的强关系会导致小团体和停滞不前,但弱关系会使思想和趋势在社区内流动。这种对其他项目和围绕它们存在的社区的认识,以及想法在项目间的灵活性,导致分布式信任能够被扩展(尽管保证比较弱),超越贡献者在他们有直接经验的项目中所经历的直接或短链间接关系,并向其他项目扩展,因为外部观察或外围参与显示贡献者之间存在类似关系。 - -简单地说,参与开源项目并通过参与建立信任关系的行为会导致对类似的开源项目或只是对其他类似的开源项目产生更强的分布式信任。 - -这对我们每个人来说意味着什么?它意味着我们越是参与开源,我们对开源的信任度就越高,而其他人对开源的参与度也会相应提高,从而对开源的信任度也会提高。对开源的信任不仅仅是一个网络效应:它是一个积极的反馈循环! - -* * * - -_本文最初发表于[Alice, Eve, and Bob][7],经作者许可转载。_ - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/1/open-source-distributed-trust - -作者:[Mike Bursell][a] -选题:[lujun9972][b] -译者:[MareDevi](https://github.com/MareDevi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/mikecamel -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/BUSINESS_trust.png?itok=KMfi0Rdo (Trust) -[2]: https://wiley.com/ -[3]: https://aliceevebob.com/2019/06/18/trust-choosing-open-source/ -[4]: https://books.google.com/books/about/Situated_Learning.html?id=CAVIOrW3vYAC -[5]: https://books.google.com/books?id=Jb8mAAAAQBAJ&dq=Communities%20of%20Practice:%20Learning,%20meaning%20and%20identity&lr= -[6]: https://en.wikipedia.org/wiki/Mark_Granovetter -[7]: https://aliceevebob.com/2020/11/17/how-open-source-builds-distributed-trust/ From 5709ff7ce8f923292dd8fad1cbdd8936f75042cb Mon Sep 17 00:00:00 2001 From: MareDevi <110676727+MareDevi@users.noreply.github.com> Date: Thu, 29 Sep 2022 08:03:10 +0800 Subject: [PATCH 011/170] =?UTF-8?q?=E7=94=B3=E9=A2=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tech/20210602 New ways to learn about open organizations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210602 New ways to learn about open organizations.md b/sources/tech/20210602 New ways to learn about open organizations.md index 1d56e9938f..e22bc3683c 100644 --- a/sources/tech/20210602 New ways to learn about open organizations.md +++ b/sources/tech/20210602 New ways to learn about open organizations.md @@ -2,7 +2,7 @@ [#]: via: (https://opensource.com/open-organization/21/6/celebrate-sixth-anniversary) [#]: author: (Laura Hilliger https://opensource.com/users/laurahilliger) [#]: collector: (lujun9972) -[#]: translator: ( ) +[#]: translator: (MareDevi) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) From 2953f2179ec52b7aac7d0c8b593bd34f5d6e2e00 Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 29 Sep 2022 08:27:55 +0800 Subject: [PATCH 012/170] translated --- ...220923 Install JDBC on Linux in 3 steps.md | 87 ------------------ ...220923 Install JDBC on Linux in 3 steps.md | 88 +++++++++++++++++++ 2 files changed, 88 insertions(+), 87 deletions(-) delete mode 100644 sources/tech/20220923 Install JDBC on Linux in 3 steps.md create mode 100644 translated/tech/20220923 Install JDBC on Linux in 3 steps.md diff --git a/sources/tech/20220923 Install JDBC on Linux in 3 steps.md b/sources/tech/20220923 Install JDBC on Linux in 3 steps.md deleted file mode 100644 index d5477c7e90..0000000000 --- a/sources/tech/20220923 Install JDBC on Linux in 3 steps.md +++ /dev/null @@ -1,87 +0,0 @@ -[#]: subject: "Install JDBC on Linux in 3 steps" -[#]: via: "https://opensource.com/article/22/9/install-jdbc-linux" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Install JDBC on Linux in 3 steps -====== -Install Java, install JDBC with Maven, and install the database. Then you're ready to interact with databases in your Java code. - -![What is your favorite open source Java IDE?][1] - -Image by: Pixabay. CC0. - -When you write an application, it's common to require data storage. Sometimes you're storing assets your application needs to function, and other times you're storing user data, including preferences and save data. One way to store data is in a database, and in order to communicate between your code and a database, you need a database binding or connector for your language. For Java, a common database connector is JDBC (Java database connectivity.) - -### 1. Install Java - -Of course, to develop with Java you must also have Java installed. I recommend [SDKman][2] for Linux, macOS, and WSL or Cygwin. For Windows, you can download OpenJDK from [developers.redhat.com][3]. - -### 2. Install JDBC with Maven - -JDBC is an API, imported into your code with the statement `import java.sql.*`, but for it to be useful you must have a database driver and a database installed for it to interact with. The database driver you use and the database you want to communicate with must match: to interact with MySQL, you need a MySQL driver, to interact with SQLite3, you must have the SQLite3 driver, and so on. - -For this article, I use [PostgreSQL][4], but all the major databases, including [MariaDB][5] and [SQLite3][6], have JDBC drivers. - -You can download JDBC for PostgreSQL from [jdbc.postgresql.org][7]. I use [Maven][8] to manage Java dependencies, so I include it in `pom.xml` (adjusting the version number for what's current on [Maven Central][9]): - -``` - -    org.postgresql -    postgresql -    42.5.0 - -``` - -### 3. Install the database - -You have to install the database you want to connect to through JDBC. There are several very good open source databases, but I had to choose one for this article, so I chose PostgreSQL. - -To install PostgreSQL on Linux, use your software repository. On Fedora, CentOS, Mageia, and similar: - -``` -$ sudo dnf install postgresql postgresql-server -``` - -On Debian, Linux Mint, Elementary, and similar: - -``` -$ sudo apt install postgresql postgresql-contrib -``` - -### Database connectivity - -If you're not using PostgreSQL, the same general process applies: - -1. Install Java. -2. Find the JDBC driver for your database of choice and include it in your `pom.xml` file. -3. Install the database (server and client) on your development OS. - -Three steps and you're ready to start writing code. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/9/install-jdbc-linux - -作者:[Seth Kenlon][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/java-coffee-mug.jpg -[2]: https://opensource.com/article/22/3/manage-java-versions-sdkman -[3]: https://developers.redhat.com/products/openjdk/download?intcmp=7013a000002qLH8AAM -[4]: http://LINK-TO-POSTGRESQL-INTRO-ARTICLE -[5]: https://www.redhat.com/sysadmin/mysql-mariadb-introduction -[6]: https://opensource.com/article/21/2/sqlite3-cheat-sheet -[7]: https://jdbc.postgresql.org/download.html -[8]: https://opensource.com/article/22/3/maven-manage-java-dependencies -[9]: https://mvnrepository.com/artifact/org.postgresql/postgresql diff --git a/translated/tech/20220923 Install JDBC on Linux in 3 steps.md b/translated/tech/20220923 Install JDBC on Linux in 3 steps.md new file mode 100644 index 0000000000..fa48e54b82 --- /dev/null +++ b/translated/tech/20220923 Install JDBC on Linux in 3 steps.md @@ -0,0 +1,88 @@ +[#]: subject: "Install JDBC on Linux in 3 steps" +[#]: via: "https://opensource.com/article/22/9/install-jdbc-linux" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +分 3 步在 Linux 上安装 JDBC +====== +安装 Java,使用 Maven 安装 JDBC,并安装数据库。然后,你就可以在 Java 代码中与数据库进行交互了。 + +![What is your favorite open source Java IDE?][1] + +图片来源:Pixabay. CC0. + +当你编写一个应用时,需要数据存储是很常见的。有时你要存储你的应用需要的资产,其他时候你要存储用户数据,包括偏好和保存数据。存储数据的一种方式是在数据库中,为了在你的代码和数据库之间进行通信,你需要为你的语言提供一个数据库绑定或连接器。对于 Java 来说,一个常见的数据库连接器是 JDBC(Java 数据库连接)。 + +### 1. 安装 Java + +当然,要使用 Java 进行开发,你还必须安装 Java。我推荐 [SDKman][2] 用于 Linux、macOS 和 WSL 或 Cygwin。对于 Windows,你可以从 [developers.redhat.com][3] 下载 OpenJDK。 + +### 2. 使用 Maven 安装 JDBC + +JDBC 是一种 API,通过语句 `import java.sql.*` 导入到你的代码中,但要使其有用,你必须安装数据库驱动和数据库以与之交互。你使用的数据库驱动和要通信的数据库必须匹配:要与 MySQL 交互,你需要 MySQL 驱动,要与 SQLite3 交互,你必须具有 SQLite3 驱动等等。 + +在本文中,我使用 [PostgreSQL][4],但所有主流数据库,包括 [MariaDB][5] 和 [SQLite3][6],都有 JDBC 驱动程序。 + +You can download JDBC for PostgreSQL from [jdbc.postgresql.org][7]. I use [Maven][8] to manage Java dependencies, so I include it in `pom.xml` (adjusting the version number for what's current on [Maven Central][9]): +你可以从 [jdbc.postgresql.org][7] 下载 JDBC for PostgreSQL。我使用 [Maven][8] 来管理 Java 依赖项,因此我将它包含在 `pom.xml` 中(调整 [Maven Central][9] 上的当前版本号): + +``` + + org.postgresql + postgresql + 42.5.0 + +``` + +### 3. 安装数据库 + +你必须安装要通过 JDBC 连接的数据库。有几个非常好的开源数据库,但是我不得不为这篇文章选择一个,所以我选择了 PostgreSQL。 + +要在 Linux 上安装 PostgreSQL,请使用你的软件仓库。在 Fedora、CentOS、Mageia 和类似设备上: + +``` +$ sudo dnf install postgresql postgresql-server +``` + +在 Debian、Linux Mint、Elementary 和类似平台上: + +``` +$ sudo apt install postgresql postgresql-contrib +``` + +### 数据库连接 + +如果你不使用 PostgreSQL,同样的一般过程也适用: + +1. 安装 Java。 +2. 为你选择的数据库找到 JDBC 驱动,并将其包含在你的 `pom.xml` 文件中。 +3. 在你的开发系统上安装数据库(服务器和客户端)。 + +三个步骤,你就可以开始编写代码了。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/install-jdbc-linux + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/java-coffee-mug.jpg +[2]: https://opensource.com/article/22/3/manage-java-versions-sdkman +[3]: https://developers.redhat.com/products/openjdk/download?intcmp=7013a000002qLH8AAM +[4]: http://LINK-TO-POSTGRESQL-INTRO-ARTICLE +[5]: https://www.redhat.com/sysadmin/mysql-mariadb-introduction +[6]: https://opensource.com/article/21/2/sqlite3-cheat-sheet +[7]: https://jdbc.postgresql.org/download.html +[8]: https://opensource.com/article/22/3/maven-manage-java-dependencies +[9]: https://mvnrepository.com/artifact/org.postgresql/postgresql From 151cefe4dad24732b348f7ddc4c29a0afb050e5a Mon Sep 17 00:00:00 2001 From: geekpi Date: Thu, 29 Sep 2022 08:30:54 +0800 Subject: [PATCH 013/170] translating --- ...change alerts from any website with this open source tool.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220927 Get change alerts from any website with this open source tool.md b/sources/tech/20220927 Get change alerts from any website with this open source tool.md index 5e9499ca6c..b3826983b8 100644 --- a/sources/tech/20220927 Get change alerts from any website with this open source tool.md +++ b/sources/tech/20220927 Get change alerts from any website with this open source tool.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/9/changedetection-io-open-source-website-changes" [#]: author: "Leigh Morresi https://opensource.com/users/dgtlmoon" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 0832434b1c12f3c08a972de5c09ad7eab9972640 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 29 Sep 2022 09:24:03 +0800 Subject: [PATCH 014/170] RP @littlebirdnest https://linux.cn/article-15083-1.html --- ... To Soon Support Confidential Computing.md | 39 +++++++++++++++++++ ... To Soon Support Confidential Computing.md | 36 ----------------- 2 files changed, 39 insertions(+), 36 deletions(-) create mode 100644 published/20220923 Kubernetes To Soon Support Confidential Computing.md delete mode 100644 translated/news/20220923 Kubernetes To Soon Support Confidential Computing.md diff --git a/published/20220923 Kubernetes To Soon Support Confidential Computing.md b/published/20220923 Kubernetes To Soon Support Confidential Computing.md new file mode 100644 index 0000000000..5eec1a6d51 --- /dev/null +++ b/published/20220923 Kubernetes To Soon Support Confidential Computing.md @@ -0,0 +1,39 @@ +[#]: subject: "Kubernetes To Soon Support Confidential Computing" +[#]: via: "https://www.opensourceforu.com/2022/09/kubernetes-to-soon-support-confidential-computing/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15083-1.html" + +Kubernetes 即将支持机密计算 +====== + +![](https://www.opensourceforu.com/wp-content/uploads/2022/09/kubernets-on-prem-diy-considerations-1.png) + +> Constellation 是第一个始终加密的 kubernetes(K8S)。在这个 K8S 中,你的所有工作负载和控制平面都被完全屏蔽起来,你可以使用加密证书远程确认这一点。 + +Constellation Kubernetes 引擎使用 秘密计算secret computing机密虚拟机confidential VM,将 Kubernetes 集群与云架构的其余部分隔离开来。因此,无论是在静态还是在内存中,数据总是被加密的,并创建了一个 机密上下文confidential context。根据创建 Constellation 的公司 Edgeless Systems 的说法,由于它为在公共云上运行的数据和工作流增加了安全性和保密性,因此机密计算是云计算的未来。 + +Kubernetes 节点在使用 Constellation 的私有虚拟机中运行。根据 Edgeless Systems 的说法,机密虚拟机是安全飞地的演变,它将机密计算的三个原则——运行时加密、隔离和远程证明——扩展到整个虚拟系统。机密虚拟机(TDX)使用底层硬件对私有计算的特殊支持,例如 AMD 安全加密虚拟化(AEM)、SEV-安全嵌套分页(SEV-SNP)和英特尔信任域扩展。此外,ARM 去年还发布了名为 Realms 的新 V9 架构。此设计包括私有 VM 功能。 + +Constellation 尝试在集群级别提供证明或通过加密证书进行验证,以及“始终在线”加密。 Constellation 中的机密 VMS 使用了 Fedora CoreOS,它构建在一个不可变的文件系统之上,是面向容器而设计的。Constellation 还利用 Sigstore 来保护 DevOps 信任链。 + +使用秘密计算时,性能可能会令人担忧。是的,加密会影响性能,但 AMD 和微软的联合基准测试发现,这只会导致 2% 到 8% 之间的微小性能损失。Edgeless Systems 声称 Constellation 将在繁重的工作负载下表现类似。 + +鉴于 Constellation 已通过 CNCF 认证,并且可与包括 GCP 和 Azure 在内的所有主要云服务互操作,这应保证其与其他 Kubernetes 工作负载和工具的互操作性。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/kubernetes-to-soon-support-confidential-computing/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed diff --git a/translated/news/20220923 Kubernetes To Soon Support Confidential Computing.md b/translated/news/20220923 Kubernetes To Soon Support Confidential Computing.md deleted file mode 100644 index 012b0a91d8..0000000000 --- a/translated/news/20220923 Kubernetes To Soon Support Confidential Computing.md +++ /dev/null @@ -1,36 +0,0 @@ -[#]: subject: "Kubernetes To Soon Support Confidential Computing" -[#]: via: "https://www.opensourceforu.com/2022/09/kubernetes-to-soon-support-confidential-computing/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: "littlebirdnest" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Kubernetes 即将支持机密计算 -====== -*Constellation 是第一个始终加密的 kubernetes (K8S)。这是指 K8S,您的所有工作负载和控制平面都被完全屏蔽,您可以使用加密证书远程确认这一点。* - -Constellation Kubernetes 引擎使用秘密计算和机密虚拟机,将 Kubernetes 集群与云架构的其余部分隔离开来。因此,无论是在静态还是在内存中,数据总是被加密,并创建了一个机密上下文。根据创建 Constellation 的公司 Edgeless Systems 的说法,由于它为在公共云上运行的数据和工作流增加了安全性和保密性,因此机密计算是云计算的未来。 - -Kubernetes 节点使用 Constellation 在私有虚拟机中运行。根据 Edgeless Systems 的说法,机密机器是安全飞地的演变,它将机密计算的三个原则——运行时加密、隔离和远程证明——扩展到整个虚拟系统。机密虚拟机 (TDX) 使用底层硬件对私有计算的特殊支持,例如 AMD 安全加密虚拟化 (AEM)、SEV-安全嵌套分页 (SEV-SNP) 和英特尔信任域扩展。此外,ARM 去年还发布了名为 Realms 的新 V9 架构。此设计包括私有 VM 功能。 - -Constellation 尝试在集群级别提供证明或通过加密证书进行验证,以及“始终在线”加密。Fedora CoreOS 构建在一个不可变的文件系统之上,面向容器,被 Constellation 中的机密 VMS 使用。Constellation 还利用 Sigstore 来保护 DevOps 信任链。 - -使用秘密计算时,性能可能会令人担忧。是的,加密会影响性能,但 AMD 和微软的联合基准测试发现,这只会导致 2% 到 8% 之间的微小性能损失。Edgeless Systems 声称 Constellation 将在繁重的工作负载下表现类似。 - -鉴于 Constellation 已通过 CNCF 认证并且可与包括 GCP 和 Azure 在内的所有主要云互操作,这应保证其与其他 Kubernetes 工作负载和工具的互操作性。 - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/kubernetes-to-soon-support-confidential-computing/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[littlebirdnest](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed From dfb9a5f48464bb5affcc4d9f3ac27295b631c144 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 29 Sep 2022 09:54:30 +0800 Subject: [PATCH 015/170] RP @geekpi https://linux.cn/article-15084-1.html --- ... switched from Docker Desktop to Colima.md | 38 +++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) rename {translated/tech => published}/20220915 How I switched from Docker Desktop to Colima.md (74%) diff --git a/translated/tech/20220915 How I switched from Docker Desktop to Colima.md b/published/20220915 How I switched from Docker Desktop to Colima.md similarity index 74% rename from translated/tech/20220915 How I switched from Docker Desktop to Colima.md rename to published/20220915 How I switched from Docker Desktop to Colima.md index 2df3701794..ff2ba6e558 100644 --- a/translated/tech/20220915 How I switched from Docker Desktop to Colima.md +++ b/published/20220915 How I switched from Docker Desktop to Colima.md @@ -3,23 +3,22 @@ [#]: author: "Michael Anello https://opensource.com/users/ultimike" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15084-1.html" 我如何从 Docker Desktop 切换到 Colima ====== -Colima 是 macOS 和 Linux 的 Docker 桌面替代品,它现在由 DDEV 支持。 -![Getting started with Perlbrew][1] +![](https://img.linux.net.cn/data/attachment/album/202209/29/095328wj3ypm34pyyy3rrp.jpg) -图片来源:freephotocc 在 Pixabay CC0 下发布 +> Colima 是 macOS 和 Linux 上的 Docker Desktop 替代品,它现在由 DDEV 支持。 [DDEV][2] 是一个开源工具,可以在几分钟内轻松启动和运行本地 PHP 开发环境。由于其每个项目的环境配置可以扩展、版本控制和共享,所以它很强大和灵活。简而言之,DDEV 旨在允许开发团队在其工作流程中使用容器,而无需复杂的定制配置。 DDEV 用灵活、现代、基于容器的解决方案取代了更传统的 AMP 栈解决方案(WAMP、MAMP、XAMPP 等)。因为它使用容器,DDEV 允许每个项目使用任何一组应用、Web 服务器版本、数据库服务器、搜索索引服务器和其他类型的软件。 -2022 年 3 月,DDEV 团队[宣布支持 Colima][3],这是 macOS 和 Linux 的开源 Docker 桌面替代品。 [Colima][5] 是开源的,据所有报告显示,它比其替代方案获得了[性能提升][6],所以使用 Colima 似乎是一个没有问题的选择。。 +2022 年 3 月,DDEV 团队 [宣布支持 Colima][3],这是 macOS 和 Linux 上的开源 Docker Desktop 替代品。[Colima][5] 是开源的,据所有报告显示,它比其替代方案有所 [性能提升][6],所以使用 Colima 似乎是一个没有问题的选择。 ### 迁移到 Colima @@ -29,40 +28,39 @@ Colima 要求安装 Docker 或 [Podman][7] 命令。在 Linux 上,它还需要 Docker 默认随 Docker Desktop for macOS 一起安装,但它也可以作为独立命令使用。如果你想要 100% 纯 Colima,你可以卸载 Docker Desktop for macOS,并独立安装和配置 Docker 客户端。[完整的安装说明可以在 DDEV 文档站点上找到][8]。 -![容器技术栈图片。][9] +![容器技术栈图片][9] -图片来源:(Mike Anello,CC BY-SA 4.0) +*容器技术栈图片 图片来源:(Mike Anello,CC BY-SA 4.0)* -如果你选择继续使用 Colima 和 Docker Desktop,那么在命令行执行 docker 命令时,你必须首先指定要使用的容器。下一节将对此进行更多介绍。 +如果你选择继续使用 Colima 和 Docker Desktop,那么在命令行执行 `docker` 命令时,你必须首先指定要使用的容器。下一节将对此进行更多介绍。 ### 在 macOS 上安装 Colima -我目前有一些使用 Docker 的本地项目,还有一些使用 Colima。当我了解了基础知识,在它们之间切换就不难了。 +我目前有一些本地项目使用 Docker,还有一些使用 Colima。当我了解了基础知识,在它们之间切换就不难了。 -1. 开始使用 Homebrew `brew install colima` 安装 Colima -2. ddev poweroff(为了安全起见) -3. 接下来,使用 `colima start --cpu 4 --memory 4` 启动 Colima, --cpu 和 --memory 选项只需执行一次。第一次之后,只需要 `colima start`。 -4. 如果你像我一样是 DDEV 用户,那么你可以使用常用的 `ddev` 命令(ddev config、ddev start 等)启动一个全新的 Drupal 9 站点。建议启用 DDEV 的 mutagen 功能以最大化性能。 +1. 使用 Homebrew `brew install colima` 安装 Colima +2. `ddev poweroff`(为了安全起见) +3. 接下来,使用 `colima start --cpu 4 --memory 4` 启动 Colima,`--cpu` 和 `--memory` 选项只需执行一次。第一次之后,只需要 `colima start` +4. 如果你像我一样是 DDEV 用户,那么你可以使用常用的 `ddev` 命令(`ddev config`、`ddev start` 等)启动一个全新的 Drupal 9 站点。建议启用 DDEV 的 mutagen 功能以最大化性能 ### 在 Colima 和 Docker Desktop 之间切换 如果你还没有准备好使用 Colima,你可以同时安装 Colima 和 Docker Desktop。 -1. 首先关闭 ddev:ddev poweroff +1. 首先关闭 ddev:`ddev poweroff` 2. 然后停止Colima:`colima stop` -3. 现在运行 `docker context use default` 告诉 Docker 客户端你要使用哪个容器。默认名称是 Docker Desktop for Mac。当 `colima start` 运行时,它会自动将 Docker 切换到 `colima` 上下文。 +3. 现在运行 `docker context use default` 告诉 Docker 客户端你要使用哪个容器。默认名称是 Docker Desktop for Mac。当 `colima start` 运行时,它会自动将 Docker 切换到 `colima` 上下文 4. 要继续使用默认(Docker Desktop)上下文,请使用 `ddev start` 命令。 从技术上讲,启动和停止 Colima 不是必需的,但是在两个上下文之间切换时的 `ddev poweroff` 命令是必要的。 Colima 停止时,最新版本的 Colima 会将 Docker 上下文恢复为 `default`,因此不再需要 `docker context use default` 命令。无论如何,我仍然使用 `docker context show` 来验证 `default`(Docker Desktop for Mac)或 `colima` 上下文是否正在使用。基本上,术语 `context` 指的是 Docker 客户端将命令发送到哪个容器提供者。 - ### 尝试 Colima 总的来说,我喜欢我目前所看到的。我没有遇到任何问题,而且基于 Colima 的网站看起来更快些(尤其是在启用 DDEV 的 Mutagen 功能时)。我肯定会预见自己在未来几周内将项目网站迁移到 Colima。 -*本文最初出现发布在 [DrupalEasy 博客][10]并经许可重新发布。* +*本文最初发布在 [DrupalEasy 博客][10] 并经许可重新发布。* -------------------------------------------------------------------------------- @@ -71,7 +69,7 @@ via: https://opensource.com/article/22/9/docker-desktop-colima 作者:[Michael Anello][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 111bfb4d2cb4e873881380b80953e9c1aceea5e8 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 29 Sep 2022 22:33:39 +0800 Subject: [PATCH 016/170] R --- ... Facts About Linus Torvalds, the Creator of Linux and Git.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md b/published/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md index 6cba74b7e6..dbebc4478f 100644 --- a/published/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md +++ b/published/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md @@ -58,7 +58,7 @@ Linus 认为 Linux 这个名字太自负了。他想把它改成 Freax(基于 #### 7、Linux 是他在大学的主要项目 -《Linux:一种便携式操作系统》是他的硕士论文题目。 +《Linux:一种可移植的操作系统》是他的硕士论文题目。 #### 8、他娶了他的学生 From 82ba7028c65fcafd29c7751893780c678969b27b Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 29 Sep 2022 23:53:27 +0800 Subject: [PATCH 017/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020220928=20Penpot,=20Gains=20Additional=20Users=20Than?= =?UTF-8?q?ks=20To=20Adobe-s=20Figma=20Purchase.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Users Thanks To Adobe-s Figma Purchase.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md diff --git a/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md b/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md new file mode 100644 index 0000000000..07ae056f3b --- /dev/null +++ b/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md @@ -0,0 +1,40 @@ +[#]: subject: "Penpot, Gains Additional Users Thanks To Adobe’s Figma Purchase" +[#]: via: "https://www.opensourceforu.com/2022/09/penpot-gains-additional-users-thanks-to-adobes-figma-purchase/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Penpot, Gains Additional Users Thanks To Adobe’s Figma Purchase +====== +*Two weeks after Adobe’s agreement to purchase Figma for $20 billion, Kaleidos, the company behind open source design program Penpot, said that it had raised $8 million in fresh funding.* + +13 days have passed since Adobe revealed its intention to invest $20 billion in Figma, the company behind well-known design tools. Penpot, an open-source substitute, has experienced a boom in activity at that time. Penpot now has additional funding to support that expansion. The development of Penpot’s collaborative design software will continue thanks to $8 million in funding, according to parent company Kaleidos on Tuesday. The business said that once Adobe agreed to purchase Figma, sign-ups increased by 5,600% in a single day. + +To support the increasing volume of activity, Penpot enhanced the hosting web app’s infrastructure over the weekend. According to the company, on-premises deployments increased by 400%, and the number of starts on the GitHub repository hosting Penpot’s open-source code resulted in the popular hockey-stick chart in Silicon Valley. The investment round was led by Decibel, which has Cisco’s support, and included Athos Capital, an established investor. According to Jon Sakoda, a founding partner of Decibel, the timing may appear particularly pertinent, but it is merely coincidental because the agreement was reached in mid-August, weeks before interest spiked. + +In a statement to CNBC, Adobe stated that, combined with Figma, the company will “make collaborative creativity easier and frictionless and empower millions of users to be more creative and productive” and that it “will accelerate Figma’s innovation roadmap and provide access to an even broader universe of customers.” + +Penpot still lacks a viable enterprise. Designers can currently use the hosted version of Penpot’s open source software or download it for free. But Ruiz-Mzquiz is not the only person who sees the Adobe-Figma partnership as a significant possibility. More than 400 people gave their support to a post on the Figma discussion Reddit board headlined “Upvote if you desire to see Adobe Figma deal fall through.” Figma, but not owned by Adobe, was the suggestion made on Twitter by Daryl Ginn, the creator of the English design agency Rejiggle. + +If the acquisition goes through as expected in 2023, Dylan Field, co-founder and CEO of Figma, will continue to lead the company, according to Adobe. That doesn’t allay the fears of some sceptics. Chisaokwu Joboson, a Nigerian brand designer, received over 3,000 likes on Twitter for a post that seemed to suggest that, under Adobe’s leadership, Figma’s simplicity of storing files would end and that it would instead begin to operate more like a powerful desktop application that required manual saving. + +The anticipated merger has not been opposed by everyone. For instance, the Dutch designer Fons Mans stated on Twitter that it would be “a dream” to be able to use Figma while also being able to “manipulate your photos” in Photoshop and other programs. + +Figma has attracted some designers away from Adobe’s Creative Cloud tools at first thanks to features like straightforward sharing and collaborative editing. Although it is advertised as a rival, Adobe’s Creative Cloud program XD was reportedly only making $15 million in yearly recurring income after seven years. In a discussion on Twitter Spaces, product chief Scott Belsky stated that Adobe is dedicated to helping users of XD. However, Ruiz-Mzquiz claimed that the timing of the sale was ideal for the development of his town. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/penpot-gains-additional-users-thanks-to-adobes-figma-purchase/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed From bce8622d778a83678d21662b55f4d402b855e711 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 29 Sep 2022 23:57:04 +0800 Subject: [PATCH 018/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020220928=20Oh=20No!=F0=9F=98=B1Fedora=20is=20Dropping?= =?UTF-8?q?=20Support=20for=20Popular=20Video=20Codecs=20[Here-s=20Why!].m?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rt for Popular Video Codecs [Here-s Why!].md | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 sources/news/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md diff --git a/sources/news/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md b/sources/news/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md new file mode 100644 index 0000000000..0ca51a9914 --- /dev/null +++ b/sources/news/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md @@ -0,0 +1,111 @@ +[#]: subject: "Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here's Why!]" +[#]: via: "https://news.itsfoss.com/fedora-drops-vaapi-codec/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here's Why!] +====== +Fedora 37 (and 36) may no longer allow you to conveniently use accelerated graphics for videos using some of the popular codecs. + +![Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here's Why!]][1] + +Fedora is a popular Linux distro that caters to users who want cutting-edge tech on their workstations (and servers). + +It doesn't ship with any proprietary components and sticks to completely open-source repositories by default. + +While that can be inconvenient for some already, now it seems another change may bother users looking forward to Fedora 37. 😞 + +A [recent commit to Mesa on Fedora][2] tells us that the Video Acceleration API support has been disabled for **H.264, H.265, and VC-1** codecs due to legal worry. + +This is likely to be backported to Fedora 36 as well. + +> 💡 H.264 is a dominant video codec in use by the majority of the video industry. +> +> For instance, Apple extensively uses H.264 codec for its photos and videos captured by iPhones. You can read the [documentation][3] to learn more. + +The change in Fedora was [first spotted][4] by a Fedora Project forum member who describes it as '*a big regression from F36*'. + +### Is This Bad News for Fedora Users? + +Yes, mostly. + +**Primarily, it will affect AMD GPU users using open-source drivers**, preventing them using **GPU acceleration** to play video content that requires using these codecs. + +Additionally, it also affects **any user who uses open-source graphics drivers**, even if they run iGPUs on Intel chips. Fedora developers have not yet provided any clarity on this, but you can test it out for yourself. + +If you are someone who uses proprietary drivers on your NVIDIA graphics card, you have nothing to worry about. + +Users running old hardware could also have problems, considering their system may not support these codecs. + +Some of the most common uses of these codecs are in videos that you download from torrents or services that have not moved on to the newer generation codecs such as **AV1** and **VP9**. + +And that's the **majority of the internet**I believe**.** + +Some streaming platforms also use these codecs to run content on their respective platforms which can cause users to face issues while trying to access content through their services. + +### Does This Affect Everyone? + +If you are among the ones who watch YouTube videos and do not use any platform or download videos that require these codecs, you will have no issues. + +You might want to explore more about AV1, if you are hearing about it for the first time: + +![3 Things You Should Know About AV1][5] + +### Fedora is Avoiding Legal Trouble + +No one sued Fedora or forced them to do this yet. However, a change in Mesa recently allowed devs to optionally disable codecs to help avoid legal trouble and software patent conflicts as spotted by [Phoronix][6]. + +So, to avoid a legal mess, Fedora went ahead with this change. + +The patents for H.264 and H.265 are with a company called [MPEG LA][7], which specializes in holding patents in the video codecs and display standards sector. + +Whereas the patent for VC-1 is under [SMPTE][8], which is a group run by professionals from the media and entertainment sector. + +We are still not sure how it all works, considering the user has already paid for the license to use these codecs when they purchase the graphics card. You can read more about it in [Fedora's legal list thread][9]. + +### What Are The Possible Workarounds? + +**Of course,**you will have to depend on CPU-based decoding. Sure, you can also use an official or third-party Mesa build. + +Flatpak apps may allow you to watch accelerated video content with no issues. But, it is up to the maintainer of the software. + +But, it can be an inconvenient solution for most users. + +The other workaround could be to include the codecs separately with VAAPI support in an RPM Fusion repository, meant to contain third-party applications. + +However, the dev responsible for Fedora's RPM Fusion repo is not interested in maintaining a fork of Fedora's Mesa 3D. The developer mentions: + +> There is little to no interest at rpmfusion to package and maintain it, also keeping the repo in sync with fedora isn't a priority for me. + +![][10] + +*💬 What do you think about this change in Fedora? Let us know your thoughts in the comments below.* + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/fedora-drops-vaapi-codec/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/fedora-dropping-support-for-popular-video-codecs.png +[2]: https://src.fedoraproject.org/rpms/mesa/c/94ef544b3f2125912dfbff4c6ef373fe49806b52?branch=rawhide +[3]: https://support.apple.com/en-us/HT207022 +[4]: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/PYUYUCM3RGTTN4Q3QZIB4VUQFI77GE5X/ +[5]: https://youtu.be/ibXKKllz4xQ +[6]: https://www.phoronix.com/news/Mesa-Optional-Video-Codecs +[7]: https://en.wikipedia.org/wiki/MPEG_LA +[8]: https://en.wikipedia.org/wiki/Society_of_Motion_Picture_and_Television_Engineers +[9]: https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/M4LTGLHY5JX42IHC45WNWB5FH2JIFMAS/ +[10]: https://news.itsfoss.com/content/images/2022/09/fedora-rpm-mesa.jpg +[11]: https://www.humblebundle.com/books/linux-no-starch-press-books?partner=itsfoss From 4f66ca46f698c5755cf0837a4e45b43e71157f00 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 29 Sep 2022 23:58:02 +0800 Subject: [PATCH 019/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020220928=20Build=20an=20open=20source=20project=20usin?= =?UTF-8?q?g=20this=20essential=20advice.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rce project using this essential advice.md | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 sources/talk/20220928 Build an open source project using this essential advice.md diff --git a/sources/talk/20220928 Build an open source project using this essential advice.md b/sources/talk/20220928 Build an open source project using this essential advice.md new file mode 100644 index 0000000000..f30e0812fc --- /dev/null +++ b/sources/talk/20220928 Build an open source project using this essential advice.md @@ -0,0 +1,132 @@ +[#]: subject: "Build an open source project using this essential advice" +[#]: via: "https://opensource.com/article/22/9/build-open-source-project" +[#]: author: "Bolaji Ayodeji https://opensource.com/users/bolajiayodeji" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Build an open source project using this essential advice +====== +Use these steps for a solid foundation for your first—or next—project. + +[Open source][2] is a flourishing and beneficial ecosystem that publicly solves problems in communities and industries using software developed through a decentralized model and community contributions. Over the years, this ecosystem has grown in number and strength among hobbyists and professionals alike. It's mainstream now—even proprietary companies use open source to build software. + +With the ecosystem booming, many developers want to get in and build new open source projects. The question is: How do you achieve that successfully? + +This article will demystify the lifecycle and structure of open source projects. I want to give you an overview of what goes on inside an open source project and show you how to build a successful and sustainable project based on my personal experience. + +### A quick introduction to open source + +The [Open Source Initiative][3] (OSI) provides a formal, detailed definition of open source, but Wikipedia provides a nice summary: + +> Open source software is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. + +Open source software is public code, usually on the internet, developed either collaboratively by multiple people or by one person. It's about collaborating with people from different regions, cultures, and technical backgrounds, often working remotely. This is why creating a project that welcomes everyone and enables different people to work together is essential. + +### The anatomy of an open source project + +Like the human body, an open source project is made up of several structures that form the entire system. I think of them as two branches: the people (microscopic) and the documents (macroscopic). + +#### Branch one: people + +Generally, an open source project includes the following sets of people: + +* Creators: Those who created the project +* Maintainers: Those who actively manage the entire project +* Contributors: Those who contribute to the project (someone like you!) +* User: Those who use the project, including developers and nontechnical customers +* Working group: A collection of contributors split into domain-specific groups to focus on a discussion or activity around a specific subject area (such as documentation, onboarding, testing, DevOps, code reviews, performance, research, and so on) +* Sponsor: Those who contribute financial support to the project + +You need to consider each group in the list above as you prepare to build a new project. What plan do you have for each of them? + +* For maintainers, decide on the criteria you want to use to appoint them. Usually, an active contributor makes the best maintainer. +* For users and contributors, you want to prepare solid documentation, an onboarding process, and everything else they need to succeed when working with your project. +* For working groups, decide whether you need them and how your project may be logically split in the future. +* Finally, for sponsors, you must provide enough data and information about your project to enable them to choose to sponsor you. + +You don't need to have all of these figured out at the start of your project. However, it's wise to think about them at the early stages so you can build the right foundations to ensure that future additions stand firm and lead to a successful project. + +#### Branch two: documents + +Open source projects usually include the following documents, usually in plain text or markdown format: + +* License: This legal document explains how and to what extent the project can be freely used, modified, and shared. A list of OSI-approved licenses is available on the OSI website. Without an explicit license, your project is not legally open source! +* Code of conduct: This document outlines the rules, norms, acceptable practices, and responsibilities of anyone who decides to participate in the project in any way (including what happens when someone violates any of the rules). The [Contributor Covenant][4] is a good example and is open source (licensed under a Creative Commons license). +* README: This file introduces your project to newcomers. On many Git hosting websites, such as GitLab, GitHub, and Codeberg, the README file is displayed under the initial file listing of a repository. It's common to feature documentation here, with links to other necessary documents. +* Documentation: This is a file or directory containing all documentation resources for the project, including guides, API references, tutorials, and so on. +* Contributing: Include a document explaining how to contribute to the project, including installation guides, configuration, and so on. +* Security: Include a file explaining how to submit vulnerability reports or security issues. + +Additionally, a project usually has web pages for issues, support, and collaboration. + +Broadly, these include: + +* Issues or bug reports: A place where users can report bugs. This page also provides a place developers can go to assign themselves the task of fixing one or more of them. +* Pull or merge requests: A place with proposed feature enhancements and solutions to bugs. These patches may be created by anyone, reviewed by the maintainers, then merged into the project's code. +* Discussions: A place where maintainers, contributors, and users discuss an open source project. This may be a dedicated website or a forum within a collaborative coding site. + +Most projects also have a communication channel in the form of an online chat for conversations and interactions between community members. + +### Licensing + +[Licensing][5] is perhaps the easiest but most important criterion to consider before creating an open source project. A license defines the terms and conditions that allow the source code and other components of your project to be used, modified, and shared. + +Licenses contain tons of legal jargon that many people don't fully understand. I use [choosealicense.com][6], which helps you choose a license based on your intended community, your desire to get patches back from those using your code, or your willingness to allow people to use your code without sharing improvements they make to it. + +![This provides guidance on when to use an MIT license or a GNU GPLv3 license. It also recommends that people contributing to a community use the license preferred by that community. The graphic also notes that there are many more licenses available. The website choosealicense.com has a text-based version of this image that links to more detailed information.][7] + +Image by: (Bolaji Ayodeji, CC BY-SA 4.0) + +### 13 phases of creating an open source project + +Now for the essential question: How do you start an open source software project? + +Here is a list of what I consider the phases of an open source project. + +1. Brainstorm your idea, write a synopsis, and document it properly. +2. Begin developing your idea. This usually involves figuring out the right tools and stacks to use, writing some code, version controlling the code, debugging, drinking some coffee, hanging around StackOverflow, using other open source projects, sleeping, and building something to solve a defined problem—or just for fun! +3. Test the project locally, write some unit and integration tests as required, set up [CI/CD pipelines][8] as needed, create a staging branch (a test branch where you test the code live before merging into the main branch), and do anything else you need to deploy the project. +4. Write [good and effective documentation][9]. This should cover what your project does, why it is useful, how to get started with it (usage, installation, configuration, contributing), and where people can get support. +5. Ensure to document all code conventions you want to use. Enforce them with tools like linters, code formatters, Git hooks, and the commitizen command line utility. +6. Choose the right license and create a README. +7. Publish the project on the internet (you might have a private repository initially, and make it public at this step). +8. Set up the processes for making releases and documenting changelogs (you can use tools like Changesets). +9. Market the project to the world! You can make a post on social media, start a newsletter, share it with your friends privately, do a product hunt launch, live stream, or any other traditional marketing strategy you know. +10. Seek funding support by using any of the available funding platforms, like Open Collective, GitHub Sponsors, Patreon, Buy me a Coffee, LiberaPay, and so on. When you create accounts with these platforms, add a link to it in your project's documentation and website. +11. Build a community around your project. +12. Consider introducing working groups to break your project's management into logical parts when required. +13. Continuously implement new ideas that sustain the resources and people behind your project. + +It's important to measure different parts of your project as you progress. This provides you with data you can use for evaluation and future growth strategies. + +### Now start a project! + +I hope this article helps you move forward with that project you've been thinking about. + +Feel free to use it as a guide and fill any gaps I missed as you build your awesome open source software project. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/build-open-source-project + +作者:[Bolaji Ayodeji][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/bolajiayodeji +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/BUSINESS_buildtogether.png +[2]: https://opensource.com/resources/what-open-source +[3]: https://opensource.org +[4]: https://www.contributor-covenant.org/version/2/1/code_of_conduct +[5]: https://opensource.com/tags/licensing +[6]: https://choosealicense.com +[7]: https://opensource.com/sites/default/files/2022-09/choosealicense.png +[8]: https://opensource.com/article/19/9/intro-building-cicd-pipelines-jenkins +[9]: https://slides.com/bolajiayodeji/effective-oss-docs From 16f9e99b863f846d5a4cb1828fbc7a2e41676bb6 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 29 Sep 2022 23:58:46 +0800 Subject: [PATCH 020/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020220929=20How=20Podman=20packaging=20works=20on=20Lin?= =?UTF-8?q?ux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...929 How Podman packaging works on Linux.md | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 sources/tech/20220929 How Podman packaging works on Linux.md diff --git a/sources/tech/20220929 How Podman packaging works on Linux.md b/sources/tech/20220929 How Podman packaging works on Linux.md new file mode 100644 index 0000000000..7296d95824 --- /dev/null +++ b/sources/tech/20220929 How Podman packaging works on Linux.md @@ -0,0 +1,124 @@ +[#]: subject: "How Podman packaging works on Linux" +[#]: via: "https://opensource.com/article/22/9/podman-packages-linux" +[#]: author: "Lokesh Mandvekar https://opensource.com/users/lsm5" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How Podman packaging works on Linux +====== +Get a deep dive into Podman packages for Debian and Ubuntu using Fedora Sources, OBS, and Debbuild. + +Over the past few months, the [Podman][2] project has been reworking its process for generating Debian and Ubuntu packages. This article outlines the past and present of the Debian packaging work done by the Podman project team. Please note that this article does not refer to the official [Debian][3] and [Ubuntu][4] packages that Reinhard Tartler and team created and maintain. + +### Debian build process + +Long story short, the typical Debian build process involves "Debianizing" an upstream repository. First, a `debian` subdirectory containing packaging metadata and any necessary patches is added to the upstream repo. Then the `dpkg-buildpackage` command is run to generate the `.deb` packages. + +#### Older Debian build process for Podman + +Previously, the Debian packages for Podman were generated using this "Debianization" process. A `debian` directory containing the packaging metadata was added to the Podman source in a [separate fork][5]. That fork got rebased for each new upstream Podman release. + +#### Issues with the Debian build process (for an RPM packager) + +While a simple rebase would often work, that was not always the case. Usually, the Podman source itself would require patching to make things work for multiple Debian and Ubuntu versions, leading to rebase failures. And failures in a rebase meant failures in automated tasks. Which, in turn, caused a lot of frustration. + +This same frustration led our team to [retire the Debian packages][6] in the past. When Podman v3.4 officially made its way into Debian 11 and Ubuntu 22.04 LTS (thanks to the amazing Reinhard Tartler), we thought the Podman project could say goodbye to Debian package maintenance. + +But that wasn't meant to be. Both Debian and Ubuntu are rather conservative in their package update policies, especially in their release and LTS versions. As a result, many Podman users on Debian-based distributions would be stuck with v3.4 for quite a while, perhaps the entire lifetime of the distro version. While users can often install the latest packages from Debian's experimental repository, that's not necessarily convenient for everyone. As a result, many Debian-based users [asked the Podman project][7] for newer packages. + +If we were to resurrect the Podman project's own Debian packages, we needed the packaging format to be easy to maintain and debug for RPM packagers and also easy to automate, which meant no frequent failures with rebases and patches. + +### OBS + Debbuild + +The `debbuild` tool, created by [Neal Gompa][8] and others, is a set of RPM packaging macros allowing packagers to build Debian packages using Fedora's packaging sources. Conveniently, `debbuild` packages can easily be added as dependencies to a project hosted on openSUSE's [Open Build Service][9] infrastructure. + +Here's a snippet of how `debbuild` support is enabled for Ubuntu 22.04 on the [OBS Stable Kubic repository][10], maintained by the Podman project: + +``` + +    +    +    x86_64 +    s390x +    armv7l +    aarch64 +``` + +The complete configuration file is available [here][11]. + +In addition to enabling `debbuild` packages as dependencies, the Fedora packaging sources must be updated with rules to modify the build process for Debian and Ubuntu environments. + +Here's a snippet of how it's done for Podman: + +``` +%if "%{_vendor}" == "debbuild" +Packager: Podman Debbuild Maintainers +License: ASL-2.0+ and BSD and ISC and MIT and MPLv2.0 +Release: 0%{?dist} +%else +License: ASL 2.0 and BSD and ISC and MIT and MPLv2.0 +Release: %autorelease +ExclusiveArch: %{golang_arches} +%endif +``` + +The **" %{_vendor}" == "debbuild"** conditional is used in many other places throughout the spec file. For example, in this code sample, it specifies different sets of dependencies and build steps for Fedora and Debian. Also, `debbuild` allows conditionalizing Debian and Ubuntu versions using the macros `{debian}` and `{ubuntu}`, which are familiar to RPM packagers. + +You can find the updated RPM spec file with all the `debbuild` changes [here][12]. + +These two pieces together produce successful Debian package builds on the [OBS Unstable Kubic repository][13]. + +Using `debbuild` also ensures that packaging metadata lives in its own separate repository, implying no patching or rebasing hassles with upstream Podman sources. + +### Usability + +At this time, packages are available for Ubuntu 22.04, Debian Testing, and Debian Unstable. We're in talks with the OBS infrastructure maintainers to adjust the Debian 11 and Ubuntu 20.04 build environments, after which we'll also have successful builds for those two environments. + +``` +$ apt list podman +Listing... Done +podman/unknown,now 4:4.2.0-0ubuntu22.04+obs55.1 amd64 [installed] +podman/unknown 4:4.2.0-0ubuntu22.04+obs55.1 arm64 +podman/unknown 4:4.2.0-0ubuntu22.04+obs54.1 armhf +podman/unknown 4:4.2.0-0ubuntu22.04+obs54.1 s390x +``` + +Now, let's talk usability. These packages have been manually verified, and the Podman team has found them to satisfy typical use cases. Users can install these packages as they would any other DEB package. The repository first needs to be enabled, and there are instructions on the [Podman website][14]. However, these packages are not Debian-approved. They haven't gone through the same quality assurance process as official Debian packages. These packages are currently not recommended for production use, and we urge you to exercise caution before proceeding with installation. + +### Wrap up + +The `debbuild` project allows the Podman project team to generate Debian packages with a few additions to the Fedora packaging sources, making Debian packaging easier to maintain, debug, and automate. It also allows Debian and Ubuntu users to get the latest Podman at the same speed as Fedora users. Podman users on Debian and Ubuntu looking for the latest updates can use our Kubic *unstable* repository (ideally *not on production environments just yet.*) + +We also highly recommend the `debbuild` and OBS setup to RPM packagers who must provide Debian and Ubuntu packages to their users. It's a diverse selection of tooling, but open source is all about working together. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/podman-packages-linux + +作者:[Lokesh Mandvekar][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/lsm5 +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/OSDC_gift_giveaway_box_520x292.png +[2]: https://developers.redhat.com/cheat-sheets/podman-cheat-sheet?intcmp=7013a000002qLH8AAM +[3]: https://packages.debian.org/unstable/podman +[4]: https://packages.ubuntu.com/search?keywords=podman +[5]: https://gitlab.com/rhcontainerbot/podman/-/tree/debian/debian +[6]: https://podman.io/blogs/2022/04/05/ubuntu-2204-lts-kubic.html +[7]: https://github.com/containers/podman/issues/14302 +[8]: https://fedoraproject.org/wiki/User:Ngompa +[9]: https://openbuildservice.org/ +[10]: https://build.opensuse.org/project/show/devel:kubic:libcontainers:unstable +[11]: https://build.opensuse.org/projects/devel:kubic:libcontainers:unstable/meta +[12]: https://gitlab.com/rhcontainerbot/rpms-openqa/podman/-/blob/rawhide/podman.spec +[13]: https://build.opensuse.org/package/show/devel:kubic:libcontainers:unstable/podman +[14]: https://podman.io/getting-started/installation From 1a3228bcd979e99ddcf1fe5df280a29c32b797d8 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 30 Sep 2022 00:00:22 +0800 Subject: [PATCH 021/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020220927=20GUI=20Apps=20for=20Package=20Management=20i?= =?UTF-8?q?n=20Arch=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ps for Package Management in Arch Linux.md | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 sources/tech/20220927 GUI Apps for Package Management in Arch Linux.md diff --git a/sources/tech/20220927 GUI Apps for Package Management in Arch Linux.md b/sources/tech/20220927 GUI Apps for Package Management in Arch Linux.md new file mode 100644 index 0000000000..5f93988bf0 --- /dev/null +++ b/sources/tech/20220927 GUI Apps for Package Management in Arch Linux.md @@ -0,0 +1,206 @@ +[#]: subject: "GUI Apps for Package Management in Arch Linux" +[#]: via: "https://itsfoss.com/arch-linux-gui-package-managers/" +[#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +GUI Apps for Package Management in Arch Linux +====== + +[Installing Arch Linux][1] is considered challenging. This is why [several Arch-based distributions exist][2] to make things easier by providing a graphical installer. + +Even if you manage to install Arch Linux, you’ll notice that it relies heavily on the command line. You’ll have to open the terminal if you have to install applications or update the system. + +Yes! Arch Linux does not have a software center. Shocking for many, I know. + +If you feel uncomfortable using the command line for managing applications, you can install a GUI tool. This helps in searching for packages and installing and removing them from the comfort of the GUI. + +Wondering which graphical frontend for [pacman commands][3] you should use? I have some suggestions to help you get started. + +**Please note that some software managers are desktop environment specific.** + +### 1. Apper + +![Installing Firefox using Apper][4] + +Apper is a minimal Qt5 application and package manager using PackageKit which also supports AppStream and automatic updates. But, **there is no AUR support**. + +To install it from the official repos use the command below. + +``` +sudo pacman -Syu apper +``` + +[Apper on GitLab][5] + +### 2. Deepin App Store + +![Installing Firefox using Deepin App Store][6] + +Deepin App Store is an app store for Deepin Desktop Environment built with DTK(Qt5), using PackageKit with AppStream support and also provides system update notifications. There is **no AUR support**. + +To install it, use the command below. + +``` +sudo pacman -Syu deepin-store +``` + +[Deepin Store on Github][7] + +### 3. Discover + +![Installing Firefox using Discover][8] + +Discover needs no introduction for KDE Plasma users. It is a Qt-based application manager using PackageKit which supports AppStream, Flatpak and Firmware updates. + +For installing Flatpak and Firmware updates from Discover `flatpak` and `fwupd` packages need to be installed respectively. + +There is no AUR support. + +``` +sudo pacman -Syu discover packagekit-qt5 +``` + +[Discover on GitLab][9] + +### 4. GNOME PackageKit + +![Installing Firefox using GNOME PackageKit][10] + +GNOMEPackageKit is a GTK3 package manager using PackageKit which supports AppStream. Unfortunately, there is **no AUR support**. + +To install it from the official repos use the command below. + +``` +sudo pacman -Syu gnome-packagekit +``` + +[PackageKit on freedesktop][11] + +### 5. GNOME Software + +![Installing Firefox using GNOME Software][12] + +GNOME Software needs no introduction for GNOME desktop users. It is the GTK4 application manager using PackageKit which supports AppStream, Flatpak and Firmware updates. + +There is no AUR support. To install Flatpak and Firmware updates from GNOME Software `flatpak` and `fwupd` packages need to be installed respectively. + +Install it using: + +``` +sudo pacman -Syu gnome-software-packagekit-plugin gnome-software +``` + +[GNOME Software on GitLab][13] + +### 6. tkPacman + +![Installing Firefox using tkPacman][14] + +It is a Tk pacman wrapper written in Tcl. The interface is similar to [Synaptic Package Manager][15]. + +It is quite lightweight due to no GTK/Qt dependencies as it is uses Tcl/Tk GUI toolkit. + +It does not support AUR which is ironic because you need to install it from [AUR][16]. You need to install an [AUR helper][17] like yay beforehand. + +``` +yay -Syu tkpacman +``` + +[tkPacman on Sourceforge][18] + +### 7. Octopi + +![Installing Firefox using Octopi][19] + +Consider it a better looking cousin of tkPacman. It uses Qt5 and Alpm and also supports Appstream and **AUR (via yay)**. + +You also get desktop notifications, repository editor and cache cleaner. The interface is similar to Synaptic Package Manager. + +To install it from the AUR, use the following command. + +``` +yay -Syu octopi +``` + +[Octopi on GitHub][20] + +### 8. Pamac + +![Installing Firefox using Pamac][21] + +Pamac is the graphical package manager from Manjaro Linux. It based on GTK3 and Alpm and **supports AUR, Appstream, Flatpak and Snap**. + +Pamac also supports automatic download of updates and downgrade of packages. + +It is the most widely used Application in Arch Linux derivatives. But, has been notorious for [DDoSing the AUR webpage][22]. + +There are several ways to [install Pamac on Arch Linux][23]. The simplest would be to use an AUR helper. + +``` +yay -Syu pamac-aur +``` + +[Pamac on GitLab][24] + +### Conclusion + +To remove any of the above-mentioned GUI package managers along with the dependencies and configuration files, use the following command replacing *packagename* with the name of package to be removed. + +``` +sudo pacman -Rns packagename +``` + +So it seems Arch Linux can also be used without touching the terminal with the right tools. + +There are also some other applications also which use Terminal User Interface (TUI). A few examples are [pcurses][25], [cylon][26], [pacseek][27], and [yup][28]. But, this article is about only the ones with proper GUI. + +**Note:** PackageKit opens up system permissions by default, and is otherwise [not recommended][29] for general usage. Because if the user is part of the wheel group no password is required to update or install any software. + +**You saw several options for using GUI software center on Arch Linux. It’s time to make a decision on using one of them. Which one would you choose? Pamac or OctoPi or something else? Leave a quick comment below right now.** + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/arch-linux-gui-package-managers/ + +作者:[Anuj Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/anuj/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/install-arch-linux/ +[2]: https://itsfoss.com/arch-based-linux-distros/ +[3]: https://itsfoss.com/pacman-command/ +[4]: https://itsfoss.com/wp-content/uploads/2022/09/apper-arch-install-firefox.png +[5]: https://invent.kde.org/system/apper +[6]: https://itsfoss.com/wp-content/uploads/2022/09/apper-arch-install-firefox.png +[7]: https://github.com/dekzi/dde-store +[8]: https://itsfoss.com/wp-content/uploads/2022/09/apper-arch-install-firefox.png +[9]: https://invent.kde.org/plasma/discover +[10]: https://itsfoss.com/wp-content/uploads/2022/09/apper-arch-install-firefox.png +[11]: https://freedesktop.org/software/PackageKit/index.html +[12]: https://itsfoss.com/wp-content/uploads/2022/09/apper-arch-install-firefox.png +[13]: https://gitlab.gnome.org/GNOME/gnome-software +[14]: https://itsfoss.com/wp-content/uploads/2022/09/apper-arch-install-firefox.png +[15]: https://itsfoss.com/synaptic-package-manager/ +[16]: https://itsfoss.com/aur-arch-linux/ +[17]: https://itsfoss.com/best-aur-helpers/ +[18]: https://sourceforge.net/projects/tkpacman +[19]: https://itsfoss.com/wp-content/uploads/2022/09/apper-arch-install-firefox.png +[20]: https://github.com/aarnt/octopi +[21]: https://itsfoss.com/wp-content/uploads/2022/09/apper-arch-install-firefox.png +[22]: https://gitlab.manjaro.org/applications/pamac/-/issues/1017 +[23]: https://itsfoss.com/install-pamac-arch-linux/ +[24]: https://gitlab.manjaro.org/applications/pamac +[25]: https://github.com/schuay/pcurses +[26]: https://github.com/gavinlyonsrepo/cylon +[27]: https://github.com/moson-mo/pacseek +[28]: https://github.com/ericm/yup +[29]: https://bugs.archlinux.org/task/50459 From 4a87083d64d7a9bc35340fd00f6df2a2bf6db7b6 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 30 Sep 2022 00:01:33 +0800 Subject: [PATCH 022/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020220929=20How=20to=20Use=20Picture=20in=20Picture=20M?= =?UTF-8?q?ode=20in=20Brave=20Browser.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...icture in Picture Mode in Brave Browser.md | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md diff --git a/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md b/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md new file mode 100644 index 0000000000..8033990237 --- /dev/null +++ b/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md @@ -0,0 +1,101 @@ +[#]: subject: "How to Use Picture in Picture Mode in Brave Browser" +[#]: via: "https://itsfoss.com/picture-in-picture-brave/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Use Picture in Picture Mode in Brave Browser +====== + +Brave is an excellent Chrome-like and yet [Chrome alternative web browser][1]. + +[Firefox and Brave][2] are two browsers I like using on my Linux system. Both have different advantages. + +There is one thing that Firefox does better than Brave and it is the picture-in-picture (PIP) mode that works on YouTube, Netflix and most streaming sites. + +Brave too has picture-in-picture mode but it’s so hidden that you feel like there is no PIP support at all. + +The built-in picture-in-picture works on some websites (like YouTube) but may not work on others (like Prime Video). Worry not! you can use a dedicated extension for that. + +Let me show both methods in this tutorial. + +### Method 1: Use double right click on the video + +**The trick is to do two right clicks one after another and you should see the option Picture in Picture mode.** + +Let me show this by an example. Play a YouTube video in Brave. Now right-click on the video. You + +![Move the cursor slightly away from the context menu after the first right click][3] + +Do another right click. It should be on the video but not on the previous context menu. Just someplace else on the video. + +Now you should see another context menu with the Picture in picture option. + +![You should see the Picture in picture option in the second right click][4] + +Select the Picture in picture and the video will pop out in its own window. You can move it anywhere in the browser. + +![Picture-in-picture mode in Brave browser][5] + +You can also keep it playing anywhere on the screen while you use some other application. + +![Brave playing picture in picture mode][6] + +You can resize the pop-up window as per your liking in the recent Brave versions. + +I don’t understand why Brave has it hidden like this. Why not give it prominence? + +Anyway, this works on websites like YouTube but may not work on Prime videos. If you want that, you can install an extension. + +### Method 2: Use Picture-in-Picture extension + +There is an official plugin from Google that allows you to get the Picture-in-Picture feature in Google Chrome. Since Brave is based on Chromium, you can use the same extension in Brave. + +[Picture-in-Picture Extension][7] + +Go to the extension page and **hit the Add to Brave button**. + +![Add Picture-in-Picture Extension to Brave][8] + +When you click on that, it gives you the option to add the extension. + +![Add the extension][9] + +Once you have added the extension, you should see it in the top right corner of the browser. + +![Using Picture in Picture Extension][10] + +When you are playing a video, click on the extension and the video should pop out. + +### Were you able to enable PIP mode in Brave? + +Picture in Picture mode has become an essential feature for casual streaming consumption. I find it strange that Brave and other browsers haven’t paid enough attention to it. Firefox handles it excellently. + +I hope this quick little tip helped you to get the PIP experience in Brave browser. Which of the two methods do you prefer? Right-click or the extension? + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/picture-in-picture-brave/ + +作者:[Abhishek Prakash][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/open-source-browsers-linux/ +[2]: https://itsfoss.com/brave-vs-firefox/ +[3]: https://itsfoss.com/wp-content/uploads/2022/09/getting-picture-in-picture-in-brave-1.png +[4]: https://itsfoss.com/wp-content/uploads/2022/09/getting-picture-in-picture-in-brave-2.webp +[5]: https://itsfoss.com/wp-content/uploads/2022/09/brave-picture-in-picture-youtube.webp +[6]: https://itsfoss.com/wp-content/uploads/2022/09/brave-playing-picture-in-picture-mode-on-screen.webp +[7]: https://chrome.google.com/webstore/detail/picture-in-picture-extens/hkgfoiooedgoejojocmhlaklaeopbecg/related?hl=en-US +[8]: https://itsfoss.com/wp-content/uploads/2022/09/picture-in-picture-extension-google-chrome-web.png +[9]: https://itsfoss.com/wp-content/uploads/2022/09/add-picture-in-picture-extension-to-brave.webp +[10]: https://itsfoss.com/wp-content/uploads/2022/09/picture-in-picture-extension.png From b213407813ff81f37588779495ff0e847e874fe1 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 30 Sep 2022 00:02:26 +0800 Subject: [PATCH 023/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020220929=20Execute=20Commands=20On=20Remote=20Linux=20?= =?UTF-8?q?Systems=20Via=20SSH.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ommands On Remote Linux Systems Via SSH.md | 335 ++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md diff --git a/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md b/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md new file mode 100644 index 0000000000..2137eb7a6e --- /dev/null +++ b/sources/tech/20220929 Execute Commands On Remote Linux Systems Via SSH.md @@ -0,0 +1,335 @@ +[#]: subject: "Execute Commands On Remote Linux Systems Via SSH" +[#]: via: "https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/" +[#]: author: "sk https://ostechnix.com/author/sk/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Execute Commands On Remote Linux Systems Via SSH +====== +Invoking Commands Or Programs On Remote Machines Over A Secure Network Connection + +The other day I was testing how to [keep file permissions intact while copying files or directories][1] to multiple locations and systems. When I wanted to check the file permissions on a remote system, I had to login to that system over SSH and check the attributes. The process of login and log-out from the remote system multiple times was bit annoying to me. I thought it would be better if I could **execute commands on remote Linux systems via SSH**. + +Fortunately, I found a workaround to invoke commands and programs on a remote machine over a secure network connection after skimming through the man pages of `ssh` command. + +If you ever wondered how to run a command or script on a remote system from your local system itself without logging in to that remote system, here is how to do it. + +#### Contents + +1. 1. Execute Commands On Remote Linux Systems Via SSH 2. 1.1. Run A Single Command On Remote Systems Over SSH 3. 1.2. Execute Multiple Commands On Remote Hosts Via SSH 4. 1.3. Invoke Commands With Sudo Privileges On Remote Machines Over SSH 5. 1.4. Run Local Scripts On Remote Systems Via SSH 6. 1.5. Save Command Output From Remote Host To Local Host 7. 1.6. Configure SSH Key-based Authentication To Avoid Password Typing +8. 2. Use sshpass While Running Commands On Remote Machines Over SSH 9. 2.1. What Is sshpass? 10. 2.2. Install sshpass In Linux 11. 2.3. Execute Commands On Remote Machines Over SSH With sshpass +12. Conclusion + +### 1. Execute Commands On Remote Linux Systems Via SSH + +The typical way to run a command or script on a remote system over SSH from the local system is: + +``` +$ ssh +``` + +Allow me to show you some examples. + +#### 1.1. Run A Single Command On Remote Systems Over SSH + +Let us say you want to [find Kernel details][2] of your remote Linux system. To do so, simply, run: + +``` +$ ssh sk@192.168.225.22 uname -a +``` + +Here, + +* sk is the username of my remote system, +* 192.168.225.22 is the IP address of the remote system, +* And `"uname -a"` is the command that I want to run on the remote system from my local system. + +**Sample output:** + +![Execute Commands On Remote Linux Systems Via SSH][3] + +See? I haven't actually logged-in to the remote system, but executed the `uname` command on the remote system over SSH and displayed the output in my local system's Terminal. + +You can also specify the command in quotes like below. + +``` +$ ssh sk@192.168.225.22 "uname -a" +``` + +Or, + +``` +$ ssh sk@192.168.225.22 'uname -a' +``` + +If you have [changed default port of SSH protocol][4], just mention it using **-p** parameter like below. + +``` +$ ssh -p 2200 sk@192.168.225.22 uname -a +``` + +#### 1.2. Execute Multiple Commands On Remote Hosts Via SSH + +You can also run multiple commands on a remote host by specifying them within quotes like below. + +``` +$ ssh sk@192.168.225.22 "uname -r && lsb_release -a" +``` + +Or, + +``` +$ ssh sk@192.168.225.22 "uname -r ; lsb_release -a" +``` + +The above commands will display the Kernel version and distribution details of my Ubuntu server. + +**Sample output:** + +![Run Multiple Commands On Remote Hosts Over SSH On Linux][5] + +As one one of our reader mentioned in the comment section below, you should specify multiple commands in quotes. If you don't use quotes, the first command will execute on the remote system and second command will be evaluated on local machine only. The whole command in quotes will be processed remotely as intended. + +#### 1.3. Invoke Commands With Sudo Privileges On Remote Machines Over SSH + +Some commands requires `"sudo"` privileges to run. For instance, the following command will install **Vim** on my remote system. + +``` +$ ssh -t sk@192.168.225.22 sudo apt install apache2 +``` + +**Sample output:** + +![Run Commands With Sudo Privileges On Remote Machines Over SSH][6] + +Did you notice? I have used **-t** flag in the above command. We need to mention this **-t** flag to force pseudo-terminal allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. + +Also, I have entered password **twice**. The first time I entered the password of the remote user to access the remote system over SSH from my local system and the second password is required to give sudo permission to the remote user to install application (i.e. apache2 in this case) on the remote system. + +Let us check if the Apache service is running using command: + +``` +$ ssh -t sk@192.168.225.22 sudo systemctl status apache2 +sk@192.168.225.22's password: +[sudo] password for sk: +● apache2.service - The Apache HTTP Server +Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) +Drop-In: /lib/systemd/system/apache2.service.d +└─apache2-systemd.conf +Active: active (running) since Thu 2019-12-19 11:08:03 UTC; 52s ago +Main PID: 5251 (apache2) +Tasks: 55 (limit: 2318) +CGroup: /system.slice/apache2.service +├─5251 /usr/sbin/apache2 -k start +├─5253 /usr/sbin/apache2 -k start +└─5254 /usr/sbin/apache2 -k start + +Dec 19 11:08:03 ubuntuserver systemd[1]: Starting The Apache HTTP Server... +Dec 19 11:08:03 ubuntuserver apachectl[5227]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 2409:4072:51f:a1b6:a00:27ff:f +Dec 19 11:08:03 ubuntuserver systemd[1]: Started The Apache HTTP Server. +``` + +Similarly, we can run any command or script on a remote system over SSH from the local system. + +#### 1.4. Run Local Scripts On Remote Systems Via SSH + +Let us a create a simple script on our local system to display all the available information about your remote system's distribution name, package management and base details etc. + +``` +$ vi system_information.sh +``` + +Add the following lines: + +``` +#!/bin/bash +#Name: Display System Details +#Owner: OSTechNIx +#---------------------------- +echo /etc/*_ver* /etc/*-rel*; cat /etc/*_ver* /etc/*-rel* +``` + +Press **ESC** key and type **:wq** to save the file and exit. + +Now run this script on your remote system over SSH using command: + +``` +$ ssh sk@192.168.225.22 'bash -s' < system_information.sh +``` + +**Sample output:** + +``` +sk@192.168.225.22's password: +/etc/debian_version /etc/lsb-release /etc/os-release +buster/sid +DISTRIB_ID=Ubuntu +DISTRIB_RELEASE=18.04 +DISTRIB_CODENAME=bionic +DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS" +NAME="Ubuntu" +VERSION="18.04.2 LTS (Bionic Beaver)" +ID=ubuntu +ID_LIKE=debian +PRETTY_NAME="Ubuntu 18.04.2 LTS" +VERSION_ID="18.04" +HOME_URL="https://www.ubuntu.com/" +SUPPORT_URL="https://help.ubuntu.com/" +BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" +PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" +VERSION_CODENAME=bionic +UBUNTU_CODENAME=bionic +``` + +If you don't specify `'bash -s'` in the above command, you will get the details of the remote system but Pseudo-terminal will not be allocated. + +#### 1.5. Save Command Output From Remote Host To Local Host + +This can be useful if you want to share the output of a command that you run on the remote system over SSH with your support team or colleague. + +The following command will run **"du -ah"** on your remote system over SSH and save the output in **diskusage.txt** file in your local system. + +``` +$ ssh sk@192.168.225.22 du -ah > diskusage.txt +``` + +You can then analyze the disk usage details by viewing the `diskusage.txt` file using **cat** command or text viewers. + +``` +$ cat diskusage.txt +4.0K ./.profile +4.0K ./.gnupg/private-keys-v1.d +8.0K ./.gnupg +76K ./data/image.jpg +128K ./data/file.pdf +20K ./data/text.docx +5.9M ./data/audio.mp3 +6.1M ./data +0 ./.sudo_as_admin_successful +4.0K ./pacman?inline=false +4.0K ./.bash_logout +4.0K ./.wget-hsts +4.0K ./.bash_history +0 ./.cache/motd.legal-displayed +4.0K ./.cache +4.0K ./deb-pacman_1.0-0.deb +4.0K ./.bashrc +6.2M . +``` + +#### 1.6. Configure SSH Key-based Authentication To Avoid Password Typing + +If you run commands on remote systems often, you may want to configure SSH key-based authentication to skip password typing every time. More details can be found in the following link. + +* [How To Configure SSH Key-based Authentication In Linux][7] + +After configuring SSH key-based authentication, we can execute commands on Remote machines over SSH without entering the password: + +``` +$ ssh sk@192.168.225.22 sudo apt update +``` + +### 2. Use sshpass While Running Commands On Remote Machines Over SSH + +If you don't want to configure SSH key-based authentication, you can use **sshpass** utility to run commands on remote machines via without entering password. + +#### 2.1. What Is sshpass? + +The sshpass utility is designed for running ssh using the keyboard-interactive password authentication mode, but in non-interactive way. To put this in simple terms - sshpass offers non-interactive way to authenticate a SSH session. + +SSH uses direct TTY access to make sure that the password is indeed issued by an interactive keyboard user. Sshpass runs ssh in a dedicated tty, fooling it into thinking it is getting the password from an interactive user. + +#### 2.2. Install sshpass In Linux + +The sshpass utility is available in the default repositories of many Linux distributions. For instance, you can use the following command to install sshpass in Debian, Ubuntu and its derivatives: + +``` +$ sudo apt install sshpass +``` + +#### 2.3. Execute Commands On Remote Machines Over SSH With sshpass + +sshpass can accept password as an argument, or read the password via an environment variable, or read the password from a text file. + +**A word of caution:** All of these methods are **highly insecure**. All system users can see the password in the commands by simply issuing the **ps** command. It is **NOT RECOMMENDED** to use these methods in production. It is better to use key-based authentication instead. + +Let us see examples for each method. + +**Provide Password as an argument:** + +To provide password as an argument, use `-p` option like below. + +``` +$ sshpass -p ssh remoteuser@ip-address +``` + +**Example:** + +``` +$ sshpass -p ubuntu ssh ostechnix@192.168.1.30 uname -a +``` + +Here, + +* -p ubuntu - provides the password for the remote system. +* ostechnix@192.168.1.30 - Remote username and IP address. +* 'uname -a' - Command to execute on the remote machine. + +**Sample output:** + +``` +Linux Ubuntu22CT 5.15.60-1-pve #1 SMP PVE 5.15.60-1 (Mon, 19 Sep 2022 17:53:17 +0200) x86_64 x86_64 x86_64 GNU/Linux +``` + +**Provide Password as an Environment variable:** + +In this method, we declare an environment variable called **SSHPASS** with the remote system's password as its value. And then we provide the password with **-e** flag like below: + +``` +$ SSHPASS=ubuntu sshpass -e ssh ostechnix@192.168.1.30 uname -a +``` + +**Read Password from a text file:** + +Append the password in a text file with echo command: + +``` +$ echo "ubuntu" > mypassword.txt +``` + +Now, pass the password file to sshpass lwith **-f**flag like below: + +``` +$ sshpass -f mypassword.txt ssh ostechnix@192.168.1.30 uname -a +``` + +![Execute Commands On Remote Machines Over SSH With sshpass][8] + +### Conclusion + +In this tutorial, we learned a few methods to invoke a command or program on a remote machine over a secure network connection. Among all the methods, the sshpass method is least secure. The users are encouraged to avoid using sshpass in production systems. + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/execute-commands-on-remote-linux-systems-via-ssh/ + +作者:[sk][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://ostechnix.com/author/sk/ +[b]: https://github.com/lkxed +[1]: https://ostechnix.com/how-to-keep-ownership-and-file-permissions-intact-when-copying-files-or-directories/ +[2]: https://ostechnix.com/find-out-the-linux-distribution-name-version-and-kernel-details/ +[3]: https://ostechnix.com/wp-content/uploads/2019/12/Execute-Commands-On-Remote-Linux-Systems-Via-SSH.gif +[4]: https://ostechnix.com/how-to-change-apache-ftp-and-ssh-default-port-to-a-custom-port-part-3/ +[5]: https://ostechnix.com/wp-content/uploads/2019/12/Run-multiple-commands-on-remote-systems-via-SSH-on-Linux.png +[6]: https://ostechnix.com/wp-content/uploads/2019/12/Run-commands-with-sudo-privileges-on-remote-systems-via-SSH.png +[7]: https://ostechnix.com/configure-ssh-key-based-authentication-linux/ +[8]: https://ostechnix.com/wp-content/uploads/2022/09/Execute-Commands-On-Remote-Machines-Over-SSH-With-sshpass.png From 66a223467ad7300da85d2f0f88f6181720ace0bc Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 30 Sep 2022 08:41:10 +0800 Subject: [PATCH 024/170] translated --- ...Text in Linux, Ubuntu using Google Docs.md | 101 ------------------ ...Text in Linux, Ubuntu using Google Docs.md | 99 +++++++++++++++++ 2 files changed, 99 insertions(+), 101 deletions(-) delete mode 100644 sources/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md create mode 100644 translated/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md diff --git a/sources/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md b/sources/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md deleted file mode 100644 index df4b7b1bb5..0000000000 --- a/sources/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md +++ /dev/null @@ -1,101 +0,0 @@ -[#]: subject: "Speech Recognition to Text in Linux, Ubuntu using Google Docs" -[#]: via: "https://www.debugpoint.com/speech-recognition-to-text-in-linux-ubuntu-using-google-docs/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Speech Recognition to Text in Linux, Ubuntu using Google Docs -====== -This is how you can convert speech to text in Linux systems, including Ubuntu. - -There is not much speech recognition software available in Linux systems, including native desktop apps. There are some apps available that use IBM Watson and other APIs to convert speech to text, but they are not user-friendly and require an advanced level of user interactions, e.g. a little bit of programming or scripting in respective languages. - -However, not many users know that Google Docs provides an advanced level of Speech Recognition using its own AI technologies, which can be accessed via Chrome in Google Docs. - -Any user can use this feature to convert speech to text, requiring no advanced level of computer knowledge. The best thing about this feature of Google Docs is you can use it in any Ubuntu derivatives or any Linux distribution where Chrome is available. - -Let’s take a look at how you can enable it in Ubuntu. - -### How to convert speech to text - -The prerequisites are that you should have Chrome installed in your system and a Google account. If you don’t have Chrome installed, you can visit [this link][1] and download/install Chrome. - -Also, if you don’t have a Google account, you can create one using [this link][2] for free. - -#### Step 1 - -Open [https://docs.google.com][3] from Chrome and create a blank document. - -![Create an empty doc][4] - -#### Step 2 - -After the blank document is loaded, click `Tools > Voice typing` from the menu. - -![Enable Voice Typing][5] - -#### Step 3 - -On the left-hand side, you can see a microphone icon. Click the microphone icon, and for the first time, Chrome would ask to allow microphone access via browser. Click Allow. - -![Click the mic][6] - -![Allow Docs to access Mic][7] - -By default, it uses your system language as the detecting language of voice while converting it into text; however, you can change it to any language you want per the available list of languages. So far, more than 60+ languages are supported and recognized in Google Docs while converting them to text. - -#### Step 4 - -After you click allow, the microphone icon will turn orange, and now it’s ready to accept or recognize your voice. Start speaking anything you want, and voila! You will see your speech is being converted to text and written in the document. - -![Voice to Text – In action][8] - -That’s it. You have successfully converted voice to text in Ubuntu via Google Chrome and Google docs. - -This amazing feature is available for all Linux users for free. Drop a comment below using the comment box if you are aware of other apps that can convert voice to text in Linux. Also, let me know whether you found this helpful article. - -### Troubleshooting - -If the above feature is not working in your browser, make sure to check out the following. - -* Open the Settings window (in GNOME desktop in Ubuntu or another distro). -* Go to `Privacy > Microphone`. -* And make sure it’s enabled. - -![Check Microphone settings in Ubuntu][9] - -### Wrapping Up - -Although, there is a cloud-based solutions available recently, such as Amazon Polly and others. But they come with a steep price. Plus requires a bit of useful knowledge as well. - -Whereas Google Chrome’s built-in speech recognition feature is simple and easy to use. It can get the job done for average users, although it’s a little slow. - -That said, I hope this guide helps you to convert voice to text and do let me know in the comment box if you know of such an application which does the same for free. - -[Next: How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install][10] --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/speech-recognition-to-text-in-linux-ubuntu-using-google-docs/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.debugpoint.com/author/admin1/ -[b]: https://github.com/lkxed -[1]: https://www.google.com/chrome -[2]: https://accounts.google.com -[3]: https://docs.google.com -[4]: https://www.debugpoint.com/wp-content/uploads/2018/07/Create-an-empty-doc.png -[5]: https://www.debugpoint.com/wp-content/uploads/2018/07/Enable-Voice-Typing.png -[6]: https://www.debugpoint.com/wp-content/uploads/2018/07/Click-the-mic.png -[7]: https://www.debugpoint.com/wp-content/uploads/2018/07/Allow-Docs-to-access-Mic.png -[8]: https://www.debugpoint.com/wp-content/uploads/2018/07/Voice-to-Text-In-action.png -[9]: https://www.debugpoint.com/wp-content/uploads/2018/07/Check-Microphone-settings-in-Ubuntu.jpg -[10]: https://www.debugpoint.com/setup-internet-minimal-install-server/ diff --git a/translated/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md b/translated/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md new file mode 100644 index 0000000000..4cd7b57b20 --- /dev/null +++ b/translated/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md @@ -0,0 +1,99 @@ +[#]: subject: "Speech Recognition to Text in Linux, Ubuntu using Google Docs" +[#]: via: "https://www.debugpoint.com/speech-recognition-to-text-in-linux-ubuntu-using-google-docs/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 Google Docs 在 Ubuntu 中对文本进行语音识别 +====== +这就是在包括 Ubuntu 在内的 Linux 系统中将语音转换为文本的方法。 + +Linux 系统中可用的语音识别软件不多,包括原生桌面应用。有一些可用的应用使用 IBM Watson 和其他 API 将语音转换为文本,但它们对用户不友好,需要高级用户交互,例如用相应的语言进行一些编程或脚本编写。 + +但是,没有多少用户知道 Google Docs 使用自己的 AI 技术提供高级语音识别,它可以通过 Chrome 访问 Google Docs 达到。 + +任何用户都可以使用此功能将语音转换为文本,而无需高级计算机知识。 Google Docs 的这个功能最好的一点是你可以在任何 Ubuntu 衍生版或任何支持 Chrome 的 Linux 发行版中使用它。 + +让我们看看如何在 Ubuntu 中启用它。 + +### 如何将语音转换为文本 + +先决条件是你应该在系统中安装 Chrome 并拥有 Google 帐户。如果你没有安装 Chrome,你可以访问[此链接][1]并下载/安装 Chrome。 + +此外,如果你没有 Google 帐户,你可以使用[此链接][2]免费创建一个。 + +#### 步骤 1 + +从 Chrome 打开 [https://docs.google.com][3] 并创建一个空白文档。 + +![创建一个空文档][4] + +#### 步骤 2 + +加载空白文档后,从菜单中单击`工具 > 语音输入`。 + +![启用语音输入][5] + +#### 步骤 3 + +在左侧,你可以看到一个麦克风图标。单击麦克风图标,Chrome 会首次要求允许通过浏览器访问麦克风。单击允许。 + +![点击麦克风][6] + +![允许文档访问麦克风][7] + +默认情况下,它使用你的系统语言作为语音的检测语言,同时将其转换为文本;但是,你可以根据可用的语言列表将其更改为所需的任何语言。到目前为止,Google Docs 支持和识别超过 60 多种语言,同时将它们转换为文本。 + +#### 步骤 4 + +单击允许后,麦克风图标将变为橙色,现在它已准备好接受或识别你的声音。开始说任何你想说的话,瞧!你将看到你的演讲被转换为文本并写入文档。 + +![正在进行语音转文字][8] + +完成了。你已通过 Google Chrome 和 Google Docs 在 Ubuntu 中成功地将语音转换为文本。 + +所有 Linux 用户都可以免费使用这个很棒的功能。如果你知道其他可以在 Linux 中将语音转换为文本的应用,请在下方的评论区发表评论。另外,让我知道你是否觉得这篇文章有用。 + +### 故障排除 + +如果上述功能在你的浏览器中不起作用,请务必查看以下内容。 + +* 打开设置窗口(在 Ubuntu 或其他发行版的 GNOME 桌面中)。 +* 转到`隐私 > 麦克风`。 +* 并确保它已启用。 + +![检查 Ubuntu 中的麦克风设置][9] + +### 总结 + +虽然,最近有一种基于云的解决方案可用,例如 Amazon Polly 等。但它们的价格很高。另外还需要一些有用的知识。 + +而 Google Chrome 的内置语音识别功能简单易用。虽然它有点慢,但它可以为普通用户完成工作。 + +也就是说,我希望本指南可以帮助你将语音转换为文本,如果你知道这样的免费应用,请在评论区告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/speech-recognition-to-text-in-linux-ubuntu-using-google-docs/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.google.com/chrome +[2]: https://accounts.google.com +[3]: https://docs.google.com +[4]: https://www.debugpoint.com/wp-content/uploads/2018/07/Create-an-empty-doc.png +[5]: https://www.debugpoint.com/wp-content/uploads/2018/07/Enable-Voice-Typing.png +[6]: https://www.debugpoint.com/wp-content/uploads/2018/07/Click-the-mic.png +[7]: https://www.debugpoint.com/wp-content/uploads/2018/07/Allow-Docs-to-access-Mic.png +[8]: https://www.debugpoint.com/wp-content/uploads/2018/07/Voice-to-Text-In-action.png +[9]: https://www.debugpoint.com/wp-content/uploads/2018/07/Check-Microphone-settings-in-Ubuntu.jpg From 18506f42bf805db01e185674183ae2d1f4fe3f4c Mon Sep 17 00:00:00 2001 From: geekpi Date: Fri, 30 Sep 2022 08:45:42 +0800 Subject: [PATCH 025/170] translating --- ...tup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md b/sources/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md index 813d4912d9..25c9aa770a 100644 --- a/sources/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md +++ b/sources/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/setup-internet-minimal-install-server/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 64e24c1dcc1dbcac4c7afbf144a5b75c368be057 Mon Sep 17 00:00:00 2001 From: Songling Gu <1563156662@qq.com> Date: Fri, 30 Sep 2022 09:24:22 +0800 Subject: [PATCH 026/170] translated --- ... and Python- Which Language is Quicker-.md | 268 ----------------- ... and Python- Which Language is Quicker-.md | 277 ++++++++++++++++++ 2 files changed, 277 insertions(+), 268 deletions(-) delete mode 100644 sources/tech/20220902 Julia and Python- Which Language is Quicker-.md create mode 100644 translated/tech/20220902 Julia and Python- Which Language is Quicker-.md diff --git a/sources/tech/20220902 Julia and Python- Which Language is Quicker-.md b/sources/tech/20220902 Julia and Python- Which Language is Quicker-.md deleted file mode 100644 index 3004416090..0000000000 --- a/sources/tech/20220902 Julia and Python- Which Language is Quicker-.md +++ /dev/null @@ -1,268 +0,0 @@ -[#]: subject: "Julia and Python: Which Language is Quicker?" -[#]: via: "https://www.opensourceforu.com/2022/09/julia-and-python-which-language-is-quicker/" -[#]: author: "B Thangaraju https://www.opensourceforu.com/author/b-thangaraju/" -[#]: collector: "lkxed" -[#]: translator: "Return7g" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Julia and Python: Which Language is Quicker? -====== -*Julia is a dynamic programming language with a high level of abstraction. While it is a general-purpose language that may be used to develop any program, it has several characteristics that are ideally suited to numerical analysis and computational research. Python was designed in the early 1990s as a simple object-oriented programming language, but has evolved significantly since then. This article takes a deeper look at the performance of both for neural networks and machine learning.* - -Julia’s architecture features parametric polymorphism in a dynamic programming language, as well as a multiple dispatch programming paradigm as its primary programming model. It allows concurrent, parallel, and distributed computing with or without message passing interface (MPI) or the built-in ‘OpenMP-style’ threads, as well as the direct invocation of C and FORTRAN libraries without intermediate code. Julia employs a just-in-time (JIT) compiler, which the Julia community refers to as ‘just-ahead-of-time’ (JAOT) since it compiles all code to machine code by default before running it. - -Unlike Python, Julia was designed specifically for use in statistics and machine learning. -Julia can fly through linear algebra, whereas Python can plod through it. This is because Python was never designed to accommodate all of the matrices and equations that machine learning requires. Python isn’t bad by any means, especially with NumPy, but Julia is a lot better tailored to this kind of mathematics in terms of a no-package experience. Julia’s operand system is a lot more like R’s than Python’s, which is a significant plus. The majority of linear algebra can be completed in less time and with less effort. - -As we know, in recent years Python has dominated the areas of machine learning and data science. Because of the variety of third-party libraries that we can use in Python, it helps to develop machine learning code easily. While there are so many advantages of Python, there is one major drawback — it’s an interpreted language, which makes it slow. This is the age of data, and the more data there is the more time it takes to work on it. That’s where Julia comes into the picture. - -Most of the research work on Julia so far has been on topics like high power computing or the scientific calculation capabilities of Julia. But here we will talk about how Julia is not only capable of working on complex scientific calculations efficiently but also on commercial-based problems, and can tackle Python in machine learning and neural networks. - -### Objective and experimentation - -Julia is as simple as Python but is a compiled language like C. So let’s test how fast Julia is in comparison with Python. For that, we will first test these languages on some simple programs and then move to the main focus of our experiment, which is to test them for machine learning and deep learning. - -Julia and Python provide many libraries and open source benchmarking tools. For benchmarking and calculating time in Julia, we used CPUTime and time libraries. Similarly, for Python, we used the time module. - -### Matrix multiplication - -We tried out simple arithmetic operations first, but since these will not generate much difference in time we decided to check out the timing in matrix multiplication. We started with creating two (10 * 10) matrices of random float numbers and performed dot products in these. As we know, Python has a NumPy library, which is famous for working with matrices and vectors. Similarly, Julia has a LinearAlgebra library that works well with matrices and vectors. So we compared the matrix multiplication with and without using their respective libraries. The source code for all the programs used in this article is available in our GitHub repository ([https://github.com/mr-nerdster/Julia_Research.gitsee][1]). The 10×10 matrix multiplication program written in Julia is given below: - -``` -@time LinearAlgebra.mul!(c,x,y) - -function MM() -x = rand(Float64,(10,10)) -y = rand(Float64,(10,10)) -c = zeros(10,10) - -for i in range(1,10) -for j in range(1,10) -for k in range(1,10) -c[i,j] += x[i,k]*y[k,j] -end -end -end -end -@time MM - -0.000001 seconds -MM (generic function with 1 method) -``` - -Julia takes 0.000017 seconds using the library and 0.000001 seconds using loops. - -The same matrix multiplication program was written in Python, as shown below. From the results it can be seen that with the library the program takes less time compared to without the library. - -``` -import numpy as np -import time as t -x = np.random.rand(10,10) -y = np.random.rand(10,10) -start = t.time() -z = np.dot(x, y) -print(“Time = “,t.time()-start) -Time = 0.001316070556640625 - -import random -import time as t -l = 0 -h= 10 -cols = 10 -rows= 10 - -choices = list (map(float, range(l,h))) -x = [random.choices (choices , k=cols) for _ in range(rows)] -y = [random.choices (choices , k=cols) for _ in range(rows)] - -result = [([0]*cols) for i in range (rows)] - -start = t.time() - -for i in range(len(x)): -for j in range(len(y[0])): -for k in range(len(result)): -result[i][j] += x[i][k] * y[k][j] - -print(result) -print(“Time = “, t.time()-start) - -Time = 0.0015912055969238281 -``` - -Python takes 0.0013 seconds using the library and 0.0015 seconds using loops. - -### Linear search - -The next experiment that we performed was a linear search on one hundred thousand randomly generated numbers. We used two methods here — one by using a for loop and the other by using an operator. We performed 1000 searches with integers ranging from 1 to 1000, and as you can see in the output below we also printed out how many integers we find in the data set. The output of time by using loops and by using the IN operator is given below. Here we measured time by taking the median CPU time of 3 runs. - -The program was written for Julia and the results are shown below. - -``` -import numpy as np -import time as t -x = np.random.rand(10,10) -y = np.random.rand(10,10) -start = t.time() -z = np.dot(x, y) -print(“Time = “,t.time()-start) -Time = 0.001316070556640625 - -import random -import time as t -l = 0 -h= 10 -cols = 10 -rows= 10 - -choices = list (map(float, range(l,h))) -x = [random.choices (choices , k=cols) for _ in range(rows)] -y = [random.choices (choices , k=cols) for _ in range(rows)] - -result = [([0]*cols) for i in range (rows)] - -start = t.time() - -for i in range(len(x)): -for j in range(len(y[0])): -for k in range(len(result)): -result[i][j] += x[i][k] * y[k][j] - -print(result) -print(“Time = “, t.time()-start) - -Time = 0.0015912055969238281 -``` - -The same program was written for Python and the results are: - -``` -FOR_SEARCH: -Elapsed CPU time: 16.420260511 seconds -matches: 550 -Elapsed CPU time: 16.140975079 seconds -matches: 550 -Elapsed CPU time: 16.49639576 seconds -matches: 550 - -IN: -Elapsed CPU time: 6.446583343 seconds -matches: 550 -Elapsed CPU time: 6.216615487 seconds -matches: 550 -Elapsed CPU time: 6.296716556 seconds -matches: 550 -``` - -From the above results, it is evident that there are no time differences between using a loop and an operator in Julia. However, the loop takes almost three times more execution time than the IN operator in Python. The interesting point here is that, in both cases, Julia has a much faster execution time than Python. - -### Linear regression - -The next experiments were performed in machine learning algorithms. We first worked on one of the most common and simple machine learning algorithms, i.e., linear regression with a simple data set. We used a ‘Head Brain’ data set that contains 237 data entries and has two columns [HeadSize, BrainWeight]. In this, we had to calculate the brain weight by using the head size. So we implemented linear regression from scratch, without using any library on this data set in both Python and Julia. - -*Julia:* - -``` -GC.gc() -@CPUtime begin -linear_reg() -end -elapsed CPU time: 0.000718 seconds -``` - -*Python:* - -``` -gc.collect() -start = process_time() -linear_reg() -end = process_time() - -print(end-start) -elapsed time: 0.007180344000000005 -``` - -The time taken by both Julia and Python is given above. - -### Logistic regression - -Next, we carried out an experiment on the most common type of machine learning algorithm, i.e., logistic regression, by using libraries in both languages. For Python, we used its most commonly used library sklearn while in Julia we used the GLM library. The data set that we used for this is the information about a bank’s clients, which contains 10,000 data entries. The target variable is a binary variable that indicates whether the consumer left the bank (closed his or her account) or remained a customer. - -The time taken by Julia for logistic regression is given below. - -``` -@time log_rec() -0.027746 seconds (3.32 k allocations: 10.947 MiB) -``` - -The time taken by Python for logistic regression is also given below. - -``` -gc.collect() -start = process_time() -LogReg() -end = process_time() -print(end-start) - -Accuracy : 0.8068 -0.34901400000000005 -``` - -### Neural networks - -After testing both languages on various programs and data sets, we tested them on neural networks and used the MNIST data set. This data set contains gray-scale images of hand-drawn digits, from zero through nine. Each image is 28×28 pixels. Each pixel value indicates the lightness or darkness of that pixel, and this value is an integer between 0 and 255, both inclusive. The data also contains a label column which represents the digit that was drawn in the respected image. - -![Figure 1: Example of MNIST data set][2] - -Figure 1 shows a few examples of the MNIST data set. - -We created a simple neural network to test the time taken by both languages. The structure of our neural network is like this: - -``` -Input ---> Hidden layer ---> Output -``` - -It contains an input layer, hidden layer, and output layer. To avoid complexities, we did not use any preprocessing on our data set, and worked on it as it is. We trained this model for 40 iterations and checked the time difference between Julia and Python in it. - -![Figure 2: Julia takes 5.76 seconds in a neural network][3] - -For Julia, the Flux library was used to implement the neural network and for Python, the Keras library was used. Figure 2 shows the time taken by Julia in a neural network. -Figure 3 shows the time taken by Python and a few iterations of the model in the neural network. - -![Figure 3: Python takes 110.3 seconds in a neural network][4] - -The results show that there are huge time differences between Julia and Python when it comes to a neural network. - -Table 1 summarises all the results of our experiments, and gives the time difference (in percentage) between Julia and Python. - -| Experiment | Julia (seconds) | Python(seconds) | Time difference (%) | -| :- | :- | :- | :- | -| Matrix multiplication (without library) | 0.000001 | 0.0015 | 99.9 | -| Matrix multiplication (with library) | 0.000017 | 0.0013 | 98.69 | -| Linear search (using loop ) | 0.42 | 16.4 | 97.43 | -| Linear search (using IN operator) | 0.43 | 6.2 | 93.06 | -| Linear regression | 0.000718 | 0.00718 | 90 | -| Logistic regression | 0.025 | 0.34901 | 92.83 | -| Neural networks | 5.76 | 110.3 | 94.77 | - -All the experiments we carried out indicated that as the complexity of the program as well as the size of the data set increases, the execution time difference between Julia and Python increases. From the results, we can conclude that Julia is the better programming language for machine learning and neural networks. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/julia-and-python-which-language-is-quicker/ - -作者:[B Thangaraju][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/b-thangaraju/ -[b]: https://github.com/lkxed -[1]: https://github.com/mr-nerdster/Julia_Research.gitsee -[2]: https://www.opensourceforu.com/wp-content/uploads/2022/07/Figure-1-Example-of-MNIST-data-set.jpg -[3]: https://www.opensourceforu.com/wp-content/uploads/2022/07/Figure-2-Julia-takes-5.76-seconds-in-a-neural-network.jpg -[4]: https://www.opensourceforu.com/wp-content/uploads/2022/07/Figure-3-Python-takes-110.3-seconds-in-a-neural-network.jpg diff --git a/translated/tech/20220902 Julia and Python- Which Language is Quicker-.md b/translated/tech/20220902 Julia and Python- Which Language is Quicker-.md new file mode 100644 index 0000000000..c4413fcfef --- /dev/null +++ b/translated/tech/20220902 Julia and Python- Which Language is Quicker-.md @@ -0,0 +1,277 @@ +[#]: subject: "Julia and Python: Which Language is Quicker?" +[#]: via: "https://www.opensourceforu.com/2022/09/julia-and-python-which-language-is-quicker/" +[#]: author: "B Thangaraju https://www.opensourceforu.com/author/b-thangaraju/" +[#]: collector: "lkxed" +[#]: translator: "Return7g" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +对比 Julia 和 Python,哪一个更快? +====== +*Julia 是一门高度抽象的动态编程语言。虽然它是一门能够开发所有程序的通用语言,但它也仍非常适用于科学计算和数值计算。Python 在 1990 年初作为一种简单的面向对象的程序语言出现时就已经有了显著的发展。本文将从它们在神经网络和机器学习的性能表现上进行讨论。* + +Julia 的架构以动态语言中的参数多态性和多重派发的编程范式为主要特色。它允许使用或不使用消息传递接口(message passing interface,MPI)或内置 “OpenMP-style” 线程的并发、并行和分布式计算,以及直接调用 C 和 FORTRAN 库而无需额外的代码。Julia 使用 just-in-time(JIT)编译,Julia 社区将其称为 just-ahead-of-time(JAOT),因为它在运行之前默认将所有代码编译为机器码。 + +与 Python 不同,Julia 专为统计学和机器学习而设计。 +Julia 可以快速的完成线性代数的运算,但 Python 很慢。这是因为 Python 从来都不是为了适应机器学习用到的矩阵和方程而设计的。Python 本身并不差,特别是 Numpy,但在没有使用包的情况下,Julia 更像是为数学量身定制的。相比 Python,Julia 的运算符更像 R,这是一个显著的优势。大部分的线性代数运算可以用更少的时间和精力去完成。 + +众所周知,近年来 Python 在机器学习和数据科学领域占据主导地位。在 Python 中我们可以使用各种各样的第三方库来帮助我们编写机器学习的代码。虽然 Python 有这么多优势,但仍有一个主要的缺点——它是一门解释性语言,速度非常慢。现在是数据时代,数据越多我们处理它的时间就越长,这也是 Julia 出现的理由。 + +到目前为止,有关 Julia 的研究工作都集中在高性能或者科学计算能力等主题上。但在这里,我们将讨论 Julia 不仅能够有效地处理复杂的科学计算,还能够处理基于商业的问题,以及像 Python 一样处理机器学习和神经网络。 + + +### 实验目标与实验设计 + + Julia 像 Python 一样简洁,但其编译速度又能与 C 媲美。首先我们来测试 Julia 要比 Python 快多少。为此,我们先在一些简单的程序上测试它们,然后来到我们实验的重点,测试它们的机器学习和深度学习能力。 + +Julia 和 Python 都提供了许多库和开源的基准测试工具。为了在 Julia 中进行基准测试和计算时间,我们使用了 CPUTime 和 time 库;对于 Python,我们同样使用了 time 模块。 + +### 矩阵乘法 + +一开始我们尝试了简单的算术运算,但由于这些运算不会产生太大的时间差异,我们决定比较矩阵乘法的时间差异。我们创建了两个 10 * 10 的随机浮点数矩阵,并对它们施以点积。众所周知,Python 有一个 Numpy 库,常被用于计算矩阵和向量。而 Julia 也有一个 LinearAlgebra 库,常用于计算矩阵和向量。因此我们分别比较了各自使用和不使用库的矩阵乘法的耗时。本文用到的所有源码已经放在了 GitHub 存储库([https://github.com/mr-nerdster/Julia_Research.gitsee][1])。下面给出了用 Julia 编写的 10×10 矩阵乘法程序: + +``` +@time LinearAlgebra.mul!(c,x,y) + +function MM() +x = rand(Float64,(10,10)) +y = rand(Float64,(10,10)) +c = zeros(10,10) + +for i in range(1,10) +for j in range(1,10) +for k in range(1,10) +c[i,j] += x[i,k]*y[k,j] +end +end +end +end +@time MM + +0.000001 seconds +MM (generic function with 1 method) +``` + +Julia 使用库耗时 0.000017 秒,使用循环耗时 0.000001 秒。 + +使用 Python 编写相同的矩阵乘法程序如下。 从结果可以发现,与不使用库相比,使用库的程序花费的时间更少。 + +``` +import numpy as np +import time as t +x = np.random.rand(10,10) +y = np.random.rand(10,10) +start = t.time() +z = np.dot(x, y) +print(“Time = “,t.time()-start) +Time = 0.001316070556640625 + +import random +import time as t +l = 0 +h= 10 +cols = 10 +rows= 10 + +choices = list (map(float, range(l,h))) +x = [random.choices (choices , k=cols) for _ in range(rows)] +y = [random.choices (choices , k=cols) for _ in range(rows)] + +result = [([0]*cols) for i in range (rows)] + +start = t.time() + +for i in range(len(x)): +for j in range(len(y[0])): +for k in range(len(result)): +result[i][j] += x[i][k] * y[k][j] + +print(result) +print(“Time = “, t.time()-start) + +Time = 0.0015912055969238281 +``` + +Python 使用库耗时 0.0013 秒,使用循环耗时 0.0015 秒。 + + +### 线性搜索 + +我们进行的下一个实验是对十万个随机生成的数字进行线性搜索。 这里使用了两种方法,一种是使用 for 循环,另一种是使用运算符。我们使用 1 到 1000 的整数执行了 1000 次搜索,正如你在下面的输出中看到的那样,我们还打印了我们在数据集中找到了多少个整数。下面给出了使用循环和使用 IN 运算符的时间。 这里我们使用了 CPU 3 次运行时间的中位数。 + + +使用 Julia 编写的程序和运行结果如下: +(LCTT 译注:此处原文缺失 Julia 代码) + +使用 Python 编写的程序和运行结果如下: + +``` +import numpy as np +import time as t +x = np.random.rand(10,10) +y = np.random.rand(10,10) +start = t.time() +z = np.dot(x, y) +print(“Time = “,t.time()-start) +Time = 0.001316070556640625 + +import random +import time as t +l = 0 +h= 10 +cols = 10 +rows= 10 + +choices = list (map(float, range(l,h))) +x = [random.choices (choices , k=cols) for _ in range(rows)] +y = [random.choices (choices , k=cols) for _ in range(rows)] + +result = [([0]*cols) for i in range (rows)] + +start = t.time() + +for i in range(len(x)): +for j in range(len(y[0])): +for k in range(len(result)): +result[i][j] += x[i][k] * y[k][j] + +print(result) +print(“Time = “, t.time()-start) + +Time = 0.0015912055969238281 +``` + + + +``` +FOR_SEARCH: +Elapsed CPU time: 16.420260511 seconds +matches: 550 +Elapsed CPU time: 16.140975079 seconds +matches: 550 +Elapsed CPU time: 16.49639576 seconds +matches: 550 + +IN: +Elapsed CPU time: 6.446583343 seconds +matches: 550 +Elapsed CPU time: 6.216615487 seconds +matches: 550 +Elapsed CPU time: 6.296716556 seconds +matches: 550 +``` + +从以上结果来看,在 Julia 中使用循环和运算符并不会产生显著的时间差异。但是在 Python 中循环几乎比运算符 IN 多花了三倍的时间。有趣的是,在这两种情况下,Julia 都比 Python 快得多。 + +### 线性回归 + +下一个实验是测试机器学习算法。我们选择了以一种最常见和最简单的机器学习算法,使用简单数据集的线性回归。我们使用了一个包含237条数据的数据集 “Head Brain”,数据集的两列分别为 “HeadSize” 和 “BrainWeight”。接下来,我们使用 “head size” 数据去计算 “brain weight”。在 Python 和 Julia 中我们都没有使用第三方库,而是从零实现了线性回归算法。 + +*Julia:* + +``` +GC.gc() +@CPUtime begin +linear_reg() +end +elapsed CPU time: 0.000718 seconds +``` + +*Python:* + +``` +gc.collect() +start = process_time() +linear_reg() +end = process_time() + +print(end-start) +elapsed time: 0.007180344000000005 +``` + +上面给出了 Julia 和 Python 所花费的时间。 + +### 逻辑回归 + +接下来,我们使用两种语言的库对最常见的机器学习算法(即逻辑回归)进行了实验。对于 Python 我们使用最常见的库 sklearn;对于 Julia ,我们使用 GLM 库。我们在这里用到的数据集是有关银行客户的信息,其中包含 10,000 个数据条目。目标变量是一个二元变量,区分消费者是否继续使用银行账户。 + +下面给出了 Julia 进行逻辑回归所花费的时间。 + +``` +@time log_rec() +0.027746 seconds (3.32 k allocations: 10.947 MiB) +``` + +下面给出了 Python 进行逻辑回归所花费的时间。 + +``` +gc.collect() +start = process_time() +LogReg() +end = process_time() +print(end-start) + +Accuracy : 0.8068 +0.34901400000000005 +``` + +### 神经网络 + +在各种程序和数据集上测试这两种语言后,我们在神经网络上使用 MNIST 数据集继续测试它们。该数据集包含从零到九的手绘数字的灰度图像。每张图像为 28×28 像素。每个像素值表示该像素的亮度或暗度,该值是包含 0 到 255 之间的整数。该数据还包含一个标签列,该列表示在相关图像中绘制的数字。 + +![Figure 1: Example of MNIST data set][2] + +图1是 MNIST 数据集的示例。 + + +对两种语言我们都建立了一个简单的神经网络来测试它们耗费的时间。神经网络的结构如下: + +``` +Input ---> Hidden layer ---> Output +``` + +该神经网络包含了一个输入层、隐层还有输出层。为了避免神经网络的复杂度过高,我们对数据集没有进行任何的预处理工作。在 Julia 和 Python 中我们都进行了40次训练并比较它们的时间差异。 + +![Figure 2: Julia takes 5.76 seconds in a neural network][3] + + +在 Julia 中,Flux 库通常被用于建立神经网络;在 Python 中我们常使用 Keras 库。图 2 展示了 Julia 在神经网络上的耗时。 +图 3 展示了 Python 的神经网络经过了若干次训练的耗时。 + +![Figure 3: Python takes 110.3 seconds in a neural network][4] + +这个结果展示了 Julia 和 Python 在处理神经网络时存在巨大的时间差异。 + +表 1 总结了此次实验的测试结果并计算了 Julia 和 Python 时间差异的百分比。 + +| Experiment | Julia (seconds) | Python(seconds) | Time difference (%) | +| :- | :- | :- | :- | +| Matrix multiplication (without library) | 0.000001 | 0.0015 | 99.9 | +| Matrix multiplication (with library) | 0.000017 | 0.0013 | 98.69 | +| Linear search (using loop ) | 0.42 | 16.4 | 97.43 | +| Linear search (using IN operator) | 0.43 | 6.2 | 93.06 | +| Linear regression | 0.000718 | 0.00718 | 90 | +| Logistic regression | 0.025 | 0.34901 | 92.83 | +| Neural networks | 5.76 | 110.3 | 94.77 | + +我们进行的所有实验都表明,随着程序复杂性以及数据集大小的增加,Julia 和 Python 之间的执行时间差异也会增加。由这个结果我们可以推断,Julia 是一门更适合机器学习和神经网络的编程语言。 + + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/julia-and-python-which-language-is-quicker/ + +作者:[B Thangaraju][a] +选题:[lkxed][b] +译者:[Return7g](https://github.com/Return7g) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/b-thangaraju/ +[b]: https://github.com/lkxed +[1]: https://github.com/mr-nerdster/Julia_Research.gitsee +[2]: https://www.opensourceforu.com/wp-content/uploads/2022/07/Figure-1-Example-of-MNIST-data-set.jpg +[3]: https://www.opensourceforu.com/wp-content/uploads/2022/07/Figure-2-Julia-takes-5.76-seconds-in-a-neural-network.jpg +[4]: https://www.opensourceforu.com/wp-content/uploads/2022/07/Figure-3-Python-takes-110.3-seconds-in-a-neural-network.jpg From 551750b42ad46d6fab6d2f0fe0447bdae625c8ef Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 30 Sep 2022 11:40:32 +0800 Subject: [PATCH 027/170] RP @geekpi https://linux.cn/article-15087-1.html --- ...Manage Linux Chroot Environments Easily.md | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) rename {translated/tech => published}/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md (76%) diff --git a/translated/tech/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md b/published/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md similarity index 76% rename from translated/tech/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md rename to published/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md index 1675bb14ed..0b9b9ce9b0 100644 --- a/translated/tech/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md +++ b/published/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md @@ -3,12 +3,15 @@ [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15087-1.html" Atoms 是一个可以让你轻松管理 Linux Chroot 环境的 GUI 工具 ====== + +![](https://img.linux.net.cn/data/attachment/album/202209/30/113748nxg0zps10q58q5wr.jpg) + chroot 环境为你在 Linux 中进行测试提供了隔离。你无需费心创建虚拟机。相反,如果你想测试应用或其他东西,请创建一个允许你选择不同根目录的 chroot 环境。 因此,使用 chroot,你可以在不让应用访问系统其余部分的情况下进行测试。你安装的任何应用或你尝试的任何东西都会被限制在该目录中,并且不会影响操作系统的功能。 @@ -25,7 +28,7 @@ Atoms 是一个 GUI 工具,它可以方便地创建和管理 Linux chroot 环 它还支持与 [Distrobox][2] 的集成。因此,你还可以使用 Atoms 管理容器。 -但是,开发人员提到该工具不提供与 Podman 的无缝集成,并解释其用途:“*它的目的只是允许用户在新环境中打开 shell,无论是 chroot 还是容器。”* +但是,开发人员提到,该工具不提供与 Podman 的无缝集成,并解释其用途:“*它的目的只是允许用户在新环境中打开 shell,无论是 chroot 还是容器。*” 如果你正在寻找这样的东西,你可能需要试试 [pods][3]。 @@ -37,23 +40,22 @@ Atoms 是一个简单的 GUI 程序,可让你为多个受支持的 Linux 发 让我重点介绍支持的发行版及其提供的功能: -* 浏览创建的 chroot(s) 文件。 -* 能够选择要暴露的挂载点。 +* 浏览创建的 chroot 文件。 +* 能够选择要露出的挂载点。 * 访问控制台。 * 支持的 Linux 发行版包括 Ubuntu、Alpine Linux、Fedora、Rocky Linux、Gentoo、AlmaLinux、OpenSUSE、Debian 和 CentOS。 -It is incredibly easy to use. Creating an atom from within the app is a one-click process. -它非常易于使用。从应用中创建 atom 只需一键。 +它非常易于使用。从该应用中创建一个 atom 只需一键。(LCTT 校注:该应用创建的每一个 chroot 环境称之为一个“atom”。) -你所要做的就是为 atom 命名,然后从可用选项列表中选择 Linux 发行版(Ubuntu 作为上面截图中的选择)。它会在几分钟内下载镜像并为你设置 chroot 环境,如下所示。 +你所要做的就是为该 atom 命名,然后从可用选项列表中选择 Linux 发行版(Ubuntu 作为上面截图中的选择)。它会在几分钟内下载镜像并为你设置 chroot 环境,如下所示。 ![atom config][5] -完成后,你可以访问选项启动控制台以管理 chroot 环境或自定义/删除它。 +完成后,你可以访问选项启动控制台以管理 chroot 环境,或自定义/删除它。 ![atoms option][6] -要访问控制台,请转到另一个选项卡菜单。非常无缝的体验,并且运行良好,至少对于我测试过的 Ubuntu 而言。 +要访问控制台,请转到另一个选项卡菜单。非常顺滑的体验,并且运行良好,至少对于我测试过的 Ubuntu 而言。 ![atoms console][7] @@ -73,7 +75,7 @@ It is incredibly easy to use. Creating an atom from within the app is a one-clic Linux 命令行功能强大,你几乎可以使用这些命令执行任何操作。但并不是每个人都对它感到满意,因此像 Atoms 这样的工具通过提供 GUI 使其更加方便。 -Atoms 并不是唯一的一种。还有 [Grub Customizer][12] 可以更轻松地更改 [Grub][13] 配置,这可以通过命令行完成。 +Atoms 并不是唯一的这类工具。还有 [Grub Customizer][12] 可以更轻松地更改本来通过通过命令行完成的 [Grub][13] 配置。 我相信还有更多这样的工具。 @@ -86,7 +88,7 @@ via: https://itsfoss.com/atoms-chroot-tool/ 作者:[Ankush Das][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 87fb00adfb4bad720d52da6da14ca3976383ae70 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 30 Sep 2022 12:21:01 +0800 Subject: [PATCH 028/170] RP @Veryzzj https://linux.cn/article-15088-1.html --- ...How I prioritize tasks on my to-do list.md | 68 +++++++++++++++++++ ...How I prioritize tasks on my to-do list.md | 67 ------------------ 2 files changed, 68 insertions(+), 67 deletions(-) create mode 100644 published/20210114 How I prioritize tasks on my to-do list.md delete mode 100644 translated/tech/20210114 How I prioritize tasks on my to-do list.md diff --git a/published/20210114 How I prioritize tasks on my to-do list.md b/published/20210114 How I prioritize tasks on my to-do list.md new file mode 100644 index 0000000000..c80297c1f3 --- /dev/null +++ b/published/20210114 How I prioritize tasks on my to-do list.md @@ -0,0 +1,68 @@ +[#]: collector: "lujun9972" +[#]: translator: "Veryzzj" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15088-1.html" +[#]: subject: "How I prioritize tasks on my to-do list" +[#]: via: "https://opensource.com/article/21/1/prioritize-tasks" +[#]: author: "Kevin Sonney https://opensource.com/users/ksonney" + +如何确定待办事项上任务的优先级 +====== + +> 使用艾森豪威尔矩阵更好地安排你的待办事项的优先次序。 + +![](https://img.linux.net.cn/data/attachment/album/202209/30/121930xx0jnngx0oa8jl88.jpg) + +在本文中,将研究一种在待办事项上确定任务优先级的策略。想要找到适合你日常工作的开源工具,请查看 [此列表][2]。 + +把事情添加到任务或待办事项中很容易。几乎太容易了。而一旦列入清单,挑战就变成了弄清楚先做什么。我们要做清单首位的事情吗?清单首位的事情是最重要的吗?如何弄清楚最重要的事是什么? + +![To-do list][3] + +*要做的事。今天?明天?谁知道呢?(Kevin Sonney, [CC BY-SA 4.0][4])* + +[与电子邮件一样][5],我们可以根据一些事情来确定任务的优先级,这可以让我们弄清楚什么事情需要先做,什么可以等到以后再做。 + +我使用一种被称为“艾森豪威尔矩阵Eisenhower Matrix” 的方法,它取自美国总统 德怀特·戴维·艾森豪威尔Dwight D. Eisenhower 的一句话。画一个水平和垂直分割的方框。在列上标明“紧急”和“不紧急”,在行上标明“重要”和“不重要”。 + +![Eisenhower matrix][6] + +*一个艾森豪威尔矩阵。(Kevin Sonney, [CC BY-SA 4.0][4])* + +你可以把待办事项上的任务放在其中一个框里。但如何知道一个任务应该放在哪里?紧迫性和重要性往往是主观的。因此,第一步就是决定什么对你来说是重要的。我的家庭(包括宠物)、工作和爱好都很重要。如果待办事项上的东西与这三件事无关,我可以立即把它放到 “不重要” 行。 + +紧迫性是一个比较简单的问题。一件事需要在今天或明天完成吗?那么它可能是 “紧急的”。一件事是否有一个即将到来的最后期限,但离那个时间还有几天/几周/几个月,或者它根本就没有最后期限?当然是 “不急的”。 + +现在我们可以将这些框转化为优先级。“紧急/重要” 是最高优先级(即第一优先级),需要首先完成。接下来是 “不紧急/重要”(优先级 2),然后是 “紧急/不重要”(优先级 3),最后是 “不紧急/不重要”(优先级 4 或根本没有优先级)。 + +请注意,“紧急/不重要” 是第三位,而不是第二位。这是因为,人们花了很多时间在那些看似重要的事情上,只是因为它们比较紧急,实际上这些事并不是重要的。当我看到这类事项时,我会问自己一些问题。这些任务需要我具体完成吗?这些任务我可以要求其他人去做吗?它们对其他人来说是否重要和紧急?而这是否改变了它们对我的重要性?也许它们需要重新分类,或者我可以要求别人完成,并将它们从我的清单中删除。 + +![After prioritizing][7] + +*确定优先级后。(Kevin Sonney, [CC BY-SA 4.0][4])* + +对于“不紧急/不重要”框中的事项,有一个问题要问,那就是 “这些事情到底需不需要放在我的清单上?”说实话,我们经常用那些不紧急或不重要的事情来填满待办事项清单,但其实完全可以将它们从清单上删除。我知道承认 “这事永远不会完成” 是很难的,但在接受这个事实后,把这个事情从清单上删除并且不用再为它担心,是一种解脱。 + +经过这一切,看着清单很容易说出:“这是我现在需要做的事情。” 然后完成它。这就是待办事项的作用:为一天提供指导和重点。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/1/prioritize-tasks + +作者:[Kevin Sonney][a] +选题:[lujun9972][b] +译者:[Veryzzj](https://github.com/Veryzzj) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/ksonney +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/todo_checklist_team_metrics_report.png?itok=oB5uQbzf "Team checklist and to dos" +[2]: https://opensource.com/article/20/5/alternatives-list +[3]: https://opensource.com/sites/default/files/pictures/to-do-list.png "To-do list" +[4]: https://creativecommons.org/licenses/by-sa/4.0/ +[5]: https://opensource.com/article/21/1/email-rules +[6]: https://opensource.com/sites/default/files/pictures/eisenhower-matrix.png "Eisenhower matrix" +[7]: https://opensource.com/sites/default/files/pictures/after-prioritizing.png "After prioritizing" diff --git a/translated/tech/20210114 How I prioritize tasks on my to-do list.md b/translated/tech/20210114 How I prioritize tasks on my to-do list.md deleted file mode 100644 index c3623aa81d..0000000000 --- a/translated/tech/20210114 How I prioritize tasks on my to-do list.md +++ /dev/null @@ -1,67 +0,0 @@ -[#]: collector: "lujun9972" -[#]: translator: "Veryzzj" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " -[#]: subject: "How I prioritize tasks on my to-do list" -[#]: via: "https://opensource.com/article/21/1/prioritize-tasks" -[#]: author: "Kevin Sonney https://opensource.com/users/ksonney" - -如何确定待办事项上任务的优先级 -====== - -使用艾森豪威尔矩阵更好地安排你的待办事项的优先次序。 -![Team checklist and to dos][1] - - 在前几年,这个年度系列涵盖了单个应用程序。今年,除了策略之外,我们还将着眼于一体式解决方案,以在2021提供帮助。欢迎来到2021年“21天生产力”活动的第4天。在本文中,将研究一种在待办事项上确定任务优先级的策略。想要找到适合你日常工作的开源工具,请查看[此列表][2]。 - -把事情添加到任务或待办事项中很容易。几乎太容易了。而一旦列入清单,挑战就变成了弄清楚先做什么。我们要做清单首位的事情吗?清单首位的事情是最重要的吗?如何弄清楚最重要的事是什么? - -![To-do list][3] - -要做的事。今天?明天?谁知道呢?(Kevin Sonney, [CC BY-SA 4.0][4]) - -[与电子邮件一样][5],我们可以根据一些事情来确定任务的优先级,这可以让我们弄清楚什么事情需要先做,什么可以等到以后再做。 - -我使用一种被称为_艾森豪威尔矩阵_ 的方法,它取自美国总统 Dwight D. Eisenhower 的一句话。画一个水平和垂直分割的方框。在列上标明“紧急”和“不紧急”,在行上标明“重要”和“不重要”。 - -![Eisenhower matrix][6] - - 一个艾森豪威尔矩阵。(Kevin Sonney, [CC BY-SA 4.0][4]) - -你可以把待办事项上的任务放在其中一个框里。但如何知道一个任务应该放在哪里?紧迫性和重要性往往是主观的。因此,第一步就是决定什么对你来说是重要的。我的家庭(包括宠物)、工作和爱好都很重要。如果待办事项上的东西与这三件事无关,我可以立即把它放到 “不重要”行。 - -紧迫性是一个比较简单的问题。一件事需要在今天或明天完成吗?那么它可能是“紧急的”。一件事是否有一个即将到来的最后期限,但离那个时间还有几天/几周/几个月,或者它根本就没有最后期限?当然是“不急的”。 - -现在我们可以将这些框转化为优先级。“紧急/重要”是最高优先级(即第一优先级),需要首先完成。接下来是“不紧急/重要”(优先级2),然后是“紧急/不重要”(优先级3),最后是“不紧急/不重要”(优先级4或根本没有优先级)。 - -请注意,"紧急/不重要 "是第三位,而不是第二位。这是因为,人们花了很多时间在那些看似重要的事情上,只是因为它们比较紧急,实际上这些事并不是重要的。当我看到这类事项时,我会问自己一些问题。 这些任务需要我具体完成吗?这些任务我可以要求其他人去做吗?它们对其他人来说是否重要和紧急?而这是否改变了它们对我的重要性?也许它们需要重新分类,或者我可以要求别人完成,并将它们从我的清单中删除。 - -![After prioritizing][7] - -确定优先级后。 (Kevin Sonney, [CC BY-SA 4.0][4]) - -对于”不紧急/不重要“框中的事项,有一个问题要问,那就是“这些事情到底需不需要放在我的清单上?”说实话,我们经常用那些不紧急或不重要的事情来填满待办事项清单,但其实完全可以将它们从清单上删除。我知道承认“这事永远不会完成”是很难的,但在接受这个事实后,把这个事情从清单上删除并且不用再为它担心,是一种解脱。 - -经过这一切,看着清单很容易说出:“这是我现在需要做的事情。“然后完成它。这就是待办事项的作用:为一天提供指导和重点。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/1/prioritize-tasks - -作者:[Kevin Sonney][a] -选题:[lujun9972][b] -译者:[Veryzzj](https://github.com/Veryzzj) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/ksonney -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/todo_checklist_team_metrics_report.png?itok=oB5uQbzf "Team checklist and to dos" -[2]: https://opensource.com/article/20/5/alternatives-list -[3]: https://opensource.com/sites/default/files/pictures/to-do-list.png "To-do list" -[4]: https://creativecommons.org/licenses/by-sa/4.0/ -[5]: https://opensource.com/article/21/1/email-rules -[6]: https://opensource.com/sites/default/files/pictures/eisenhower-matrix.png "Eisenhower matrix" -[7]: https://opensource.com/sites/default/files/pictures/after-prioritizing.png "After prioritizing" From 45848c0a9b35d6493a3a9fc2346ae6067c4c94df Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 30 Sep 2022 12:45:08 +0800 Subject: [PATCH 029/170] RP @Donkey-Hao https://linux.cn/article-15089-1.html --- ...imple Steps to Clean Your Ubuntu System.md | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) rename {translated/tech => published}/20220922 4 Simple Steps to Clean Your Ubuntu System.md (78%) diff --git a/translated/tech/20220922 4 Simple Steps to Clean Your Ubuntu System.md b/published/20220922 4 Simple Steps to Clean Your Ubuntu System.md similarity index 78% rename from translated/tech/20220922 4 Simple Steps to Clean Your Ubuntu System.md rename to published/20220922 4 Simple Steps to Clean Your Ubuntu System.md index be5713d8fc..0374034a6c 100644 --- a/translated/tech/20220922 4 Simple Steps to Clean Your Ubuntu System.md +++ b/published/20220922 4 Simple Steps to Clean Your Ubuntu System.md @@ -3,14 +3,16 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "Donkey-Hao" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15089-1.html" 清理 Ubuntu 系统的 4 个简单步骤 ====== -现在,试试看这 4 个简单的步骤,来清理你的 Ubuntu 系统吧。 +![](https://img.linux.net.cn/data/attachment/album/202209/30/123825r2vri1kv0rc2f7xh.jpg) + +> 现在,试试看这 4 个简单的步骤,来清理你的 Ubuntu 系统吧。 这份精简指南将告诉你如何清理 Ubuntu 系统以及如何释放一些磁盘空间。 @@ -20,9 +22,9 @@ ### 清理 Ubuntu 系统的步骤 -#### 1. 清理 Apt 缓存 +#### 1、清理 Apt 缓存 -Apt 缓存(apt cache)是 Ubuntu 系统保存你下载过的所有文件的地方,以供你之后可以查看它。大多数用户不会去清理 Apt 缓存,而它却可能会占用数百兆字节。 +Apt 缓存是 Ubuntu 系统保存你下载过的所有文件的地方,以供你之后可以查看它。大多数用户不会去清理 Apt 缓存,而它却可能会占用数百兆字节。 打开终端,并运行以下命令,可以得到你的 Apt 缓存有多少: @@ -38,9 +40,9 @@ du -sh /var/cache/apt/archives sudo apt-get clean ``` -#### 2. 删除无用的内核 +#### 2、删除无用的内核 -如果你已经运行 Ubuntu 系统超过了一年,那么你安装多个内核的可能性很高。如果你的硬件是最新的,并且与 Linux 兼容而没有太多配置,你可以删除旧的内核,保留最新的内核。 +如果你已经运行 Ubuntu 系统超过了一年,那么你很可能安装多个内核。如果你的硬件是最新的,并且与 Linux 兼容而没有太多配置,你可以删除旧的内核,保留最新的内核。 在终端运行以下命令来删除旧的内核: @@ -50,7 +52,7 @@ sudo apt-get autoremove --purge ![Autoremove Purge][2] -#### 3. 删除旧的应用程序和软件包 +#### 3、删除旧的应用程序和软件包 如果你是一个喜欢尝试 Linux 应用程序的人,那么你的系统中肯定有一些不再需要的没用的应用程序。 @@ -77,12 +79,12 @@ zgrep " install " /var/log/dpkg.log.2.gz 你可以运行以下命令来删除应用程序和软件包: ``` -sudo apt remove app1 package1 +sudo apt remove app1 package1 ``` -#### 4. 使用系统清理应用 +#### 4、使用系统清理应用 -有大量免费和原生系统 [清理应用][4] 可以使用。但是,我认为 [BleachBit][5] 是清理系统最好的一个应用,因为它经久不衰。 +有大量免费和原生的系统 [清理应用][4] 可以使用。但是,我认为 [BleachBit][5] 是清理系统最好的一个应用,因为它经久不衰。 使用以下命令安装 BleachBit 或通过应用商店安装。 @@ -94,11 +96,11 @@ sudo apt install bleachbit ![][6] -### 额外提示 +### 附送技巧 #### 清理 Flatpak 软件包 -Flatpak 这一应用程序和运行时(runtime)会占用大量磁盘空间。因为在设计上,Flatpak 的可执行文件结合了运行时。尽管运行时可以在相关应用程序之间共享,但许多未使用的剩余运行时可能会占用你的磁盘空间。 +Flatpak 应用程序和运行时runtime会占用大量磁盘空间。因为在设计上,Flatpak 的可执行文件结合了运行时。尽管运行时可以在相关应用程序之间共享,但许多未使用的剩余运行时可能会占用你的磁盘空间。 删除一些未使用的 Flatpak 包最直接的方法是下面的命令。在终端运行这一命令。 @@ -106,7 +108,7 @@ Flatpak 这一应用程序和运行时(runtime)会占用大量磁盘空间。因 flatpak uninstall --unused ``` -可以参考 [这篇文章][7] 了解有关 Flatpak 包的更多信息。 +可以参考 [这篇文章][7] 了解有关 Flatpak 包的更多信息。 #### 清理未使用的 Snap 项目 @@ -130,7 +132,7 @@ snap list --all | awk '/disabled/{print $1, $3}' | 可以参考 [这篇文章][8] 了解有关清理 Snap 包的更多信息。 -#### 额外提示 +#### 更多技巧 你还可以使用以下命令来手动搜索大文件。 @@ -143,13 +145,13 @@ find /home -type f -exec du -h {} + | sort -hr | head -20 ![Find Large files in Linux][9] ### 总结 + 这样就完成了。如果你按照上述步骤操作,你一定能够释放 Ubuntu 系统中的一些空间,现在你的系统有剩余空间了。你可以按照这些措施来清理 Ubuntu 系统。不要忘记使用最新的软件包,使你的系统保持到最新。 🗨️ 如果你认为使用上述的技巧可以释放一些磁盘空间,并使得你的 Ubuntu 更快了,请在下方评论区留言。你通常又是使用什么命令来清理你的 Ubuntu 系统? 快留言告诉我吧。 - -------------------------------------------------------------------------------- via: https://www.debugpoint.com/4-simple-steps-clean-ubuntu-system-linux/ @@ -157,7 +159,7 @@ via: https://www.debugpoint.com/4-simple-steps-clean-ubuntu-system-linux/ 作者:[Arindam][a] 选题:[lkxed][b] 译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 7679f1059ff00aad546dd3ce5c031983a32604af Mon Sep 17 00:00:00 2001 From: vvvbbbcz Date: Fri, 30 Sep 2022 20:34:51 +0800 Subject: [PATCH 030/170] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=EF=BC=9A20220920=20Loongson=20is=20Getting=20Ready=20for=20Loo?= =?UTF-8?q?ngArch=20Linux=20Laptops.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...920 Loongson is Getting Ready for LoongArch Linux Laptops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md b/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md index 2b47754d51..c9ff7f236d 100644 --- a/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md +++ b/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/loongson-loongarch-linux-laptops/" [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "vvvbbbcz" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From b52650a11fa511a6ace9b7338aa1a5595f3c0e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=BC=80=E7=AE=B1?= Date: Fri, 30 Sep 2022 20:58:01 +0800 Subject: [PATCH 031/170] =?UTF-8?q?Revert=20"=E7=BF=BB=E8=AF=91=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=EF=BC=9A20220920=20Loongson=20is=20Getting=20Ready=20?= =?UTF-8?q?for=20LoongArch=20Linux=20Laptops.md"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...920 Loongson is Getting Ready for LoongArch Linux Laptops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md b/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md index c9ff7f236d..2b47754d51 100644 --- a/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md +++ b/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/loongson-loongarch-linux-laptops/" [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: "vvvbbbcz" +[#]: translator: " " [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From b9b6433c8b016b4a39fff2a1986d3cc1977b80e0 Mon Sep 17 00:00:00 2001 From: vvvbbbcz Date: Fri, 30 Sep 2022 21:08:48 +0800 Subject: [PATCH 032/170] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=EF=BC=9A20220927=20Attacks=20On=20Open=20Source=20Software=20A?= =?UTF-8?q?re=20On=20The=20Rise.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20220927 Attacks On Open Source Software Are On The Rise.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20220927 Attacks On Open Source Software Are On The Rise.md b/sources/news/20220927 Attacks On Open Source Software Are On The Rise.md index d9af2d0004..4ce2c8250b 100644 --- a/sources/news/20220927 Attacks On Open Source Software Are On The Rise.md +++ b/sources/news/20220927 Attacks On Open Source Software Are On The Rise.md @@ -2,7 +2,7 @@ [#]: via: "https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/" [#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "vvvbbbcz" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f06d6935848eabf95a9ec84a159202551304902b Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Fri, 30 Sep 2022 22:00:25 +0800 Subject: [PATCH 033/170] =?UTF-8?q?littlebirdnest=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..., Gains Additional Users Thanks To Adobe-s Figma Purchase.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md b/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md index 07ae056f3b..e18c234a4f 100644 --- a/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md +++ b/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md @@ -2,7 +2,7 @@ [#]: via: "https://www.opensourceforu.com/2022/09/penpot-gains-additional-users-thanks-to-adobes-figma-purchase/" [#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "littlebirdnest" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 3e7476abedf0fdc49dd78ec3f4354bae12bd1a0a Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Fri, 30 Sep 2022 23:15:43 +0800 Subject: [PATCH 034/170] =?UTF-8?q?littlebirdnest=20=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...l Users Thanks To Adobe-s Figma Purchase.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md b/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md index e18c234a4f..49b365313a 100644 --- a/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md +++ b/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md @@ -7,23 +7,23 @@ [#]: publisher: " " [#]: url: " " -Penpot, Gains Additional Users Thanks To Adobe’s Figma Purchase +由于 Adobe 购买 Figma,Penpot 获得了更多用户 ====== -*Two weeks after Adobe’s agreement to purchase Figma for $20 billion, Kaleidos, the company behind open source design program Penpot, said that it had raised $8 million in fresh funding.* +在 Adobe 同意以 200 亿美元收购 Figma 两周后,开源设计项目 Penpot 背后的公司 Kaleidos 表示已筹集到 800 万美元的新资金。 -13 days have passed since Adobe revealed its intention to invest $20 billion in Figma, the company behind well-known design tools. Penpot, an open-source substitute, has experienced a boom in activity at that time. Penpot now has additional funding to support that expansion. The development of Penpot’s collaborative design software will continue thanks to $8 million in funding, according to parent company Kaleidos on Tuesday. The business said that once Adobe agreed to purchase Figma, sign-ups increased by 5,600% in a single day. +自 Adobe 透露打算向著名设计工具背后的公司 Figma 投资 200 亿美元以来,已经过去了 13 天。Penpot 是一种开源替代品,当时经历了活动的繁荣。Penpot 现在有额外的资金来支持这种扩张。据母公司 Kaleidos 周二称,得益于 800 万美元的资金,Penpot 的协作设计软件的开发将继续进行。该公司表示,一旦 Adobe 同意购买 Figma,注册用户在一天内就增加了 5600%。 -To support the increasing volume of activity, Penpot enhanced the hosting web app’s infrastructure over the weekend. According to the company, on-premises deployments increased by 400%, and the number of starts on the GitHub repository hosting Penpot’s open-source code resulted in the popular hockey-stick chart in Silicon Valley. The investment round was led by Decibel, which has Cisco’s support, and included Athos Capital, an established investor. According to Jon Sakoda, a founding partner of Decibel, the timing may appear particularly pertinent, but it is merely coincidental because the agreement was reached in mid-August, weeks before interest spiked. +为了支持不断增加的活动量,Penpot 在周末增强了托管 Web 应用程序的基础设施。据该公司称,本地部署增加了 400%,托管 Penpot 开源代码的 GitHub 存储库的启动次数导致了硅谷流行的曲棍球棒图。 本轮投资由思科支持的 Decibel 牵头,投资方 Athos Capital 也参与其中。分贝创始合伙人乔恩·萨科达 (Jon Sakoda) 表示,这个时机可能看起来特别恰当,但这只是巧合,因为该协议是在 8 月中旬达成的,但是大家兴趣飙升就是就几周之后了。 -In a statement to CNBC, Adobe stated that, combined with Figma, the company will “make collaborative creativity easier and frictionless and empower millions of users to be more creative and productive” and that it “will accelerate Figma’s innovation roadmap and provide access to an even broader universe of customers.” +Adobe 在给 CNBC 的一份声明中表示,与 Figma 相结合,该公司将“让协作创意更轻松、更顺畅,并让数百万用户更有创造力和生产力”,并且“将加速 Figma 的创新路线图并提供访问更广泛的客户群。 -Penpot still lacks a viable enterprise. Designers can currently use the hosted version of Penpot’s open source software or download it for free. But Ruiz-Mzquiz is not the only person who sees the Adobe-Figma partnership as a significant possibility. More than 400 people gave their support to a post on the Figma discussion Reddit board headlined “Upvote if you desire to see Adobe Figma deal fall through.” Figma, but not owned by Adobe, was the suggestion made on Twitter by Daryl Ginn, the creator of the English design agency Rejiggle. +Penpot 仍然是很难存活的企业。 设计师目前可以使用 Penpot 开源软件的托管版本或免费下载。但 Ruiz-Mzquiz 并不是唯一一个将 Adobe-Figma 合作伙伴关系视为有特殊可能性的人。超过 400 人支持 Figma 讨论 Reddit 板上的帖子,标题为“如果您希望看到 Adobe Figma 交易失败,请投票。” Figma 不属于 Adobe,是英国设计机构 Rejiggle 的创始人 Daryl Ginn 在 Twitter 上提出的建议。 -If the acquisition goes through as expected in 2023, Dylan Field, co-founder and CEO of Figma, will continue to lead the company, according to Adobe. That doesn’t allay the fears of some sceptics. Chisaokwu Joboson, a Nigerian brand designer, received over 3,000 likes on Twitter for a post that seemed to suggest that, under Adobe’s leadership, Figma’s simplicity of storing files would end and that it would instead begin to operate more like a powerful desktop application that required manual saving. +Adobe 表示,如果收购在 2023 年按预期进行,Figma 的联合创始人兼首席执行官 Dylan Field 将继续领导该公司。这并不能减轻一些怀疑论者的恐惧。尼日利亚品牌设计师 Chisaokwu Joboson 在 Twitter 上收到了超过 3,000 个赞,他的一篇帖子似乎表明,在 Adobe 的领导下,Figma 存储文件的简单性将结束,它将开始更像是一个强大的桌面应用程序,需要手动保存。 -The anticipated merger has not been opposed by everyone. For instance, the Dutch designer Fons Mans stated on Twitter that it would be “a dream” to be able to use Figma while also being able to “manipulate your photos” in Photoshop and other programs. +预期中的合并并未遭到所有人的反对。例如,荷兰设计师 Fons Mans 在 Twitter 上表示,能够使用 Figma 同时还能够在 Photoshop 和其他程序中“处理你的照片”将是“一个梦想”。 -Figma has attracted some designers away from Adobe’s Creative Cloud tools at first thanks to features like straightforward sharing and collaborative editing. Although it is advertised as a rival, Adobe’s Creative Cloud program XD was reportedly only making $15 million in yearly recurring income after seven years. In a discussion on Twitter Spaces, product chief Scott Belsky stated that Adobe is dedicated to helping users of XD. However, Ruiz-Mzquiz claimed that the timing of the sale was ideal for the development of his town. +由于直接共享和协作编辑等功能,Figma 最初吸引了一些设计师远离 Adobe 的 Creative Cloud 工具。尽管它被宣传为竞争对手,但据报道,Adobe 的 Creative Cloud 程序 XD 在七年后每年仅赚取 1500 万美元的经常性收入。 在 Twitter Spaces 的讨论中,产品主管 Scott Belsky 表示 Adobe 致力于帮助 XD 的用户。然而,Ruiz-Mzquiz 声称出售的时机非常有利于他的老东家的发展。 -------------------------------------------------------------------------------- From f4bc27b4923d64fdaa73011f6787a5e0765a887a Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Fri, 30 Sep 2022 23:17:55 +0800 Subject: [PATCH 035/170] =?UTF-8?q?littlebirdnest=20=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md (100%) diff --git a/sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md b/translated/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md similarity index 100% rename from sources/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md rename to translated/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md From 91cce99a214f5948a9e7201632b6a0b0345e7630 Mon Sep 17 00:00:00 2001 From: vvvbbbcz Date: Sat, 1 Oct 2022 11:53:15 +0800 Subject: [PATCH 036/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7][?= =?UTF-8?q?tech]:=2020220923=2011=20Gorgeous=20KDE=20Plasma=20Themes=20to?= =?UTF-8?q?=20Make=20Your=20Linux=20Desktop=20Even=20More=20Beautiful.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sma Themes to Make Your Linux Desktop Even More Beautiful.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md b/sources/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md index 69fa316ee5..4d7e8a914f 100644 --- a/sources/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md +++ b/sources/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/best-kde-plasma-themes/" [#]: author: "sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "vvvbbbcz" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 0a81d49bd88c31fb322b5bd411d5b1027854a2f1 Mon Sep 17 00:00:00 2001 From: vvvbbbcz Date: Sat, 1 Oct 2022 12:03:52 +0800 Subject: [PATCH 037/170] =?UTF-8?q?[=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91][?= =?UTF-8?q?news]:=2020220927=20Attacks=20On=20Open=20Source=20Software=20A?= =?UTF-8?q?re=20On=20The=20Rise.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...On Open Source Software Are On The Rise.md | 36 ------------------- ...On Open Source Software Are On The Rise.md | 36 +++++++++++++++++++ 2 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 sources/news/20220927 Attacks On Open Source Software Are On The Rise.md create mode 100644 translated/news/20220927 Attacks On Open Source Software Are On The Rise.md diff --git a/sources/news/20220927 Attacks On Open Source Software Are On The Rise.md b/sources/news/20220927 Attacks On Open Source Software Are On The Rise.md deleted file mode 100644 index 4ce2c8250b..0000000000 --- a/sources/news/20220927 Attacks On Open Source Software Are On The Rise.md +++ /dev/null @@ -1,36 +0,0 @@ -[#]: subject: "Attacks On Open Source Software Are On The Rise" -[#]: via: "https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: "vvvbbbcz" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Attacks On Open Source Software Are On The Rise -====== -*Attacks on open source repositories are becoming more frequent.* - -According to recent research, cybercriminals are profiting from the fact that more businesses are using open source code repositories to develop their software solutions. According to a recent research from software supply chain management service provider Sonatype, the frequency of infected packages, typosquatting assaults on such platforms, and similar hacks has increased dramatically over the past three years. - -The organisation discovered about 95,000 harmful packages over the course of the last three years and over 55,000 dangerous packages that were only recently published by employing their repository Firewall. By then, it had increased by an average of 700% in 36 months. - -The business claims that it continuously finds and blocks harmful packages as well as potentially vulnerable components by fusing behavioural analysis with automated policy enforcement. Additionally, it employs AI to assess each piece of freshly published open source software to see if it poses any security risks. It asserts that manual analysis has become nearly impossible as a result of the significant increase in open source. - -Furthermore, it is irrelevant whether the business includes the malicious component in the finished product or not. The corporation claims that if it is downloaded on their endpoints(opens in new tab), it is already too late. - -“The volume, frequency, severity, and sophistication of malicious cyberattacks continue to increase. Organizations can’t–and shouldn’t–avoid the use of open source(opens in new tab) just to protect themselves,” Fox added. “But they can use preventative tools–such as the Sonatype Firewall–to keep developers on track and software supply chains secure.” - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed diff --git a/translated/news/20220927 Attacks On Open Source Software Are On The Rise.md b/translated/news/20220927 Attacks On Open Source Software Are On The Rise.md new file mode 100644 index 0000000000..743928fc33 --- /dev/null +++ b/translated/news/20220927 Attacks On Open Source Software Are On The Rise.md @@ -0,0 +1,36 @@ +[#]: subject: "Attacks On Open Source Software Are On The Rise" +[#]: via: "https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "vvvbbbcz" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +对开源软件的攻击呈上升趋势 +====== +*对开源仓库的攻击越来越频繁了。* + +根据近日的研究,网络犯罪分子正利用一个事实获利,即越来越多的企业使用开源代码仓库来开发他们的软件及解决方案这个事实。而在最近,根据一个软件供应链管理服务提供商 Sonatype 所做的研究表明,在最近三年里,受感染的软件包、以及对这些软件平台的仿冒攻击和类似的黑客攻击的频率大幅增加。 + +该企业在过去三年中发现了大约 95000 个有害软件包,以及超过 55000 个最近才使用他们的存储库防火墙公布的危险软件包。届时,这个数字在三年内平均增长了 700%。 + +该企业称,他们的存储库防火墙将通过融合行为分析和自动策略执行的方式,不断发现并阻止有害软件包及潜在的易受攻击的组件。此外,它还使用了 AI(人工智能Artificial Intelligence)对每个新发布的开源软件进行评估,看它是否会带来一些安全风险。而且该企业断言,由于开源代码的迅速增加,人工分析已变得几乎不可能。 + +然而,这与该企业是否在它的最终产品中包含受感染的恶意组件无关。该公司声称,如果那些恶意组件已经被下载到他们的终端上,就已经太晚了。 + +“攻击的数量、频率、严重性和复杂性还在增长。但企业不能,也不应该仅为保护自身而避免使用开源代码。” Fox 补充说:“但他们可以使用预防性的工具,例如 Sonatype 防火墙来保证开发人员的工作进度和软件供应链的安全。” + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[自由的铁矿](https://github.com/vvvbbbcz) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed From bce0de7824eaeb66a1fba428c219cfeef0849729 Mon Sep 17 00:00:00 2001 From: lkxed Date: Sat, 1 Oct 2022 12:28:03 +0800 Subject: [PATCH 038/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020220930=20Red=20Hat=20Rolls=20Out=20OpenStack=20Platf?= =?UTF-8?q?orm=2017.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Red Hat Rolls Out OpenStack Platform 17.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 sources/news/20220930 Red Hat Rolls Out OpenStack Platform 17.md diff --git a/sources/news/20220930 Red Hat Rolls Out OpenStack Platform 17.md b/sources/news/20220930 Red Hat Rolls Out OpenStack Platform 17.md new file mode 100644 index 0000000000..af0e1bd145 --- /dev/null +++ b/sources/news/20220930 Red Hat Rolls Out OpenStack Platform 17.md @@ -0,0 +1,36 @@ +[#]: subject: "Red Hat Rolls Out OpenStack Platform 17" +[#]: via: "https://www.opensourceforu.com/2022/09/red-hat-rolls-out-openstack-platform-17/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Red Hat Rolls Out OpenStack Platform 17 +====== +*Simple dependence on it by telecom behemoths like Verizon is the sole reason Red Hat keeps supporting the open source OpenStack cloud.* + +OpenStack, an open source Infrastructure-as-a-Service (IaaS) cloud, is still seen by some as being obsolete. They are utterly mistaken. OpenStack is the most widely used open-source cloud, according to Statista. The fact that OpenStack is the lifeblood of the telecom industry, including Verizon cellular and 5G networks, is even more significant for Red Hat. So it should come as no surprise that Red Hat highlighted the relationship between OpenStack and telecom while announcing Red Hat OpenStack Platform (RHOP) 17 on Wednesday at Mobile World Congress in Las Vegas. + +Red Hat also made a point of emphasising how closely it is collaborating with its Kubernetes-based OpenShift release with this release. Some people believe that OpenStack and Kubernetes are competitors. They aren’t. Red Hat is demonstrating how they may cooperate to benefit from both virtual machines and containers. + +“We have found over the last couple of years that the conversation is not a religious dispute between the two platforms but rather where their workloads are served best.” said Maria Bracho, lead product manager for OpenStack. Therefore, a virtualized control plane that uses OpenShift is now supported by OpenStack version 17. This makes it possible for customers to run virtual machines (VMs) and Kubernetes-based cloud-native services on the same cloud. + +Dynamic resource allocation is another feature of the revised OpenStack 17 that supports “lighter” deployments. These are deployments that don’t need as many services, such edge computing. + +The new RHOP will primarily appeal to the telecom industry, but it is still a reliable platform for other use cases. These consist of edge deployments, private clouds, and public clouds. Anyone who prefers to manage their own cloud over entrusting their services to a hypercloud provider like Amazon Web Services, Azure, or Google Cloud should give RHOP some thought. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/red-hat-rolls-out-openstack-platform-17/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed From ca885351e3cedb85be63eb8449f31d3b152b1bff Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 1 Oct 2022 12:32:44 +0800 Subject: [PATCH 039/170] RP @littlebirdnest https://linux.cn/article-15091-1.html --- ... Users Thanks To Adobe-s Figma Purchase.md | 43 +++++++++++++++++++ ... Users Thanks To Adobe-s Figma Purchase.md | 40 ----------------- 2 files changed, 43 insertions(+), 40 deletions(-) create mode 100644 published/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md delete mode 100644 translated/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md diff --git a/published/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md b/published/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md new file mode 100644 index 0000000000..f573d4c6f8 --- /dev/null +++ b/published/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md @@ -0,0 +1,43 @@ +[#]: subject: "Penpot, Gains Additional Users Thanks To Adobe’s Figma Purchase" +[#]: via: "https://www.opensourceforu.com/2022/09/penpot-gains-additional-users-thanks-to-adobes-figma-purchase/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15091-1.html" + +由于 Adobe 收购了 Figma,Penpot 获得了更多用户 +====== + +![](https://img.linux.net.cn/data/attachment/album/202210/01/123134pkwwwnakfpsds7p6.jpg) + +> 在 Adobe 同意以 200 亿美元收购 Figma 两周后,开源设计项目 Penpot 背后的公司 Kaleidos 表示已筹集到 800 万美元的新资金。 + +自 Adobe 透露打算向著名设计工具背后的公司 Figma 投资 200 亿美元以来,已经过去了 13 天。Penpot 是个开源替代品,当时有过一段繁荣。Penpot 现在有额外的资金来支持这种扩张。据其母公司 Kaleidos 周二称,得益于 800 万美元的资金,Penpot 的协作设计软件的开发将继续进行。该公司表示,当 Adobe 同意购买 Figma 后,其注册用户在一天内就增加了 5600%。 + +为了支持不断增加的访问量,Penpot 在周末增强了托管 Web 应用程序的基础设施。据该公司称,本地部署量增加了 400%,托管 Penpot 开源代码的 GitHub 存储库的星标数出现了硅谷流行的曲棍球棒图。本轮投资由思科支持的 Decibel 牵头,投资方 Athos Capital 也参与其中。Decibel 的创始合伙人 Jon Sakoda 表示,这个时机可能看起来特别恰当,但这只是巧合,因为该协议是在 8 月中旬达成的,在大家兴趣飙升的几周前。 + +Adobe 在给 CNBC 的一份声明中表示,与 Figma 相结合,该公司将“让协作创意更轻松、更顺畅,并让数百万用户更有创造力和生产力”,而且它“将加速 Figma 的创新路线图并提供访问更广泛的客户群”。 + +Penpot 仍然是很难存活的企业。设计师目前可以使用 Penpot 开源软件的托管版本或免费下载。但 Penpot CEO Ruiz-Múzquiz 并不是唯一一个将 Adobe-Figma 合作伙伴关系视为重要可能性的人。在 Reddit 的 Figma 讨论板上有个帖子,标题为“如果你希望看到 Adobe Figma 交易失败,请投票。”有 400 多人投了支持。让 Figma 不属于 Adobe,这是英国设计机构 Rejiggle 的创始人 Daryl Ginn 在 Twitter 上提出的建议。 + +Adobe 表示,如果收购在 2023 年按预期进行,Figma 的联合创始人兼 CEO Dylan Field 将继续领导该公司。这并不能减轻一些怀疑论者的恐惧。尼日利亚品牌设计师 Chisaokwu Joboson 在 Twitter 上的一篇的帖子收到了 3,000 多个赞,他的帖子似乎暗示,在 Adobe 的领导下,Figma 存储文件的简单性将结束,它将开始更像是一个强大的桌面应用程序,需要手动保存。 + +预期中的合并也不是所有人都反对。例如,荷兰设计师 Fons Mans 在 Twitter 上表示,能够使用 Figma 同时还能够在 Photoshop 和其他程序中“处理你的照片”将是“一个梦想”。 + +由于直接共享和协作编辑等功能,Figma 最初吸引了一些摆脱 Adobe Creative Cloud 工具的设计师。尽管其被宣传为竞争对手,但据报道,Adobe 的 Creative Cloud XD 在七年后每年的经常性收入仅 1500 万美元。在 Twitter Spaces 的讨论中,产品主管 Scott Belsky 表示 Adobe 致力于帮助 XD 的用户。然而,Ruiz-Múzquiz 声称,出售的时机非常有利于他的公司的发展。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/penpot-gains-additional-users-thanks-to-adobes-figma-purchase/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed diff --git a/translated/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md b/translated/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md deleted file mode 100644 index 49b365313a..0000000000 --- a/translated/news/20220928 Penpot, Gains Additional Users Thanks To Adobe-s Figma Purchase.md +++ /dev/null @@ -1,40 +0,0 @@ -[#]: subject: "Penpot, Gains Additional Users Thanks To Adobe’s Figma Purchase" -[#]: via: "https://www.opensourceforu.com/2022/09/penpot-gains-additional-users-thanks-to-adobes-figma-purchase/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: "littlebirdnest" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -由于 Adobe 购买 Figma,Penpot 获得了更多用户 -====== -在 Adobe 同意以 200 亿美元收购 Figma 两周后,开源设计项目 Penpot 背后的公司 Kaleidos 表示已筹集到 800 万美元的新资金。 - -自 Adobe 透露打算向著名设计工具背后的公司 Figma 投资 200 亿美元以来,已经过去了 13 天。Penpot 是一种开源替代品,当时经历了活动的繁荣。Penpot 现在有额外的资金来支持这种扩张。据母公司 Kaleidos 周二称,得益于 800 万美元的资金,Penpot 的协作设计软件的开发将继续进行。该公司表示,一旦 Adobe 同意购买 Figma,注册用户在一天内就增加了 5600%。 - -为了支持不断增加的活动量,Penpot 在周末增强了托管 Web 应用程序的基础设施。据该公司称,本地部署增加了 400%,托管 Penpot 开源代码的 GitHub 存储库的启动次数导致了硅谷流行的曲棍球棒图。 本轮投资由思科支持的 Decibel 牵头,投资方 Athos Capital 也参与其中。分贝创始合伙人乔恩·萨科达 (Jon Sakoda) 表示,这个时机可能看起来特别恰当,但这只是巧合,因为该协议是在 8 月中旬达成的,但是大家兴趣飙升就是就几周之后了。 - -Adobe 在给 CNBC 的一份声明中表示,与 Figma 相结合,该公司将“让协作创意更轻松、更顺畅,并让数百万用户更有创造力和生产力”,并且“将加速 Figma 的创新路线图并提供访问更广泛的客户群。 - -Penpot 仍然是很难存活的企业。 设计师目前可以使用 Penpot 开源软件的托管版本或免费下载。但 Ruiz-Mzquiz 并不是唯一一个将 Adobe-Figma 合作伙伴关系视为有特殊可能性的人。超过 400 人支持 Figma 讨论 Reddit 板上的帖子,标题为“如果您希望看到 Adobe Figma 交易失败,请投票。” Figma 不属于 Adobe,是英国设计机构 Rejiggle 的创始人 Daryl Ginn 在 Twitter 上提出的建议。 - -Adobe 表示,如果收购在 2023 年按预期进行,Figma 的联合创始人兼首席执行官 Dylan Field 将继续领导该公司。这并不能减轻一些怀疑论者的恐惧。尼日利亚品牌设计师 Chisaokwu Joboson 在 Twitter 上收到了超过 3,000 个赞,他的一篇帖子似乎表明,在 Adobe 的领导下,Figma 存储文件的简单性将结束,它将开始更像是一个强大的桌面应用程序,需要手动保存。 - -预期中的合并并未遭到所有人的反对。例如,荷兰设计师 Fons Mans 在 Twitter 上表示,能够使用 Figma 同时还能够在 Photoshop 和其他程序中“处理你的照片”将是“一个梦想”。 - -由于直接共享和协作编辑等功能,Figma 最初吸引了一些设计师远离 Adobe 的 Creative Cloud 工具。尽管它被宣传为竞争对手,但据报道,Adobe 的 Creative Cloud 程序 XD 在七年后每年仅赚取 1500 万美元的经常性收入。 在 Twitter Spaces 的讨论中,产品主管 Scott Belsky 表示 Adobe 致力于帮助 XD 的用户。然而,Ruiz-Mzquiz 声称出售的时机非常有利于他的老东家的发展。 - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/penpot-gains-additional-users-thanks-to-adobes-figma-purchase/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed From 0b78dd9335d41caedd92ce873cadbc4045decd1b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 1 Oct 2022 12:34:09 +0800 Subject: [PATCH 040/170] =?UTF-8?q?=E5=BD=92=E6=A1=A3=20202209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20 Facts About Linus Torvalds, the Creator of Linux and Git.md | 0 .../20210114 How I prioritize tasks on my to-do list.md | 0 .../20210115 How open source builds distributed trust.md | 0 .../20210305 5 useful Moodle plugins to engage students.md | 0 published/{ => 202209}/20210617 Why FreeDOS has 16 colors.md | 0 .../20211203 Introduce the different Fedora Linux editions.md | 0 ...20505 Boost the power of C with these open source libraries.md | 0 ...buntu vs Manjaro- Comparing the Different Linux Experiences.md | 0 .../20220524 The Basic Concepts of Shell Scripting.md | 0 ... Rufus for Linux- Here Are the Best Live USB Creating Tools.md | 0 .../20220630 Package a new Python module in 4 steps.md | 0 ...719 Turn your Python script into a command-line application.md | 0 .../20220811 What is the Difference Between macOS and Linux-.md | 0 .../20220814 How to Apply Accent Colour in Ubuntu Desktop.md | 0 published/{ => 202209}/20220819 5 note-taking apps for Linux.md | 0 .../20220819 How to Create and Switch Workspaces in Linux Mint.md | 0 ...elong Linux User Tried Windows or macOS for the First Time-.md | 0 ...220824 Become A Pro Flatpak User By Learning These Commands.md | 0 ...Aesthetically Pleasing Terminal for Minimalists Linux Users.md | 0 ...20220824 sudo apt update vs upgrade- What-s the Difference-.md | 0 ...How to Get KDE Plasma 5.25 in Kubuntu 22.04 Jammy Jellyfish.md | 0 .../20220826 How I analyze my music directory with Groovy.md | 0 ... a General Resolution to Consider a Non-Free Firmware Image.md | 0 .../{ => 202209}/20220830 Some ways to get better at debugging.md | 0 ...20220831 21 Basic Linux Networking Commands You Should Know.md | 0 .../20220831 Don-t Suspend Ubuntu When Laptop Lid is Closed.md | 0 .../20220902 Evernote Alternative Notesnook is Now Open Source.md | 0 ...pp for Teams to Replace it as a Progressive Web App Instead.md | 0 ...03 8 Exciting New Features in the Upcoming KDE 5.26 Release.md | 0 ...otable USB Using Etcher in Linux – Download and Usage Guide.md | 0 .../20220904 How to Enable Dark Mode in Web Browser.md | 0 ...ings to know about planning for OTA updates in your homelab.md | 0 ...20905 Manage containers on Fedora Linux with Podman Desktop.md | 0 ...ce is a Fast, Lightweight Open-Source Code Editor in Making.md | 0 .../{ => 202209}/20220906 Unix History- A Mighty Origin Story.md | 0 .../{ => 202209}/20220907 Get Ready to Embrace the AIOps Era.md | 0 ... Image Generation Model Stable Diffusion Is Now Open Source.md | 0 ...0908 Komikku- A Free and Open-Source Manga Reader for Linux.md | 0 ...nect to WiFi Using Terminal in Arch Linux and Other Distros.md | 0 .../{ => 202209}/20220909 Here-s What-s Coming to Fedora 37.md | 0 ... Raspberry Pi OS Update Brings in Sweet Little Improvements.md | 0 ...Packaging is not Suitable for Modern Applications [Opinion].md | 0 ...20220911 10 Destructive Linux Commands You Should Never Run.md | 0 ...U LibreJS For Firefox Stops Non-Free Non-Trivial JavaScript.md | 0 ...912 How I recovered my Linux system using a Live USB device.md | 0 ...12 Open Source PhotoDemon 9.0 Is Now Available For Download.md | 0 ...resting Firefox Add-ons to Improve Your Browsing Experience.md | 0 ...latform Open-Source Knowledge Management App in Development.md | 0 ...ully Homomorphic Open Source Duality-Led Encryption Library.md | 0 ...stall Linux Mint with Windows 11 Dual Boot [Complete Guide].md | 0 ...tforms that Help Deploy AI and ML Applications on the Cloud.md | 0 ...oject For An Open Source 3D-Printed VR Headgear From Europe.md | 0 .../20220915 How I switched from Docker Desktop to Colima.md | 0 ...fficial Software Center Might Replace Ubuntu-s Official App.md | 0 ...rvalds Modified Fedora Linux to Run on his Apple M2 Macbook.md | 0 ...t is a Solid Open-Source Figma Alternative to Look Out for!.md | 0 ... Open Source Vulkan Graphics Drivers Now Enable Ray Tracing.md | 0 ...NOME Files Introduces Most-Requested Feature- New File Menu.md | 0 ...GUI Tool to Let You Manage Linux Chroot Environments Easily.md | 0 ...Office is Available for $8.99 on Mac App Store- Here-s Why!.md | 0 ...OS Gets an Anonymous Donation of $390,000 in Cryptocurrency.md | 0 .../20220922 4 Simple Steps to Clean Your Ubuntu System.md | 0 .../20220922 GNOME 43- Top New Features and Release Wiki.md | 0 ...ty 3.2 Released With VST3 Plugins and Apple Silicon Support.md | 0 .../20220923 Kubernetes To Soon Support Confidential Computing.md | 0 ...wmakers Proposes A New Bill To Protect Open Source Software.md | 0 .../{ => 202209}/20220923 Systemd is Now Available in WSL.md | 0 .../{ => 202209}/20220924 UbuntuDDE Remix 22.04 LTS Released!.md | 0 68 files changed, 0 insertions(+), 0 deletions(-) rename published/{ => 202209}/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md (100%) rename published/{ => 202209}/20210114 How I prioritize tasks on my to-do list.md (100%) rename published/{ => 202209}/20210115 How open source builds distributed trust.md (100%) rename published/{ => 202209}/20210305 5 useful Moodle plugins to engage students.md (100%) rename published/{ => 202209}/20210617 Why FreeDOS has 16 colors.md (100%) rename published/{ => 202209}/20211203 Introduce the different Fedora Linux editions.md (100%) rename published/{ => 202209}/20220505 Boost the power of C with these open source libraries.md (100%) rename published/{ => 202209}/20220520 Ubuntu vs Manjaro- Comparing the Different Linux Experiences.md (100%) rename published/{ => 202209}/20220524 The Basic Concepts of Shell Scripting.md (100%) rename published/{ => 202209}/20220608 Rufus for Linux- Here Are the Best Live USB Creating Tools.md (100%) rename published/{ => 202209}/20220630 Package a new Python module in 4 steps.md (100%) rename published/{ => 202209}/20220719 Turn your Python script into a command-line application.md (100%) rename published/{ => 202209}/20220811 What is the Difference Between macOS and Linux-.md (100%) rename published/{ => 202209}/20220814 How to Apply Accent Colour in Ubuntu Desktop.md (100%) rename published/{ => 202209}/20220819 5 note-taking apps for Linux.md (100%) rename published/{ => 202209}/20220819 How to Create and Switch Workspaces in Linux Mint.md (100%) rename published/{ => 202209}/20220820 What if a Lifelong Linux User Tried Windows or macOS for the First Time-.md (100%) rename published/{ => 202209}/20220824 Become A Pro Flatpak User By Learning These Commands.md (100%) rename published/{ => 202209}/20220824 Blackbox is an Aesthetically Pleasing Terminal for Minimalists Linux Users.md (100%) rename published/{ => 202209}/20220824 sudo apt update vs upgrade- What-s the Difference-.md (100%) rename published/{ => 202209}/20220825 How to Get KDE Plasma 5.25 in Kubuntu 22.04 Jammy Jellyfish.md (100%) rename published/{ => 202209}/20220826 How I analyze my music directory with Groovy.md (100%) rename published/{ => 202209}/20220829 Debian Finally Starts a General Resolution to Consider a Non-Free Firmware Image.md (100%) rename published/{ => 202209}/20220830 Some ways to get better at debugging.md (100%) rename published/{ => 202209}/20220831 21 Basic Linux Networking Commands You Should Know.md (100%) rename published/{ => 202209}/20220831 Don-t Suspend Ubuntu When Laptop Lid is Closed.md (100%) rename published/{ => 202209}/20220902 Evernote Alternative Notesnook is Now Open Source.md (100%) rename published/{ => 202209}/20220902 Microsoft Decides to Drop the Linux App for Teams to Replace it as a Progressive Web App Instead.md (100%) rename published/{ => 202209}/20220903 8 Exciting New Features in the Upcoming KDE 5.26 Release.md (100%) rename published/{ => 202209}/20220904 Create Bootable USB Using Etcher in Linux – Download and Usage Guide.md (100%) rename published/{ => 202209}/20220904 How to Enable Dark Mode in Web Browser.md (100%) rename published/{ => 202209}/20220905 3 things to know about planning for OTA updates in your homelab.md (100%) rename published/{ => 202209}/20220905 Manage containers on Fedora Linux with Podman Desktop.md (100%) rename published/{ => 202209}/20220906 Lapce is a Fast, Lightweight Open-Source Code Editor in Making.md (100%) rename published/{ => 202209}/20220906 Unix History- A Mighty Origin Story.md (100%) rename published/{ => 202209}/20220907 Get Ready to Embrace the AIOps Era.md (100%) rename published/{ => 202209}/20220907 Image Generation Model Stable Diffusion Is Now Open Source.md (100%) rename published/{ => 202209}/20220908 Komikku- A Free and Open-Source Manga Reader for Linux.md (100%) rename published/{ => 202209}/20220909 Connect to WiFi Using Terminal in Arch Linux and Other Distros.md (100%) rename published/{ => 202209}/20220909 Here-s What-s Coming to Fedora 37.md (100%) rename published/{ => 202209}/20220909 The New Raspberry Pi OS Update Brings in Sweet Little Improvements.md (100%) rename published/{ => 202209}/20220910 Traditional Linux Packaging is not Suitable for Modern Applications [Opinion].md (100%) rename published/{ => 202209}/20220911 10 Destructive Linux Commands You Should Never Run.md (100%) rename published/{ => 202209}/20220912 GNU LibreJS For Firefox Stops Non-Free Non-Trivial JavaScript.md (100%) rename published/{ => 202209}/20220912 How I recovered my Linux system using a Live USB device.md (100%) rename published/{ => 202209}/20220912 Open Source PhotoDemon 9.0 Is Now Available For Download.md (100%) rename published/{ => 202209}/20220913 11 Interesting Firefox Add-ons to Improve Your Browsing Experience.md (100%) rename published/{ => 202209}/20220913 CubyText is a Fast Cross-Platform Open-Source Knowledge Management App in Development.md (100%) rename published/{ => 202209}/20220914 Google Uses Fully Homomorphic Open Source Duality-Led Encryption Library.md (100%) rename published/{ => 202209}/20220914 Install Linux Mint with Windows 11 Dual Boot [Complete Guide].md (100%) rename published/{ => 202209}/20220914 Platforms that Help Deploy AI and ML Applications on the Cloud.md (100%) rename published/{ => 202209}/20220915 A Project For An Open Source 3D-Printed VR Headgear From Europe.md (100%) rename published/{ => 202209}/20220915 How I switched from Docker Desktop to Colima.md (100%) rename published/{ => 202209}/20220915 This Flutter-based Unofficial Software Center Might Replace Ubuntu-s Official App.md (100%) rename published/{ => 202209}/20220915 Wow! Torvalds Modified Fedora Linux to Run on his Apple M2 Macbook.md (100%) rename published/{ => 202209}/20220916 Penpot is a Solid Open-Source Figma Alternative to Look Out for!.md (100%) rename published/{ => 202209}/20220919 AMD-s Open Source Vulkan Graphics Drivers Now Enable Ray Tracing.md (100%) rename published/{ => 202209}/20220919 GNOME Files Introduces Most-Requested Feature- New File Menu.md (100%) rename published/{ => 202209}/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md (100%) rename published/{ => 202209}/20220921 LibreOffice is Available for $8.99 on Mac App Store- Here-s Why!.md (100%) rename published/{ => 202209}/20220921 Wow! Rust-based Redox OS Gets an Anonymous Donation of $390,000 in Cryptocurrency.md (100%) rename published/{ => 202209}/20220922 4 Simple Steps to Clean Your Ubuntu System.md (100%) rename published/{ => 202209}/20220922 GNOME 43- Top New Features and Release Wiki.md (100%) rename published/{ => 202209}/20220923 Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support.md (100%) rename published/{ => 202209}/20220923 Kubernetes To Soon Support Confidential Computing.md (100%) rename published/{ => 202209}/20220923 Lawmakers Proposes A New Bill To Protect Open Source Software.md (100%) rename published/{ => 202209}/20220923 Systemd is Now Available in WSL.md (100%) rename published/{ => 202209}/20220924 UbuntuDDE Remix 22.04 LTS Released!.md (100%) diff --git a/published/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md b/published/202209/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md similarity index 100% rename from published/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md rename to published/202209/20200426 20 Facts About Linus Torvalds, the Creator of Linux and Git.md diff --git a/published/20210114 How I prioritize tasks on my to-do list.md b/published/202209/20210114 How I prioritize tasks on my to-do list.md similarity index 100% rename from published/20210114 How I prioritize tasks on my to-do list.md rename to published/202209/20210114 How I prioritize tasks on my to-do list.md diff --git a/published/20210115 How open source builds distributed trust.md b/published/202209/20210115 How open source builds distributed trust.md similarity index 100% rename from published/20210115 How open source builds distributed trust.md rename to published/202209/20210115 How open source builds distributed trust.md diff --git a/published/20210305 5 useful Moodle plugins to engage students.md b/published/202209/20210305 5 useful Moodle plugins to engage students.md similarity index 100% rename from published/20210305 5 useful Moodle plugins to engage students.md rename to published/202209/20210305 5 useful Moodle plugins to engage students.md diff --git a/published/20210617 Why FreeDOS has 16 colors.md b/published/202209/20210617 Why FreeDOS has 16 colors.md similarity index 100% rename from published/20210617 Why FreeDOS has 16 colors.md rename to published/202209/20210617 Why FreeDOS has 16 colors.md diff --git a/published/20211203 Introduce the different Fedora Linux editions.md b/published/202209/20211203 Introduce the different Fedora Linux editions.md similarity index 100% rename from published/20211203 Introduce the different Fedora Linux editions.md rename to published/202209/20211203 Introduce the different Fedora Linux editions.md diff --git a/published/20220505 Boost the power of C with these open source libraries.md b/published/202209/20220505 Boost the power of C with these open source libraries.md similarity index 100% rename from published/20220505 Boost the power of C with these open source libraries.md rename to published/202209/20220505 Boost the power of C with these open source libraries.md diff --git a/published/20220520 Ubuntu vs Manjaro- Comparing the Different Linux Experiences.md b/published/202209/20220520 Ubuntu vs Manjaro- Comparing the Different Linux Experiences.md similarity index 100% rename from published/20220520 Ubuntu vs Manjaro- Comparing the Different Linux Experiences.md rename to published/202209/20220520 Ubuntu vs Manjaro- Comparing the Different Linux Experiences.md diff --git a/published/20220524 The Basic Concepts of Shell Scripting.md b/published/202209/20220524 The Basic Concepts of Shell Scripting.md similarity index 100% rename from published/20220524 The Basic Concepts of Shell Scripting.md rename to published/202209/20220524 The Basic Concepts of Shell Scripting.md diff --git a/published/20220608 Rufus for Linux- Here Are the Best Live USB Creating Tools.md b/published/202209/20220608 Rufus for Linux- Here Are the Best Live USB Creating Tools.md similarity index 100% rename from published/20220608 Rufus for Linux- Here Are the Best Live USB Creating Tools.md rename to published/202209/20220608 Rufus for Linux- Here Are the Best Live USB Creating Tools.md diff --git a/published/20220630 Package a new Python module in 4 steps.md b/published/202209/20220630 Package a new Python module in 4 steps.md similarity index 100% rename from published/20220630 Package a new Python module in 4 steps.md rename to published/202209/20220630 Package a new Python module in 4 steps.md diff --git a/published/20220719 Turn your Python script into a command-line application.md b/published/202209/20220719 Turn your Python script into a command-line application.md similarity index 100% rename from published/20220719 Turn your Python script into a command-line application.md rename to published/202209/20220719 Turn your Python script into a command-line application.md diff --git a/published/20220811 What is the Difference Between macOS and Linux-.md b/published/202209/20220811 What is the Difference Between macOS and Linux-.md similarity index 100% rename from published/20220811 What is the Difference Between macOS and Linux-.md rename to published/202209/20220811 What is the Difference Between macOS and Linux-.md diff --git a/published/20220814 How to Apply Accent Colour in Ubuntu Desktop.md b/published/202209/20220814 How to Apply Accent Colour in Ubuntu Desktop.md similarity index 100% rename from published/20220814 How to Apply Accent Colour in Ubuntu Desktop.md rename to published/202209/20220814 How to Apply Accent Colour in Ubuntu Desktop.md diff --git a/published/20220819 5 note-taking apps for Linux.md b/published/202209/20220819 5 note-taking apps for Linux.md similarity index 100% rename from published/20220819 5 note-taking apps for Linux.md rename to published/202209/20220819 5 note-taking apps for Linux.md diff --git a/published/20220819 How to Create and Switch Workspaces in Linux Mint.md b/published/202209/20220819 How to Create and Switch Workspaces in Linux Mint.md similarity index 100% rename from published/20220819 How to Create and Switch Workspaces in Linux Mint.md rename to published/202209/20220819 How to Create and Switch Workspaces in Linux Mint.md diff --git a/published/20220820 What if a Lifelong Linux User Tried Windows or macOS for the First Time-.md b/published/202209/20220820 What if a Lifelong Linux User Tried Windows or macOS for the First Time-.md similarity index 100% rename from published/20220820 What if a Lifelong Linux User Tried Windows or macOS for the First Time-.md rename to published/202209/20220820 What if a Lifelong Linux User Tried Windows or macOS for the First Time-.md diff --git a/published/20220824 Become A Pro Flatpak User By Learning These Commands.md b/published/202209/20220824 Become A Pro Flatpak User By Learning These Commands.md similarity index 100% rename from published/20220824 Become A Pro Flatpak User By Learning These Commands.md rename to published/202209/20220824 Become A Pro Flatpak User By Learning These Commands.md diff --git a/published/20220824 Blackbox is an Aesthetically Pleasing Terminal for Minimalists Linux Users.md b/published/202209/20220824 Blackbox is an Aesthetically Pleasing Terminal for Minimalists Linux Users.md similarity index 100% rename from published/20220824 Blackbox is an Aesthetically Pleasing Terminal for Minimalists Linux Users.md rename to published/202209/20220824 Blackbox is an Aesthetically Pleasing Terminal for Minimalists Linux Users.md diff --git a/published/20220824 sudo apt update vs upgrade- What-s the Difference-.md b/published/202209/20220824 sudo apt update vs upgrade- What-s the Difference-.md similarity index 100% rename from published/20220824 sudo apt update vs upgrade- What-s the Difference-.md rename to published/202209/20220824 sudo apt update vs upgrade- What-s the Difference-.md diff --git a/published/20220825 How to Get KDE Plasma 5.25 in Kubuntu 22.04 Jammy Jellyfish.md b/published/202209/20220825 How to Get KDE Plasma 5.25 in Kubuntu 22.04 Jammy Jellyfish.md similarity index 100% rename from published/20220825 How to Get KDE Plasma 5.25 in Kubuntu 22.04 Jammy Jellyfish.md rename to published/202209/20220825 How to Get KDE Plasma 5.25 in Kubuntu 22.04 Jammy Jellyfish.md diff --git a/published/20220826 How I analyze my music directory with Groovy.md b/published/202209/20220826 How I analyze my music directory with Groovy.md similarity index 100% rename from published/20220826 How I analyze my music directory with Groovy.md rename to published/202209/20220826 How I analyze my music directory with Groovy.md diff --git a/published/20220829 Debian Finally Starts a General Resolution to Consider a Non-Free Firmware Image.md b/published/202209/20220829 Debian Finally Starts a General Resolution to Consider a Non-Free Firmware Image.md similarity index 100% rename from published/20220829 Debian Finally Starts a General Resolution to Consider a Non-Free Firmware Image.md rename to published/202209/20220829 Debian Finally Starts a General Resolution to Consider a Non-Free Firmware Image.md diff --git a/published/20220830 Some ways to get better at debugging.md b/published/202209/20220830 Some ways to get better at debugging.md similarity index 100% rename from published/20220830 Some ways to get better at debugging.md rename to published/202209/20220830 Some ways to get better at debugging.md diff --git a/published/20220831 21 Basic Linux Networking Commands You Should Know.md b/published/202209/20220831 21 Basic Linux Networking Commands You Should Know.md similarity index 100% rename from published/20220831 21 Basic Linux Networking Commands You Should Know.md rename to published/202209/20220831 21 Basic Linux Networking Commands You Should Know.md diff --git a/published/20220831 Don-t Suspend Ubuntu When Laptop Lid is Closed.md b/published/202209/20220831 Don-t Suspend Ubuntu When Laptop Lid is Closed.md similarity index 100% rename from published/20220831 Don-t Suspend Ubuntu When Laptop Lid is Closed.md rename to published/202209/20220831 Don-t Suspend Ubuntu When Laptop Lid is Closed.md diff --git a/published/20220902 Evernote Alternative Notesnook is Now Open Source.md b/published/202209/20220902 Evernote Alternative Notesnook is Now Open Source.md similarity index 100% rename from published/20220902 Evernote Alternative Notesnook is Now Open Source.md rename to published/202209/20220902 Evernote Alternative Notesnook is Now Open Source.md diff --git a/published/20220902 Microsoft Decides to Drop the Linux App for Teams to Replace it as a Progressive Web App Instead.md b/published/202209/20220902 Microsoft Decides to Drop the Linux App for Teams to Replace it as a Progressive Web App Instead.md similarity index 100% rename from published/20220902 Microsoft Decides to Drop the Linux App for Teams to Replace it as a Progressive Web App Instead.md rename to published/202209/20220902 Microsoft Decides to Drop the Linux App for Teams to Replace it as a Progressive Web App Instead.md diff --git a/published/20220903 8 Exciting New Features in the Upcoming KDE 5.26 Release.md b/published/202209/20220903 8 Exciting New Features in the Upcoming KDE 5.26 Release.md similarity index 100% rename from published/20220903 8 Exciting New Features in the Upcoming KDE 5.26 Release.md rename to published/202209/20220903 8 Exciting New Features in the Upcoming KDE 5.26 Release.md diff --git a/published/20220904 Create Bootable USB Using Etcher in Linux – Download and Usage Guide.md b/published/202209/20220904 Create Bootable USB Using Etcher in Linux – Download and Usage Guide.md similarity index 100% rename from published/20220904 Create Bootable USB Using Etcher in Linux – Download and Usage Guide.md rename to published/202209/20220904 Create Bootable USB Using Etcher in Linux – Download and Usage Guide.md diff --git a/published/20220904 How to Enable Dark Mode in Web Browser.md b/published/202209/20220904 How to Enable Dark Mode in Web Browser.md similarity index 100% rename from published/20220904 How to Enable Dark Mode in Web Browser.md rename to published/202209/20220904 How to Enable Dark Mode in Web Browser.md diff --git a/published/20220905 3 things to know about planning for OTA updates in your homelab.md b/published/202209/20220905 3 things to know about planning for OTA updates in your homelab.md similarity index 100% rename from published/20220905 3 things to know about planning for OTA updates in your homelab.md rename to published/202209/20220905 3 things to know about planning for OTA updates in your homelab.md diff --git a/published/20220905 Manage containers on Fedora Linux with Podman Desktop.md b/published/202209/20220905 Manage containers on Fedora Linux with Podman Desktop.md similarity index 100% rename from published/20220905 Manage containers on Fedora Linux with Podman Desktop.md rename to published/202209/20220905 Manage containers on Fedora Linux with Podman Desktop.md diff --git a/published/20220906 Lapce is a Fast, Lightweight Open-Source Code Editor in Making.md b/published/202209/20220906 Lapce is a Fast, Lightweight Open-Source Code Editor in Making.md similarity index 100% rename from published/20220906 Lapce is a Fast, Lightweight Open-Source Code Editor in Making.md rename to published/202209/20220906 Lapce is a Fast, Lightweight Open-Source Code Editor in Making.md diff --git a/published/20220906 Unix History- A Mighty Origin Story.md b/published/202209/20220906 Unix History- A Mighty Origin Story.md similarity index 100% rename from published/20220906 Unix History- A Mighty Origin Story.md rename to published/202209/20220906 Unix History- A Mighty Origin Story.md diff --git a/published/20220907 Get Ready to Embrace the AIOps Era.md b/published/202209/20220907 Get Ready to Embrace the AIOps Era.md similarity index 100% rename from published/20220907 Get Ready to Embrace the AIOps Era.md rename to published/202209/20220907 Get Ready to Embrace the AIOps Era.md diff --git a/published/20220907 Image Generation Model Stable Diffusion Is Now Open Source.md b/published/202209/20220907 Image Generation Model Stable Diffusion Is Now Open Source.md similarity index 100% rename from published/20220907 Image Generation Model Stable Diffusion Is Now Open Source.md rename to published/202209/20220907 Image Generation Model Stable Diffusion Is Now Open Source.md diff --git a/published/20220908 Komikku- A Free and Open-Source Manga Reader for Linux.md b/published/202209/20220908 Komikku- A Free and Open-Source Manga Reader for Linux.md similarity index 100% rename from published/20220908 Komikku- A Free and Open-Source Manga Reader for Linux.md rename to published/202209/20220908 Komikku- A Free and Open-Source Manga Reader for Linux.md diff --git a/published/20220909 Connect to WiFi Using Terminal in Arch Linux and Other Distros.md b/published/202209/20220909 Connect to WiFi Using Terminal in Arch Linux and Other Distros.md similarity index 100% rename from published/20220909 Connect to WiFi Using Terminal in Arch Linux and Other Distros.md rename to published/202209/20220909 Connect to WiFi Using Terminal in Arch Linux and Other Distros.md diff --git a/published/20220909 Here-s What-s Coming to Fedora 37.md b/published/202209/20220909 Here-s What-s Coming to Fedora 37.md similarity index 100% rename from published/20220909 Here-s What-s Coming to Fedora 37.md rename to published/202209/20220909 Here-s What-s Coming to Fedora 37.md diff --git a/published/20220909 The New Raspberry Pi OS Update Brings in Sweet Little Improvements.md b/published/202209/20220909 The New Raspberry Pi OS Update Brings in Sweet Little Improvements.md similarity index 100% rename from published/20220909 The New Raspberry Pi OS Update Brings in Sweet Little Improvements.md rename to published/202209/20220909 The New Raspberry Pi OS Update Brings in Sweet Little Improvements.md diff --git a/published/20220910 Traditional Linux Packaging is not Suitable for Modern Applications [Opinion].md b/published/202209/20220910 Traditional Linux Packaging is not Suitable for Modern Applications [Opinion].md similarity index 100% rename from published/20220910 Traditional Linux Packaging is not Suitable for Modern Applications [Opinion].md rename to published/202209/20220910 Traditional Linux Packaging is not Suitable for Modern Applications [Opinion].md diff --git a/published/20220911 10 Destructive Linux Commands You Should Never Run.md b/published/202209/20220911 10 Destructive Linux Commands You Should Never Run.md similarity index 100% rename from published/20220911 10 Destructive Linux Commands You Should Never Run.md rename to published/202209/20220911 10 Destructive Linux Commands You Should Never Run.md diff --git a/published/20220912 GNU LibreJS For Firefox Stops Non-Free Non-Trivial JavaScript.md b/published/202209/20220912 GNU LibreJS For Firefox Stops Non-Free Non-Trivial JavaScript.md similarity index 100% rename from published/20220912 GNU LibreJS For Firefox Stops Non-Free Non-Trivial JavaScript.md rename to published/202209/20220912 GNU LibreJS For Firefox Stops Non-Free Non-Trivial JavaScript.md diff --git a/published/20220912 How I recovered my Linux system using a Live USB device.md b/published/202209/20220912 How I recovered my Linux system using a Live USB device.md similarity index 100% rename from published/20220912 How I recovered my Linux system using a Live USB device.md rename to published/202209/20220912 How I recovered my Linux system using a Live USB device.md diff --git a/published/20220912 Open Source PhotoDemon 9.0 Is Now Available For Download.md b/published/202209/20220912 Open Source PhotoDemon 9.0 Is Now Available For Download.md similarity index 100% rename from published/20220912 Open Source PhotoDemon 9.0 Is Now Available For Download.md rename to published/202209/20220912 Open Source PhotoDemon 9.0 Is Now Available For Download.md diff --git a/published/20220913 11 Interesting Firefox Add-ons to Improve Your Browsing Experience.md b/published/202209/20220913 11 Interesting Firefox Add-ons to Improve Your Browsing Experience.md similarity index 100% rename from published/20220913 11 Interesting Firefox Add-ons to Improve Your Browsing Experience.md rename to published/202209/20220913 11 Interesting Firefox Add-ons to Improve Your Browsing Experience.md diff --git a/published/20220913 CubyText is a Fast Cross-Platform Open-Source Knowledge Management App in Development.md b/published/202209/20220913 CubyText is a Fast Cross-Platform Open-Source Knowledge Management App in Development.md similarity index 100% rename from published/20220913 CubyText is a Fast Cross-Platform Open-Source Knowledge Management App in Development.md rename to published/202209/20220913 CubyText is a Fast Cross-Platform Open-Source Knowledge Management App in Development.md diff --git a/published/20220914 Google Uses Fully Homomorphic Open Source Duality-Led Encryption Library.md b/published/202209/20220914 Google Uses Fully Homomorphic Open Source Duality-Led Encryption Library.md similarity index 100% rename from published/20220914 Google Uses Fully Homomorphic Open Source Duality-Led Encryption Library.md rename to published/202209/20220914 Google Uses Fully Homomorphic Open Source Duality-Led Encryption Library.md diff --git a/published/20220914 Install Linux Mint with Windows 11 Dual Boot [Complete Guide].md b/published/202209/20220914 Install Linux Mint with Windows 11 Dual Boot [Complete Guide].md similarity index 100% rename from published/20220914 Install Linux Mint with Windows 11 Dual Boot [Complete Guide].md rename to published/202209/20220914 Install Linux Mint with Windows 11 Dual Boot [Complete Guide].md diff --git a/published/20220914 Platforms that Help Deploy AI and ML Applications on the Cloud.md b/published/202209/20220914 Platforms that Help Deploy AI and ML Applications on the Cloud.md similarity index 100% rename from published/20220914 Platforms that Help Deploy AI and ML Applications on the Cloud.md rename to published/202209/20220914 Platforms that Help Deploy AI and ML Applications on the Cloud.md diff --git a/published/20220915 A Project For An Open Source 3D-Printed VR Headgear From Europe.md b/published/202209/20220915 A Project For An Open Source 3D-Printed VR Headgear From Europe.md similarity index 100% rename from published/20220915 A Project For An Open Source 3D-Printed VR Headgear From Europe.md rename to published/202209/20220915 A Project For An Open Source 3D-Printed VR Headgear From Europe.md diff --git a/published/20220915 How I switched from Docker Desktop to Colima.md b/published/202209/20220915 How I switched from Docker Desktop to Colima.md similarity index 100% rename from published/20220915 How I switched from Docker Desktop to Colima.md rename to published/202209/20220915 How I switched from Docker Desktop to Colima.md diff --git a/published/20220915 This Flutter-based Unofficial Software Center Might Replace Ubuntu-s Official App.md b/published/202209/20220915 This Flutter-based Unofficial Software Center Might Replace Ubuntu-s Official App.md similarity index 100% rename from published/20220915 This Flutter-based Unofficial Software Center Might Replace Ubuntu-s Official App.md rename to published/202209/20220915 This Flutter-based Unofficial Software Center Might Replace Ubuntu-s Official App.md diff --git a/published/20220915 Wow! Torvalds Modified Fedora Linux to Run on his Apple M2 Macbook.md b/published/202209/20220915 Wow! Torvalds Modified Fedora Linux to Run on his Apple M2 Macbook.md similarity index 100% rename from published/20220915 Wow! Torvalds Modified Fedora Linux to Run on his Apple M2 Macbook.md rename to published/202209/20220915 Wow! Torvalds Modified Fedora Linux to Run on his Apple M2 Macbook.md diff --git a/published/20220916 Penpot is a Solid Open-Source Figma Alternative to Look Out for!.md b/published/202209/20220916 Penpot is a Solid Open-Source Figma Alternative to Look Out for!.md similarity index 100% rename from published/20220916 Penpot is a Solid Open-Source Figma Alternative to Look Out for!.md rename to published/202209/20220916 Penpot is a Solid Open-Source Figma Alternative to Look Out for!.md diff --git a/published/20220919 AMD-s Open Source Vulkan Graphics Drivers Now Enable Ray Tracing.md b/published/202209/20220919 AMD-s Open Source Vulkan Graphics Drivers Now Enable Ray Tracing.md similarity index 100% rename from published/20220919 AMD-s Open Source Vulkan Graphics Drivers Now Enable Ray Tracing.md rename to published/202209/20220919 AMD-s Open Source Vulkan Graphics Drivers Now Enable Ray Tracing.md diff --git a/published/20220919 GNOME Files Introduces Most-Requested Feature- New File Menu.md b/published/202209/20220919 GNOME Files Introduces Most-Requested Feature- New File Menu.md similarity index 100% rename from published/20220919 GNOME Files Introduces Most-Requested Feature- New File Menu.md rename to published/202209/20220919 GNOME Files Introduces Most-Requested Feature- New File Menu.md diff --git a/published/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md b/published/202209/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md similarity index 100% rename from published/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md rename to published/202209/20220920 Atoms is a GUI Tool to Let You Manage Linux Chroot Environments Easily.md diff --git a/published/20220921 LibreOffice is Available for $8.99 on Mac App Store- Here-s Why!.md b/published/202209/20220921 LibreOffice is Available for $8.99 on Mac App Store- Here-s Why!.md similarity index 100% rename from published/20220921 LibreOffice is Available for $8.99 on Mac App Store- Here-s Why!.md rename to published/202209/20220921 LibreOffice is Available for $8.99 on Mac App Store- Here-s Why!.md diff --git a/published/20220921 Wow! Rust-based Redox OS Gets an Anonymous Donation of $390,000 in Cryptocurrency.md b/published/202209/20220921 Wow! Rust-based Redox OS Gets an Anonymous Donation of $390,000 in Cryptocurrency.md similarity index 100% rename from published/20220921 Wow! Rust-based Redox OS Gets an Anonymous Donation of $390,000 in Cryptocurrency.md rename to published/202209/20220921 Wow! Rust-based Redox OS Gets an Anonymous Donation of $390,000 in Cryptocurrency.md diff --git a/published/20220922 4 Simple Steps to Clean Your Ubuntu System.md b/published/202209/20220922 4 Simple Steps to Clean Your Ubuntu System.md similarity index 100% rename from published/20220922 4 Simple Steps to Clean Your Ubuntu System.md rename to published/202209/20220922 4 Simple Steps to Clean Your Ubuntu System.md diff --git a/published/20220922 GNOME 43- Top New Features and Release Wiki.md b/published/202209/20220922 GNOME 43- Top New Features and Release Wiki.md similarity index 100% rename from published/20220922 GNOME 43- Top New Features and Release Wiki.md rename to published/202209/20220922 GNOME 43- Top New Features and Release Wiki.md diff --git a/published/20220923 Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support.md b/published/202209/20220923 Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support.md similarity index 100% rename from published/20220923 Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support.md rename to published/202209/20220923 Audacity 3.2 Released With VST3 Plugins and Apple Silicon Support.md diff --git a/published/20220923 Kubernetes To Soon Support Confidential Computing.md b/published/202209/20220923 Kubernetes To Soon Support Confidential Computing.md similarity index 100% rename from published/20220923 Kubernetes To Soon Support Confidential Computing.md rename to published/202209/20220923 Kubernetes To Soon Support Confidential Computing.md diff --git a/published/20220923 Lawmakers Proposes A New Bill To Protect Open Source Software.md b/published/202209/20220923 Lawmakers Proposes A New Bill To Protect Open Source Software.md similarity index 100% rename from published/20220923 Lawmakers Proposes A New Bill To Protect Open Source Software.md rename to published/202209/20220923 Lawmakers Proposes A New Bill To Protect Open Source Software.md diff --git a/published/20220923 Systemd is Now Available in WSL.md b/published/202209/20220923 Systemd is Now Available in WSL.md similarity index 100% rename from published/20220923 Systemd is Now Available in WSL.md rename to published/202209/20220923 Systemd is Now Available in WSL.md diff --git a/published/20220924 UbuntuDDE Remix 22.04 LTS Released!.md b/published/202209/20220924 UbuntuDDE Remix 22.04 LTS Released!.md similarity index 100% rename from published/20220924 UbuntuDDE Remix 22.04 LTS Released!.md rename to published/202209/20220924 UbuntuDDE Remix 22.04 LTS Released!.md From cad9a94380d7529b946a2a7f236cba2a2ee2c161 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 1 Oct 2022 13:32:26 +0800 Subject: [PATCH 041/170] RP @geekpi https://linux.cn/article-15092-1.html --- ...20 3 ways to use the Linux inxi command.md | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) rename {translated/tech => published}/20220920 3 ways to use the Linux inxi command.md (84%) diff --git a/translated/tech/20220920 3 ways to use the Linux inxi command.md b/published/20220920 3 ways to use the Linux inxi command.md similarity index 84% rename from translated/tech/20220920 3 ways to use the Linux inxi command.md rename to published/20220920 3 ways to use the Linux inxi command.md index 9652a9c720..b6d8e4e783 100644 --- a/translated/tech/20220920 3 ways to use the Linux inxi command.md +++ b/published/20220920 3 ways to use the Linux inxi command.md @@ -3,21 +3,22 @@ [#]: author: "Don Watkins https://opensource.com/users/don-watkins" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15092-1.html" Linux inxi 命令的 3 种使用方法 ====== -我在 Linux 上使用 inxi 来检查我的笔记本电脑电池、CPU 信息,甚至天气。 + +> 我在 Linux 上使用 inxi 来检查我的笔记本电脑电池、CPU 信息,甚至天气。 ![Coding on a computer][1] 当我在查询有关笔记本电脑电池健康状况的信息时,我偶然发现了 `inxi`。它是一个命令行系统信息工具,可提供有关你的 Linux 计算机(无论是笔记本电脑、台式机还是服务器)的大量信息。 -`inxi` 命令使用 GPLv3 [许可][2],许多 Linux 发行版都包含它。根据它的 Git 存储库:“inxi 努力支持最广泛的操作系统和硬件,从最简单的消费台式机到最先进的专业硬件和服务器。” +`inxi` 命令采用 GPLv3 [许可证][2],许多 Linux 发行版都包含它。据它的 Git 存储库称:“inxi 努力支持最广泛的操作系统和硬件,从最简单的消费台式机到最先进的专业硬件和服务器。” -文档很完善,并且该项目在线维护了完整的[手册页][3]。安装后,你可以使用 `man inxi` 命令访问系统上的手册页。 +文档很完善,并且该项目在线维护了完整的 [手册页][3]。安装后,你可以使用 `man inxi` 命令访问系统上的手册页。 ### 在 Linux 上安装 inxi @@ -33,7 +34,7 @@ $ sudo dnf install inxi $ sudo apt install inxi ``` -你可以在[此处][4]找到有关 Linux 发行版安装选项的更多信息。 +你可以在 [此处][4] 找到有关 Linux 发行版安装选项的更多信息。 ### 在 Linux 上使用 inxi 的 3 种方法 @@ -73,7 +74,7 @@ Info: Shell: Bash inxi: 3.3.13 ``` -### 1. 显示电池状态 +### 1、显示电池状态 你可以使用 `-B` 选项检查电池健康状况。结果显示系统电池 ID、充电情况和其他信息: @@ -83,7 +84,7 @@ Battery: ID-1: BATT charge: 44.3 Wh (85.2%) condition: 52.0/53.2 Wh (97.7%) ``` -### 2. 显示 CPU 信息 +### 2、显示 CPU 信息 使用 `-C` 选项了解有关 CPU 的更多信息: @@ -105,7 +106,7 @@ CPU: $ inxi -c 42 ``` -以下是使用颜色 5 和 7 的几个不同选项的示例: +以下是使用配色 5 和 7 的几个不同选项的示例: ![inxi -c 5 command][5] @@ -113,7 +114,7 @@ $ inxi -c 42 ![inxi -s][6] -### 3. 组合选项 +### 3、组合选项 如果支持,你可以组合 `inxi` 的选项以获得复杂的输出。例如,`inxi -S` 提供系统信息,`-v` 提供详细输出。将两者结合起来可以得到以下结果: @@ -155,9 +156,9 @@ Weather: ### 总结 -有许多很棒的工具可以收集有关你的计算机的信息。 我根据机器、桌面或我的心情使用不同的。 你最喜欢的系统信息工具是什么? +有许多很棒的工具可以收集有关你的计算机的信息。我根据机器、桌面或我的心情使用不同的工具。你最喜欢的系统信息工具是什么? -图片来源:(Don Watkins,CC BY-SA 4.0) +*图片来源:(Don Watkins,CC BY-SA 4.0)* -------------------------------------------------------------------------------- @@ -166,7 +167,7 @@ via: https://opensource.com/article/22/9/linux-inxi-command 作者:[Don Watkins][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 5342faea8748e3b6e4f29b4aa4816d8f7dc18170 Mon Sep 17 00:00:00 2001 From: vvvbbbcz Date: Sat, 1 Oct 2022 15:35:35 +0800 Subject: [PATCH 042/170] =?UTF-8?q?[=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91][?= =?UTF-8?q?tech]:=2020220923=2011=20Gorgeous=20KDE=20Plasma=20Themes=20to?= =?UTF-8?q?=20Make=20Your=20Linux=20Desktop=20Even=20More=20Beautiful.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Your Linux Desktop Even More Beautiful.md | 229 ------------------ ... Your Linux Desktop Even More Beautiful.md | 229 ++++++++++++++++++ 2 files changed, 229 insertions(+), 229 deletions(-) delete mode 100644 sources/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md create mode 100644 translated/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md diff --git a/sources/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md b/sources/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md deleted file mode 100644 index 4d7e8a914f..0000000000 --- a/sources/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md +++ /dev/null @@ -1,229 +0,0 @@ -[#]: subject: "11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful" -[#]: via: "https://itsfoss.com/best-kde-plasma-themes/" -[#]: author: "sreenath https://itsfoss.com/author/sreenath/" -[#]: collector: "lkxed" -[#]: translator: "vvvbbbcz" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful -====== - -One of the most powerful features of the [KDE Plasma desktop is its fantastic potential for customization][1]. - -Speaking of customization, changing the theme is perhaps its most common and most visual aspect. - -Not that the default Breeze theme is bad looking. It’s just that you can give it an entirely different look with a new theme and icon set. - -![Default KDE Plasma Theme Breeze][2] - -Let me help you with that. I’ll share some beautiful KDE Plasma themes you can choose from. I’ll also show the steps for installing the chosen themes later in this article. - -### Best KDE Plasma Themes - -Please note that this is not a ranking list. Theme at number 3 should not be considered better than the one at number 7 or 8. - -### 1. Sweet - -Sweet is one of the most popular KDE themes out there. This theme, only available in dark mode, gives an aesthetic look to your system. - -![Sweet Theme][3] - -It can be **installed through KDE system settings**. It also has a dedicated icon pack, called Candy Icons, which also gets installed automatically, if you install it through System Settings. - -[Sweet Theme][4] - -### 2. Materia KDE - -Materia is another popular theme liked by many desktop users. It has a polished and elegant look. Available in three variants, Materia, Materia Light, and Materia Dark. - -![Materia Dark][5] - -Materia Light is a pure white theme and Materia dark offers a complete dark experience. At the same time, Materia Theme gives a blend of both Dark and White. - -This theme also **can be installed through KDE system settings**. - -[Materia KDE][6] - -### 3. Nordic - -Nordic theme has a separate fan base among dark theme lovers. It is created around the Nord color palette, which is both comfortable for the eyes and elegant to watch. - -![Nordic KDE][7] - -Created by the same [developer of Sweet theme][8], it can be **installed from KDE System Settings**. - -[Nordic][9] - -### 4. WhiteSur - -WhiteSur, developed by Vinceliuice, is a theme, aimed at MacOS theme lovers. It achieves a great similarity to MacOS appearance, which can be further enhanced with KDE Panel, Latte Dock etc. - -![WhiteSur][10] - -It provides an icon pack, which adds more aesthetics to the look and feel. This popular theme also provides both dark and light variants. - -[WhiteSur][11] - -### 5. Layan - -Layan theme is available for both light and dark variants. And this is one of those themes, that provides rounded corners and looks neat and polished. - -![Layan][12] - -Layan uses Tela Circle icons and is **available to install from system settings**. - -[Layan][13] - -### 6. Qogir - -Available in both light and dark variants, Qogir is a minimal theme, which can make your system look neat and cool. - -![Qogir][14] - -It has a very similar look to what appears on Budgie desktop. You can simply install the Qogir theme and its associated icon pack **from system settings**. - -[Qogir][15] - -### 7. Fluent Round - -This theme can create a look and feel of the latest Windows 11 if you are a fan of that OS. Keeping this similarity aside, the Fluent theme is literally a great theme, available in both light/dark variants. - -![Fluent KDE Theme][16] - -It provides a polished look to your system, together with a dedicated dark/light icon package. - -[Fluent Round][17] - -### 8. Orchis - -Orchis is quite popular among GNOME GTK theming and it is available for KDE also. Orchis has both light/dark. If you are **installing it through system settings**, the Tela Icon pack will also be installed, which you can change anytime from system settings. - -![Orchis KDE Theme][18] - -As in GNOME, this material-inspired theme improves the polishness of your desktop. - -[Orchis][19] - -### 9. Iridescent Round - -If you are a fan of cyberpunk themes or futuristic themes, this can be a good option. The default wallpaper, which gets **installed through system settings**, looks artistic and gives a nerd vibe to your desktop. - -![Iridescent Round][20] - -It can create a visual experience if used with some cool plasma widgets and icon sets. - -[Iridescent Round][21] - -### 10. Nova Papilio - -A rounded light theme centered around purple color. The theme is visually pleasing if you like light themes and extremely rounded corners. - -![Nova Papilio][22] - -The theme can be **installed from the system settings**. - -[Nova Papilio][23] - -### 11. WinSur Dark - -As the name suggests, it has certain visual elements from Windows and macOS themes. - -![Winsur Dark][24] - -It has light/dark versions and you can **find it in system settings**. The theme has rounded corners and quite a polished look. But from my personal experience, it may make the display a bit congested on small displays. - -[WinSur Dark][25] - -#### Honorable Mentions - -Listing themes, particularly in the case of a DE-like KDE Plasma can be a difficult task. Because there is a huge number of themes available. The above list gives a starting point, to those who don’t want to spend time browsing for good looking themes. - -Apart from this list, there are certain themes, like [Ant-Dark][26], [Aritim Dark][27], [Dracula][28], etc. that can also provide some nice visual experience to users. - -### How to use these themes - -Coming to the theme, there are a couple of methods to theme your KDE Plasma desktop. You can find it in brief below. It is a bit different from [theming GNOME desktop environment][29]. - -#### Install Theme from Settings - -This is the most common and easiest method. Head on to KDE Settings. Select Appearance and click on Global Themes. Now, you can search for themes from the button as shown in the screenshots below. - -![Download new global themes from KDE Plasma system settings][30] - -You will get a comprehensive list of themes. Here, you can view the results with sort options. Once you found a theme, click on it and press install. - -![List of available themes in KDE plasma system settings][31] - -In most cases, this will apply a corresponding plasma theme and icons. - -#### Apply Theme From Downloaded Theme Files - -In some cases, you may find an interesting theme on some websites and unavailable in the KDE store. In this case, you need to download and extract the file. Once done, place the global theme folder of the downloaded theme in `~/.local/share/plasma/look-and-feel/` and Plasma Theme folder of the downloaded theme in `~/.local/share/plasma/desktoptheme/`. - -![KDE Plasma themes folder in file manager][32] - -Now head on to the settings and you will find the theme listed under the Appearance section. - -#### Install Theme through Package Managers - -This is a limited option. There are some themes, which found their way to the official repositories of your distribution. You can search for these themes and install them with your package manager. For example, in Ubuntu, you can install the Materia-KDE theme by running: - -``` -sudo apt install materia-kde -``` - -As said above, only a limited number of themes will be available here, that too varies with distributions. **Once installed, you can change the theme from System Settings > Appearance**. - -### Wrapping Up - -So, I listed some of my favorite KDE Plasma themes. I also demonstrated the steps for changing the themes. - -Do you find some interesting theme here? Do you have some other favorite KDE theme that you would like to share with us in the comment section? - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/best-kde-plasma-themes/ - -作者:[sreenath][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sreenath/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/kde-customization/ -[2]: https://itsfoss.com/wp-content/uploads/2022/09/breeze.webp -[3]: https://itsfoss.com/wp-content/uploads/2022/09/sweet-theme.webp -[4]: https://store.kde.org/s/KDE%20Store/p/1294729 -[5]: https://itsfoss.com/wp-content/uploads/2022/09/materia-dark.png -[6]: https://www.pling.com/p/1462622 -[7]: https://itsfoss.com/wp-content/uploads/2022/09/nordic-kde.png -[8]: https://github.com/EliverLara/Nordic -[9]: https://www.pling.com/p/1267246 -[10]: https://itsfoss.com/wp-content/uploads/2022/09/whitesur.webp -[11]: https://www.pling.com/p/1400424 -[12]: https://itsfoss.com/wp-content/uploads/2022/09/layan.webp -[13]: https://www.pling.com/p/1325241 -[14]: https://itsfoss.com/wp-content/uploads/2022/09/qogir.png -[15]: https://www.pling.com/p/1675755 -[16]: https://itsfoss.com/wp-content/uploads/2022/09/fluent-kde-theme.webp -[17]: https://www.pling.com/p/1631673 -[18]: https://itsfoss.com/wp-content/uploads/2022/09/orchis-kde-theme.png -[19]: https://www.pling.com/p/1458927 -[20]: https://itsfoss.com/wp-content/uploads/2022/09/iridescent-round.webp -[21]: https://www.pling.com/p/1640906 -[22]: https://itsfoss.com/wp-content/uploads/2022/09/nova_papilio.webp -[23]: https://www.pling.com/p/1663528 -[24]: https://itsfoss.com/wp-content/uploads/2022/09/winsur-dark.webp -[25]: https://www.pling.com/p/1373646 -[26]: https://www.pling.com/p/1464332 -[27]: https://www.pling.com/p/1281836 -[28]: https://www.pling.com/p/1370871 -[29]: https://itsfoss.com/install-switch-themes-gnome-shell/ -[30]: https://itsfoss.com/wp-content/uploads/2022/09/download-new-global-themes-from-kde-plasma-system-settings.webp -[31]: https://itsfoss.com/wp-content/uploads/2022/09/list-of-available-themes-in-kde-plasma-system-settings.webp -[32]: https://itsfoss.com/wp-content/uploads/2022/09/kde-plasma-themes-folder-in-file-manager.png diff --git a/translated/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md b/translated/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md new file mode 100644 index 0000000000..17e8e41585 --- /dev/null +++ b/translated/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md @@ -0,0 +1,229 @@ +[#]: subject: "11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful" +[#]: via: "https://itsfoss.com/best-kde-plasma-themes/" +[#]: author: "sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: "vvvbbbcz" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +11 个让你的 Linux 桌面更好看的 KDE Plasma 主题 +====== + +KDE Plasma 桌面的一个强大的特性就是它 [巨大的自定义潜力][1]。 + +提到自定义,改变主题或许是最普遍最直观的方式。 + +不是说默认的 Breeze 主题不好看。只是你的 Plasma 桌面可以通过新的主题和图标得到截然不同的外观。 + +![KDE Plasma 默认的 Breeze 主题][2] + +让我来帮助你。我将分享一些好看的 KDE Plasma 主题,你可以从中选择。我还会在文末展示安装主题的步骤。 + +### 最佳的 KDE Plasma 主题 + +请注意,这不是主题的排行榜。也就是说,排在第三位的主题不一定比第七位或第八位更好。 + +### 1. Sweet + +Sweet 是目前最受欢迎的 KDE 主题之一。这个仅提供了深色模式的主题,可以为你的系统带来华丽的外观。 + +![Sweet 主题][3] + +它可以**通过 KDE 系统设置安装**。它还提供了配套的图标,叫做 Candy Icons,如果你通过 KDE 系统设置安装,这套图标将会被自动安装。 + +[Sweet 主题][4] + +### 2. Materia KDE + +Materia 是另一个被很多桌面用户喜欢的主题,拥有光洁和优雅的外观。它有三个版本:Materia、Materia Light 和 Materia Dark。 + +![Materia Dark][5] + +Materia Light 是一个纯白色的主题,Materia Dark 提供了一个完整的深色外观。而 Materia 则是黑色和白色的融合。 + +它也**可以通过 KDE 系统设置安装**。 + +[Materia KDE][6] + +### 3. Nordic + +Nordic 主题在深色主题爱好者中拥有一个独立的粉丝群体。它是围绕 Nord 色系创作的,看起来既舒服又优雅。 + +![Nordic KDE][7] + +它与 Sweet 主题是 [同样的开发者][8],可以**通过 KDE 系统设置安装**。 + +[Nordic][9] + +### 4. WhiteSur + +WhiteSur 是一个由 Vinceliuice 开发,面向 MacOS 主题爱好者的主题。它实现了与 MacOS 外观的高相似度,而且可以通过 KDE 面板、Latte Dock 等功能做到更高的相似度。 + +![WhiteSur][10] + +它还提供了一套图标,使它看起来更具美感。这个受欢迎的主题还提供了深色和浅色两个版本。 + +[WhiteSur][11] + +### 5. Layan + +Layan 主题有浅色和深色两个版本。这是其中之一,它提供了圆角,看起来整洁而美观。 + +![Layan][12] + +Layan 使用 Tela Circle 图标,**可以通过 KDE 系统设置安装**。 + +[Layan][13] + +### 6. Qogir + +这个主题有浅色和深色两个版本,是一个极简的主题,让你的系统看起来整洁而炫酷。 + +![Qogir][14] + +它与 Budgie 桌面有相似的外观。你可以**从 KDE 系统设置**轻易地安装 Qogir 主题和它的配套图标。 + +[Qogir][15] + +### 7. Fluent Round + +如果你是 Windows 11 系统的粉丝,这个主题可以创造出 Windows 11 的外观和感觉。抛开这种相似性,Fluent 主题也是一个不错的主题,有浅色和深色两个版本。 + +![Fluent KDE 主题][16] + +它为你的系统提供了一个光洁的外观,同时还有一套配套的深色和浅色图标。 + +[Fluent Round][17] + +### 8. Orchis + +Orchis 在 GNOME GTK 主题设计中相当流行,亦可用于 KDE。Orchis 有浅色和深色两种颜色。如果你**通过 KDE 系统设置安装**,Tela Icon 这套图标也会被安装,你可以随时从系统设置中更改。 + +![Orchis KDE Theme][18] + +和 GNOME 一样,这个以材料为灵感的主题提高了桌面的美观度。 + +[Orchis][19] + +### 9. Iridescent Round + +如果你是赛博朋克主题或未来主义主题的粉丝,这个主题将是一个不错的选择。它的默认壁纸**可以通过 KDE 系统设置安装**,这个壁纸看起来很有艺术感,给你的桌面增添了宅男的气息。 + +![Iridescent Round][20] + +如果与一些炫酷的 Plasma 组件和图标一起使用,它可以创造一种别致的视觉享受。 + +[Iridescent Round][21] + +### 10. Nova Papilio + +这是一个圆润的,以紫色为主的浅色主题。如果你喜欢浅色主题和大圆角,这个主题将会为你带来视觉上的愉悦。 + +![Nova Papilio][22] + +这个主题可以**从 KDE 系统设置安装**。 + +[Nova Papilio][23] + +### 11. WinSur Dark + +顾名思义,它有来自 Windows 和 MacOS 主题的某些视觉元素。 + +![Winsur Dark][24] + +这个主题有浅色和深色版本,你可以**在 KDE 系统设置**中找到它。这个主题有圆角和光洁的外观。但根据我的个人体验,它可能会使小显示器上的显示略显拥挤。 + +[WinSur Dark][25] + +#### 值得提及的一些事情 + +在像 KDE Plasma 这样的桌面环境下,列出主题可能是一项艰巨的任务,因为有大量的主题可供选择。以上的清单仅是为不想花太多时间寻找好看主题的人提供的一个参考。 + +在这个名单之外,也有一些主题,例如 [Ant-Dark][26]、[Aritim Dark][27]、[Dracula][28] 等,也能为用户提供不错的视觉体验。 + +### 如何使用这些主题 + +提到这些主题,有几种可以给你的 KDE Plasma 桌面安装主题的方法。你可以在下面找到这些方法的简要说明。它与 [在 GNOME 上安装主题][29] 有点不同。 + +#### 从设置安装主题 + +这是最常见也是最简单的方法。打开 KDE 设置。选择“外观”,点击“全局主题”。然后,你可以通过点击如下图所示的按钮搜索主题。 + +![从 KDE 系统设置中下载新的全局主题][30] + +你将得到一个全面的主题列表。在这里,你可以查看排序的结果。当你找到了一个合适的主题,点击它并按下安装按钮即可。 + +![在 KDE 系统设置中的可用主题的列表][31] + +在大多数情况下,这将同时应用相应的主题和图标。 + +#### 从下载的主题文件中应用主题 + +某些情况下,你可能在网上找到了一些你感兴趣但 KDE Store 中并不包含的主题。在这种情况下,你需要下载并提取文件。随后,将下载的主题的全局主题文件夹放在 `~/.local/share/plasma/look-and-feel/` 下,将 Plasma 主题文件夹放在 `~/.local/share/plasma/desktoptheme/` 下。 + +![在文件管理器中的 KDE Plasma 主题文件夹][32] + +现在,打开设置,你将看到你安装的主题已经可以在“外观”中找到。 + +#### 通过软件包管理器安装主题 + +这种方法具有局限性。有一些主题,它们有进入你使用的发行版的官方仓库。你可以通过你的软件包管理器搜索并安装它们。例如,你可以在 Ubuntu 下通过运行以下命令安装 Materia-KDE 主题: + +``` +sudo apt install materia-kde +``` + +如上文所述,这种方法只能安装有限数量的主题,而且随发行版的不同而不同。**在安装后,你可以在 系统设置 > 外观 中更改主题**。 + +### 结语 + +综上,我列出了我最喜爱的 KDE Plasma 主题。我也展示了更改主题的方法。 + +你在这里找到了感兴趣的主题了吗?你有一些其他喜欢的,想和我们在评论区分享的 KDE 主题吗? + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/best-kde-plasma-themes/ + +作者:[sreenath][a] +选题:[lkxed][b] +译者:[自由的铁矿](https://github.com/vvvbbbcz) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sreenath/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/kde-customization/ +[2]: https://itsfoss.com/wp-content/uploads/2022/09/breeze.webp +[3]: https://itsfoss.com/wp-content/uploads/2022/09/sweet-theme.webp +[4]: https://store.kde.org/s/KDE%20Store/p/1294729 +[5]: https://itsfoss.com/wp-content/uploads/2022/09/materia-dark.png +[6]: https://www.pling.com/p/1462622 +[7]: https://itsfoss.com/wp-content/uploads/2022/09/nordic-kde.png +[8]: https://github.com/EliverLara/Nordic +[9]: https://www.pling.com/p/1267246 +[10]: https://itsfoss.com/wp-content/uploads/2022/09/whitesur.webp +[11]: https://www.pling.com/p/1400424 +[12]: https://itsfoss.com/wp-content/uploads/2022/09/layan.webp +[13]: https://www.pling.com/p/1325241 +[14]: https://itsfoss.com/wp-content/uploads/2022/09/qogir.png +[15]: https://www.pling.com/p/1675755 +[16]: https://itsfoss.com/wp-content/uploads/2022/09/fluent-kde-theme.webp +[17]: https://www.pling.com/p/1631673 +[18]: https://itsfoss.com/wp-content/uploads/2022/09/orchis-kde-theme.png +[19]: https://www.pling.com/p/1458927 +[20]: https://itsfoss.com/wp-content/uploads/2022/09/iridescent-round.webp +[21]: https://www.pling.com/p/1640906 +[22]: https://itsfoss.com/wp-content/uploads/2022/09/nova_papilio.webp +[23]: https://www.pling.com/p/1663528 +[24]: https://itsfoss.com/wp-content/uploads/2022/09/winsur-dark.webp +[25]: https://www.pling.com/p/1373646 +[26]: https://www.pling.com/p/1464332 +[27]: https://www.pling.com/p/1281836 +[28]: https://www.pling.com/p/1370871 +[29]: https://itsfoss.com/install-switch-themes-gnome-shell/ +[30]: https://itsfoss.com/wp-content/uploads/2022/09/download-new-global-themes-from-kde-plasma-system-settings.webp +[31]: https://itsfoss.com/wp-content/uploads/2022/09/list-of-available-themes-in-kde-plasma-system-settings.webp +[32]: https://itsfoss.com/wp-content/uploads/2022/09/kde-plasma-themes-folder-in-file-manager.png From cce58e9e70c8cd2e81f9d9003e8a09f3b1a59e50 Mon Sep 17 00:00:00 2001 From: lkxed Date: Sat, 1 Oct 2022 17:54:24 +0800 Subject: [PATCH 043/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020220930=20[Exclusive]=20Tuxedo=20Makes=20Ubuntu-based?= =?UTF-8?q?=20-TUXEDO=20OS-=20Available=20For=20All.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntu-based -TUXEDO OS- Available For All.md | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md diff --git a/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md b/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md new file mode 100644 index 0000000000..aee3806da1 --- /dev/null +++ b/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md @@ -0,0 +1,139 @@ +[#]: subject: "[Exclusive] Tuxedo Makes Ubuntu-based 'TUXEDO OS' Available For All" +[#]: via: "https://news.itsfoss.com/tuxedo-os/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +[Exclusive] Tuxedo Makes Ubuntu-based 'TUXEDO OS' Available For All +====== +TUXEDO OS is an Ubuntu-based distro aiming to bring TUXEDO's expertise with Linux to non-TUXEDO users as well. + +![[Exclusive] Tuxedo Makes Ubuntu-based 'TUXEDO OS' Available For All][1] + +Yet another Ubuntu distro? 😕 + +Not exactly! **TUXEDO Computers** is a hardware manufacturer famous for its Linux-focused laptops and computers. + +**There are some interesting differences between TUXEDO OS and Ubuntu**. + +While they already had TUXEDO OS as a choice to have pre-installed on their laptops/computers, it was not available for everyone. + +Finally, they have decided to make the first version of their distribution available as **TUXEDO OS 1,**which is now available to download. + +This means you can try it on your own, non-TUXEDO system. + +So, something like System76's approach for Pop!_OS, which is not a bad thing 👌 + +### 'TUXEDO OS 1' With KDE + +![tuxedo homescreen][2] + +TUXEDO OS 1 is based on[Ubuntu 22.04 LTS][3]; it should have no issues running on most devices. + +Unlike System76's Pop!_OS, TUXEDO OS features [KDE Plasma 5.24.6][4]. So, it should present a familiar user interface to Windows users as well. + +However, TUXEDO OS includes extras like TUXEDO Control Center to fine-tune your hardware (CPU/Fan, etc) and TUXEDO Tomte, a configuration service for resolving driver/missing package issues, which may/may not work on other hardware configurations. + +With that being said, let us look at TUXEDO OS and what it offers. + +### TUXEDO OS, KDE-Powered Customized Ubuntu Experience + +The user experience is the same as expected with any KDE-powered Ubuntu distro. + +However, you will find TUXEDO branding with its red accent for the applications and menu. It features a refreshing wallpaper too. + +![tuxedo menu][5] + +Not just limited to a customized KDE Plasma theme, there are more things in the work here. Some of the differences include: + +* It uses PipeWire as the audio server instead of PulseAudio. +* os-prober feature enabled in GRUB to let users conveniently detect other operating systems installed. +* .deb as the preferred package format with Snap disabled by default. +* Canonical URL removed from the NetworkManagerConnectivity check. + +#### Software availability? + +You can expect the availability of all popular software tools through the Discover app, where you can find Ubuntu's repositories, and TUXEDO's repository enabled. + +It includes essential apps like **Firefox, Thunderbird, LibreOffice, VLC, Lutris, and Heroic Games Launcher**. So, I do not think you will find them as bloatware. + +![tuxedo discover app][10] + +I also noticed that it has Flatpak integration enabled by default. + +You can learn more about the available software on their [official webpage][11]. + +#### This also brings us to an important highlight: + +❌ TUXEDO OS does not ship with Snap as default. For Firefox, it ships with the deb package instead, just like Linux Mint. + +✅ It is worth noting that TUXEDO OS 22.04 LTS comes with Nvidia drivers out of the box. + +So, I had no trouble installing it on my system with RTX 3060 Ti graphics. + +### TUXEDO Extras + +As mentioned above, TUXEDO OS comes along with a few extras tailored to enhance your experience with Tuxedo hardware. + +The control center is an excellent tool to monitor your system, choose a power profile, control external water cooling ([TUXEDO Aquaris][12]), and more. + +![tuxedo control center][13] + +While the control center is not tailored for non-TUXEDO devices, it still works for the most part. + +There's also a TUXEDO WebFAI creator app (a customized BalenaEtcher experience) to prepare a Pendrive for OS installation. + +![tuxedo webfai][14] + +Not to forget, TUXEDO Tomte, which fails to work on my system but works well with TUXEDO devices as a configuration service: + +![][15] + +### Download TUXEDO OS 1 + +TUXEDO OS is a pretty polished experience. The team behind TUXEDO has had significant experience making Linux work on some of their latest laptops. So, you can be confident about your experience with their Linux distribution. + +You can also find an official article on [getting started with TUXEDO OS][16] if you are curious. + +**TUXEDO OS 1 is a good option if you want a customized Ubuntu experience with KDE.** + +You can support their initiatives by using it, which might encourage you to get a TUXEDO device; you never know, right? + +You can download it from its official website and share your thoughts in the comments below. + +[Download TUXEDO OS 1][17] + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/tuxedo-os/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/tuxedo-os-1.png +[2]: https://news.itsfoss.com/content/images/2022/09/tuxedo-home.jpg +[3]: https://news.itsfoss.com/ubuntu-22-04-release/ +[4]: https://news.itsfoss.com/kde-plasma-5-24-lts-release/ +[5]: https://news.itsfoss.com/content/images/2022/09/tuxedo-menu.png +[6]: https://itsfoss.com/properly-theme-kde-plasma/ +[7]: https://itsfoss.com/properly-theme-kde-plasma/ +[8]: https://itsfoss.com/get-linux-laptops/ +[9]: https://itsfoss.com/get-linux-laptops/ +[10]: https://news.itsfoss.com/content/images/2022/09/tuxedo-os-repositories.png +[11]: https://www.tuxedocomputers.com/en/Featured-KDEs-outstanding-applications-and-tools.tuxedo +[12]: https://www.tuxedocomputers.com/en/TUXEDO-Aquaris.tuxedo +[13]: https://news.itsfoss.com/content/images/2022/09/tuxedo-os-control-center.png +[14]: https://news.itsfoss.com/content/images/2022/09/tuxedo-webfai.jpg +[15]: https://news.itsfoss.com/content/images/2022/09/tuxedo-tomte.jpg +[16]: https://www.tuxedocomputers.com/en/First-Steps-with-TUXEDO-OS.tuxedo +[17]: https://www.tuxedocomputers.com/os +[18]: https://www.humblebundle.com/books/linux-no-starch-press-books?partner=itsfoss From e1f99b08335d6b668b4b696365e2deec6215c0af Mon Sep 17 00:00:00 2001 From: lkxed Date: Sat, 1 Oct 2022 17:55:12 +0800 Subject: [PATCH 044/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020220930=20Wow!=20You=20Can=20Now=20Use=20Ubuntu=20Des?= =?UTF-8?q?ktop=20on=20Cloud.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...You Can Now Use Ubuntu Desktop on Cloud.md | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 sources/news/20220930 Wow! You Can Now Use Ubuntu Desktop on Cloud.md diff --git a/sources/news/20220930 Wow! You Can Now Use Ubuntu Desktop on Cloud.md b/sources/news/20220930 Wow! You Can Now Use Ubuntu Desktop on Cloud.md new file mode 100644 index 0000000000..185612919b --- /dev/null +++ b/sources/news/20220930 Wow! You Can Now Use Ubuntu Desktop on Cloud.md @@ -0,0 +1,95 @@ +[#]: subject: "Wow! You Can Now Use Ubuntu Desktop on Cloud" +[#]: via: "https://news.itsfoss.com/ubuntu-amazon-workspaces/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Wow! You Can Now Use Ubuntu Desktop on Cloud +====== +Looking for a managed Ubuntu virtual desktop session on AWS? Now, it is available to try! + +![Wow! You Can Now Use Ubuntu Desktop on Cloud][1] + +[Amazon WorkSpaces][2] is a fully managed virtual desktop service that caters to enterprises and individuals looking to eliminate the hassle of maintaining, scaling, and managing specific hardware for work. + +Unfortunately, they did not have Ubuntu as one of their offerings. + +So, they partnered with Canonical to add an option for Ubuntu-based desktops. + +### Ubuntu as a Managed Virtual Desktop + +![ubuntu amazon workspace][3] + +Amazon WorkSpaces previously had Windows and [Amazon Linux][4]-based machines. + +It is a fully managed VDI (Virtual Desktop Infrastructure) service that lets enterprises set up a new virtual desktop in a matter of minutes in a very cost and time-effective manner. + +Adding Ubuntu as an option should help thousands of developers and enterprises. + +[Sébastien][5] (**Principal Developer Advocate @AWS**) gives an excellent example of how useful this can be: + +It is one of the most widely-used Linux distros and should appeal to many developers who use Ubuntu as their primary operating system to carry out development projects. + +It should help DevOps engineers, academic institutions, remote workers, and more. + +Canonical [mentions][6]: + +On launch, they are offering Ubuntu 22.04 LTS 'Jammy Jellyfish'. + +They have collaborated with [Canonical][9]to optimize the distro for cloud development and included the **AWS CLI and SDK**. + +### How to Create Ubuntu Amazon WorkSpace? + +![ubuntu amazon workspace][10] + +A few simple steps are to be followed to create an Ubuntu-based Amazon WorkSpace instance. + +First and foremost, you need to have an existing Amazon VPC server with at least two subnets. + +Then, sign in to the [Amazon WorkSpaces console][11], set up an active directory, and add new users with their relevant info. + +Now, on the '**Select Bundle**' page, select one of the 'Ubuntu Linux' options according to your use case. + +After setup is complete, users will automatically receive an email with all the essential details needed to access the Ubuntu-based Amazon WorkSpace instance. + +Additionally, if you are an individual or a small group of developers, you can use the "**Quick Setup**" option in the WorkSpace console to quickly set up an Ubuntu-based virtual desktop. + +For more details on the installation steps, you can refer to the [official documentation][12] and [AWS's announcement post][13]. + +### Pricing and Availability + +The Ubuntu-based Amazon WorkSpace bundle starts from **$23 per month or $0.18 per hour**. + +Pricing changes according to the region, with the cheapest options being 'US West' and 'US East'. + +Ubuntu-based virtual desktops are available across the globe, with servers being made available in the US, Africa, Asia Pacific, Canada, Europe, and South America. + +*💬 What do you think of this? Will you use the cloud to access Ubuntu for work from now on?* + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-amazon-workspaces/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/aws-adds-ubuntu-as-virtual-desktop-solution.png +[2]: https://aws.amazon.com/workspaces/ +[3]: https://news.itsfoss.com/content/images/2022/09/ubuntu-aws-virtual.png +[4]: https://news.itsfoss.com/amazon-linux-2022-preview/ +[5]: https://twitter.com/sebsto +[6]: https://ubuntu.com/blog/ubuntu-desktop-on-amazon-workspaces +[9]: https://canonical.com/ +[10]: https://news.itsfoss.com/content/images/2022/09/ubuntu-aws-remote.png +[11]: https://console.aws.amazon.com/workspaces/ +[12]: https://docs.aws.amazon.com/workspaces/ +[13]: https://aws.amazon.com/blogs/aws/amazon-workspaces-introduces-ubuntu-desktops/ From 9f7d86af0efa28c9be0b1d1704f1da6bd49cc7bc Mon Sep 17 00:00:00 2001 From: lkxed Date: Sat, 1 Oct 2022 18:11:42 +0800 Subject: [PATCH 045/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020220930=20How=20to=20Properly=20Theme=20KDE=20Plasma?= =?UTF-8?q?=20[An=20in-depth=20Guide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ly Theme KDE Plasma [An in-depth Guide].md | 279 ++++++++++++++++++ 1 file changed, 279 insertions(+) create mode 100644 sources/tech/20220930 How to Properly Theme KDE Plasma [An in-depth Guide].md diff --git a/sources/tech/20220930 How to Properly Theme KDE Plasma [An in-depth Guide].md b/sources/tech/20220930 How to Properly Theme KDE Plasma [An in-depth Guide].md new file mode 100644 index 0000000000..ac8b1e06c1 --- /dev/null +++ b/sources/tech/20220930 How to Properly Theme KDE Plasma [An in-depth Guide].md @@ -0,0 +1,279 @@ +[#]: subject: "How to Properly Theme KDE Plasma [An in-depth Guide]" +[#]: via: "https://itsfoss.com/properly-theme-kde-plasma/" +[#]: author: "sreenath https://itsfoss.com/author/sreenath/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Properly Theme KDE Plasma [An in-depth Guide] +====== +If you have been using Linux for some time, you know about KDE Plasma, the desktop environment. + +Many distributions ship KDE Plasma as the default (or flagship) desktop environment. + +Hence, it is not surprising to find it among the [best desktop environments][1]. + +KDE Plasma desktop is famous for its endless possibilities of customizations. Not to forget, we have a [KDE customization guide][2] to help you in all the different ways. + +**How do you approach tweaking KDE Plasma’s theme to suit your taste?** + +Many users fail to understand how KDE themes work. It is not a straightforward process; there’s a Global theme, there’s a Plasma theme, there are color schemes, Window decorations, and so many other things! + +![KDE Plasma Theme elements][3] + +**So, what are the things you need to know to get a consistent experience with your choice of theme?** + +In this article, I aim to address that and give you all the details you need to properly theme KDE Plasma and help you know the nuts and bolts of it. + +Table of Contents + +* What is the Purpose of Theming? +* 1. Selecting a Theme for Your KDE Plasma * A. Does the theme has all the components needed? * B. Does it have an associated Kvantum theme? * C. Does the theme have a GTK version of the theme? * D. A compatible Icon and Cursor Pack? +* 2. Exploring The Global Theme * Apply Global Theme via System Settings * Apply Theme Manually +* 3. Icon and Cursor Theme +* 4. Applying GTK Themes +* 5. Applying Desktop Effects and Scripts +* 6. Kvantum Themes +* 7. Installing Fonts +* 8. Tweaking the Panels +* 9. Adding Widgets +* Get Creative With KDE Plasma + +### What is the Purpose of Theming? + +Before we go to the theming, we should be clear about the purpose. There are many ways you can theme a desktop, for productivity, nerd theming (for fun), or overwhelming ricing, that may seriously impact the resource utilization of your system. + +But, most of the above use-cases have several common aims: + +* A different look and feel to all apps in the system. +* Easier to get the thing done, or in other words, a better workflow. +* Taking care of your eyes (sometimes it’s just aesthetic, and you know it!). + +Everything depends on user preferences. But you need to have a uniform look and feel. To get that, you need to know a few things… + +### 1. Selecting a Theme for Your KDE Plasma + +Coming to KDE Plasma or GNOME, there is no limitation to the availability of themes. Several dedicated sites provide an endless stream of themes that can be downloaded free of cost. + +We already have a [list of recommended KDE Plasma themes][4] if you want to explore them. + +So, what should you focus on when theming your system? Well, there are a couple of things to note: + +#### A. Does the theme has all the components needed? + +This is not an issue if you install the themes via KDE System Settings. But in some cases, you may be in a situation where there is only a global theme that does not provide a uniform look for every element on your desktop. You need to keep an eye out for that. + +#### B. Does it have an associated Kvantum theme? + +Kvantum is an SVG-based theme engine for Qt5 that gives you great control to tweak a theme. + +Suppose you want the ability to tweak things like Window transparency, blur, etc. You might want to select a theme that has a Kvantum theme. + +You can find this detail in the theme description from the store you download it. + +#### C. Does the theme have a GTK version of the theme? + +It is best to have a theme with both Kvantum and GTK versions because not every app you use will be based on Qt. + +**Related:** [Best Linux Distributions Based on KDE][5] + +#### D. A compatible Icon and Cursor Pack? + +This is not a concern by itself. Because icons and cursor, for the most part, do not affect the themes. But, it can affect the case of Dark/Light themes. A dark theme often requires a dark icon pack and vice versa for better visibility. The same visibility can be an issue with the cursor colors too. So keep this in mind if you encounter any such problems. + +### 2. Exploring The Global Theme + +The global theme can be applied to KDE Plasma in two ways. You can simply apply the global theme. Or, you can change individual Plasma Themes, colors, etc., depending on how you apply the global theme. + +#### Apply Global Theme via System Settings + +This is the most common and straightforward way of applying the theme. You need to go to the system settings and from there to appearance. Here, you can find the “**Global Theme**” Tab. Go to the “**Get New Global Theme**” button on the bottom right. + +![Get new global themes option in KDE system settings][6] + +This opens the themes dialog, where you can download the themes by pressing the install button associated with each entry. Here, there are options to sort the items according to several criteria like most downloaded, highest rated, etc. + +![Themes available to download, listed in KDE Plasma system settings][7] + +Most of the time, there will be a prompt to enter the password. This is for installing the corresponding SDDM (Simple Desktop Display Manager) theme that affects the login screen. + +Please enter the password for installing it successfully. Once downloaded, close this window and change the theme from Settings > Appearance > Global Themes. This will apply the theme to windows and Plasma and will also add theme-specific window decorations. + +#### Apply Theme Manually + +Most of the time, themes will be available in the system settings. But in some cases, you may find them only on websites like [Pling][8], and [KDE Store][9]. + +**This is how the theme descriptions look in those stores. Download the theme you want:** + +![themes kde][10] + +In this case, download and extract the “Global Theme” and “Plasma Theme” files. + +Now, copy the extracted “Global Theme” folder to **~/.local/share/plasma/look-and-feel**.If you don’t find this folder inside the directory, pleasd change the theme randomly once through global settings and the folders wilappeared after that. + +Copy the extracted “Plasma Theme” folder to **~/.local/share/plasma/desktoptheme**. + +![KDE Plasma themes folder in file manager][11] + +After this step, you can go to **system settings -> appearance** and change to the new theme you installed. Most of the time, a particular theme like Plasma, colors, etc. installed by you remains unselected until you choose and apply them. You need to change all themes manually in his method. + +### 3. Icon and Cursor Theme + +A corresponding icon set and cursor will be installed for themes applied through the system settings. You don’t need to do anything. But, if you want a new icon set, go to **Settings > Appearance > Icons**. Here, click on the Get new Icons Set button and install the required icons from the window, as we did with the themes. + +![Install icon theme from KDE system settings (click to expand image)][12] + +Once done, choose the icon pack we installed and click apply at the bottom right to change to the new icons. + +To install icon themes manually, download and extract the icon’s tar file. After that, copy the contents to **~/.local/share/icons**. This icon set will now be ready to get applied in Appearance > Icons. + +Do remember that, for dark themes, dark variants of icons look better. + +### 4. Applying GTK Themes + +**What is the purpose of GTK Themes in KDE Plasma?** + +As mentioned earlier, we use many GTK apps. But those apps just ignore the system themes that we apply across our desktops. So, we need to install a GTK theme to satisfy those. For a unified look, this should also need the same theme that you applied to other places. + +You might want to explore some of the [best dark GTK themes][13]. + +To install GTK themes in KDE Plasma, you must first download them. You ca download the theme, you want. Now, just go to **Settings > Appearance > Application Style > Get New GNOME/GTK Application Styles**, as shown in the screenshot below: + +![Set GTK Application style inside system settings (click to expand image)][14] + +This will pop up a window, displaying the GTK Themes. Select the one that suits your need, and install it. This can then be selected from the drop-down menu, as shown in the above screenshot. Select it, and don’t forget to press the apply button. + +If you have a theme file downloaded from the internet, click the “**install from file**” button. Now, just select the tar file of the theme (No need to extract). It will be applied ,and you will be able to select it from the same drop-down menu. + +### 5. Applying Desktop Effects and Scripts + +One of the main features of the KDE Plasma desktop is its offering of desktop effects within system settings. You can find it under **Settings > Workspace Behaviour > Desktop Effects**. + +It is pretty much self-explanatory. But, you can find [documentation][15] for the same. + +![KDE settings desktop effects page (click to expand image)][16] + +You can experiment with various options here and test what features you need. + +As a bare minimum, I suggest turning on **Blur** and **Overview** in these settings can make a good look overall. Here, the “overview” setting will allow you to set hot corner overview, just like the GNOME desktop. + +When coming to scripts, you should know how to install and change kwin scripts. These are codes written by the community that can enhance the performance of your window manager. So, you should research more about what it does before jumping in. + +To install scripts, you need to go to **Settings > Window Management > KWin Scripts**. There are some pre-installed KWin scripts. But you can download and install other KWin scripts as shown below: + +![Install KWin scripts through KDE plasma system settings (click to expand image)][17] + +One of the major scripts, that is popular is “Force Blur”, which blurs some user-specified windows. Other extensions, like tiling extensions, are available, which can make your KDE Plasma, a tiling Window Manager too, if not overstated. + +### 6. Kvantum Themes + +If your theme does not give you a unified look just yet, you need to install Kvantum version of your theme. + +To install a Kvantum theme, you need the **[Kvantum manager][18]**. + +By default, the Kvantum manager is not installed. You need to download and install it. In my case, I used Kubuntu for this article. + +**To install Kvantum manager in Ubuntu or other Debian based distros, use the command below:** + +``` +sudo apt install qt5-style-kvantum +``` + +This will install the Kvantum manager. Once it’s done, open it and just peek around the app to explore. Download the Kvantum theme you need. + +Once done, you can install it by selecting the extracted folder within the app, as shown in the screenshot below: + +![Select and install Kvantum theme][19] + +Once installed, you can set the newly installed kvantum theme, by going to the “**Change / Delete Theme**” tab through the drop-down menu. + +![Apply newly installed kvantum theme (click to expand image)][20] + +While it will apply the desired settings that the theme intends, you still have great control over what to change and what not to. + +![Customising inside kvantum manager (click to expand image)][21] + +To get a decent dolphin view (file manager look), you should ensure that the “**Transparent Dolphin View**” is enabled. All the other tweaks are self-explanatory, with popup explanations on hover. You can give all of the tweaks a try. + +### 7. Installing Fonts + +Fonts are an essential part of customization. For many, the default fonts are enough. + +Also, there is a vast number of pre-installed variants. This can be changed through the system settings. + +![Change or install font from system settings (click to expand image)][22] + +You can change fonts by selecting a font and applying it. Or you can download and install fonts through the button provided for the same in the bottom right. + +While installing fonts, you can either install them for the current user or as a system-wide font. + +### 8. Tweaking the Panels + +Panels play a significant role in KDE Plasma. The default panel does not offer a lot. But it will satisfy most of your needs. + +The newer versions of KDE Plasma include a floating panel, which improves the look and feel great. + +![KDE plasma panel in edit mode (click to expand image)][23] + +Here, you can right-click on the panel and access edit mode. The default KDE Panel from KDE 5.25+ provides a floating mode, which makes it look pretty. You can add widgets to your panel and spacers to tweak them. + +### 9. Adding Widgets + +Widgets hold a very significant place in the KDE Plasma system. You can place widgets either directly on the desktop, or you can put them inside the panel. By default, Plasma offers a decent collection of widgets pre-installed. But there is a huge collection of custom widgets that can be downloaded and installed. + +To get widgets, you can simply right-click on the desktop and select “**Add Widgets**“. + +![Add widgets to desktop using the right-click menu][24] + +Inside this, you can either click/drag the existing widgets to the desktop/panel or download new widgets online or from a downloaded file and add them later. + +![Access widgets list in KDE plasma (click to expand image)][25] + +There are several cool widgets out there that can aid you in customizing your desktop. More interestingly, most of the widgets are configurable to your taste. All you need is to right-click and configure the particular widgets. + +### Get Creative With KDE Plasma + +KDE Plasma is one of the most configurable desktops out there. Do you imagine a combination for your theme? You have infinite ways to apply that on KDE. + +Hope this guide helps you learn the fundamentals of KDE themes and helps you in your adventure to get the best theme for your system! + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/properly-theme-kde-plasma/ + +作者:[sreenath][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sreenath/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/best-linux-desktop-environments/ +[2]: https://itsfoss.com/kde-customization/ +[3]: https://itsfoss.com/wp-content/uploads/2022/09/kde-plasma-elements.png +[4]: https://itsfoss.com/best-kde-plasma-themes/ +[5]: https://itsfoss.com/best-kde-distributions/ +[6]: https://itsfoss.com/wp-content/uploads/2022/09/get-new-global-themes-option-in-kde-system-settings.webp +[7]: https://itsfoss.com/wp-content/uploads/2022/09/themes-available-to-download-listed-in-kde-plasma-system-settings.webp +[8]: https://www.pling.com/p/1293160/ +[9]: https://store.kde.org/browse/ +[10]: https://itsfoss.com/wp-content/uploads/2022/09/themes-kde.jpg +[11]: https://itsfoss.com/wp-content/uploads/2022/09/kde-plasma-themes-folder-in-file-manager-1.png +[12]: https://itsfoss.com/wp-content/uploads/2022/09/install-icon-theme-from-kde-system-settings.png +[13]: https://itsfoss.com/dark-gtk-themes/ +[14]: https://itsfoss.com/wp-content/uploads/2022/09/set-gtk-application-style-inside-system-settings.png +[15]: https://docs.kde.org/trunk5/en/kwin/kcontrol/kwineffects/index.html +[16]: https://itsfoss.com/wp-content/uploads/2022/09/kde-settings-desktop-effects-page.png +[17]: https://itsfoss.com/wp-content/uploads/2022/09/install-kwin-scripts-through-kde-plasma-system-settings.png +[18]: https://store.kde.org/p/1005410 +[19]: https://itsfoss.com/wp-content/uploads/2022/09/select-and-install-kvantum-theme.png +[20]: https://itsfoss.com/wp-content/uploads/2022/09/apply-newly-installed-kvantum-theme.png +[21]: https://itsfoss.com/wp-content/uploads/2022/09/customising-inside-kvantum-manager.png +[22]: https://itsfoss.com/wp-content/uploads/2022/09/change-or-install-font-from-system-settings.png +[23]: https://itsfoss.com/wp-content/uploads/2022/09/kde-plasma-panel-in-edit-mode.webp +[24]: https://itsfoss.com/wp-content/uploads/2022/09/add-widgets-in-desktop-right-click-menu.png +[25]: https://itsfoss.com/wp-content/uploads/2022/09/access-widgets-list-in-kde-plasma.webp From 9f137a61b75241aef0d3b4339fc515e278fb8f3f Mon Sep 17 00:00:00 2001 From: lkxed Date: Sat, 1 Oct 2022 18:12:24 +0800 Subject: [PATCH 046/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020220930=20How=20I=20dock=20my=20Linux=20laptop.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20220930 How I dock my Linux laptop.md | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 sources/tech/20220930 How I dock my Linux laptop.md diff --git a/sources/tech/20220930 How I dock my Linux laptop.md b/sources/tech/20220930 How I dock my Linux laptop.md new file mode 100644 index 0000000000..8fb0529c01 --- /dev/null +++ b/sources/tech/20220930 How I dock my Linux laptop.md @@ -0,0 +1,66 @@ +[#]: subject: "How I dock my Linux laptop" +[#]: via: "https://opensource.com/article/22/9/docking-linux-laptop" +[#]: author: "Don Watkins https://opensource.com/users/don-watkins" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How I dock my Linux laptop +====== +Docking a Linux laptop offers flexibility and a better video experience. + +Not that long ago, docking a laptop was a new idea to me. Since then, I've set up two different laptops for docking, and I've been more than satisfied with how this configuration works. This article describes how I set up the laptop docking stations and gives tips and guidance for anyone considering the same. + +### How I discovered docking + +I began 2020 with one laptop: a [Darter Pro][2] purchased from System76 the year before. It had been more than adequate, and I enjoyed the freedom of movement that toting a laptop gave me. Then, of course, everything changed. + +Suddenly, I was at home all the time. Instead of an occasional video conference, remote meetings and get-togethers became the norm. I grew tired of the little square images of colleagues on the Darter Pro's 15.6-inch display, and the included 256 GB Non-Volatile Memory express (NVMe) drive was a limited amount of storage for my needs. + +I purchased an [Intel NUC][3] (Next Unit of Computing) kit and a 27-inch LCD display, rearranged my office with a table, and settled into this new paradigm. Later in the year, I built another, more powerful NUC with an i7 processor, 32 GB of RAM, and a terabyte NVMe drive to accommodate video games and the video converted from old family 8mm movies and VHS tapes. + +Now I had a laptop and a desktop (both running Linux distributions, of course). I regularly met with colleagues and friends on a variety of video conferencing platforms, and I thoroughly enjoyed the increased desktop real estate afforded by the 27-inch display. + +Fast-forward 18 months to summer 2022, when I discovered laptop docking stations. + +### Docking a Linux laptop + +I didn't realize I could have docked my Darter Pro using its USB-C port. My appetite for new hardware had me pining for the new [HP Dev One][4], which comes with Pop!_OS preinstalled, a Ryzen 7 processor, 16 GB of RAM, a terabyte NVMe drive, and two USB-C ports. + +Opensource.com alumnus [Jay LeCroix][5] has an [excellent video][6] explaining how to use USB-C docking with Linux laptops. That's when I began to appreciate the utility of USB-C docking hardware. After watching the video and doing some additional research, I decided to purchase a USB-C docking station for the Darter Pro. + +System76 has [a list of community-recommended docks][7], including the Plugable UD-CA1A dock. The Plugable dock claims to work with all Intel and NVIDIA systems, so I decided to order a unit. The dock was easy to set up, and once connected to the Darter Pro, I had the best of both worlds. I had the freedom to move when I wanted to and the ability to dock if I wanted to. But I needed more storage space than the 256GB drive in the Darter Pro. + +My success with the docking station led me to purchase the HP Dev ONE, eager for the increased storage and speed. When it arrived, I quickly set it up. I backed up all the files on the NUC and restored them on my new Dev ONE. The new laptop was easily connected to the docking station. + +### Docking the Dev ONE + +The [Dev ONE][8] has two USB-C ports, and either one connects to the dock. It still amazes me that power and video pass through this single port. In addition to the two USB-A ports on my laptop, I now have the additional ports on the docking station. The Plugable dock comes with a headphone jack, microphone jack, 4K high-definition multimedia interface (HDMI) output, one USB-C port on the rear, three USB-A 3.0 ports in the front, two USB-A 2.0 ports on the back, and a Gigabit Ethernet port. My new laptop has a webcam, but I plug an external webcam into one of the rear USB ports to accommodate video conferencing when I'm docked. + +I enjoy the flexibility and power that docking has added to my workflow. I use video conferencing daily, and when I do, I'm docked and connected to a 27-inch display. I love how easy it is to transition from one setup to another. If you're using a laptop with a USB-C port, I recommend looking into a good docking station. It's well worth it. + +Or are you already using a dock with your Linux laptop? What are your USB-C docking station recommendations? Be sure to share your experience in the comments below. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/docking-linux-laptop + +作者:[Don Watkins][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/don-watkins +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/oatmeal-and-fedora.jpg +[2]: https://opensource.com/article/19/3/darter-pro-laptop-review +[3]: https://opensource.com/article/20/9/linux-intel-nuc +[4]: https://opensource.com/article/22/7/hp-dev-one-review +[5]: https://opensource.com/users/jlacroix +[6]: https://www.youtube.com/watch?v=bTfGy0lPPFA +[7]: https://support.system76.com/articles/docking-station/ +[8]: https://opensource.com/article/22/7/hp-dev-one-review From 3c46ab816754fa52bf4a3a5af9d784523585a5bb Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 1 Oct 2022 18:38:29 +0800 Subject: [PATCH 047/170] RP @PeterPan0106 https://linux.cn/article-15093-1.html --- ...14 3 steps to protect your home network.md | 90 +++++++++++++++++++ ...14 3 steps to protect your home network.md | 90 ------------------- 2 files changed, 90 insertions(+), 90 deletions(-) create mode 100644 published/20220914 3 steps to protect your home network.md delete mode 100644 translated/tech/20220914 3 steps to protect your home network.md diff --git a/published/20220914 3 steps to protect your home network.md b/published/20220914 3 steps to protect your home network.md new file mode 100644 index 0000000000..97ae32b319 --- /dev/null +++ b/published/20220914 3 steps to protect your home network.md @@ -0,0 +1,90 @@ +[#]: subject: "3 steps to protect your home network" +[#]: via: "https://opensource.com/article/22/9/protect-home-network" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "PeterPan0106" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15093-1.html" + +保护家庭网络三部曲 +====== + +![](https://img.linux.net.cn/data/attachment/album/202210/01/183650wcrjnshjn9cwzqws.jpg) + +> 都有谁可以访问你的家庭网络?随着物联网(IoT)的普及,有时在运行在你家庭网络上的服务比你想象的更多。我们应当设法保护它免受不需要的访问。 + +今天,互联网连接的典型结构是家里有一个**路由器**,通常是一个位于你家某个地方的小盒子,它充当了通往互联网世界的网关。路由器创建了一个本地网络,你将你的设备连接到这个本地网络,包括你的电脑、手机、电视、游戏机,以及其他任何需要连接到互联网或相互连接的设备。我们很容易将路由器当作一个分界线,一边是互联网而另一边是你的设备。但这是一个可怕的误解,因为在现实中,你的路由器的一边是整个*计算机网络世界*,另一边是你的数字生活。当你直接使用互联网时,你是在访问别人的计算机网络的共享区域。当你不使用互联网时,它却并没有消失,有很多脚本和程序被设计用以访问数以百万计的路由器,试图找到开放的端口或服务。随着物联网(IoT)的普及,有时在运行在你家庭网络上的服务比你想象的更多。通过以下三个步骤,你可以审计并保护你的家庭网络免受不必要的访问和攻击。 + +### 1、协议先行 + +路由器的部分工作是将互联网与你的家庭网络分开。但当你访问互联网时,你邀请互联网的某些部分进入你的家庭。这意味着你创建了一个例外规则,绕过了阻止互联网进入你的本地网络的一般规则。 + +在许多网站上,通过你的路由器的仅是文本内容。例如,当你访问你最喜欢的博客网站,阅读最新的科技新闻时,你下载了几页文字。你阅读文本,然后继续访问。这是一个简单的一对一的连接。 + +然而,HTTPS 协议是强大的,在互联网上运行的应用程序也充满了多样性。例如,当你访问某个网站时,你不只是在下载文本。你会得到图形,也许还有脚本或电子书。你还在后台下载 cookie,这有助于网站管理员了解谁在访问网站、加强对移动设备的支持、为更好的可访问性提供新设计并了解读者喜欢的内容。当你网上冲浪时,你可能不会想到 cookie 或流量分析是与你交互的东西,它是被“藏入”页面交互的东西,因为 HTTPS 协议的设计是广泛而通用的,在多数场景被高度信任。当你通过 HTTPS(或者说,在一个浏览器中)访问一个网站时,你可能在不知情的情况下默认同意自动下载文件,但你认为这些文件是有用的和无关紧要的。对于一种旨在减少信任的文件共享模式,你可以尝试一下 [Gemini][3] 或 [Gopher][4] 协议。 + +当你加入一个视频会议时,你也使用了类似的协议。你不仅要下载页面上的文字、用于流量监控的cookie,还要下载视频和音频材料。 + +有些网站的设计甚至更进一步,它们被设计成允许用户分享其电脑屏幕,有时甚至是对他们电脑的控制。这样设计的初衷是有助于远程技术人员修复电脑上的问题,但在现实中,用户可能被欺骗访问这一网站,导致财务凭证和个人数据被盗。 + +如果一个提供文字文章的网站要求你允许它在你阅读时调用网络摄像头,你理应高度警惕。当一个设备需要访问互联网时,你也应当保持同样的谨慎和警惕。当你把一个设备连接到网络时,重要的是要关注你同意了何种隐性协议。一个旨在控制你房子里的照明的设备不应该*要求*互联网接入,但事实上许多设备需要并且没有明确说明你授予该设备什么权限。许多物联网设备都*希望*接入互联网,这样你就可以在离家时通过互联网访问该设备。这也是“智慧家庭”的部分吸引力。然而,我们不可能知道所有设备运行的是什么代码。在可能的情况下,使用开源和值得信赖的软件,如 [Home Assistant][5] 来与你的物联网设备对接。 + +### 2、创建访客网络 + +许多现代路由器可以为你的家庭创建第二个网络(通常在配置面板中称为 “访客网络”)。你可能觉得你不需要访客网络,但实际上,访客网络是十分有意义的。它旨在为访问你房子的人提供互联网访问,而你不需要告诉他们你的私人网络密码。例如在我家的门厅里,我有一个牌子标明了访客网络的名称和密码。任何来访的人都可以加入该网络以访问互联网。 + +另一方面可以用于物联网、边缘设备和家庭实验室的应用。当我去年购买 “可编程” 的圣诞灯时,我惊讶地发现,为了连接这些灯,它们必须连接到互联网。当然,这些来自无名工厂的 50 美元的灯没有附带源代码,也没有任何方法可以与嵌入在适配器中的固件进行交互或检查,所以我对我同意将它们连接到我的本地网络有一定的顾虑。它们已经被永久地归入了我的访客网络。 + +每个路由器供应商都是不同的,所以没有关于如何在你的路由器上创建一个 “沙盒” 访客网络的通用指令。一般来说,你通过一个网络浏览器访问你的家庭路由器。你的路由器的地址有时印在路由器的底部,它以 192.168 或 10 开头。 + +访问路由器地址,用你配置互联网服务时使用的凭证登录。这通常是简单的 “admin” 和一个数字密码(有时,这个密码也印在路由器上)。如果你不知道登录方式,请致电给你的互联网供应商或者制造商咨询。 + +在图形界面中,找到 “访客网络” 的面板。这个选项在我的路由器的**高级**配置中,但它可能在你的路由器的其他地方,它甚至可能不叫 “访客网络”(或者它甚至可能不是一个选项)。具体情况因厂商而异。 + +![创建访客网络][7] + +这可能需要耐心的寻找。如果你发现你的设备有这个选择,那么你可以为访客建立一个访客网络,包括在不受信任的灯泡上运行的应用程序。 + +### 3、配置防火墙 + +你的路由器可能已经存在一个默认运行的防火墙。防火墙将不需要的流量挡在你的网络之外,通常是将传入的数据包限制在 HTTP 和 HTTPS(浏览器流量)以及其他一些常用的协议上,并拒绝不是你发起的请求。你可以通过登录你的路由器并寻找 “防火墙” 或 “安全” 设置来检查防火墙是否正在运行。 + +然而,许多设备可以运行它们自己的防火墙。网络之所以被称为*网络*是因为在网络上的设备互相能进行连接。在设备之间设置防火墙,就像在你的房子里锁上一扇门。客人可以在大厅里游荡,但如果没有合适的钥匙,他们就不会被邀请进入你的私人办公室。 + +在 Linux 上,你可以使用 [firewalld][8] 接口和 [firewall-cmd][9] 命令来配置你的防火墙。在其他操作系统上,防火墙有时在一个标有 “安全” 或 “共享” 的控制面板中(有时两者都有)。 大多数默认的防火墙设置只允许出站流量(即你通过打开浏览器并导航到一个网站而启动的流量)和响应你的请求的入站流量(即响应你的导航的网络数据)。不是由你发起的传入流量会被阻止。 + +你可以根据需要配置相关规则以允许特定的流量,例如 [SSH 连接][10]、[VNC 连接][11],或 [游戏服务器][12] 主机。 + +### 监控你的网络 + +这些技巧有助于建立起你对周围发生的事情的认识。下一步是 [监控你的网络][13]。你可以从简单的开始,例如在你的访客网络的测试服务器上运行 [Fail2ban][14]。看一下日志,如果你的路由器提供日志的话。你不必对 TCP/IP 和数据包以及其他进阶知识了如指掌,就可以看到互联网是一个繁忙而嘈杂的地方,当你在家里安装一个新设备时,无论是物联网、移动设备、台式机或笔记本电脑、游戏机,甚至是 [树莓派][15],而亲身体会到这一点对你采取预防措施有很大启发。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/protect-home-network + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[PeterPan0106](https://github.com/PeterPan0106) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/wfh_work_home_laptop_work.png +[2]: https://opensource.com/article/20/1/open-source-networking +[3]: https://opensource.com/article/20/10/gemini-internet-protocol +[4]: https://opensource.com/article/16/12/yearbook-compute-its-1989#gopher +[5]: https://opensource.com/article/20/12/home-assistant +[6]: https://opensource.com/article/20/11/wireless-protocol-home-automation +[7]: https://opensource.com/sites/default/files/2022-08/router-guest-network.jpg +[8]: https://opensource.com/article/19/7/make-linux-stronger-firewalls +[9]: https://www.redhat.com/sysadmin/secure-linux-network-firewall-cmd +[10]: https://www.redhat.com/sysadmin/access-remote-systems-ssh +[11]: https://www.redhat.com/sysadmin/accessing-remote-desktops +[12]: https://opensource.com/article/18/5/maptool +[13]: https://opensource.com/article/19/2/network-monitoring-tools +[14]: https://www.redhat.com/sysadmin/protect-systems-fail2ban +[15]: https://opensource.com/article/22/3/raspberry-pi-projects-2022 diff --git a/translated/tech/20220914 3 steps to protect your home network.md b/translated/tech/20220914 3 steps to protect your home network.md deleted file mode 100644 index 98854f0a09..0000000000 --- a/translated/tech/20220914 3 steps to protect your home network.md +++ /dev/null @@ -1,90 +0,0 @@ -[#]: subject: "3 steps to protect your home network" -[#]: via: "https://opensource.com/article/22/9/protect-home-network" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "PeterPan0106" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -保护家庭网络三部曲 -====== -都有谁可以访问你的家庭网络?随着物联网(IoT)的普及,有时在运行在你家庭网络上的服务比你想象的更多。我们应当设法保护它免受不需要的访问。 - -今天,互联网连接的典型结构是家里有一个**路由器**,通常是一个位于你家某个地方的小盒子,它充当了通往互联网世界的网关。路由器创建了一个本地网络,你将你的设备连接到这个本地网络,包括你的电脑、手机、电视、游戏机,以及其他任何需要连接到互联网或相互连接的设备。我们很容易将路由器当作一个分界线,一边是互联网而另一边是你的设备。但这是一个可怕的误解,因为在现实中,你的路由器的一边是整个*计算机网络世界*,另一边是你的数字生活。当你直接使用互联网时,你是在访问别人的计算机网络的共享区域。当你不使用互联网时,它却并没有消失,有很多脚本和程序被设计用以访问数以百万计的路由器,试图找到开放的端口或服务。随着物联网(IoT)的普及,有时在运行在你家庭网络上的服务比你想象的更多。通过以下三个步骤,你可以审计并保护你的家庭网络免受不必要的访问和攻击。 - -### 1. 协议先行 - -路由器的部分工作是将互联网与你的家庭网络分开。但当你访问互联网时,你邀请互联网的某些部分进入你的家庭。这意味着你创建了一个例外规则,绕过了阻止互联网进入你的本地网络的一般规则。 - -在许多网站上,你的路由器仅允许文本内容的访问。例如,当你访问你最喜欢的博客网站,阅读最新的科技新闻时,你下载了几页文字。你阅读文本,然后继续前进。这是一个简单的一对一的连接。 - -然而,HTTPS协议是强大的,在互联网上运行的应用程序也充满了多样性。例如,当你访问Opensource.com时,你不只是在下载文本。你会得到图形,也许还有脚本或电子书。你还在后台下载cookies,这有助于网站管理员了解谁在访问网站、加强对移动设备的支持、为更好的可访问性提供新设计并了解读者喜欢的内容。当你网上冲浪时,你可能不会想到cookies或流量分析是与你交互的东西,它是被“藏入”页面交互的东西,因为HTTPS协议的设计是广泛而通用的,在多数场景被高度信任。当你通过HTTPS访问一个网站时(或者说,在一个网络浏览器中),你可能在不知情的情况下默认同意自动下载文件,但你认为这些文件是有用的和不引人注目的。对于一种旨在减少信任的文件共享模式,你可以尝试[Gemini][3]或[Gopher][4]协议。 - -当你加入一个视频会议时,你也使用了类似的协议。你不仅要下载页面上的文字、用于流量监控的cookies,还要下载视频和音频材料。 - -有些网站的设计甚至更进一步,它们被设计成允许用户分享其电脑屏幕,有时甚至是对他们电脑的控制。这样设计的初衷是有助于远程技术人员修复电脑上的问题,但在现实中,用户可能被欺骗访问这一网站,导致财务凭证和个人数据被盗。 - -如果一个提供文字文章的网站要求你允许它在你阅读时调用网络摄像头,你理应高度警惕。当一个设备需要访问互联网时,你也应当保持同样的谨慎和警惕。当你把一个设备连接到网络时,重要的是要关注你同意了何种隐性协议。一个旨在控制你房子里的照明的设备不应该*要求*互联网接入,但事实上许多设备需要并且没有明确说明你授予该设备什么权限。许多物联网设备都*希望*接入互联网,这样你就可以在离家时通过互联网访问该设备。这也是"智慧家庭"的部分吸引力。然而,我们不可能知道所有设备运行的是什么代码。在可能的情况下,使用开放源码和值得信赖的软件,如[Home Assistant][5]来与你的物联网设备对接。 - -### 2. 创建访客网络 - -许多现代路由器可以为你的家庭创建第二个网络(通常在配置面板中称为 "访客网络")。你可能觉得你不需要访客网络,但实际上,访客网络是十分有意义的。它旨在为访问你房子的人提供互联网访问,而你不需要告诉他们你的私人网络密码。例如在我家的门厅里,我有一个牌子标明了访客网络的名称和密码。任何来访的人都可以加入该网络以访问互联网。 - -另一方面可以用于物联网、边缘设备和家庭实验室的应用。当我去年购买 "可编程 "的圣诞灯时,我惊讶地发现,为了连接这些灯,它们必须连接到互联网。当然,这些来自无名工厂的50美元的灯没有附带源代码,也没有任何方法可以与嵌入在适配器中的固件进行交互或检查,所以我对我同意将它们连接到我的本地网络有一定的顾虑。它们已经被永久地归入了我的访客网络。 - -每个路由器供应商都是不同的,所以没有关于如何在你的路由器上创建一个 "沙盒 "访客网络的通用指令。一般来说,你通过一个网络浏览器访问你的家庭路由器。你的路由器的地址有时印在路由器的底部,它以192.168或10开头。 - -访问路由器地址,用你配置互联网服务时使用的凭证登录。这通常是简单的 "admin "和一个数字密码(有时,这个密码也印在路由器上)。如果你不知道登录方式,请致电给你的互联网供应商或者制造商咨询。 - -在图形界面中,找到 "访客网络 "的面板。这个选项在我的路由器的**高级**配置中,但它可能在你的路由器的其他地方,它甚至可能不叫 "访客网络"(或者它甚至可能不是一个选项)。具体情况因厂商而异。 - -![创建访客网络][7] - -Image by: (Opensource.com, CC BY-SA 4.0) - -这可能需要耐心的寻找。如果你发现你的设备有这个选择,那么你可以为访客建立一个访客网络,包括在不受信任的灯泡上运行的应用程序。 - -### 3. 配置防火墙 - -你的路由器可能已经存在一个默认运行的防火墙。防火墙将不需要的流量挡在你的网络之外,通常是将传入的数据包限制在HTTP和HTTPS(网络浏览器流量)以及其他一些常用的协议上,并拒绝不是你发起的请求。你可以通过登录你的路由器并寻找 "防火墙 "或 "安全 "设置来检查防火墙是否正在运行。 - -然而,许多设备可以运行它们自己的防火墙。网络之所以被称为*网络*是因为在网络上的设备互相能进行连接。在设备之间设置防火墙,就像在你的房子里锁上一扇门。客人可以在大厅里游荡,但如果没有合适的钥匙,他们就不会被邀请进入你的私人办公室。 - -在Linux上,你可以使用[firewalld][8]接口和[firewall-cmd][9]命令来配置你的防火墙。在其他操作系统上,防火墙有时在一个标有 "安全 "或 "共享 "的控制面板中(有时两者都有)。 大多数默认的防火墙设置只允许出站流量(即你通过打开浏览器并导航到一个网站而启动的流量)和响应你的请求的入站流量(即响应你的导航的网络数据)。不是由你发起的传入流量会被阻止。 - -你可以根据需要配置相关规则以允许特定的流量,例如[SSH连接][10],[VNC连接][11],或[游戏服务器][12]主机。 - -### 监控你的网络 - -These techniques help build up your awareness of what's happening around you. The next step is to [monitor your network][13]. You can start simple, for instance by running [Fail2ban][14] on a test server on your guest network. Take a look at logs, if your router provides them. You don't have to know everything about TCP/IP and packets and other advanced subjects to see that the Internet is a busy and noisy place, and seeing that for yourself is great inspiration to take precautions when you set up a new device, whether it's IoT, mobile, a desktop or laptop, a game console, or a [Raspberry Pi][15], in your home. -这些技巧有助于建立起你对周围发生的事情的认识。下一步是[监控你的网络][13]。你可以从简单的开始,例如在你的访客网络的测试服务器上运行[Fail2ban][14]。看一下日志,如果你的路由器提供日志的话。你不必对TCP/IP和数据包以及其他进阶知识了如指掌,就可以看到互联网是一个繁忙而嘈杂的地方,当你在家里安装一个新设备时,无论是物联网、移动设备、台式机或笔记本电脑、游戏机,甚至是[树莓派][15],而亲身体会到这一点对你采取预防措施有很大启发。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/9/protect-home-network - -作者:[Seth Kenlon][a] -选题:[lkxed][b] -译者:[PeterPan0106](https://github.com/PeterPan0106) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/wfh_work_home_laptop_work.png -[2]: https://opensource.com/article/20/1/open-source-networking -[3]: https://opensource.com/article/20/10/gemini-internet-protocol -[4]: https://opensource.com/article/16/12/yearbook-compute-its-1989#gopher -[5]: https://opensource.com/article/20/12/home-assistant -[6]: https://opensource.com/article/20/11/wireless-protocol-home-automation -[7]: https://opensource.com/sites/default/files/2022-08/router-guest-network.jpg -[8]: https://opensource.com/article/19/7/make-linux-stronger-firewalls -[9]: https://www.redhat.com/sysadmin/secure-linux-network-firewall-cmd -[10]: https://www.redhat.com/sysadmin/access-remote-systems-ssh -[11]: https://www.redhat.com/sysadmin/accessing-remote-desktops -[12]: https://opensource.com/article/18/5/maptool -[13]: https://opensource.com/article/19/2/network-monitoring-tools -[14]: https://www.redhat.com/sysadmin/protect-systems-fail2ban -[15]: https://opensource.com/article/22/3/raspberry-pi-projects-2022 From 4cb91243ebae9fd558639736c6fd9a69df1afb29 Mon Sep 17 00:00:00 2001 From: CoWave Fall <105500745+CoWave-Fall@users.noreply.github.com> Date: Sat, 1 Oct 2022 19:41:00 +0800 Subject: [PATCH 048/170] translated --- ...o Install Visual Studio Code Extensions.md | 142 ----------------- ...o Install Visual Studio Code Extensions.md | 145 ++++++++++++++++++ 2 files changed, 145 insertions(+), 142 deletions(-) delete mode 100644 sources/tech/20211022 How to Install Visual Studio Code Extensions.md create mode 100644 translated/tech/20211022 How to Install Visual Studio Code Extensions.md diff --git a/sources/tech/20211022 How to Install Visual Studio Code Extensions.md b/sources/tech/20211022 How to Install Visual Studio Code Extensions.md deleted file mode 100644 index 331593b7bb..0000000000 --- a/sources/tech/20211022 How to Install Visual Studio Code Extensions.md +++ /dev/null @@ -1,142 +0,0 @@ -[#]: subject: "How to Install Visual Studio Code Extensions" -[#]: via: "https://itsfoss.com/install-vs-code-extensions/" -[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/" -[#]: collector: "lujun9972" -[#]: translator: "CoWave-Fall" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Install Visual Studio Code Extensions -====== - -_**Brief: Learn how to search for extensions and install them in Visual Studio Code editor. Both GUI and command line methods have been discussed.**_ - -Microsoft’s [Visual Studio Code][1] is perhaps the most popular [open source code editor][2], after Vim (of course). - -Visual Studio Code provides an amazing “out of the box” experience by providing almost all of the IDE like features. But there are always things you wish Visual Studio Code could do. _“The grass is always greener on the other side.”_ - -The [Visual Studio Code Marketplace][3] is exactly where you will find the extensions for Visual Studio Code. Extensions that are published on the Visual Studio Code Marketplace are scanned for viruses before they are published. So these extensions can be [trusted][4]. - -### Installing extensions in Visual Studio Code - -You don’t need to go to the Marketplace website for installing extensions. You can install and manage extensions right from the editor itself. - -I hope you have [Visual Studio Code installed on Linux][5] or whichever operating system you are using. - -Open Visual Studio Code, and to the left most side, is the Activity Bar. The last button on the Activity Bar is the Extensions button. Clicking on that will expose you to the enormous wealth of the extensions available for installation on Visual Studio Code. - -![Accessing the Extensions tab in VS Code][6] - -_**You can also press the Shortcut Key combination `Ctrl + Shift + X` to launch the Extensions side pane.**_ - -If you do not have any extensions installed, you will see a list of the most popular extensions available on the Visual Studio Code Marketplace. There are extensions you wish Visual Studio Code already had. And then, some day you will discover an extension and wonder how you lived without it! - -#### Find an extension and install it from the editor (GUI method) - -Now is the time to try out that `vim` thing Linux people talk about *nudge nudge* ;) - -Just kidding. Let us install something more beginner friendly and something that a beginner can easily take advantage of, without much practice. - -Click on **Visual Studio IntelliCode** (#1) extension from the list presented of the most popular extensions. - -![How to install an extension like Visual Studio IntelliCode][7] - -Simply clicking on the **Install** button (#2) will install the **Visual Studio IntelliCode** extension. This extension gives you AI-predicted suggestions while you are writing code. - -Once installed, you will be able to take full advantage of this extension. Try typing a block of code in your preferred programming language and check if the suggested AI autocomplete is working out for you, and not causing any kind of slowdown in your workflow. - -![Managing an installed extension in Visual Studio Code][8] - -If you dislike any of the installed extension, you can simply click on the **Uninstall** button (#2) to completely remove the unwanted extension. - -If you have multiple extensions installed, and if you feel like one of the installed extensions is causing you problems – say like sudden crashes; You can simply disable one (or multiple) extension(s) simply by clicking on the **Disable** button (#1) and check if extension _x_ was acting up or was it extension _y_, or was it something different altogether. - -Considering that extension removal and re-installation takes a long time, disabling extensions can be handy when you have multiple extensions installed. - -#### Alternate method: Install extensions using the terminal - -Did you know you could install a Visual Studio Code extension from the terminal itself? Well, now you do! - -To install an extension from your terminal, you need to know the extension name and publisher name in the order of `publisher.extension`. For an example, if you want to install the same extension as you did before, Visual Studio IntelliCode, it’s publisher name and extension name is `VisualStudioExptTeam.vscodeintellicode`. - -To find out this unique identifier of any extension, firstly, [visit the Visual Studio Code Marketplace][9] in your browser of choice. - -![A screenshot of what Visual Studio Code Marketplace looks like][10] - -Then search for any extension, for this tutorial, I will focus on installing Visual Studio IntelliCode. And then open the page of the extension that you want to install. - -![Search for Visual Studio IntelliCode and open the extension webpage][11] - -Once you have the web page of your extension open, you will see a code block. In the screenshot of the extension web page below is the highlighted unique identifier of the extension. - -![Unique identifier of the extension Visual Studio Code][12] - -Once you have the unique code of the extension you desire to install – **VisualStudioExptTeam.vscodeintellicode** in this case, you can proceed by running the following command in your terminal. - -``` -code --install-extension VisualStudioExptTeam.vscodeintellicode -``` - -Like the GUI, the command line interface also allows you to install, disable, remove and manage extensions. - -There is a handy flag that will give you a list of all the extensions you have installed. You can do that by running the following command: - -``` -code --list-extensions -``` - -To disable a single extension, run this command: - -``` -code --disable-extension -``` - -If you want to disable all extensions, you can run the following command: - -``` -code --disable-extensions -``` - -The above command will disable **all** installed extensions. This will help you diagnose if extensions are causing problems or is it Visual Studio Code itself. - -Now, if you want to completely remove any extension, use this command: - -``` -code --uninstall-extension -``` - -### Conclusion - -I find it much easier to use the editor for installing VS Code extensions. It’s straight in the editor where I code after all. - -Once you are comfortable tinkering with Visual Studio Code, maybe checkout this article pointing out some [useful keyboard shortcuts for Visual Studio Code][13] that might help you get even more productive! - -Happy coding, fellow *nix user! :) - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/install-vs-code-extensions/ - -作者:[Pratham Patel][a] -选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/pratham/ -[b]: https://github.com/lujun9972 -[1]: https://code.visualstudio.com/ -[2]: https://itsfoss.com/best-modern-open-source-code-editors-for-linux/ -[3]: https://marketplace.visualstudio.com/VSCode -[4]: https://code.visualstudio.com/docs/editor/extension-marketplace#_can-i-trust-extensions-from-the-marketplace -[5]: https://itsfoss.com/install-visual-studio-code-ubuntu/ -[6]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/10/01-all-extensions-1.webp?resize=800%2C450&ssl=1 -[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/10/02-select-intellicode-1.webp?resize=800%2C450&ssl=1 -[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/10/03-intellicode-installation-done-1.webp?resize=800%2C450&ssl=1 -[9]: https://marketplace.visualstudio.com/ -[10]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/10/visual_studio_code_marketplace.webp?resize=800%2C450&ssl=1 -[11]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/10/visual_stuido_code_ext_search.webp?resize=800%2C450&ssl=1 -[12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/10/vs_code_extension_identifier.webp?resize=800%2C450&ssl=1 -[13]: https://itsfoss.com/vs-code-shortcuts/ diff --git a/translated/tech/20211022 How to Install Visual Studio Code Extensions.md b/translated/tech/20211022 How to Install Visual Studio Code Extensions.md new file mode 100644 index 0000000000..1fe7d153c4 --- /dev/null +++ b/translated/tech/20211022 How to Install Visual Studio Code Extensions.md @@ -0,0 +1,145 @@ +[#]: subject: "How to Install Visual Studio Code Extensions" +[#]: via: "https://itsfoss.com/install-vs-code-extensions/" +[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/" +[#]: collector: "lujun9972" +[#]: translator: "CoWave-Fall" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何安装 VSCode 扩展 +====== + +_**概述: 通过图形界面和命令行两种方法,了解如何在 VSCode 中搜索和安装扩展**_ + +微软的 [Visual Studio Code][1] 可能是最流行的 [开源代码编辑器][2],仅次于 Vim(当然)。 + +VSCode 通过提供几乎所有类似 IDE 的功能,提供了令人惊叹的“开箱即用”体验。 但总有一些事情是您希望 VSCode 能够另外做到的。 _正所谓“邻家芳草绿,隔岸风景好”_ :) + +您可以在[Visual Studio Code 市场Marketplace][3] 找到 VSCode 扩展插件。在 VSCode 市场上发布的扩展插件在发布之前会进行病毒扫描,所以这些扩展可以[信任][4]。 + + +### 在 VSCode 中安装扩展插件 + +您不需要访问 VSCode 市场Marketplace网站就可以安装扩展插件。也就是说,您可以直接从 VSCode 本身安装和管理扩展插件。 + +我希望您已经在您使用的操作系统(比如 [在 Linux)上 安装][5]了 VSCode。 + +打开 VSCode,最左侧是活动栏。活动栏上的最后一个按钮就是“扩展”按钮。点击它之后您会看到大量可安装的扩展。 + +![访问 VSCode 中的扩展选项卡][6] + +_**您也可以按快捷键组合“Ctrl + Shift + X”来启动扩展栏的侧面面板。**_ + +如果您还没有安装任何扩展的话,您会看到 VSCode 市场上最流行的扩展列表。 + + +#### 找到并安装某个扩展(图形界面方法) + +现在是时候尝试一下 Linux 人谈论的 `vim` 了(鼓动的语气);) + +开玩笑啦。让我们安装一些对我们初学者更友好,可以轻松使用而且无需太多练习的扩展吧。 + +从最流行的扩展列表中单击 **Visual Studio IntelliCode** (①) 扩展。 + +![如何安装 Visual Studio IntelliCode 等扩展][7] + +点击 **安装** 按钮 (②) 即可安装 **Visual Studio IntelliCode** 扩展。这个扩展会在您编写代码时为您提供 AI 预测的建议。 + +安装后,您可以充分利用此扩展。试试用您喜欢的编程语言输入一段代码,然后看看 AI 的自动完成功能是否顺利运行而且没有拖慢您的工作进程。 + +![在 Visual Studio Code 中管理已安装的扩展][8] + +如果您不喜欢某个已安装的扩展插件,您只需单击 **卸载** 按钮 (②) 即可完全删除不需要的扩展插件。 + +如果您安装了多个扩展插件,并且您觉得其中某个扩展插件给您带来了问题——比如说突然崩溃;您只需点击 **禁用** 按钮 (①) 即可禁用一个(或多个)扩展插件,并检查扩展插件 _甲_ 是否在起作用,或者它是扩展插件 _乙_,还是完全不同的东西。 + +考虑到扩展删除和重新安装需要很长时间,当您安装了多个扩展时,禁用扩展会很方便。 + + +#### 另外方法:使用终端安装扩展 + +您知道您可以从终端安装 VSCode 扩展吗?不过,现在您知道了! + +要从您的终端安装扩展程序,您需要知道扩展程序名称和发布者名称,再按照“‘*发布者名称*’加上‘*.*’再加上‘*扩展程序名称*’”的顺序排列。比如说,如果您想安装 Visual Studio IntelliCode 这个扩展(前面提到的),它的名称就是 `VisualStudioExptTeam.vscodeintellicode`。 + +要找出扩展用于标识的唯一名称(ID),首先要在您的浏览器中[访问 VSCode 市场][9]。 + +![VSCode 市场的截图][10] + +然后搜索某个扩展,在本教程中,我将以安装 Visual Studio IntelliCode 这个扩展为例。下一步,打开您要安装的扩展程序的页面。 + +![搜索Visual Studio IntelliCode并打开扩展网页][11] + +打开扩展程序的网页后,您将看到一个代码块。下面的截图突出标示了扩展程序的 ID。 + +![VSCode 扩展的 ID][12] + +一旦你有了想要安装的扩展的 ID ——在这种情况下是 **VisualStudioExptTeam.vscodeintellicode**,你可以通过在终端中运行以下命令来继续。 + +``` +code --install-extension VisualStudioExptTeam.vscodeintellicode +``` + +与图形界面一样,命令行界面也允许您安装、禁用、删除和管理扩展。 + +可以通过运行以下命令查看已安装的所有扩展的列表。 + +``` +code --list-extensions +``` + +要禁用单个扩展,请运行以下命令: + +``` +code --disable-extension <在这里输入扩展的ID> +``` + +如果要禁用所有扩展,可以运行以下命令: + +``` +code --disable-extensions +``` + +上述命令将禁用 **所有** 已安装的扩展。这将帮助您判断导致问题的是插件,还是 VSCode 本身。 + +现在,如果您想完全删除任何某个扩展,请运行以下命令: + +``` +code --uninstall-extension <在这里输入扩展的ID> +``` + +### 总结 + +我发现使用 VSCode 安装扩展要容易得多。毕竟,它直接在我编辑器左边的侧栏中。 + +如果您对 VSCode 的修改感到满意,也许可以看看这篇文章,[VSCode 实用快捷键][13] 可能会帮助您提高工作效率! + +写代码顺利,新朋友! :) + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/install-vs-code-extensions/ + +作者:[Pratham Patel][a] +选题:[lujun9972][b] +译者:[泠知落汐](https://github.com/CoWave-Fall) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/pratham/ +[b]: https://github.com/lujun9972 +[1]: https://code.visualstudio.com/ +[2]: https://itsfoss.com/best-modern-open-source-code-editors-for-linux/ +[3]: https://marketplace.visualstudio.com/VSCode +[4]: https://code.visualstudio.com/docs/editor/extension-marketplace#_can-i-trust-extensions-from-the-marketplace +[5]: https://itsfoss.com/install-visual-studio-code-ubuntu/ +[6]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/10/01-all-extensions-1.webp?resize=800%2C450&ssl=1 +[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/10/02-select-intellicode-1.webp?resize=800%2C450&ssl=1 +[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/10/03-intellicode-installation-done-1.webp?resize=800%2C450&ssl=1 +[9]: https://marketplace.visualstudio.com/ +[10]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/10/visual_studio_code_marketplace.webp?resize=800%2C450&ssl=1 +[11]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/10/visual_stuido_code_ext_search.webp?resize=800%2C450&ssl=1 +[12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2021/10/vs_code_extension_identifier.webp?resize=800%2C450&ssl=1 +[13]: https://itsfoss.com/vs-code-shortcuts/ From 0e2292caa3b1d3354075f50b76db0a84c5df32ed Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 2 Oct 2022 11:13:52 +0800 Subject: [PATCH 049/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221001=20Transform=20Your=20Arch=20Installation=20wi?= =?UTF-8?q?th=20Stunning=20XMonad=20WM=20Setup.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tallation with Stunning XMonad WM Setup.md | 204 ++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 sources/tech/20221001 Transform Your Arch Installation with Stunning XMonad WM Setup.md diff --git a/sources/tech/20221001 Transform Your Arch Installation with Stunning XMonad WM Setup.md b/sources/tech/20221001 Transform Your Arch Installation with Stunning XMonad WM Setup.md new file mode 100644 index 0000000000..b0170143c3 --- /dev/null +++ b/sources/tech/20221001 Transform Your Arch Installation with Stunning XMonad WM Setup.md @@ -0,0 +1,204 @@ +[#]: subject: "Transform Your Arch Installation with Stunning XMonad WM Setup" +[#]: via: "https://www.debugpoint.com/xmonad-arch-linux-setup/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Transform Your Arch Installation with Stunning XMonad WM Setup +====== +This article provides a step-by-step installation guide for the xmonad setup in Arch Linux with a custom pre-configured script. + +### What is XMonad + +The [xmonad][1] is a dynamic tiling window manager for the X Window system written in Haskell programming language. It is famous for its window automation, stability, minimal workspace features, and more unique features. With features like – multiple display support, auto window tiling management, quick keyboard navigation, and extension support, this window manager is one of the popular choices for those users who wants a productive and faster working system. + +You can learn more about this window manager at [https://xmon][2][ad.org/][3]. + +![xmonad window manager in Arch Linux -1][4] + +### XMomad Setup in Arch Linux + +#### How to Install + +This guide assumes that you have a functional Arch Linux system ready to follow the below steps. If you want to install Arch Linux, then you can follow our guides as below: + +* [How to Install Arch Linux via archinstall (recommended)][5] +* [How to Install Arch Linux (The legacy way)][6] + +For this guide, we will use [Axarva’s pre-configured xmonad script][7], which comes with xmonad, Eww (Elkowars Wacky Widgets is a standalone widget system made in Rust), rofi (window switcher), tint2 (panels and taskbar) and some cool widgets. This guide is only for physical systems and not virtual machines. + +Using this personal script is best for novice Arch Linux users because it is unnecessary to go through the hassles of choosing and installing each of the above components and configure them separately. + +* Ensure you are logged on to the Arch Linux system as an admin user (preferable). And connected to the internet. + +* In the terminal prompt, install the following components while in the home directory. + +``` +sudo pacman -Syu base-devel git nano +``` + +* Wait for the download to complete. Then clone the following [Axarva’s repo][8] from GitHub. + +``` +git clone https://github.com/Axarva/dotfiles-2.0.git +``` + +* After the above command is complete, browse to the dotfiles-2.0 directory. Here you should see a script – `install-on-arch.sh`. Give the execute permission on this script and run. All these you can do with the below set of commands. + +``` +cd ./dotfiles-2.0chmod +x ./install-on-arch.sh./install-on-arch.sh +``` + +The above script will take some time to complete. It will download all the required packages for xmonad setup in Arch Linux. And at the end, the script will compile the entire source code that you downloaded in the first step, including xmonad and other additional utilities. + +While executing, it would ask for input from you for some cases. Enter the values as per your system configuration and your preferences. + +The script will ask whether your video card type is Intel, Nvidia, etc. Choose the correct option for your system. Also, when asked for the system resolution, choose the appropriate one. If you are not sure, choose the lower resolution option. + +![Choose Graphics card type][9] + +Choose yay (recommended). You can also choose paru if you wish. The installation of paru would take additional time due to rust download and setup. In that comparison, yay is faster and requires less time to install. An AUR (Arch User Repo) helper is also needed to compile some packages. + +![Installing AUR Helper][10] + +Congratulations if you reached this far. It’s time for some configuration. Once the installation is complete, you should see the below prompt. + +![Xmonad installation is complete][11] + +#### Configuring XMonad + +Installing the xmonad window manager is not sufficient. You have to tell the Arch system where it should pick the executables and widgets. + +Also, you have to manually configure to tell X Windows server to execute the main xmonad binary. When you use a stacking window system (such as GNOME, KDE Plasma, etc.), the display manager (such as lightdm) takes care of this. + +* Open the `~/.bashrc` file from the terminal prompt and append the $HOME/bin. + +![Updating bashrc file][12] + +* Open the `~/.bash_profile` file and add startx at the beginning to start the xserver when logging in. Save and exit from the file. + +![Updating bash_profile file][13] + +* Open `~/.xinitrc` file and add `exec xmonad`. This file is new. Save the file once you add the command. + +![Create xinitrc file][14] + +* The steps are almost complete, open the `~/dotfiles-2.0/.config/alacritty.yml` file and change the font size for the terminal to something larger than the default value of 9. This is an optional step, but it’s better to change this. Save and close the file. + +* Exit and log in again. And if all goes well, you should see a default xmonad desktop as below. If you want to configure further such as installing applications and other steps, proceed to the next step. + +![xmonad base install in Arch Linux - before configuration][15] + +### Configure the desktop + +The default install in this process gives you a basic setup without the necessary applications to perform day-to-day tasks. + +I have compiled a list of famous and essential software for this setup exclusively for you. This step is optional, and you can install something else as you wish. However, you can install it using the command that follows this list. + +* Ristretto – Image viewer +* Feh – for changing wallpaper +* Firefox – Web Browser +* Gimp – Image processing and editor +* leafpad – simple text editor +* Thunar – File manager +* KSnip – Screenshot tool + +``` +pacman -S gtklib firefox leafpad libreoffice thunar ksnip ristretto gimp feh gvfs polkit-gnome +``` + +The `gvfs` and `polkit-gnome` packages are for Thunar and detect USB drives. + +Once the applications are installed, you can add them to the bottom panel using the `tint2conf` utility. Using this utility, you can also change other desktop components, which you can figure out as you start using it. + +Open a terminal by `Meta + Shift + Enter` key combination. Meta key is the Windows key in your keyboard in general. Then type `tint2conf` and configure the panel. + +You can also download a nice wallpaper and set it up using `feh`. + +![xmonad window manager in Arch Linux -2][16] + +Being a tiling window manager, most of the activities you need to perform via keyboard combinations. + +Here’s a quick reference for you (via [github][17]) + +| Keybind | Function | +| :- | :- | +| Meta + Shift + Enter | Launch terminal (alacritty) | +| Meta + Shift + C | Close window | +| Win + O | Open rofi menu | +| Win + Shift + Q | Open rofi powermenu | +| Win + S | Open sidebar | +| Win + Shift + S | Close sidebar | +| Win + P | Open dashboard | +| Win + Shift + P | Close dashboard | +| Win + B | Toggle the main bars | +| Win + Z | Activate inhibitor (Stops autolocking) | +| Win + Shift + Z | Dectivate inhibitor (Enables autolocking) | +| Win + Ctrl + G | Toggle gaps (toggle to get screen space) | +| Win + J | Navigate through windows | +| Win + K | Navigate through windows | +| Win + Space | Switch through layouts | +| Win + T | Make a floating window tiled | + +### Performance + +These configurations and scripts mean nothing if performance is not up to the mark. So, I thought of testing the performance of the xmonad setup in Arch Linux. + +My older test machine (i3, 4GB RAM, SSD, NVIDIA 340) performs fairly. I felt some performance lag, primarily because of the NVIDIA 340 driver, which is unavailable in the Arch repo. But I am sure it would perform much faster if you tested it in newer hardware. + +That said, it consumed approximately 820 MB of RAM and CPU during idle state at 10% to 13%. Surprisingly it’s a little higher in my test for an idle state. + +![xmonad performance in Arch Linux during idle state][18] + +With that idle state metrics, I was curious about the heavy workload. So, I opened Firefox (1 tab), GIMP, Thunar, Text editor and Screenshot tool. The memory consumption shot up to 1.1 GB, and the CPU is average at 20%. + +![xmonad performance in Arch Linux during heavy workflow state][19] + +Overall, I think it’s using a little more resources, although it was supposed to consume less because it’s a window manager. Probably I need to test it in newer hardware. + +Enjoy your xmonad setup with Arch Linux! + +### Closing Notes + +The xmonad is undoubtedly one of the beautiful window managers when adequately configured with several widgets. You can go ahead and try it in a physical system if you love window managers. And when appropriately configured, you can easily use it for your daily driver. + +With that said, I hope this guide helps you to set up your xmonad window manager in [Arch Linux][20]. If you have any questions, let me know in the comment box below. + +Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/xmonad-arch-linux-setup/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://xmonad.org/ +[2]: https://xmonad.org/ +[3]: https://xmonad.org/ +[4]: https://www.debugpoint.com/wp-content/uploads/2022/02/xmonad-window-manager-in-Arch-Linux-1-1024x575.jpg +[5]: https://www.debugpoint.com/2022/01/archinstall-guide/ +[6]: https://www.debugpoint.com/2020/11/install-arch-linux/ +[7]: https://github.com/Axarva/dotfiles-2.0 +[8]: https://github.com/Axarva/dotfiles-2.0 +[9]: https://www.debugpoint.com/wp-content/uploads/2022/02/Choose-Video-Card-type.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/02/Installing-AUR-Helper.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/02/Xmonad-installation-is-complete-1024x212.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/02/Updating-bashrc-file.jpg +[13]: https://www.debugpoint.com/wp-content/uploads/2022/02/Updating-bash_profile-file.jpg +[14]: https://www.debugpoint.com/wp-content/uploads/2022/02/Create-xinitrc-file.jpg +[15]: https://www.debugpoint.com/wp-content/uploads/2022/02/xmonad-base-install-in-Arch-Linux-before-configuration-1024x577.jpg +[16]: https://www.debugpoint.com/wp-content/uploads/2022/02/xmonad-window-manager-in-Arch-Linux-2-1024x575.jpg +[17]: https://github.com/Axarva/dotfiles-2.0#keybinds-%EF%B8%8F +[18]: https://www.debugpoint.com/wp-content/uploads/2022/02/xmonad-performance-in-Arch-Linux-during-idle-state-1024x575.jpg +[19]: https://www.debugpoint.com/wp-content/uploads/2022/02/xmonad-performance-in-Arch-Linux-during-heavy-workflow-state-1024x575.jpg +[20]: https://www.debugpoint.com/tag/arch-linux From f8528f3eee6374aed9ad8cd39406b55e47f1bafd Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 2 Oct 2022 11:14:59 +0800 Subject: [PATCH 050/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221001=20What-s=20new=20with=20Awk-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/talk/20221001 What-s new with Awk-.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 sources/talk/20221001 What-s new with Awk-.md diff --git a/sources/talk/20221001 What-s new with Awk-.md b/sources/talk/20221001 What-s new with Awk-.md new file mode 100644 index 0000000000..3f6a791230 --- /dev/null +++ b/sources/talk/20221001 What-s new with Awk-.md @@ -0,0 +1,80 @@ +[#]: subject: "What's new with Awk?" +[#]: via: "https://opensource.com/article/22/10/whats-new-awk" +[#]: author: "Jim Hall https://opensource.com/users/jim-hall" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +What's new with Awk? +====== +Brian Kernighan discusses the scripting tool Awk, from its creation to current work on Unicode support. + +Awk is a [powerful scripting tool][4] that makes it easy to process text. Awk scripts use a pattern-action syntax, where Awk performs an action for every line in a file that matches a pattern. This provides a flexible yet powerful scripting language to deal with text. For example, the one-line Awk script `/error/ {print $1, $2, $3}` will print the first three space-delimited fields for any line that contains the word `error`. + +While we also have the GNU variant of Awk, called Gawk, the original Awk remains under development. Recently, Brian Kernighan started a project to add Unicode support to Awk. I met with Brian to ask about the origins of Awk and his recent development work on Awk. + +Jim Hall: Awk is a great tool to parse and process text. How did it start? + +Brian Kernighan: The most direct influence was a tool that Marc Rochkind developed while working on the Programmer's Workbench system at Bell Labs. As I remember it now, Marc's program took a list of regular expressions and created a C program that would read an input file. Whenever the program found a match for one of the regular expressions, it printed the matching line. It was designed for creating error checking to run over log files from telephone operations data. It was such a neat idea—Awk is just a generalization. + +Jim: AWK stands for the three of you who created it: Al Aho, Peter Weinberger, and Brian Kernighan. How did the three of you design and create Awk? + +Brian: Al was interested in regular expressions and had recently implemented egrep, which provided a very efficient lazy-evaluation technique for a much bigger class of regular expressions than what grep provided. That gave us a syntax and working code. + +Peter had been interested in databases, and as part of that he had some interest in report generation, like the RPG language that IBM provided. And I had been trying to figure out some kind of editing system that made it possible to handle strings and numbers with more or less equal ease. + +We explored designs, but not for a long time. I think Al may have provided the basic pattern-action paradigm, but that was implicit in a variety of existing tools, like grep, the stream editor sed, and in the language tools YACC and Lex that we used for implementation. Naturally, the action language had to be C-like. + +Jim: How was Awk first used at Bell Labs? When was Awk first adopted into Unix? + +Brian: Awk was created in 1977, so it was part of 7th-edition Unix, which I think appeared in about 1979. I wouldn't say it was adopted, so much as it was just another program included because it was there. People picked it up very quickly, and we soon had users all over the Labs. People wrote much bigger programs than we had ever anticipated, too, even tens of thousands of lines, which was amazing. But for some kinds of applications, the language was a good match. + +Jim: Has Awk changed over the years, or is Awk today more or less the same Awk from 1977? + +Brian: Overall, it's been pretty stable, but there have been a fair number of small things, mostly to keep up with at least the core parts of Gawk. Examples include things like functions to do case conversion, shorthands for some kinds of regular expressions, or special filenames like `/dev/stderr`. Internally, there's been a lot of work to replace fixed-size arrays with arrays that grow. Arnold Robbins, who maintains Gawk, has also been incredibly helpful with Awk, providing good advice, testing, code, and help with Git. + +Jim: You're currently adding Unicode support to Awk. This is one of those projects that seems obvious when you hear it, because Unicode is everywhere, but not every program supports it yet. Tell us about your project to add Unicode to Awk. + +Brian: It's been sort of embarrassing for a while now that Awk only handled 8-bit input, though in fairness it predates Unicode by 10 or 20 years. Gawk, the GNU version, has handled Unicode properly for quite a while, so it's good to be up to date and compatible. + +Jim: How big of a project is adding Unicode support? Did this require many changes to the source code? + +Brian: I haven't counted, but it's probably 200 or 300 lines, primarily concentrated in either the regular expression recognizer or in the various built-in functions that have to operate in characters, not bytes, for Unicode input. + +Jim: How far along are you in adding Unicode to Awk? + +Brian: There's a branch of the code at GitHub that's pretty up to date. It's been tested, but there's always room for more testing. + +One thing to mention: It handles UTF-8 input and output, but for Unicode code points, which are not the same thing as Unicode graphemes. This distinction is important but technically very complicated, at least as I understand it. As a simple example, a letter with an accent could be represented as two code points (letter and accent) or as a single character (grapheme). Doing this right, whatever that means, is very hard. + +Jim: In a Computerphile video, you mention adding support for comma-separated values (CSV) parsing to Awk. How is that project going? + +Brian: While I had my hands in the code again, I did add support for CSV input, since that's another bit of the language that was always clunky. I haven't done anything for CSV output, since that's easy to do with a couple of short functions, but maybe that should be revisited. + +Jim: What kinds of things do you use Awk for in your day-to-day work? + +Brian: Everything. Pretty much anything that fiddles text is a target for Awk. Certainly, the Awk program I use most is a simple one to make all lines in a text document the same length. I probably used it 100 times while writing answers to your questions. + +Jim: What's the coolest (or most unusual) thing you have used Awk to do? + +Brian: A long time ago, I wrote a C++ program that converted Awk programs into C++ that looked as close to Awk as I could manage, by doing things like overloading brackets for associative arrays. It was never used, but it was a fun exercise. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/whats-new-awk + +作者:[Jim Hall][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/jim-hall +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/coffee_tea_laptop_computer_work_desk.png +[2]: https://unsplash.com/@jonasleupe?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[3]: https://unsplash.com/s/photos/tea-cup-computer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[4]: https://opensource.com/resources/what-awk From 865c68d2f8e852a8b9d5f989aaac658e3765606e Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 2 Oct 2022 11:15:41 +0800 Subject: [PATCH 051/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020220927=20Better=20than=20Ubuntu-=2011=20Best=20Linux?= =?UTF-8?q?=20Distros=20for=20Ubuntu=20Lovers.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...11 Best Linux Distros for Ubuntu Lovers.md | 274 ++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100644 sources/tech/20220927 Better than Ubuntu- 11 Best Linux Distros for Ubuntu Lovers.md diff --git a/sources/tech/20220927 Better than Ubuntu- 11 Best Linux Distros for Ubuntu Lovers.md b/sources/tech/20220927 Better than Ubuntu- 11 Best Linux Distros for Ubuntu Lovers.md new file mode 100644 index 0000000000..d351094428 --- /dev/null +++ b/sources/tech/20220927 Better than Ubuntu- 11 Best Linux Distros for Ubuntu Lovers.md @@ -0,0 +1,274 @@ +[#]: subject: "Better than Ubuntu? 11 Best Linux Distros for Ubuntu Lovers" +[#]: via: "https://itsfoss.com/best-ubuntu-based-linux-distros/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Better than Ubuntu? 11 Best Linux Distros for Ubuntu Lovers +====== +If you’re on your journey of finding that perfect distro for your system, the chances of ending up with Ubuntu-based distros are pretty high. + +You may ask why. + +Well, it is no surprise that Ubuntu is [one of the most beginner-friendly Linux distros][1]. It is also incredibly popular, which is why you will find a massive user community behind it. Not just that, it is also widely used on [cloud servers][2]. + +So, having Ubuntu as the base for any Linux distribution should come with useful perks, right? + +And that is why I came up with a list of the best Ubuntu-based distros in the hope for you’d find something worthy enough to stop distro hopping. + +### 1. Official Ubuntu Flavors + +![budgie desktop screenshot 2022][3] + +If you do not like Ubuntu’s official offering with GNOME, you can try the official flavours that provide a different desktop environment on top of Ubuntu. + +In simpler terms, you’re going to get the same Ubuntu experience, with a different user interface. + +To make your user experience more pleasant, these desktop environments are pre-tweaked and themed and making them the perfect choice if you’re looking for something that works out of the box. + +And these are the available options: + +* Kubuntu (KDE Plasma) +* Lubuntu (The least resource-hungry offering using LXDE/LXQT) +* Ubuntu Studio (A distro for creators) +* Ubuntu Budgie (Budgie desktop environment) +* Ubuntu Kylin (Tailored for Chinese users) +* Ubuntu MATE (with MATE desktop and tools) +* Xubuntu (Xfce desktop) + +You can also expect a new official flavour with the classic Unity desktop environment on Ubuntu 22.10, considering [Ubuntu Unity Remix is now an official Ubuntu flavour][4]. + +**Related:** [Explained: Which Ubuntu Version Should I Use?][5] + +[Ubuntu Flavours][6] + +### 2. Linux Mint + +![linux mint 21 home][7] + +**Key Features of Linux Mint** + +* No snap by default. +* A straightforward, easy-to-use experience with the Cinnamon desktop environment. +* Beautiful UI. +* Familiar experience for Windows users. +* Managing codecs and hardware drivers is pretty convenient. + +If I have to describe Linux Mint in one line, that would be, “Simple and elegant user experience with enough room for advanced users”. + +With Linux Mint’s Cinnamon desktop, you can expect a polished and tailored experience. Tools like Timeshift are now under development by the Linux Mint team, giving you a seamless experience with everything. + +Linux Mint includes the essentials, which include the office suite of applications to a set of applications to satisfy your multimedia consumption needs, which makes it perfect for beginners. + +[Linux Mint][8] + +### 3. Pop!_OS + +![pop os screenshot 2022][9] + +**Key Features of Pop!_OS** + +* Out-of-the-box support for Nvidia graphics. +* Cosmic Desktop (Customized GNOME experience). +* Provides basic functionality of Window manager. +* A recovery partition to revive the system from disasters. + +Developed by System76, a popular open-source hardware manufacturer, Pop!_OS 22.04 LTS is what I’m currently using as my daily driver, and there’s a strong reason behind it. + +Pop!_OS regularly updates the Linux Kernel package, running Linux Kernel 5.19 when writing this. Yes, I’m aware that you can [easily upgrade to the latest kernel in Ubuntu][10], but having official support is convenient, which is where Pop!_OS excels as an Ubuntu-based distro. + +Apart from the latest kernel, you also get a beautiful cosmic desktop, and some preinstalled apps such as Eddy to install deb packages conveniently, applies disk encryption by default, and many other features to have a pleasant experience! + +[Pop!_OS][11] + +### 4. KDE Neon + +![kde neon screenshot 2022][12] + +**Key Features of KDE Neon** + +* The most vanilla KDE offering with an Ubuntu base. +* Gets you the most recent version of KDE Plasma. + +Unless you want the latest KDE experience, KDE Neon is not for you. In other words, it is not tailored as a daily driver but aims to provide the bleeding edge KDE experience. + +It is still one of the best Ubuntu-based distributions if you want to experience KDE’s latest offerings. + +There are plenty of other distros based on KDE Plasma; Kubuntu is your best bet if you do not necessarily want the latest experience. + +And apart from that, KDE Neon ships with the bare minimum of pre-installed tools, so users can have enough room to decide what they prefer for specific tasks. + +[KDE Neon][13] + +### 5. elementaryOS + +![elementaryos screenshot 2022][14] + +**Key Features of elementaryOS:** + +* Uses Pantheon, one of the most elegant desktop environments. +* Has picture-in-picture mode. +* A tailored App Center. + +So if you’re a fan of macOS and want to enjoy Linux, elementaryOS will not disappoint you in any way. + +As the developers have developed Pantheon desktop just for elementaryOS, you’d notice the attention to detail in every aspect, be it a dark mode or even accent colors. You get a great user experience with elementary OS. + +Compared to other Ubuntu distributions, it may not have a fast release cycle. But, they tend to offer a solid experience with every release. + +[elementaryOS][15] + +### 6. Zorin OS + +![zorin os home screenshot][16] + +**Key features of Zorin OS**: + +* Different layouts are available, resembling Windows and macOS. +* Ability to install Windows software without any tweaks. +* A lite version of Zorin OS can revive a PC over a decade old. + +Zorin OS is yet another Ubuntu-based distro that gives you a polished experience. It makes Linux look stunning with its wallpapers, user interface tweaks, and other changes. + +You can use its tool Zorin connect to integrate your mobile device and computer seamlessly so that you can transfer files, control audio playback, and even use the mobile device as a touchpad! + +[Zorin OS][17] + +### 7. Linux Lite + +![linux lite][18] + +**Key Features of Linux Lite:** + +* Extremely lightweight. +* With Xfce and the LTS version of Ubuntu, you can expect a stable experience. +* Easy to use. + +So if you were searching for a lightweight distro that just works out of the box, well, Linux Lite is made for users like you. It is one of the best (and simple) [Windows-like Linux distributions][19] to install. + +Stability is another core feature of Linux Lite that explains why it uses Xfce as its desktop environment. + +[Linux Lite][20] + +### 8. Voyager + +![voyager linux][21] + +**Key Features of Voyager:** + +* Users can switch between GNOME and Xfce sessions in its 2-in-1 edition. +* Pre-configured with GUI elements and plugins to have a pleasant user experience. + +Voyager is a Xubuntu-based Linux distro featuring GNOME and Xfce in its latest 22.04 LTS explorer edition. + +The distribution provides user choice from the get-go. If you like ergonomics, start a GNOME session or go with Xfce for a simpler and fast experience. + +Voyager comes with a customized look for an old, classy Linux experience. + +I’d recommend this to anyone who loves to switch between environments, is looking for a customized experience, and the stability of Ubuntu. + +[Voyager][22] + +### 9. Feren OS + +![feren os screenshot 2022][23] + +**Key Features of Feren OS:** + +* Gets you a minimally configured and fine-tuned KDE experience out-of-the-box. +* Customized yet lightweight on system resources. +* Web browser manager with pre-tweaked browsers for a better experience. + +I already mentioned how Zorin OS offers you pre-configured layouts to suit yourself, but it is based on GNOME. What if you’re a KDE fan? Well, Feren OS is just for you! + +Apart from a pre-configured KDE experience, the memory footprint was also convincing to have Feren OS on this list, and I’d highly recommend Feren OS to anyone who wants to get started with an Ubuntu-based distro powered by KDE Plasma desktop. + +[Feren OS][24] + +### 10. LXLE + +![lxle screenshot 2022][25] + +**Key Features of LXLE:** + +* Extremely lightweight. +* Theme consistency is almost throughout the system. + +LXLE is based on Lubuntu, so you get an idea of how light the memory footprint will be. It is one of the [best lightweight Linux distros][26] out there. + +So if I want to summarise the whole distro in one word, that would be “efficient”. But that’s not it. You get plenty of customization options and collection wallpapers pre-installed to match the look. + +When I used it in VM, I was surprised to have a system light as a feather **(360Mb of idle RAM usage)**. It may not be a comfortable experience for a new Linux user, but if you do not mind a classic user interface and the latest of everything, this can be worth trying. + +[LXLE][27] + +### 11. UbuntuDDE Remix + +![ubuntudde remix][28] + +**Key Features of UbuntuDDE Remix:** + +* Deepin desktop environment +* Beautiful user interface + +Do you like Deepin Linux distribution based on Debian? But, not interested to try it? + +Well, in that case, you can try UbuntuDDE Remix. It is not an official flavour, but it works pretty well with Ubuntu as its base. + +Unlike Deepin Linux, it is not primarily tailored for Chinese users. So, you will find the language settings and the repositories set to the ones that work better than Deepin Linux. + +[UbuntuDDE Remix][29] + +### Your Perfect Ubuntu-based Distro + +Ubuntu remains the dominant choice to provide an easy-to-use experience to newbies and advanced users. + +Sometimes we just want to get things done without needing to customize or control any aspect of our distribution. In such cases, Ubuntu-based distros save you time and give you plenty of options per your preferences. + +**If you have to use one of the above-mentioned distros, which one would it be? Share in the comments :)** + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/best-ubuntu-based-linux-distros/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/best-linux-beginners/ +[2]: https://linuxhandbook.com/free-linux-cloud-servers/ +[3]: https://itsfoss.com/wp-content/uploads/2022/09/budgie-desktop-screenshot-2022.png +[4]: https://news.itsfoss.com/unity-remix-official-flavor/ +[5]: https://itsfoss.com/which-ubuntu-install/ +[6]: https://ubuntu.com/desktop/flavours +[7]: https://itsfoss.com/wp-content/uploads/2022/08/linux-mint-21-home.jpg +[8]: https://linuxmint.com/ +[9]: https://itsfoss.com/wp-content/uploads/2022/08/pop-os-screenshot-2022.png +[10]: https://itsfoss.com/upgrade-linux-kernel-ubuntu/ +[11]: https://pop.system76.com/ +[12]: https://itsfoss.com/wp-content/uploads/2022/09/kde-neon-screenshot-2022-1.png +[13]: https://neon.kde.org/download +[14]: https://itsfoss.com/wp-content/uploads/2022/09/elementaryos-screenshot-2022.png +[15]: https://elementary.io/ +[16]: https://itsfoss.com/wp-content/uploads/2022/09/zorin-os-home-screenshot.png +[17]: https://zorin.com/os/download/ +[18]: https://itsfoss.com/wp-content/uploads/2022/09/linux-lite.png +[19]: https://itsfoss.com/windows-like-linux-distributions/ +[20]: https://www.linuxliteos.com/download.php +[21]: https://itsfoss.com/wp-content/uploads/2022/09/voyager-linux.png +[22]: https://voyagerlive.org/ +[23]: https://itsfoss.com/wp-content/uploads/2022/09/feren-os-screenshot-2022.png +[24]: https://ferenos.weebly.com/ +[25]: https://itsfoss.com/wp-content/uploads/2022/09/lxle-screenshot-2022.png +[26]: https://itsfoss.com/lightweight-linux-beginners/ +[27]: https://lxle.net/ +[28]: https://itsfoss.com/wp-content/uploads/2022/09/ubuntudde-remix.webp +[29]: https://ubuntudde.com/ From 2d28548d735adae8272df65201541a6f2cb12bc3 Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 2 Oct 2022 11:16:40 +0800 Subject: [PATCH 052/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221001=20How=20To=20Use=20Ansible=20Vault=20To=20Pro?= =?UTF-8?q?tect=20Sensitive=20Playbook=20Data.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ault To Protect Sensitive Playbook Data.md | 231 ++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 sources/tech/20221001 How To Use Ansible Vault To Protect Sensitive Playbook Data.md diff --git a/sources/tech/20221001 How To Use Ansible Vault To Protect Sensitive Playbook Data.md b/sources/tech/20221001 How To Use Ansible Vault To Protect Sensitive Playbook Data.md new file mode 100644 index 0000000000..c716ad18cb --- /dev/null +++ b/sources/tech/20221001 How To Use Ansible Vault To Protect Sensitive Playbook Data.md @@ -0,0 +1,231 @@ +[#]: subject: "How To Use Ansible Vault To Protect Sensitive Playbook Data" +[#]: via: "https://ostechnix.com/ansible-vault/" +[#]: author: "Karthick https://ostechnix.com/author/karthick/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How To Use Ansible Vault To Protect Sensitive Playbook Data +====== +Ansible Vault Tutorial | Encrypt Content With Ansible Vault + +In this article, we are going to learn **what is Ansible Vault** and how to **use Ansible Vault to protect sensitive playbook data** by encrypting the data in Linux. + +### What Is Ansible Vault? + +**Ansible Vault** is a feature of ansible that allows you to **keep sensitive data such as passwords or keys in encrypted files**, rather than leaving the data visible as plaintext in playbooks or roles. + +Authentication and authorization are two important layers controlling the access part of software applications. When you work in a collaborative environment, not all data will be kept visible to you. + +Similarly, when you create a project using **[Ansible][1]**, you may want to keep some sensitive information like api key, database password, and access tokens secure. + +Keeping this information visible to everyone is not good for security, especially when you store it in public repositories. + +In the upcoming section of this **Ansible vault tutorial**, we will learn how to use ansible vault to encrypt a file or string in order to **secure your secrets** safely and how to **use Ansible vault in the playbooks to protect sensitive data** with example commands. + +### Working With Ansible Vault Command + +By default ansible-vault comes with ansible installation. Launch your terminal and run the following command which will give you the list of options you can use with the ansible vault command. + +``` +$ ansible-vault --help +``` + +![Ansible Help Section][2] + +### Encrypting Files With Ansible Vault + +If you want to create a new file, write some data to it, and encrypt it, then run the following command. Here the **"secretkey"** is the file name. + +``` +$ ansible-vault create secretkey +``` + +Let’s understand what happens when you run this command. + +* Since this file is not available, a file will be created and opened for writing. +* You will be prompted to provide the password for this file which should be kept safe. Please remember without the password, you will not be able to decrypt the file again. + +![Encrypt A New File With Ansible Vault][3] + +Once the file is closed, the content will be encrypted. if you try to open the file you encrypted with a text editor/viewer application, you will see some random data as shown in the picture below. + +![View Encrypted File][4] + +On the first line, there is some metadata that ansible will use internally for encryption and decryption. As you see from the first line, **AES256 algorithm** is used to encrypt the file. + +You can also encrypt existing files as well. + +To encrypt an existing file, run the following command. Again you will be prompted to provide the vault password which will be later used to decrypt the file. + +``` +$ echo "api_key: 'XUITZ89776XX'" > secretkey2 # Writing random data to file +``` + +``` +$ ansible-vault encrypt secretkey2 +``` + +![Encrypt An Existing File][5] + +### How To Change Ansible Vault Password + +You can set a new vault password for any existing encrypted files by running the following command. Here you should remember your old password which will be prompted first followed by the new vault password. + +``` +$ ansible-vault rekey secretkey2 +``` + +![Change Ansible Vault Password][6] + +### How To Decrypt The Encrypted File + +If you want to view the original content of the file, there are a few ways to do it. The first method is to run the **decrypt** command which will put the file in unencrypted form. + +``` +$ ansible-vault decrypt secretkey2 +``` + +![Decrypt The Encrypted File][7] + +You can also view the content of the encrypted file without decrypting by running the following command with **"view"** instead of "`decrypt` ". + +``` +$ ansible-vault view secretkey2 +``` + +![View The Content Of An Encrypted File Without Decrypting It][8] + +The difference between `decrypt` and `view` is that the former will remove the encryption to view the original content but the latter will just decrypt and print the content while keeping the original file encrypted. + +### Modify The Contents In Encrypted File + +Let’s say you want to edit the content of an encrypted file. In this case, you can either decrypt the file edit the content, or encrypt the file again. Alternatively, you can use the **"edit"** command to edit the content. + +``` +$ ansible-vault edit secretkey2 +``` + +![Modify The Contents In Encrypted File][9] + +The advantage with the "`edit` " command is you need not decrypt the file and encrypt it again. It will open the file for editing, and once you close the file it will be automatically encrypted. + +### Encrypted Content With Ansible Playbook + +Till now we have seen how to encrypt and decrypt data at the file level. You can also encrypt a string. Let’s take an example. + +I have a few variables used for remote connection and it also contains a connection password. To encrypt the password run the following command. Here I am using the password as **"password"**. + +Remember the vault password which will be needed to decrypt the string. + +``` +$ ansible-vault encrypt_string "password" +``` + +In the below playbook, I have created a few vars simulating connection details and **"connect_pwd"** will store the encrypted data. I am printing the "`connection_pwd` " variable using the debug module in the task. + +``` +- name: "Test playbook for ansible vault" + gather_facts: False + hosts: local + + vars: + remote_user: produser + default_role: prodrole + connect_pwd: << COPY PASTE THE ENCRYPTED PASSWORD HERE >> + + tasks: + + - name: print the password + debug: + msg: "{{ connect_pwd }}" +``` + +![Use Ansible Vault In A Playbook][10] + +When running the playbook, you should use either **--ask-vault-password** or **--ask-vault-pass** flag which will prompt you to enter the vault password to decrypt the string. + +``` +$ ansible-playbook playbook.yml --ask-vault-pass +``` + +![Run A Playbook With Ansible Vault][11] + +If you try to run the playbook without `--ask-vault-password` or `--ask-vault-pass` flag, the task will fail with the following error. + +``` +fatal: [master.anslab.com]: FAILED! => {"msg": "Attempting to decrypt but no vault secrets found"} +``` + +You can also store the vault password in a file and pass it as an argument to `--vault-password-file` or `--vault-pass-file` argument. + +When storing the vault password in a file, **make sure proper permission is set** so that only the file owner can read the content of the file. + +``` +$ echo "password" > .secretkey +``` + +``` +$ chmod 600 .secretkey +``` + +I created a file named **.secretkey** and set the permission to **600**. Now, this file can be used to decrypt the string in my playbook. + +``` +$ ansible-playbook --vault-password-file .secretkey playbook.yml +``` + +### Store Vault Password In Ansible Configuration File + +You can also store the vault password in the **ansible.cfg** file. In this case, you can run the playbook command without the need for any extra vault flags. + +``` +vault_password_file = .secretkey +``` + +You can also set the following environmental variable which will be used for all the decryption. + +``` +export ANSIBLE_VAULT_PASSWORD_FILE="./.secretkey" +``` + +### Conclusion + +By this time, you should have a fair understanding of how to secure your secrets with Ansible vault. Encrypting content with Ansible Vault is quite easy and doesn't require any external tools. + +Practice all the examples given in the article which will help you understand more on how an Ansible vault helps to protect the sensitive Playbook data. + +**Resource:** + +* [Encrypting Contents With Ansible Vault][12] + +*[Featured image by Jagrit Parajuli from Pixabay.][13]* + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/ansible-vault/ + +作者:[Karthick][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://ostechnix.com/author/karthick/ +[b]: https://github.com/lkxed +[1]: https://ostechnix.com/introduction-to-ansible-automation-platform/ +[2]: https://ostechnix.com/wp-content/uploads/2022/10/Ansible-Help-Section.png +[3]: https://ostechnix.com/wp-content/uploads/2022/10/Encrypt-A-New-File-With-Ansible-Vault.png +[4]: https://ostechnix.com/wp-content/uploads/2022/10/View-Encrypted-File.png +[5]: https://ostechnix.com/wp-content/uploads/2022/10/Encrypt-An-Existing-File.png +[6]: https://ostechnix.com/wp-content/uploads/2022/10/Change-Ansible-Vault-Password.png +[7]: https://ostechnix.com/wp-content/uploads/2022/10/Decrypt-The-Encrypted-File.png +[8]: https://ostechnix.com/wp-content/uploads/2022/10/View-The-Content-Of-An-Encrypted-File-Without-Decrypting-It.png +[9]: https://ostechnix.com/wp-content/uploads/2022/10/Modify-The-Contents-In-Encrypted-File.png +[10]: https://ostechnix.com/wp-content/uploads/2022/10/Use-Ansible-vault-In-A-Playbook.png +[11]: https://ostechnix.com/wp-content/uploads/2022/10/Run-A-Playbook-With-Ansible-Vault.png +[12]: https://docs.ansible.com/ansible/latest/user_guide/vault.html +[13]: https://pixabay.com/users/jagritparajuli99-8150243/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=4558667 From a8c08710f51f81f6bee92fe68c31e49ea76a7744 Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 2 Oct 2022 11:19:58 +0800 Subject: [PATCH 053/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221001=20A=20Native=20Linux=20GPU=20Driver=20for=20A?= =?UTF-8?q?pple=20Silicon=20is=20Almost=20Ready!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...iver for Apple Silicon is Almost Ready!.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md diff --git a/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md b/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md new file mode 100644 index 0000000000..1aa957ed49 --- /dev/null +++ b/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md @@ -0,0 +1,61 @@ +[#]: subject: "A Native Linux GPU Driver for Apple Silicon is Almost Ready!" +[#]: via: "https://news.itsfoss.com/linux-gpu-driver-apple/" +[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A Native Linux GPU Driver for Apple Silicon is Almost Ready! +====== +A native Linux GPU driver on Apple M1? It's almost here! + +![A Native Linux GPU Driver for Apple Silicon is Almost Ready!][1] + +Making Linux work on an Apple silicon-powered device is what many of us want! + +Thanks to [Asahi Linux project][2], it is now a reality for testers. Sure, it is not ready for prime time, but if you are an advanced Linux user, you could try Linux on Apple M1/M2 devices right now. + +Now, an exciting progress by **Asahi Lina**, a Linux developer, has all our attention. + +**We might have a working native GPU driver written in Rust sooner than expected.** + +### So, What Does This Mean? + +A couple of months ago, Asahi Lina joined the Asahi Linux project and started [developing a prototype driver][3] to run graphics applications on Linux. + +Now, with more tweaks and some amazing dedication by Asahi Lina to reverse engineer the M1 GPU hardware interface, she has managed to run GNOME, KDE apps, YouTube on Firefox, and more on an Apple M1 chip! + +Here's what she [tweeted][4]: + +Note that this hasn't been tested with Apple M2 yet. + +Here's the video stream where you get to see it in action: + +![IT WORKS! GNOME, Firefox, KDE apps, everything!!!!][5] + +She also explains: + +Of course, this is an early development when we do not even have Rust implementation with the Linux Kernel. So, probably you would see this getting closer to reality with Linux Kernel 6.1 or newer when Rust starts getting to the mainline releases. + +Nevertheless, this is an incredible milestone for Asahi Linux. With some of the developments, users must be anxious to try Linux on Apple silicon-powered devices. + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/linux-gpu-driver-apple/ + +作者:[Ankush Das][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/ankush/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/native-apple-linux-gpu.png +[2]: https://news.itsfoss.com/asahi-linux-announcement/ +[3]: https://asahilinux.org/2022/07/july-2022-release/ +[4]: https://twitter.com/LinaAsahi/status/1575343067892051968 +[5]: https://youtu.be/k0cnMUroMlQ From acbbe34ce9259af8d997223b9a83ef1810a845b7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 2 Oct 2022 11:28:03 +0800 Subject: [PATCH 054/170] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @vvvbbbcz https://linux.cn/article-15095-1.html 恭喜升级二星 --- ...On Open Source Software Are On The Rise.md | 39 +++++++++++++++++++ ...On Open Source Software Are On The Rise.md | 36 ----------------- 2 files changed, 39 insertions(+), 36 deletions(-) create mode 100644 published/20220927 Attacks On Open Source Software Are On The Rise.md delete mode 100644 translated/news/20220927 Attacks On Open Source Software Are On The Rise.md diff --git a/published/20220927 Attacks On Open Source Software Are On The Rise.md b/published/20220927 Attacks On Open Source Software Are On The Rise.md new file mode 100644 index 0000000000..0a5ba78c29 --- /dev/null +++ b/published/20220927 Attacks On Open Source Software Are On The Rise.md @@ -0,0 +1,39 @@ +[#]: subject: "Attacks On Open Source Software Are On The Rise" +[#]: via: "https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "vvvbbbcz" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15095-1.html" + +对开源软件的攻击呈上升趋势 +====== + +![](https://img.linux.net.cn/data/attachment/album/202210/02/112659l5iaoi9ij0bji5ji.jpg) + +> 对开源仓库的攻击越来越频繁了。 + +根据近日的研究,由于越来越多的企业使用开源代码仓库来开发他们的软件及解决方案,网络犯罪分子正在借此获利。根据软件供应链管理服务提供商 Sonatype 最近所做的研究,在最近三年里,受感染的软件包、以及对这些软件平台的仿冒攻击typosquatting assaults和类似的黑客攻击的频率大幅增加。 + +该企业在过去三年中发现了大约 95000 个有害软件包,以及超过 55000 个最近才使用他们的存储库防火墙公布出来的危险软件包。届时,这个数字在三年内平均增长了 700%。 + +该企业称,他们的存储库防火墙将通过融合行为分析和自动策略执行的方式,不断发现并阻止有害软件包及潜在的易受攻击的组件。此外,它还使用了人工智能对每个新发布的开源软件进行评估,看它是否会带来一些安全风险。而且该企业断言,由于开源代码的迅速增加,人工分析已变得几乎不可能。 + +然而,这与企业是否在它的最终产品中包含受感染的恶意组件无关。该公司声称,如果那些恶意组件已经被下载到他们的端点上,就已经太晚了。 + +“恶意网络攻击的数量、频率、严重性和复杂性还在增长。但企业不能,也不应该仅为保护自身而避免使用开源代码。” Fox 补充说:“但他们可以使用预防性的工具,例如 Sonatype 防火墙来保证开发人员的工作进度和软件供应链的安全。” + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[自由的铁矿](https://github.com/vvvbbbcz) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed diff --git a/translated/news/20220927 Attacks On Open Source Software Are On The Rise.md b/translated/news/20220927 Attacks On Open Source Software Are On The Rise.md deleted file mode 100644 index 743928fc33..0000000000 --- a/translated/news/20220927 Attacks On Open Source Software Are On The Rise.md +++ /dev/null @@ -1,36 +0,0 @@ -[#]: subject: "Attacks On Open Source Software Are On The Rise" -[#]: via: "https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: "vvvbbbcz" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -对开源软件的攻击呈上升趋势 -====== -*对开源仓库的攻击越来越频繁了。* - -根据近日的研究,网络犯罪分子正利用一个事实获利,即越来越多的企业使用开源代码仓库来开发他们的软件及解决方案这个事实。而在最近,根据一个软件供应链管理服务提供商 Sonatype 所做的研究表明,在最近三年里,受感染的软件包、以及对这些软件平台的仿冒攻击和类似的黑客攻击的频率大幅增加。 - -该企业在过去三年中发现了大约 95000 个有害软件包,以及超过 55000 个最近才使用他们的存储库防火墙公布的危险软件包。届时,这个数字在三年内平均增长了 700%。 - -该企业称,他们的存储库防火墙将通过融合行为分析和自动策略执行的方式,不断发现并阻止有害软件包及潜在的易受攻击的组件。此外,它还使用了 AI(人工智能Artificial Intelligence)对每个新发布的开源软件进行评估,看它是否会带来一些安全风险。而且该企业断言,由于开源代码的迅速增加,人工分析已变得几乎不可能。 - -然而,这与该企业是否在它的最终产品中包含受感染的恶意组件无关。该公司声称,如果那些恶意组件已经被下载到他们的终端上,就已经太晚了。 - -“攻击的数量、频率、严重性和复杂性还在增长。但企业不能,也不应该仅为保护自身而避免使用开源代码。” Fox 补充说:“但他们可以使用预防性的工具,例如 Sonatype 防火墙来保证开发人员的工作进度和软件供应链的安全。” - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/attacks-on-open-source-software-are-on-the-rise/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[自由的铁矿](https://github.com/vvvbbbcz) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed From fa2bc20dcef908f95029690e35ae13b36f8db9f3 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 2 Oct 2022 12:26:47 +0800 Subject: [PATCH 055/170] RP @Return7g https://linux.cn/article-15096-1.html --- ... and Python- Which Language is Quicker-.md | 107 +++++++++--------- 1 file changed, 51 insertions(+), 56 deletions(-) rename {translated/tech => published}/20220902 Julia and Python- Which Language is Quicker-.md (56%) diff --git a/translated/tech/20220902 Julia and Python- Which Language is Quicker-.md b/published/20220902 Julia and Python- Which Language is Quicker-.md similarity index 56% rename from translated/tech/20220902 Julia and Python- Which Language is Quicker-.md rename to published/20220902 Julia and Python- Which Language is Quicker-.md index c4413fcfef..c5f824072b 100644 --- a/translated/tech/20220902 Julia and Python- Which Language is Quicker-.md +++ b/published/20220902 Julia and Python- Which Language is Quicker-.md @@ -3,42 +3,43 @@ [#]: author: "B Thangaraju https://www.opensourceforu.com/author/b-thangaraju/" [#]: collector: "lkxed" [#]: translator: "Return7g" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15096-1.html" -对比 Julia 和 Python,哪一个更快? +Julia 和 Python,哪一个更快? ====== -*Julia 是一门高度抽象的动态编程语言。虽然它是一门能够开发所有程序的通用语言,但它也仍非常适用于科学计算和数值计算。Python 在 1990 年初作为一种简单的面向对象的程序语言出现时就已经有了显著的发展。本文将从它们在神经网络和机器学习的性能表现上进行讨论。* -Julia 的架构以动态语言中的参数多态性和多重派发的编程范式为主要特色。它允许使用或不使用消息传递接口(message passing interface,MPI)或内置 “OpenMP-style” 线程的并发、并行和分布式计算,以及直接调用 C 和 FORTRAN 库而无需额外的代码。Julia 使用 just-in-time(JIT)编译,Julia 社区将其称为 just-ahead-of-time(JAOT),因为它在运行之前默认将所有代码编译为机器码。 +![](https://img.linux.net.cn/data/attachment/album/202210/02/122529vdztvds1ttqez1ts.jpg) -与 Python 不同,Julia 专为统计学和机器学习而设计。 -Julia 可以快速的完成线性代数的运算,但 Python 很慢。这是因为 Python 从来都不是为了适应机器学习用到的矩阵和方程而设计的。Python 本身并不差,特别是 Numpy,但在没有使用包的情况下,Julia 更像是为数学量身定制的。相比 Python,Julia 的运算符更像 R,这是一个显著的优势。大部分的线性代数运算可以用更少的时间和精力去完成。 +Julia 是一门高度抽象的动态编程语言。虽然它是一门能够开发所有程序的通用语言,但它有几个特点,非常适用于科学计算和数值计算。Python 在 1990 年初作为一种简单的面向对象的程序语言出现,如今已经有了显著的发展。本文将从它们在神经网络和机器学习的性能表现上进行讨论。 -众所周知,近年来 Python 在机器学习和数据科学领域占据主导地位。在 Python 中我们可以使用各种各样的第三方库来帮助我们编写机器学习的代码。虽然 Python 有这么多优势,但仍有一个主要的缺点——它是一门解释性语言,速度非常慢。现在是数据时代,数据越多我们处理它的时间就越长,这也是 Julia 出现的理由。 +Julia 的架构以动态语言中的参数多态性parametric polymorphism多重派发multiple dispatch的编程范式为主要特色。它允许使用或不使用消息传递接口message passing interface(MPI)或内置的 “OpenMP 式” 线程进行并发、并行和分布式计算,以及直接调用 C 和 FORTRAN 库而无需额外的代码。Julia 使用 即时just-in-time(JIT)编译器,Julia 社区将其称为 “即时预编译just-ahead-of-time(JAOT)”,因为它在运行之前默认将所有代码编译为机器码。 -到目前为止,有关 Julia 的研究工作都集中在高性能或者科学计算能力等主题上。但在这里,我们将讨论 Julia 不仅能够有效地处理复杂的科学计算,还能够处理基于商业的问题,以及像 Python 一样处理机器学习和神经网络。 +与 Python 不同,Julia 是专为统计学和机器学习而设计的。Julia 可以快速的完成线性代数的运算,但 Python 很慢。这是因为 Python 从来都不是为了适应机器学习用到的矩阵和方程而设计的。Python 本身并不差,特别是 Numpy,但在没有使用包的情况下,Julia 更像是为数学量身定制的。相比 Python,Julia 的运算符更像 R,这是一个显著的优势。大部分的线性代数运算可以用更少的时间和精力去完成。 +众所周知,近年来 Python 在机器学习和数据科学领域占据主导地位。因为在 Python 中我们可以使用各种各样的第三方库来帮助我们编写机器学习的代码。虽然 Python 有这么多优势,但仍有一个主要的缺点——它是一门解释性语言,速度非常慢。现在是数据时代,数据越多我们处理它的时间就越长,这也是 Julia 出现的理由。 + +到目前为止,有关 Julia 的研究工作都集中在高性能或者 Julia 的科学计算能力等主题上。但在这里,我们将讨论 Julia 不仅能够有效地处理复杂的科学计算,还能够处理基于商业的问题,以及像 Python 一样处理机器学习和神经网络。 ### 实验目标与实验设计 - Julia 像 Python 一样简洁,但其编译速度又能与 C 媲美。首先我们来测试 Julia 要比 Python 快多少。为此,我们先在一些简单的程序上测试它们,然后来到我们实验的重点,测试它们的机器学习和深度学习能力。 +Julia 像 Python 一样简洁,但却像 C 一样是一门编译语言。首先我们来测试 Julia 要比 Python 快多少。为此,我们先在一些简单的程序上测试它们,然后来到我们实验的重点,测试它们的机器学习和深度学习能力。 -Julia 和 Python 都提供了许多库和开源的基准测试工具。为了在 Julia 中进行基准测试和计算时间,我们使用了 CPUTime 和 time 库;对于 Python,我们同样使用了 time 模块。 +Julia 和 Python 都提供了许多库和开源的基准测试工具。为了在 Julia 中进行基准测试和计算时间,我们使用了 `CPUTime` 和 `time` 库;对于 Python,我们同样使用了 `time` 模块。 ### 矩阵乘法 -一开始我们尝试了简单的算术运算,但由于这些运算不会产生太大的时间差异,我们决定比较矩阵乘法的时间差异。我们创建了两个 10 * 10 的随机浮点数矩阵,并对它们施以点积。众所周知,Python 有一个 Numpy 库,常被用于计算矩阵和向量。而 Julia 也有一个 LinearAlgebra 库,常用于计算矩阵和向量。因此我们分别比较了各自使用和不使用库的矩阵乘法的耗时。本文用到的所有源码已经放在了 GitHub 存储库([https://github.com/mr-nerdster/Julia_Research.gitsee][1])。下面给出了用 Julia 编写的 10×10 矩阵乘法程序: +一开始我们尝试了简单的算术运算,但由于这些运算不会产生太大的时间差异,我们决定比较矩阵乘法的时间差异。我们创建了两个 `(10 * 10)` 的随机浮点数矩阵,并对它们施以点积。众所周知,Python 有一个 `Numpy` 库,常被用于计算矩阵和向量。而 Julia 也有一个 `LinearAlgebra` 库,常用于计算矩阵和向量。因此我们分别比较了各自使用和不使用库的矩阵乘法的耗时。本文用到的所有源码已经放在了 [GitHub 存储库][1]。下面给出了用 Julia 编写的 10×10 矩阵乘法程序: ``` @time LinearAlgebra.mul!(c,x,y) - + function MM() x = rand(Float64,(10,10)) y = rand(Float64,(10,10)) c = zeros(10,10) - + for i in range(1,10) for j in range(1,10) for k in range(1,10) @@ -48,14 +49,14 @@ end end end @time MM - + 0.000001 seconds MM (generic function with 1 method) ``` Julia 使用库耗时 0.000017 秒,使用循环耗时 0.000001 秒。 -使用 Python 编写相同的矩阵乘法程序如下。 从结果可以发现,与不使用库相比,使用库的程序花费的时间更少。 +使用 Python 编写相同的矩阵乘法程序如下。 从结果可以发现,与不使用库相比,使用库的程序花费的时间更少: ``` import numpy as np @@ -66,42 +67,41 @@ start = t.time() z = np.dot(x, y) print(“Time = “,t.time()-start) Time = 0.001316070556640625 - + import random import time as t l = 0 h= 10 cols = 10 rows= 10 - + choices = list (map(float, range(l,h))) x = [random.choices (choices , k=cols) for _ in range(rows)] y = [random.choices (choices , k=cols) for _ in range(rows)] - + result = [([0]*cols) for i in range (rows)] - + start = t.time() - + for i in range(len(x)): for j in range(len(y[0])): for k in range(len(result)): result[i][j] += x[i][k] * y[k][j] - + print(result) print(“Time = “, t.time()-start) - + Time = 0.0015912055969238281 ``` Python 使用库耗时 0.0013 秒,使用循环耗时 0.0015 秒。 - ### 线性搜索 -我们进行的下一个实验是对十万个随机生成的数字进行线性搜索。 这里使用了两种方法,一种是使用 for 循环,另一种是使用运算符。我们使用 1 到 1000 的整数执行了 1000 次搜索,正如你在下面的输出中看到的那样,我们还打印了我们在数据集中找到了多少个整数。下面给出了使用循环和使用 IN 运算符的时间。 这里我们使用了 CPU 3 次运行时间的中位数。 - +我们进行的下一个实验是对十万个随机生成的数字进行线性搜索。这里使用了两种方法,一种是使用 `for` 循环,另一种是使用运算符。我们使用 1 到 1000 的整数执行了 1000 次搜索,正如你在下面的输出中看到的那样,我们还打印了我们在数据集中找到了多少个整数。下面给出了使用循环和使用 `IN` 运算符的时间。这里我们使用了 CPU 3 次运行时间的中位数。 使用 Julia 编写的程序和运行结果如下: + (LCTT 译注:此处原文缺失 Julia 代码) 使用 Python 编写的程序和运行结果如下: @@ -115,35 +115,33 @@ start = t.time() z = np.dot(x, y) print(“Time = “,t.time()-start) Time = 0.001316070556640625 - + import random import time as t l = 0 h= 10 cols = 10 rows= 10 - + choices = list (map(float, range(l,h))) x = [random.choices (choices , k=cols) for _ in range(rows)] y = [random.choices (choices , k=cols) for _ in range(rows)] - + result = [([0]*cols) for i in range (rows)] - + start = t.time() - + for i in range(len(x)): for j in range(len(y[0])): for k in range(len(result)): result[i][j] += x[i][k] * y[k][j] - + print(result) print(“Time = “, t.time()-start) - + Time = 0.0015912055969238281 ``` - - ``` FOR_SEARCH: Elapsed CPU time: 16.420260511 seconds @@ -166,9 +164,9 @@ matches: 550 ### 线性回归 -下一个实验是测试机器学习算法。我们选择了以一种最常见和最简单的机器学习算法,使用简单数据集的线性回归。我们使用了一个包含237条数据的数据集 “Head Brain”,数据集的两列分别为 “HeadSize” 和 “BrainWeight”。接下来,我们使用 “head size” 数据去计算 “brain weight”。在 Python 和 Julia 中我们都没有使用第三方库,而是从零实现了线性回归算法。 +下一个实验是测试机器学习算法。我们选择了以一种最常见和最简单的机器学习算法,使用简单数据集的线性回归。我们使用了一个包含 237 条数据的数据集 “Head Brain”,数据集的两列分别为 “HeadSize” 和 “BrainWeight”。接下来,我们使用 “head size” 数据去计算 “brain weight”。在 Python 和 Julia 中我们都没有使用第三方库,而是从零实现了线性回归算法。 -*Julia:* +Julia: ``` GC.gc() @@ -178,7 +176,7 @@ end elapsed CPU time: 0.000718 seconds ``` -*Python:* +Python: ``` gc.collect() @@ -194,16 +192,16 @@ elapsed time: 0.007180344000000005 ### 逻辑回归 -接下来,我们使用两种语言的库对最常见的机器学习算法(即逻辑回归)进行了实验。对于 Python 我们使用最常见的库 sklearn;对于 Julia ,我们使用 GLM 库。我们在这里用到的数据集是有关银行客户的信息,其中包含 10,000 个数据条目。目标变量是一个二元变量,区分消费者是否继续使用银行账户。 +接下来,我们使用两种语言的库对最常见的机器学习算法(即逻辑回归)进行了实验。对于 Python 我们使用最常见的库 `sklearn`;对于 Julia,我们使用 `GLM` 库。我们在这里用到的数据集是有关银行客户的信息,其中包含 10,000 个数据条目。目标变量是一个二元变量,区分消费者是否继续使用银行账户。 -下面给出了 Julia 进行逻辑回归所花费的时间。 +下面给出了 Julia 进行逻辑回归所花费的时间: ``` @time log_rec() 0.027746 seconds (3.32 k allocations: 10.947 MiB) ``` -下面给出了 Python 进行逻辑回归所花费的时间。 +下面给出了 Python 进行逻辑回归所花费的时间: ``` gc.collect() @@ -222,8 +220,7 @@ Accuracy : 0.8068 ![Figure 1: Example of MNIST data set][2] -图1是 MNIST 数据集的示例。 - +图 1 是 MNIST 数据集的示例。 对两种语言我们都建立了一个简单的神经网络来测试它们耗费的时间。神经网络的结构如下: @@ -235,9 +232,7 @@ Input ---> Hidden layer ---> Output ![Figure 2: Julia takes 5.76 seconds in a neural network][3] - -在 Julia 中,Flux 库通常被用于建立神经网络;在 Python 中我们常使用 Keras 库。图 2 展示了 Julia 在神经网络上的耗时。 -图 3 展示了 Python 的神经网络经过了若干次训练的耗时。 +在 Julia 中,`Flux` 库通常被用于建立神经网络;在 Python 中我们常使用 `Keras` 库。图 2 展示了 Julia 在神经网络上的耗时。图 3 展示了 Python 的神经网络经过了若干次训练的耗时。 ![Figure 3: Python takes 110.3 seconds in a neural network][4] @@ -245,15 +240,15 @@ Input ---> Hidden layer ---> Output 表 1 总结了此次实验的测试结果并计算了 Julia 和 Python 时间差异的百分比。 -| Experiment | Julia (seconds) | Python(seconds) | Time difference (%) | +| 实验 | Julia(秒) | Python(秒) | 时间差(%) | | :- | :- | :- | :- | -| Matrix multiplication (without library) | 0.000001 | 0.0015 | 99.9 | -| Matrix multiplication (with library) | 0.000017 | 0.0013 | 98.69 | -| Linear search (using loop ) | 0.42 | 16.4 | 97.43 | -| Linear search (using IN operator) | 0.43 | 6.2 | 93.06 | -| Linear regression | 0.000718 | 0.00718 | 90 | -| Logistic regression | 0.025 | 0.34901 | 92.83 | -| Neural networks | 5.76 | 110.3 | 94.77 | +| 矩阵乘法(不使用库) | 0.000001 | 0.0015 | 99.9 | +| 矩阵乘法(使用库) | 0.000017 | 0.0013 | 98.69 | +| 线性搜索(使用循环) | 0.42 | 16.4 | 97.43 | +| 线性搜索(使用 IN 操作符) | 0.43 | 6.2 | 93.06 | +| 线性回归 | 0.000718 | 0.00718 | 90 | +| 逻辑回归 | 0.025 | 0.34901 | 92.83 | +| 神经网络 | 5.76 | 110.3 | 94.77 | 我们进行的所有实验都表明,随着程序复杂性以及数据集大小的增加,Julia 和 Python 之间的执行时间差异也会增加。由这个结果我们可以推断,Julia 是一门更适合机器学习和神经网络的编程语言。 @@ -265,7 +260,7 @@ via: https://www.opensourceforu.com/2022/09/julia-and-python-which-language-is-q 作者:[B Thangaraju][a] 选题:[lkxed][b] 译者:[Return7g](https://github.com/Return7g) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 9908cbd87efb44f119250652e2e353cba2f0839c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 2 Oct 2022 16:51:41 +0800 Subject: [PATCH 056/170] RP @geekpi https://linux.cn/article-15097-1.html --- ...int using Media Transfer Protocol -MTP-.md | 116 ++++++++++++++++++ ...int using Media Transfer Protocol -MTP-.md | 114 ----------------- 2 files changed, 116 insertions(+), 114 deletions(-) create mode 100644 published/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md delete mode 100644 translated/tech/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md diff --git a/published/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md b/published/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md new file mode 100644 index 0000000000..538eda057a --- /dev/null +++ b/published/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md @@ -0,0 +1,116 @@ +[#]: subject: "How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol (MTP)" +[#]: via: "https://www.debugpoint.com/how-to-access-android-devices-internal-storage-and-sd-card-in-ubuntu-linux-mint-using-media-transfer-protocol-mtp/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15097-1.html" + +如何在 Linux 中使用媒体传输协议访问安卓设备的内部存储和 SD 卡 +====== + +![](https://img.linux.net.cn/data/attachment/album/202210/02/165046qu9oddb5dk757z9e.jpg) + +> 本教程将展示如何在 Ubuntu 中使用 MTP 访问安卓设备以及如何访问 SD 卡内容。 + +MTP,即 [媒体传输协议][1]media transfer protocol,是图片传输协议的扩展,它在安卓 6.0(棉花糖)版本中实现。在更新了安卓 6.0 之后,你无法将安卓设备用作典型的大容量存储设备,以便让你直接插入并在文件管理器(例如 Thunar 或 GNOME Files)中查看内部存储内容和 SD 卡内容。这是由于操作系统无法确定 MTP 设备,而且还没有实现支持的设备列表。 + +### 在 Ubuntu、Linux Mint 中访问 Android 设备的步骤 + +使用以下命令为启用 MTP 的设备 [mtpfs][3] 安装 [libmtp][2] FUSE 文件系统: + +``` +sudo apt install go-mtpfs +sudo apt install libmtp +sudo apt install mtpfs mtp-tools +``` + +使用 USB 线缆将你的安卓设备插入 Ubuntu。 + +在你的安卓设备上,在主屏幕下拉,然后单击 “触摸获得更多选项Touch for more options”。 + +在下面的菜单中,选择“传输文件(MTP)Transfer File (MTP)”选项: + +![MTP Option1][4] + +![MTP Option2][5] + +在终端中运行以下命令查找设备 ID 等。你可以在设备的命令输出中看到 `VID` 和 `PID`。记下这两个数字(在下图中高亮显示): + +``` +mtp-detect +``` + +![mtp-detect Command Output][6] + +使用以下命令使用文本编辑器打开安卓规则文件: + +``` +sudo gedit /etc/udev/rules.d/51-android.rules +``` + +如果你使用的是未安装 gedit 的最新 Ubuntu,请使用以下命令: + +``` +sudo gnome-text-editor /etc/udev/rules.d/51-android.rules +``` + +在 `51-android.rules` 文件中使用你设备的 VID 和 PID 输入以下行(你在上面的步骤中记下): + +``` +SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e82", MODE="0666" +``` + +保存并关闭文件。 + +运行以下命令通过 [systemd][7] 重启设备管理器: + +``` +sudo service udev restart +``` + +### 访问内容的后续步骤 + +接下来的步骤主要用于访问你的 Android 设备的外部 SD 卡的内容。 + +我必须这样做,因为文件管理器没有显示 SD 卡的内容。不过,这不是一个解决方案,但它是一种临时方案,根据这个 [Google 论坛帖子][8],它适用于大多数用户,并且适用于我的带有闪迪 SD 卡的摩托罗拉 G 2nd Gen: + +* 在 Ubuntu 中安全删除你连接的设备。 +* 关闭设备。从设备中取出 SD 卡。 +* 在没有 SD 卡的情况下打开设备。 +* 再次关闭设备。 +* 将 SD 卡重新插入并再次打开设备。 + +重启你的 Ubuntu 机器并插入你的安卓设备。 + +现在你可以看到你的安卓设备的内部存储和 SD 卡的内容。 + +![MTP Device Contents in Ubuntu][9] + +### 总结 + +上述在 Ubuntu 中访问安卓设备内容的教程在旧版和新版 Ubuntu 中的安卓设备(三星、一加和摩托罗拉)上都可以使用。如果你在访问内容时遇到困难,可以试试这些步骤,它可能会起作用。在我看来,MTP 与老式的即插即用方案相比非常慢。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/how-to-access-android-devices-internal-storage-and-sd-card-in-ubuntu-linux-mint-using-media-transfer-protocol-mtp/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://en.wikipedia.org/wiki/Media_Transfer_Protocol +[2]: https://sourceforge.net/projects/libmtp/ +[3]: https://launchpad.net/ubuntu/+source/mtpfs +[4]: https://www.debugpoint.com/wp-content/uploads/2016/03/MTP-Option1.png +[5]: https://www.debugpoint.com/wp-content/uploads/2016/03/MTP-Option2.png +[6]: https://www.debugpoint.com/wp-content/uploads/2016/03/mtp-detect.png +[7]: https://www.debugpoint.com/systemd-systemctl-service/ +[8]: https://productforums.google.com/forum/#!topic/nexus/11d21gbWyQo;context-place=topicsearchin/nexus/category$3Aconnecting-to-networks-and-devices%7Csort:relevance%7Cspell:false +[9]: https://www.debugpoint.com/wp-content/uploads/2016/03/MTP-Device-Contents-in-Ubuntu.png diff --git a/translated/tech/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md b/translated/tech/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md deleted file mode 100644 index 7b5abdc91e..0000000000 --- a/translated/tech/20220921 How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol -MTP-.md +++ /dev/null @@ -1,114 +0,0 @@ -[#]: subject: "How to Access Android Devices Internal Storage and SD Card in Ubuntu, Linux Mint using Media Transfer Protocol (MTP)" -[#]: via: "https://www.debugpoint.com/how-to-access-android-devices-internal-storage-and-sd-card-in-ubuntu-linux-mint-using-media-transfer-protocol-mtp/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -如何使用媒体传输协议 (MTP) 在 Ubuntu、Linux Mint 中访问 Android 设备的内部存储和 SD 卡 -====== -**本教程将展示如何在 Ubuntu 中使用 MTP 访问 android 设备以及如何访问 SD 卡内容。** - -MTP,即[媒体传输协议][1],是图片传输协议的扩展,它在 Android marshmallow 版本中实现。 marshmallow 更新后,你无法将 android 设备用作典型的大容量存储设备,这可以让你直接插入并在文件管理器(例如 Thunar 或 GNOME Files)中查看内部存储内容和 SD 卡内容。这是由于操作系统无法确定 MTP 设备,而且还没有实现支持的设备列表。 - -### 在 Ubuntu、Linux Mint 中访问 Android 设备的步骤 - -* 使用以下命令为启用 MTP 的设备 [mtpfs][3] 安装 [libmtp][2]、FUSE 文件系统。 - -``` -sudo apt install go-mtpfs -sudo apt install libmtp -sudo apt install mtpfs mtp-tools -``` - -* 使用以下命令在 `/media` 中创建一个目录并更改写入权限。 - -``` -sudo mkdir /media/MTPdevice -sudo chmod 775 /media/MTPdevice -sudo mtpfs -o allow_other /media/MTPdevice -``` - -* 在 Ubuntu 中使用 USB 线缆插入你的 Android 设备。 -* 在你的 Android 设备上,在主屏幕下拉,然后单击 “Touch for more options”。 -* 在下面的菜单中,选择“Transfer File (MTP)”选项。 - -![MTP Option1][4] - -![MTP Option2][5] - -* 在终端中运行以下命令查找设备 ID 等。你可以在设备的命令输出中看到 VID 和 PID。记下这两个数字(在下图中高亮显示)。 - -``` -mtp-detect -``` - -![mtp-detect Command Output][6] - -* 使用以下命令使用文本编辑器打开 android 规则文件。 - -``` -sudo gedit /etc/udev/rules.d/51-android.rules -``` - -* 如果你使用的是未安装 gedit 的最新 Ubuntu,请使用以下命令。 - -``` -sudo gnome-text-editor /etc/udev/rules.d/51-android.rules -``` - -* 在 `51-android.rules` 文件中使用你设备的 VID 和 PID 输入以下行(你在上面的步骤中记下)。 -* 保存并关闭文件。 - -``` -SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e82", MODE="0666" -``` - -* 运行以下命令通过 [systemd][7] 重启设备管理器。 - -``` -sudo service udev restart -``` - -### 访问内容的后续步骤 - -* 接下来的步骤主要需要访问你的 Android 设备的外部 SD 卡的内容。 -* 我必须这样做,因为文件管理器没有显示 SD 卡的内容。不过,这不是一个解决方案,但它是一种临时方案,根据这个 [Google 论坛帖子][8],它适用于大多数用户,并且适用于我的带有闪迪 SD 卡的摩托罗拉 G 2nd Gen。 - * 在 Ubuntu 中安全删除你连接的设备。 - * 关闭设备。从设备中取出 SD 卡。 - * 在没有 SD 卡的情况下打开设备。 - * 再次关闭设备。 - * 将 SD 卡重新插入并再次打开设备。 -* 重启你的 Ubuntu 机器并插入你的安卓设备。 -* 现在你可以看到你的安卓设备的内部存储和 SD 卡的内容。 - -![MTP Device Contents in Ubuntu][9] - -### 总结 - -上述在 Ubuntu 中访问安卓设备内容的教程在旧版和新版 Ubuntu 中的安卓设备(三星、一加和摩托罗拉)上都可以使用。如果你在访问内容时遇到困难,可以试试这些步骤,它可能会起作用。在我看来,MTP 与老式的即插即用方案相比非常慢。 - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/how-to-access-android-devices-internal-storage-and-sd-card-in-ubuntu-linux-mint-using-media-transfer-protocol-mtp/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.debugpoint.com/author/admin1/ -[b]: https://github.com/lkxed -[1]: https://en.wikipedia.org/wiki/Media_Transfer_Protocol -[2]: https://sourceforge.net/projects/libmtp/ -[3]: https://launchpad.net/ubuntu/+source/mtpfs -[4]: https://www.debugpoint.com/wp-content/uploads/2016/03/MTP-Option1.png -[5]: https://www.debugpoint.com/wp-content/uploads/2016/03/MTP-Option2.png -[6]: https://www.debugpoint.com/wp-content/uploads/2016/03/mtp-detect.png -[7]: https://www.debugpoint.com/systemd-systemctl-service/ -[8]: https://productforums.google.com/forum/#!topic/nexus/11d21gbWyQo;context-place=topicsearchin/nexus/category$3Aconnecting-to-networks-and-devices%7Csort:relevance%7Cspell:false -[9]: https://www.debugpoint.com/wp-content/uploads/2016/03/MTP-Device-Contents-in-Ubuntu.png From 2614be8837e385facc5d023478374c071d91323b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 2 Oct 2022 22:21:34 +0800 Subject: [PATCH 057/170] RP @geekpi https://linux.cn/article-15099-1.html --- ...Free and Open-Source Figma Alternatives.md | 69 ++++++++++--------- 1 file changed, 36 insertions(+), 33 deletions(-) rename {translated/tech => published}/20220923 5 Free and Open-Source Figma Alternatives.md (60%) diff --git a/translated/tech/20220923 5 Free and Open-Source Figma Alternatives.md b/published/20220923 5 Free and Open-Source Figma Alternatives.md similarity index 60% rename from translated/tech/20220923 5 Free and Open-Source Figma Alternatives.md rename to published/20220923 5 Free and Open-Source Figma Alternatives.md index e312d83e94..3b564107fe 100644 --- a/translated/tech/20220923 5 Free and Open-Source Figma Alternatives.md +++ b/published/20220923 5 Free and Open-Source Figma Alternatives.md @@ -3,23 +3,26 @@ [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15099-1.html" -5 个免费和开源的 Figma 替代品 +5 款自由开源的 Figma 替代品 ====== + +![](https://img.linux.net.cn/data/attachment/album/202210/02/222037sejf1j6z6jupcz6g.jpg) + Figma 是一个流行的界面设计工具。你可以免费开始使用,也可以选择高级订阅计划以供进阶使用。 -这是一个令人印象深刻的平台,许多专业人士都依赖它。然而,在 2021 年,[Figma][1] 通过施加某些限制改变了其免费计划。虽然这使一些用户寻找替代品,但对许多人来说仍然是可控的。 +这是一个令人印象深刻的平台,许多专业人士都依赖它。然而,在 2021 年,[Figma][1] 通过施加某些限制改变了其免费计划。虽然这使一些用户寻找替代品,但对许多人来说仍然是可接受的。 不幸的是,在 2022 年,**Adobe 宣布以 200 亿美元收购 Figma** 让许多用户望而却步。因此,每个人都开始寻找免费且可能开源的替代品。 -为了帮助你,我们决定编一份 Figma 的免费和开源替代品清单,你可以试试。 +为了帮助你,我们决定编一份 Figma 的自由开源的替代品清单,你可以试试。 -**注意:**提到的替代品不一定是 Figma 的完全替代品。我们建议你尝试一下,看看它们是否符合你的要求。 +**注意:** 提到的替代品不一定是 Figma 的完全替代品。我们建议你尝试一下,看看它们是否符合你的要求。 -### 1. Penpot +### 1、Penpot ![A Video from YouTube][2] @@ -27,7 +30,7 @@ Figma 是一个流行的界面设计工具。你可以免费开始使用,也 * 自托管选择。 * 使用 SVG 作为原生格式。 -* 基于网络。 +* 基于网页。 * 跨平台。 Penpot 很快被公认为可靠的免费和开源 Figma 替代品。 @@ -38,13 +41,13 @@ Penpot 的独特之处在于它使用 SVG 作为其原生格式,这很罕见 ![penpot screenshot][3] -你可以期待 Figma 的基本功能,因为开发人员提到该工具的原始灵感是 Figma,他们旨在提供熟悉的用户体验,而不给你的设计冒险增加障碍。 +你可以期待具有 Figma 的基本功能,因为开发人员提到该工具的原始灵感是 Figma,他们旨在提供熟悉的用户体验,而不给你的设计冒险增加障碍。 前往其官方网站或 GitHub 页面探索更多信息。 -[Penpot][4] +> **[Penpot][4]** -### 2. Quant UX +### 2、Quant UX ![A Video from YouTube][5] @@ -55,35 +58,35 @@ Penpot 的独特之处在于它使用 SVG 作为其原生格式,这很罕见 * 定期添加新的测试版功能。 * 自托管选择。 -Quant UX 是一种原型设计工具,你可以在其中测试你的设计并获得有关它们的见解。 +Quant UX 是一种原型设计工具,你可以在其中测试你的设计并获得它们的实际体验。 -你可以为 Android 手机、iPhone 或台式机创建自定义原型或选择任何可用的屏幕尺寸。 +你可以为安卓手机、iPhone 或台式机创建自定义原型,或选择任何可用的屏幕尺寸。 -这也是你会发现不断添加功能的地方,其中一些处于测试阶段。它更专注于通过让你导入设计或创建简单的模型来测试事物。 +这也是你会发现它不断添加功能的地方,其中一些处于测试阶段。它更专注于通过让你导入设计或创建简单的模型来测试事物。 -它允许你无需注册即可访问一些内容,但要使所有功能正常工作,你需要注册一个帐户。在其 [GitHub 页面][6]上探索更多信息。 +它允许你无需注册即可访问一些内容,但要使所有功能正常工作,你需要注册一个帐户。在其 [GitHub 页面][6] 上探索更多信息。 -[Quant UX][7] +> **[Quant UX][7]** -### 3. Plasmic +### 3、Plasmic ![A Video from YouTube][8] **主要亮点:** -* 免费和开源。 +* 自由开源。 * 拖放功能。 * 它支持从 Figma 导入设计。 Plasmic 是用于构建网页的卓越设计工具。如果你使用 Figma 进行网页设计,这可能是一个可供选择的工具。 -当你选择高级计划时,它免费提供大部分功能,并为团队解锁更多扩展版本历史记录、分析和其他特殊功能。它不仅限于设计网页,还支持 A/B 测试来实验和改进网站的用户交互。 +它免费提供大部分功能,当你选择高级计划时,可以为团队解锁更多扩展版本历史记录、分析和其他特殊功能。它不仅限于设计网页,还支持 A/B 测试来实验和改进网站的用户交互。 -无论你使用的是[开源 CMS][9] 还是 Jamstack 站点,Plasmic 几乎都支持集成。前往其官方网站或 [GitHub 页面][10]了解更多信息。 +无论你使用的是 [开源 CMS][9] 还是 Jamstack 站点,Plasmic 几乎都支持集成。前往其官方网站或 [GitHub 页面][10] 了解更多信息。 -[Plasmic][11] +> **[Plasmic][11]** -### 4. Wireflow +### 4、Wireflow ![wireflow userflow][12] @@ -97,32 +100,32 @@ Wireflow 作为用户流原型工具是一个有趣的产品,它完全免费 此外,你无需注册帐户。从其官方网站开始,与他人合作规划你的项目并进行头脑风暴。 -不幸的是,它自 2021 年以来没有看到任何最近的开发活动。但是,它仍然活跃并且仍然是一个免费和开源的解决方案。你可以查看其 [GitHub 页面][13]了解更多信息。 +不幸的是,它自 2021 年以来没有看到任何最近的开发活动。但是,它仍然活跃并且仍然是一个自由开源的解决方案。你可以查看其 [GitHub 页面][13] 了解更多信息。 -[Wireflow][14] +> **[Wireflow][14]** -### 5. Akira UX +### 5、Akira UX ![akira ux 2020][15] **主要亮点:** -* 早期开发中的应用。 +* 尚处于早期开发中的应用。 * 专注于成为原生 Linux UX 应用。 [Akira UX][16] 是一个令人兴奋的项目,旨在带来一个原生 Linux 设计程序,该程序可以与一些基于 Web 的解决方案一样工作。 -Akira 的项目负责人加入了 Mozilla Thunderbird 担任产品设计经理。因此,截至目前,该项目还没有被积极地开发。但是,作为一个免费的开源项目,任何人都可以负责它并致力于相同的愿景。 +Akira 的项目负责人加入了 Mozilla Thunderbird 担任产品设计经理。因此,截至目前,该项目还没有被积极地开发。但是,作为一个自由开源项目,任何人都可以负责它并致力于相同的愿景。 -它目前是你可以测试的早期开发版本。你可以在 Flathub 的 beta 渠道中找到它,并按照其 [GitHub 页面说明][17]进行安装。 +它目前提供了可以测试的早期开发版本。你可以在 Flathub 的 beta 渠道中找到它,并按照其 [GitHub 页面说明][17] 进行安装。 -[Akira UX][18] +> **[Akira UX][18]** ### 总结 -用免费和开源的解决方案取代 Figma 并不容易。但是,如果你不关心 Figma 的所有功能,我们的一些建议应该可以帮助你完成工作。 +用自由开源的解决方案取代 Figma 并不容易。但是,如果你不关心 Figma 的所有功能,我们的一些建议应该可以帮助你完成工作。 -*你知道有什么其他免费和开源的 Figma 替代品吗?请在下面的评论中告诉我你的想法*。 +*你知道有什么其他自由开源的 Figma 替代品吗?请在下面的评论中告诉我你的想法*。 -------------------------------------------------------------------------------- @@ -131,7 +134,7 @@ via: https://itsfoss.com/figma-alternatives/ 作者:[Ankush Das][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From a7a2cdaa7bc93718d6ff705aeff99f2dec9c882a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 2 Oct 2022 23:23:21 +0800 Subject: [PATCH 058/170] RP @CoWave-Fall https://linux.cn/article-15100-1.html --- ...o Install Visual Studio Code Extensions.md | 65 +++++++++---------- 1 file changed, 32 insertions(+), 33 deletions(-) rename {translated/tech => published}/20211022 How to Install Visual Studio Code Extensions.md (51%) diff --git a/translated/tech/20211022 How to Install Visual Studio Code Extensions.md b/published/20211022 How to Install Visual Studio Code Extensions.md similarity index 51% rename from translated/tech/20211022 How to Install Visual Studio Code Extensions.md rename to published/20211022 How to Install Visual Studio Code Extensions.md index 1fe7d153c4..56bcacc1af 100644 --- a/translated/tech/20211022 How to Install Visual Studio Code Extensions.md +++ b/published/20211022 How to Install Visual Studio Code Extensions.md @@ -3,85 +3,84 @@ [#]: author: "Pratham Patel https://itsfoss.com/author/pratham/" [#]: collector: "lujun9972" [#]: translator: "CoWave-Fall" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15100-1.html" 如何安装 VSCode 扩展 ====== -_**概述: 通过图形界面和命令行两种方法,了解如何在 VSCode 中搜索和安装扩展**_ +![](https://img.linux.net.cn/data/attachment/album/202210/02/232225yzgzrymdrepj2mpa.jpg) -微软的 [Visual Studio Code][1] 可能是最流行的 [开源代码编辑器][2],仅次于 Vim(当然)。 +> 通过图形界面和命令行两种方法,了解如何在 VSCode 中搜索和安装扩展。 -VSCode 通过提供几乎所有类似 IDE 的功能,提供了令人惊叹的“开箱即用”体验。 但总有一些事情是您希望 VSCode 能够另外做到的。 _正所谓“邻家芳草绿,隔岸风景好”_ :) +微软的 [Visual Studio Code][1](VSCode)可能是最流行的 [开源代码编辑器][2],仅次于 Vim(当然)。 -您可以在[Visual Studio Code 市场Marketplace][3] 找到 VSCode 扩展插件。在 VSCode 市场上发布的扩展插件在发布之前会进行病毒扫描,所以这些扩展可以[信任][4]。 +VSCode 通过提供几乎所有类似 IDE 的功能,提供了令人惊叹的“开箱即用”体验。 但总有一些事情是你希望 VSCode 能够另外做到的。_正所谓“邻家芳草绿,隔岸风景好”_ : ) +你可以在 Visual Studio Code [市场][3]Marketplace 找到 VSCode 扩展插件。在 VSCode 市场上发布的扩展插件在发布之前会进行病毒扫描,所以这些扩展可以 [信任][4]。 ### 在 VSCode 中安装扩展插件 -您不需要访问 VSCode 市场Marketplace网站就可以安装扩展插件。也就是说,您可以直接从 VSCode 本身安装和管理扩展插件。 +你不需要访问 VSCode 市场Marketplace 网站就可以安装扩展插件。也就是说,你可以直接从 VSCode 本身安装和管理扩展插件。 -我希望您已经在您使用的操作系统(比如 [在 Linux)上 安装][5]了 VSCode。 +我希望你已经在你使用的操作系统(比如 [在 Linux][5])上 安装了 VSCode。 -打开 VSCode,最左侧是活动栏。活动栏上的最后一个按钮就是“扩展”按钮。点击它之后您会看到大量可安装的扩展。 +打开 VSCode,最左侧是活动栏。活动栏上的最后一个按钮就是“扩展”按钮。点击它之后你会看到大量可安装的扩展。 ![访问 VSCode 中的扩展选项卡][6] -_**您也可以按快捷键组合“Ctrl + Shift + X”来启动扩展栏的侧面面板。**_ - -如果您还没有安装任何扩展的话,您会看到 VSCode 市场上最流行的扩展列表。 +你也可以按快捷键组合 `Ctrl + Shift + X` 来启动扩展栏的侧面面板。 +如果你还没有安装任何扩展的话,你会看到 VSCode 市场上最流行的扩展列表。 #### 找到并安装某个扩展(图形界面方法) -现在是时候尝试一下 Linux 人谈论的 `vim` 了(鼓动的语气);) +现在是时候尝试一下 Linux 人谈论的 `vim` 了(鼓动的语气); ) 开玩笑啦。让我们安装一些对我们初学者更友好,可以轻松使用而且无需太多练习的扩展吧。 -从最流行的扩展列表中单击 **Visual Studio IntelliCode** (①) 扩展。 +从最流行的扩展列表中单击 “Visual Studio IntelliCode” (①)扩展。 ![如何安装 Visual Studio IntelliCode 等扩展][7] -点击 **安装** 按钮 (②) 即可安装 **Visual Studio IntelliCode** 扩展。这个扩展会在您编写代码时为您提供 AI 预测的建议。 +点击 “安装Install” 按钮(②)即可安装 “Visual Studio IntelliCode” 扩展。这个扩展会在你编写代码时为你提供 AI 预测的建议。 -安装后,您可以充分利用此扩展。试试用您喜欢的编程语言输入一段代码,然后看看 AI 的自动完成功能是否顺利运行而且没有拖慢您的工作进程。 +安装后,你可以充分利用此扩展。试试用你喜欢的编程语言输入一段代码,然后看看 AI 的自动完成功能是否顺利运行而且没有拖慢你的工作进程。 ![在 Visual Studio Code 中管理已安装的扩展][8] -如果您不喜欢某个已安装的扩展插件,您只需单击 **卸载** 按钮 (②) 即可完全删除不需要的扩展插件。 +如果你不喜欢某个已安装的扩展插件,你只需单击 “卸载Uninstall” 按钮(②)即可完全删除不需要的扩展插件。 -如果您安装了多个扩展插件,并且您觉得其中某个扩展插件给您带来了问题——比如说突然崩溃;您只需点击 **禁用** 按钮 (①) 即可禁用一个(或多个)扩展插件,并检查扩展插件 _甲_ 是否在起作用,或者它是扩展插件 _乙_,还是完全不同的东西。 - -考虑到扩展删除和重新安装需要很长时间,当您安装了多个扩展时,禁用扩展会很方便。 +如果你安装了多个扩展插件,并且你觉得其中某个扩展插件给你带来了问题——比如说突然崩溃;你只需点击 “禁用Disable” 按钮(①)即可禁用一个(或多个)扩展插件,并检查扩展插件 _甲_ 是否在起作用,或者它是扩展插件 _乙_,还是完全不同的东西。 +考虑到扩展删除和重新安装需要很长时间,当你安装了多个扩展时,禁用扩展会很方便。 #### 另外方法:使用终端安装扩展 -您知道您可以从终端安装 VSCode 扩展吗?不过,现在您知道了! +你知道你可以从终端安装 VSCode 扩展吗?不过,现在你知道了! -要从您的终端安装扩展程序,您需要知道扩展程序名称和发布者名称,再按照“‘*发布者名称*’加上‘*.*’再加上‘*扩展程序名称*’”的顺序排列。比如说,如果您想安装 Visual Studio IntelliCode 这个扩展(前面提到的),它的名称就是 `VisualStudioExptTeam.vscodeintellicode`。 +要从你的终端安装扩展程序,你需要知道扩展程序名称和发布者名称,再按照 `发布者名称.扩展程序名称` 的顺序找到它。比如说,如果你想安装 “Visual Studio IntelliCode” 这个扩展(前面提到的),它的名称就是 `VisualStudioExptTeam.vscodeintellicode`。 -要找出扩展用于标识的唯一名称(ID),首先要在您的浏览器中[访问 VSCode 市场][9]。 +要找出扩展用于标识的唯一名称(ID),首先要在你的浏览器中 [访问 VSCode 市场][9]。 ![VSCode 市场的截图][10] -然后搜索某个扩展,在本教程中,我将以安装 Visual Studio IntelliCode 这个扩展为例。下一步,打开您要安装的扩展程序的页面。 +然后搜索某个扩展,在本教程中,我将以安装 “Visual Studio IntelliCode” 这个扩展为例。下一步,打开你要安装的扩展程序的页面。 ![搜索Visual Studio IntelliCode并打开扩展网页][11] -打开扩展程序的网页后,您将看到一个代码块。下面的截图突出标示了扩展程序的 ID。 +打开扩展程序的网页后,你将看到一个代码块。下面的截图突出标示了扩展程序的 ID。 ![VSCode 扩展的 ID][12] -一旦你有了想要安装的扩展的 ID ——在这种情况下是 **VisualStudioExptTeam.vscodeintellicode**,你可以通过在终端中运行以下命令来继续。 +一旦你有了想要安装的扩展的 ID —— 在这种情况下是 `VisualStudioExptTeam.vscodeintellicode`,你可以通过在终端中运行以下命令来继续。 ``` code --install-extension VisualStudioExptTeam.vscodeintellicode ``` -与图形界面一样,命令行界面也允许您安装、禁用、删除和管理扩展。 +与图形界面一样,命令行界面也允许你安装、禁用、删除和管理扩展。 可以通过运行以下命令查看已安装的所有扩展的列表。 @@ -101,9 +100,9 @@ code --disable-extension <在这里输入扩展的ID> code --disable-extensions ``` -上述命令将禁用 **所有** 已安装的扩展。这将帮助您判断导致问题的是插件,还是 VSCode 本身。 +上述命令将禁用 **所有** 已安装的扩展。这将帮助你判断导致问题的是插件,还是 VSCode 本身。 -现在,如果您想完全删除任何某个扩展,请运行以下命令: +现在,如果你想完全删除任何某个扩展,请运行以下命令: ``` code --uninstall-extension <在这里输入扩展的ID> @@ -113,9 +112,9 @@ code --uninstall-extension <在这里输入扩展的ID> 我发现使用 VSCode 安装扩展要容易得多。毕竟,它直接在我编辑器左边的侧栏中。 -如果您对 VSCode 的修改感到满意,也许可以看看这篇文章,[VSCode 实用快捷键][13] 可能会帮助您提高工作效率! +一旦你对 VSCode 的操作得心应手,也许可以看看这篇文章,[VSCode 实用快捷键][13] 可能会帮助你提高工作效率! -写代码顺利,新朋友! :) +写代码顺利,新朋友! : ) -------------------------------------------------------------------------------- @@ -124,7 +123,7 @@ via: https://itsfoss.com/install-vs-code-extensions/ 作者:[Pratham Patel][a] 选题:[lujun9972][b] 译者:[泠知落汐](https://github.com/CoWave-Fall) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From baa88ffdc17d49362ed73d9a0e086890ef768ad0 Mon Sep 17 00:00:00 2001 From: Yufei-Yan Date: Sun, 2 Oct 2022 22:13:52 -0500 Subject: [PATCH 059/170] Finished translating. --- .../tech/20220902 Where is DevOps Headed-.md | 50 ------------------ .../tech/20220902 Where is DevOps Headed-.md | 51 +++++++++++++++++++ 2 files changed, 51 insertions(+), 50 deletions(-) delete mode 100644 sources/tech/20220902 Where is DevOps Headed-.md create mode 100644 translated/tech/20220902 Where is DevOps Headed-.md diff --git a/sources/tech/20220902 Where is DevOps Headed-.md b/sources/tech/20220902 Where is DevOps Headed-.md deleted file mode 100644 index 1008e0839d..0000000000 --- a/sources/tech/20220902 Where is DevOps Headed-.md +++ /dev/null @@ -1,50 +0,0 @@ -[#]: subject: "Where is DevOps Headed?" -[#]: via: "https://www.opensourceforu.com/2022/09/where-is-devops-headed/" -[#]: author: "Bhagvan Kommadi https://www.opensourceforu.com/author/bhagvan-kommadi/" -[#]: collector: "lkxed" -[#]: translator: "Yufei-Yan" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Where is DevOps Headed? -====== -*Microsoft, Google, Amazon, IBM, and Oracle are today focusing on DevOps on the cloud. IT automation is what these big companies are offering enterprises. However, DevOps is evolving continuously. DevSecOps, AIOps and NoOps are set to be the next buzzwords.* - -Agile methodology and DevOps have become popular as developers and managers see the business value in delivering good quality software in time. To have flexible release cycles and deliver software with scalable and customisable features is the goal of every enterprise in the world. DevOps has smoothened the release process with CI/CD tools and pipelines being deployed on to the cloud. Polyglot microservices architecture blended with DevOps is helping enterprises to cut down the total cost of ownership. They now have capabilities to upgrade their technology stack with progressive Web apps and the latest UI frameworks. Overall, teams are performing with better efficiency and quality software modules are being developed. - -### Autonomous DevOps - -Containers and DevOps go together with cloud native applications. Kubernetes and Docker are being used as containers and a new term called NoOps is trending now. Orchestration is an important feature of different containers. Container clusters are being created in developer environments to scale the application. There are new containers like Mesos, Swarm, Openshift Rancher and Nomad getting into the cloud native application space. NoOps helps in cutting down the coding cycles in order to monitor and manage the application. Defect fixing and hotfixes are different activities, which are part of NoOps. NoOps helps to improve the synergy between technical teams and business operations personnel. It helps in better monitoring, management, and process automation. NoOps infrastructure enables control of app deployment on the cloud. Enterprises derive benefits like better delivery, service resilience, faster time to market, good quality, and CI/CD automation. - -### DevSecOps - -DevSecOps is another popular trend related to the security concerns addressed during development operations. Recent issues related to vulnerabilities (log4j), security breaches (Google, Facebook, Microsoft), and security attacks have increased the importance of DevSecOps in enterprises. A shift left approach emphasises the importance of security and quality to be addressed earlier in the software life cycle. Privacy and compliances like GDPR need to be considered at the architectural phase itself. This helps in cutting down costs and improving the speed of the software delivery. Auditing tools and security checklists are part of the DevOps tools and systems, which we call DevSecOps now. - -### AIOps - -AI DevOps is now called AIOps. It is being predicted that AI applications will be managed by AIOps in future. Tools and software related to AIOps are being developed and available as first releases. AI/ML applications deployment and model updates can be handled by AIOps. This will play an important role in Industry 4.0 and data science. There is a school of thought that NoOps will be the end point for AIOps. AIOps consists of data set management, model training, model serving, metadata management, model updates, and service updates. Distributed training is enabled by AIOps, which gives the capabilities for hyper parameter optimisation, workflow management, and ‘what if’ analysis. - -### Microservices configuration management - -DevOps and microservices are being implemented as standard deployment and architectural blueprints these days. Apps can be scaled at the module level. Microservices help in simplifying the fixing of defects and isolating problem areas. Microservices by design can be scaled by adding more instances of computing power. But when they are not implemented correctly, issues related to data security and management crop up. - -### Platform as a Product - -Software as a Service and Platform as a Product are popular these days on the cloud. DevOps makes these a reality by accelerating the deployment and delivery of features to the platform. CI/CD pipelines help in visualising the app deployment, right from coding to live phases. Continuous delivery, integration and deployment are all part of DevOps. The future is about DevOps assembly lines simulating industry assembly lines. - -DevOps is slowly graduating to DevSecOps and AIOps. NoOps for enterprises is the future. The need of the hour is to cut down the occurrence of security related attacks, incidents, and breaches. Data security and privacy is a high priority for enterprises, and these new technologies will all help with that. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/where-is-devops-headed/ - -作者:[Bhagvan Kommadi][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/bhagvan-kommadi/ -[b]: https://github.com/lkxed diff --git a/translated/tech/20220902 Where is DevOps Headed-.md b/translated/tech/20220902 Where is DevOps Headed-.md new file mode 100644 index 0000000000..ddde2dcd63 --- /dev/null +++ b/translated/tech/20220902 Where is DevOps Headed-.md @@ -0,0 +1,51 @@ +[#]: subject: "Where is DevOps Headed?" +[#]: via: "https://www.opensourceforu.com/2022/09/where-is-devops-headed/" +[#]: author: "Bhagvan Kommadi https://www.opensourceforu.com/author/bhagvan-kommadi/" +[#]: collector: "lkxed" +[#]: translator: "Yufei-Yan" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +DevOps 将去向何方? +====== + +*今天,微软、谷歌、亚马逊、IBM 和甲骨文正在聚焦于云上的 DevOps。这些公司正在给企业提供 IT 自动化的服务。然而,DevOps 仍然在持续的演进中。DevSecOps、AIOps 和 NoOps 正在成为下一个流行词。* + +随着开发和管理人员看到及时交付高质量软件的商业价值,敏捷Agile方法和 DevOps 也变得流行起来。拥有灵活的发布周期,并且交付具有可扩展scalable可定制customizable的软件,是世界上每个企业的目标。通过将 CI/CD 工具和管道pipeline部署到云端,DevOps 使发布过程变得更加流畅。 + +### 自治的 DevOps + +容器和 DevOps 与云原生应用是一起的。Kubernetes 和 Docker 正在被用作容器,一个新的名词 NoOps 现在正在流行。对于不同的容器,编排Orchestration都是一个重要的功能。为了扩展应用,开发环境中要创建容器集群。有一些新的容器正在进入云原生应用这个领域,比如 Mesos、Swarm、Openshift Rancher 和 Nomad。NoOps 有助于减少编码周期,从而监控和管理应用程序。缺陷修复和热修复是不同的活动,它们都是 NoOps 的一部分。NoOps 有助于提高技术团队和业务运营人员之间的协同作用。它也有助于更好的监控,管理和过程自动化。NoOps 基础设施能够控制应用程序在云上的部署。企业从中获得的好处包括更好的交付,弹性的服务,更快的上市,良好的质量和 CI/CD 自动化。 + +### DevSecOps + +DevSecOps 算是另一个流行趋势,它与在开发操作中的安全问题有关。最近与漏洞vulnerabilities(log4j),安全泄露security breach(谷歌,脸书,微软),和安全攻击相关的问题增加了 DevSecOps 在企业中的重要性。左移shift left的方法强调了在软件生命周期的早期处理安全性和质量的重要性。在架构阶段就需要考虑隐私和遵从性compliances(如 GDPR)。这有助于降低成本,并且提升软件交付的速度。审计工具和安全检查列表是 DevOps 工具和系统的一部分,现在我们称为 DevSecOps。 + +### AIOps + +AI DevOps 现在被称为 AIOps。据预测,将来 AI 应用会由 AIOps 来管理。与 AIOps 相关的工具和软件正在开发中,并且会作为第一个版本提供。AI/ML 应用部署和模型更新可以由 AIOps 来处理。这个职位会在工业 4.0Industry 4.0 以及数据科学中扮演重要角色。有一种观点认为,NoOps 将会是 AIOps 的最终形态。AIOps 包括数据集管理、模型训练、模型服务、元数据管理、模型更新和服务更新。分布式训练将由 AIOps 来完成,这会提供超参数hyper parameter优化,工作流程管理和“what if”的分析能力。 + +### 微服务配置管理 + +当前,DevOps 和微服务正在成为部署和架构蓝图architectural blueprints的标准配置。应用可以在模块级别上就进行扩展。微服务在简化修改缺陷和隔离问题区域上提供帮助。经过设计,微服务可以通过添加更多计算能力computing power实例instances来进行扩展。但是当他们没有被正确实现的时候,数据安全和管理的问题就会突然出现。 + +### 平台即产品Platform as a Product + +云上的软件即服务Software as a Service平台即产品Platform as a Product最近非常流行。通过加速向平台部署和功能交付,DevOps 使这些变成现实。从编码到上线阶段,CI/CD 管道有助于可视化应用的部署。持续交付、集成和部署都是 DevOps 的一部分。DevOps 生产线模拟工业生产线是未来要关注的。 + +DevOps 正在慢慢地向 DevSecOps 和 AIOps 转变。对于企业,NoOps 才是未来。现在需要的是减少与安全相关的攻击、事故和破坏发生。对于企业来说,数据安全和隐私的优先级更高,并且这些新技术都将在这方面有所帮助。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/where-is-devops-headed/ + +作者:[Bhagvan Kommadi][a] +选题:[lkxed][b] +译者:[Yufei-Yan](https://github.com/Yufei-Yan) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/bhagvan-kommadi/ +[b]: https://github.com/lkxed From 04344be82236878badb1a0a633f84ba4382f2eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KevinZ=C3=B8nda?= <33132228+KevinZonda@users.noreply.github.com> Date: Mon, 3 Oct 2022 08:12:59 +0100 Subject: [PATCH 060/170] prep for apply --- ...ative Linux GPU Driver for Apple Silicon is Almost Ready!.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md b/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md index 1aa957ed49..1110ab464b 100644 --- a/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md +++ b/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/linux-gpu-driver-apple/" [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "KevinZonda" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f1be6381fa204bde3401b8666b02db7ad9e2b22c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 4 Oct 2022 09:50:44 +0800 Subject: [PATCH 061/170] RP @vvvbbbcz https://linux.cn/article-15102-1.html --- ... Your Linux Desktop Even More Beautiful.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) rename {translated/tech => published}/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md (81%) diff --git a/translated/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md b/published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md similarity index 81% rename from translated/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md rename to published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md index 17e8e41585..5f31bf6cb3 100644 --- a/translated/tech/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md +++ b/published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md @@ -3,9 +3,9 @@ [#]: author: "sreenath https://itsfoss.com/author/sreenath/" [#]: collector: "lkxed" [#]: translator: "vvvbbbcz" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15102-1.html" 11 个让你的 Linux 桌面更好看的 KDE Plasma 主题 ====== @@ -24,17 +24,17 @@ KDE Plasma 桌面的一个强大的特性就是它 [巨大的自定义潜力][1] 请注意,这不是主题的排行榜。也就是说,排在第三位的主题不一定比第七位或第八位更好。 -### 1. Sweet +### 1、Sweet Sweet 是目前最受欢迎的 KDE 主题之一。这个仅提供了深色模式的主题,可以为你的系统带来华丽的外观。 ![Sweet 主题][3] -它可以**通过 KDE 系统设置安装**。它还提供了配套的图标,叫做 Candy Icons,如果你通过 KDE 系统设置安装,这套图标将会被自动安装。 +它可以**通过 KDE 系统设置安装**。它还提供了配套的图标,叫做 “Candy Icons”,如果你通过 KDE 系统设置安装,这套图标将会被自动安装。 -[Sweet 主题][4] +> **[Sweet 主题][4]** -### 2. Materia KDE +### 2、Materia KDE Materia 是另一个被很多桌面用户喜欢的主题,拥有光洁和优雅的外观。它有三个版本:Materia、Materia Light 和 Materia Dark。 @@ -44,19 +44,19 @@ Materia Light 是一个纯白色的主题,Materia Dark 提供了一个完整 它也**可以通过 KDE 系统设置安装**。 -[Materia KDE][6] +> **[Materia KDE][6]** -### 3. Nordic +### 3、Nordic -Nordic 主题在深色主题爱好者中拥有一个独立的粉丝群体。它是围绕 Nord 色系创作的,看起来既舒服又优雅。 +Nordic 主题在深色主题爱好者中单独拥有一群粉丝。它是围绕 Nord 色系创作的,看起来既舒服又优雅。 ![Nordic KDE][7] -它与 Sweet 主题是 [同样的开发者][8],可以**通过 KDE 系统设置安装**。 +它与 Sweet 主题是 [同一个开发者][8],可以**通过 KDE 系统设置安装**。 -[Nordic][9] +> **[Nordic][9]** -### 4. WhiteSur +### 4、WhiteSur WhiteSur 是一个由 Vinceliuice 开发,面向 MacOS 主题爱好者的主题。它实现了与 MacOS 外观的高相似度,而且可以通过 KDE 面板、Latte Dock 等功能做到更高的相似度。 @@ -64,9 +64,9 @@ WhiteSur 是一个由 Vinceliuice 开发,面向 MacOS 主题爱好者的主题 它还提供了一套图标,使它看起来更具美感。这个受欢迎的主题还提供了深色和浅色两个版本。 -[WhiteSur][11] +> **[WhiteSur][11]** -### 5. Layan +### 5、Layan Layan 主题有浅色和深色两个版本。这是其中之一,它提供了圆角,看起来整洁而美观。 @@ -74,9 +74,9 @@ Layan 主题有浅色和深色两个版本。这是其中之一,它提供了 Layan 使用 Tela Circle 图标,**可以通过 KDE 系统设置安装**。 -[Layan][13] +> **[Layan][13]** -### 6. Qogir +### 6、Qogir 这个主题有浅色和深色两个版本,是一个极简的主题,让你的系统看起来整洁而炫酷。 @@ -84,9 +84,9 @@ Layan 使用 Tela Circle 图标,**可以通过 KDE 系统设置安装**。 它与 Budgie 桌面有相似的外观。你可以**从 KDE 系统设置**轻易地安装 Qogir 主题和它的配套图标。 -[Qogir][15] +> **[Qogir][15]** -### 7. Fluent Round +### 7、Fluent Round 如果你是 Windows 11 系统的粉丝,这个主题可以创造出 Windows 11 的外观和感觉。抛开这种相似性,Fluent 主题也是一个不错的主题,有浅色和深色两个版本。 @@ -94,19 +94,19 @@ Layan 使用 Tela Circle 图标,**可以通过 KDE 系统设置安装**。 它为你的系统提供了一个光洁的外观,同时还有一套配套的深色和浅色图标。 -[Fluent Round][17] +> **[Fluent Round][17]** -### 8. Orchis +### 8、Orchis Orchis 在 GNOME GTK 主题设计中相当流行,亦可用于 KDE。Orchis 有浅色和深色两种颜色。如果你**通过 KDE 系统设置安装**,Tela Icon 这套图标也会被安装,你可以随时从系统设置中更改。 ![Orchis KDE Theme][18] -和 GNOME 一样,这个以材料为灵感的主题提高了桌面的美观度。 +和 GNOME 一样,这个以 Material 风格为灵感的主题提高了桌面的美观度。 -[Orchis][19] +> [Orchis][19] -### 9. Iridescent Round +### 9、Iridescent Round 如果你是赛博朋克主题或未来主义主题的粉丝,这个主题将是一个不错的选择。它的默认壁纸**可以通过 KDE 系统设置安装**,这个壁纸看起来很有艺术感,给你的桌面增添了宅男的气息。 @@ -114,9 +114,9 @@ Orchis 在 GNOME GTK 主题设计中相当流行,亦可用于 KDE。Orchis 有 如果与一些炫酷的 Plasma 组件和图标一起使用,它可以创造一种别致的视觉享受。 -[Iridescent Round][21] +> **[Iridescent Round][21]** -### 10. Nova Papilio +### 10、Nova Papilio 这是一个圆润的,以紫色为主的浅色主题。如果你喜欢浅色主题和大圆角,这个主题将会为你带来视觉上的愉悦。 @@ -124,9 +124,9 @@ Orchis 在 GNOME GTK 主题设计中相当流行,亦可用于 KDE。Orchis 有 这个主题可以**从 KDE 系统设置安装**。 -[Nova Papilio][23] +> **[Nova Papilio][23]** -### 11. WinSur Dark +### 11、WinSur Dark 顾名思义,它有来自 Windows 和 MacOS 主题的某些视觉元素。 @@ -134,7 +134,7 @@ Orchis 在 GNOME GTK 主题设计中相当流行,亦可用于 KDE。Orchis 有 这个主题有浅色和深色版本,你可以**在 KDE 系统设置**中找到它。这个主题有圆角和光洁的外观。但根据我的个人体验,它可能会使小显示器上的显示略显拥挤。 -[WinSur Dark][25] +> **[WinSur Dark][25]** #### 值得提及的一些事情 @@ -148,7 +148,7 @@ Orchis 在 GNOME GTK 主题设计中相当流行,亦可用于 KDE。Orchis 有 #### 从设置安装主题 -这是最常见也是最简单的方法。打开 KDE 设置。选择“外观”,点击“全局主题”。然后,你可以通过点击如下图所示的按钮搜索主题。 +这是最常见也是最简单的方法。打开 KDE 设置Settings。选择“外观Appearance”,点击“全局主题Global Themes”。然后,你可以通过点击如下图所示的按钮搜索主题。 ![从 KDE 系统设置中下载新的全局主题][30] @@ -160,21 +160,21 @@ Orchis 在 GNOME GTK 主题设计中相当流行,亦可用于 KDE。Orchis 有 #### 从下载的主题文件中应用主题 -某些情况下,你可能在网上找到了一些你感兴趣但 KDE Store 中并不包含的主题。在这种情况下,你需要下载并提取文件。随后,将下载的主题的全局主题文件夹放在 `~/.local/share/plasma/look-and-feel/` 下,将 Plasma 主题文件夹放在 `~/.local/share/plasma/desktoptheme/` 下。 +某些情况下,你可能在网上找到了一些你感兴趣但 KDE 商店中并不包含的主题。在这种情况下,你需要下载并提取文件。随后,将下载的主题的全局主题文件夹放在 `~/.local/share/plasma/look-and-feel/` 下,将 Plasma 主题文件夹放在 `~/.local/share/plasma/desktoptheme/` 下。 ![在文件管理器中的 KDE Plasma 主题文件夹][32] -现在,打开设置,你将看到你安装的主题已经可以在“外观”中找到。 +现在,打开设置,你将看到你安装的主题已经可以在“外观Appearance”中找到。 #### 通过软件包管理器安装主题 -这种方法具有局限性。有一些主题,它们有进入你使用的发行版的官方仓库。你可以通过你的软件包管理器搜索并安装它们。例如,你可以在 Ubuntu 下通过运行以下命令安装 Materia-KDE 主题: +采用这种方法的不多。有一些主题,它们出现在你使用的发行版的官方仓库中。你可以通过你的软件包管理器搜索并安装它们。例如,你可以在 Ubuntu 下通过运行以下命令安装 Materia-KDE 主题: ``` sudo apt install materia-kde ``` -如上文所述,这种方法只能安装有限数量的主题,而且随发行版的不同而不同。**在安装后,你可以在 系统设置 > 外观 中更改主题**。 +如上文所述,这种方法只能安装有限的几个主题,而且随发行版的不同而不同。在安装后,你可以在 系统设置System Settings > 外观Appearance 中更改主题。 ### 结语 @@ -189,7 +189,7 @@ via: https://itsfoss.com/best-kde-plasma-themes/ 作者:[sreenath][a] 选题:[lkxed][b] 译者:[自由的铁矿](https://github.com/vvvbbbcz) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From fd27c5be3133ab02387c460a2448000cfda5084f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 4 Oct 2022 09:56:29 +0800 Subject: [PATCH 062/170] R --- ...sma Themes to Make Your Linux Desktop Even More Beautiful.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md b/published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md index 5f31bf6cb3..531ae437f8 100644 --- a/published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md +++ b/published/20220923 11 Gorgeous KDE Plasma Themes to Make Your Linux Desktop Even More Beautiful.md @@ -104,7 +104,7 @@ Orchis 在 GNOME GTK 主题设计中相当流行,亦可用于 KDE。Orchis 有 和 GNOME 一样,这个以 Material 风格为灵感的主题提高了桌面的美观度。 -> [Orchis][19] +> **[Orchis][19]** ### 9、Iridescent Round From 01ff2690f16e0fdb0435e2f2cf98a4406a20d65a Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 4 Oct 2022 10:20:48 +0800 Subject: [PATCH 063/170] RP @geekpi https://linux.cn/article-15103-1.html --- ...220923 Install JDBC on Linux in 3 steps.md | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) rename {translated/tech => published}/20220923 Install JDBC on Linux in 3 steps.md (69%) diff --git a/translated/tech/20220923 Install JDBC on Linux in 3 steps.md b/published/20220923 Install JDBC on Linux in 3 steps.md similarity index 69% rename from translated/tech/20220923 Install JDBC on Linux in 3 steps.md rename to published/20220923 Install JDBC on Linux in 3 steps.md index fa48e54b82..e791b7fcb5 100644 --- a/translated/tech/20220923 Install JDBC on Linux in 3 steps.md +++ b/published/20220923 Install JDBC on Linux in 3 steps.md @@ -3,31 +3,29 @@ [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15103-1.html" -分 3 步在 Linux 上安装 JDBC +3 步在 Linux 上安装 JDBC ====== -安装 Java,使用 Maven 安装 JDBC,并安装数据库。然后,你就可以在 Java 代码中与数据库进行交互了。 -![What is your favorite open source Java IDE?][1] +> 安装 Java,使用 Maven 安装 JDBC,并安装数据库。然后,你就可以在 Java 代码中与数据库进行交互了。 -图片来源:Pixabay. CC0. +![](https://img.linux.net.cn/data/attachment/album/202210/04/101923dpc8nnzsz5xxpn1x.jpg) -当你编写一个应用时,需要数据存储是很常见的。有时你要存储你的应用需要的资产,其他时候你要存储用户数据,包括偏好和保存数据。存储数据的一种方式是在数据库中,为了在你的代码和数据库之间进行通信,你需要为你的语言提供一个数据库绑定或连接器。对于 Java 来说,一个常见的数据库连接器是 JDBC(Java 数据库连接)。 +当你编写一个应用时,需要数据存储是很常见的。有时你要存储你的应用需要的素材数据,其他时候你要存储用户数据,包括偏好和保存的数据。存储数据的一种方式是在数据库中,为了在你的代码和数据库之间进行通信,你需要为你的语言提供一个数据库绑定或连接器。对于 Java 来说,一个常见的数据库连接器是 JDBC(Java 数据库连接Java database connectivity)。 -### 1. 安装 Java +### 1、安装 Java -当然,要使用 Java 进行开发,你还必须安装 Java。我推荐 [SDKman][2] 用于 Linux、macOS 和 WSL 或 Cygwin。对于 Windows,你可以从 [developers.redhat.com][3] 下载 OpenJDK。 +当然,要使用 Java 进行开发,你还必须安装 Java。对于 Linux、macOS 和 WSL 或 Cygwin,我推荐 [SDKman][2]。对于 Windows,你可以从 [developers.redhat.com][3] 下载 OpenJDK。 -### 2. 使用 Maven 安装 JDBC +### 2、使用 Maven 安装 JDBC JDBC 是一种 API,通过语句 `import java.sql.*` 导入到你的代码中,但要使其有用,你必须安装数据库驱动和数据库以与之交互。你使用的数据库驱动和要通信的数据库必须匹配:要与 MySQL 交互,你需要 MySQL 驱动,要与 SQLite3 交互,你必须具有 SQLite3 驱动等等。 在本文中,我使用 [PostgreSQL][4],但所有主流数据库,包括 [MariaDB][5] 和 [SQLite3][6],都有 JDBC 驱动程序。 -You can download JDBC for PostgreSQL from [jdbc.postgresql.org][7]. I use [Maven][8] to manage Java dependencies, so I include it in `pom.xml` (adjusting the version number for what's current on [Maven Central][9]): 你可以从 [jdbc.postgresql.org][7] 下载 JDBC for PostgreSQL。我使用 [Maven][8] 来管理 Java 依赖项,因此我将它包含在 `pom.xml` 中(调整 [Maven Central][9] 上的当前版本号): ``` @@ -38,9 +36,9 @@ You can download JDBC for PostgreSQL from [jdbc.postgresql.org][7]. I use [Maven ``` -### 3. 安装数据库 +### 3、安装数据库 -你必须安装要通过 JDBC 连接的数据库。有几个非常好的开源数据库,但是我不得不为这篇文章选择一个,所以我选择了 PostgreSQL。 +你必须安装要通过 JDBC 连接的数据库。有几个非常好的开源数据库,但是我只能为这篇文章选择一个,所以我选择了 PostgreSQL。 要在 Linux 上安装 PostgreSQL,请使用你的软件仓库。在 Fedora、CentOS、Mageia 和类似设备上: @@ -71,7 +69,7 @@ via: https://opensource.com/article/22/9/install-jdbc-linux 作者:[Seth Kenlon][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 9d3368ee0a0dd9a3f3328a392113ae8aeac44511 Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Mon, 3 Oct 2022 23:10:07 -0400 Subject: [PATCH 064/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7]?= =?UTF-8?q?=20[news]=2020220930=20[Exclusive]=20Tuxedo=20Makes=20Ubuntu-ba?= =?UTF-8?q?sed=20-TUXEDO=20OS-=20Available=20For=20All.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md b/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md index aee3806da1..b89fb3b2fb 100644 --- a/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md +++ b/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/tuxedo-os/" [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Cubik65536" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 7d64e2f49ee50e52d85177b92f3f43a5baee828e Mon Sep 17 00:00:00 2001 From: Donkey Date: Tue, 4 Oct 2022 14:30:50 +0800 Subject: [PATCH 065/170] Update and rename sources/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md to translated/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md --- ...nt Command Arguments With Sudo In Linux.md | 106 ----------------- ...nt Command Arguments With Sudo In Linux.md | 108 ++++++++++++++++++ 2 files changed, 108 insertions(+), 106 deletions(-) delete mode 100644 sources/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md create mode 100644 translated/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md diff --git a/sources/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md b/sources/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md deleted file mode 100644 index cb117e7fc5..0000000000 --- a/sources/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md +++ /dev/null @@ -1,106 +0,0 @@ -[#]: subject: "How To Prevent Command Arguments With Sudo In Linux" -[#]: via: "https://ostechnix.com/prevent-command-arguments-with-sudo/" -[#]: author: "sk https://ostechnix.com/author/sk/" -[#]: collector: "lkxed" -[#]: translator: "Donkey-Hao" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How To Prevent Command Arguments With Sudo In Linux -====== -Allow an user to run commands with sudo, but without command arguments. - -In the previous article, we learned how to **[run commands in a directory as root via sudo][1]**. In this guide, we will see how to **prevent command arguments with sudo** in Linux. Meaning - we allow an user to run commands with sudo, but **without command arguments**. - -#### Contents - -1. Introduction -2. Prevent Command Arguments With Sudo -3. Prohibit Command Arguments With Sudo For All Users -4. Conclusion - -### Introduction - -As you know already, each command has different options to perform a specific action. Let us take **"ls"** command as an example. - -The `ls` command is used to list directory contents, right? Yes. The ls command ships with many command-line options and flags. For instance, you can use `-a` flag with `ls` command to list all contents(i.e. including the hidden files) in a directory. - -In this brief tutorial, we will see how to allow an user to run `ls` command via sudo, but only without the command line options or flags. Understood? Let me show you how to do it in the following sections. - -### Prevent Command Arguments With Sudo - -Edit `/etc/sudoers` file as `root` user: - -``` -[root@Almalinux8CT ~]# visudo -``` - -Add the following line: - -``` -user1 ALL=(root) /usr/bin/ls "" -``` - -![Deny Command Arguments With Sudo][2] - -**Notice the double quotes** at the end of the `ls` command in the above line. The double quotes prohibit the user from using the arguments of the given command (i.e. `ls` command). As per the above line, the user1 can run the `ls` command as `root`, but can't use the `ls` command's options/flags. You can use some other command of your choice. Save the file and close it. - -Now, log out from the root session and login as user1 and try to run `ls` command with any options as root via sudo from user1 session: - -``` -[user1@Almalinux8CT ~]$ sudo -u root ls -a -``` - -You will encounter with the following error: - -``` -Sorry, user user1 is not allowed to execute '/bin/ls -a' as root on Almalinux8CT. -``` - -You can, however, run `ls` command without its arguments: - -``` -[user1@Almalinux8CT ~]$ sudo -u root ls -``` - -![Prevent Command Arguments With Sudo][3] - -### Prohibit Command Arguments With Sudo For All Users - -The above example showed you how to deny an user to execute a command with its arguments as `root` user. What if you want to apply this rule to all users? Simple! Just add the following line in the `/etc/sudoers` file: - -``` -ALL ALL=(root) /usr/bin/ls "" -``` - -Now all users in your Linux machine can't run `ls` command with its flags. - -To revert back to the default setting, just remove the command along with the double quotes. Or, remove the whole line. - -For more details, refer the man pages. - -``` -$ man sudoers -``` - -### Conclusion - -In this guide, we learned how to allow an user to run a command using sudo, but prevent them from adding any arguments to the command. This way we can restrict the users from misusing any commandline arguments. - --------------------------------------------------------------------------------- - -via: https://ostechnix.com/prevent-command-arguments-with-sudo/ - -作者:[sk][a] -选题:[lkxed][b] -译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://ostechnix.com/author/sk/ -[b]: https://github.com/lkxed -[1]: https://ostechnix.com/run-programs-in-a-directory-via-sudo/ -[2]: https://ostechnix.com/wp-content/uploads/2022/09/Deny-Command-Arguments-With-Sudo.png -[3]: https://ostechnix.com/wp-content/uploads/2022/09/Prevent-Command-Arguments-With-Sudo.png diff --git a/translated/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md b/translated/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md new file mode 100644 index 0000000000..6d030f52de --- /dev/null +++ b/translated/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md @@ -0,0 +1,108 @@ +[#]: subject: "How To Prevent Command Arguments With Sudo In Linux" +[#]: via: "https://ostechnix.com/prevent-command-arguments-with-sudo/" +[#]: author: "sk https://ostechnix.com/author/sk/" +[#]: collector: "lkxed" +[#]: translator: "Donkey-Hao" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + + +如何在 Linux 命令行中避免使用 Sudo 参数 +====== +允许用户运行命令,但不带 `sudo` 命令参数。 + +在之前的文章,我们学习了如何 **[通过 sudo 以 root 身份运行目录中的命令][1]**。在这篇指南中,我们将明白如何在 Linux 中 **避免使用 Sudo 参数**。即我们允许一个用户运行特权级命令,但是 **不带 sudo 参数**。 + +#### 目录 + +1. 背景介绍 +2. 避免使用 sudo 参数 +3. 避免所有用户使用 sudo 参数 +4. 总结 + +### 背景介绍 + +你已经知道了,每个命令执行一个特定操作有不同的选项。让我们以 **"ls"** 命令为例。 + +`ls` 命令会罗列文件夹中的内容,对吗?没错。`ls` 命令附带了一些命令行选项和标志。例如,你可以用 `ls` 命令的 `-a` 标志罗列文件夹中的所有内容(包括隐藏文件)。 + +在这份简要指南中,我们将明白如何允许用户通过 `sudo` 运行 `ls` 命令,但是不使用命令行选项或者标志。我讲清楚了吗?接下来让我来展示一下如何做到这点。 + +### 避免使用 sudo 参数 + +以 `root` 用户身份编辑 `/etc/sudoers` 文件: + +``` +[root@Almalinux8CT ~]# visudo +``` + +添加下面一行: + +``` +user1 ALL=(root) /usr/bin/ls "" +``` + +![Deny Command Arguments With Sudo][2] + +要注意这里 `ls` 之后的 **双引号**。双引号会屏蔽用户在给定命令之后输入的参数(比如 `ls` 命令)。在上面的命令中,“用户 1 ”能够以 `root` 身份运行 `ls` 命令,但是不能使用 `ls` 命令的选项以及标志。你可以选择其他的指令进行尝试。保存该文件并关闭。 + +现在,以“用户 1 ”的身份登陆系统,并尝试以管理员身份运行 `ls` 命令,不要添加任何选项: + +``` +[user1@Almalinux8CT ~]$ sudo -u root ls -a +``` + +或许你会遇到下面的报错: + +``` +Sorry, user user1 is not allowed to execute '/bin/ls -a' as root on Almalinux8CT. +``` + +不过你可以不添加参数来运行 `ls` 命令: + +``` +[user1@Almalinux8CT ~]$ sudo -u root ls +``` + +![Prevent Command Arguments With Sudo][3] + +### 防止所有用户使用命令参数 + +上述例子像你展示了如何阻止用户以管理员身份运行带有参数的命令。你是否想要对所有用户应用该规则呢?很简单!只需要在 `/etc/sudoers` 文件中添加一行: + + +``` +ALL ALL=(root) /usr/bin/ls "" +``` + +现在,系统中的所有用户都可以运行不带参数的 `ls` 命令。 + +想要恢复默认设置,只需要删除最后的双引号,或者删除整行。 + +查看帮助手册,了解更多。 + +``` +$ man sudoers +``` + +### 结论 + +在这份指南中,我们学习了如何允许用户以管理员身份运行命令,但是不能添加任何指令参数。这样可以限制用户误用一些命令行参数。 + +-------------------------------------------------------------------------------- + +via: https://ostechnix.com/prevent-command-arguments-with-sudo/ + +作者:[sk][a] +选题:[lkxed][b] +译者:[Donkey-Hao](https://github.com/Donkey-Hao) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://ostechnix.com/author/sk/ +[b]: https://github.com/lkxed +[1]: https://ostechnix.com/run-programs-in-a-directory-via-sudo/ +[2]: https://ostechnix.com/wp-content/uploads/2022/09/Deny-Command-Arguments-With-Sudo.png +[3]: https://ostechnix.com/wp-content/uploads/2022/09/Prevent-Command-Arguments-With-Sudo.png From 63c11da1a45ddc692f2dc811c82b5a42c0804a1e Mon Sep 17 00:00:00 2001 From: cool-summer-021 Date: Tue, 4 Oct 2022 17:36:24 +0800 Subject: [PATCH 066/170] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... started with Java serverless functions.md | 209 ------------------ ... started with Java serverless functions.md | 209 ++++++++++++++++++ 2 files changed, 209 insertions(+), 209 deletions(-) delete mode 100644 sources/tech/20210601 Get started with Java serverless functions.md create mode 100644 translated/tech/20210601 Get started with Java serverless functions.md diff --git a/sources/tech/20210601 Get started with Java serverless functions.md b/sources/tech/20210601 Get started with Java serverless functions.md deleted file mode 100644 index 85c0ce6d54..0000000000 --- a/sources/tech/20210601 Get started with Java serverless functions.md +++ /dev/null @@ -1,209 +0,0 @@ -[#]: subject: "Get started with Java serverless functions" -[#]: via: "https://opensource.com/article/21/6/java-serverless-functions" -[#]: author: "Daniel Oh https://opensource.com/users/daniel-oh" -[#]: collector: "lkxed" -[#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Get started with Java serverless functions -====== -Quarkus allows you to develop serverless workloads with familiar Java technology. - -![Tips and gears turning][1] - -Image by: opensource.com - -The [serverless Java][2] journey started out with functions—small snippets of code running on demand. This phase didn't last long. Although functions based on virtual machine architecture in the 1.0 phase made this paradigm very popular, as the graphic below shows, there were limits around execution time, protocols, and poor local-development experience. - -Developers then realized that they could apply the same serverless traits and benefits to microservices and Linux containers. This launched the 1.5 phase, where some serverless containers completely abstracted [Kubernetes][3], delivering the serverless experience through [Knative][4] or another abstraction layer that sits on top of it. - -In the 2.0 phase, serverless starts to handle more complex orchestration and integration patterns combined with some level of state management. More importantly, developers want to keep using a familiar application runtime, Java, to run a combination of serverless and non-serverless workloads in legacy systems. - -![The serverless Java journey][5] - -Before Java developers can start developing new serverless functions, their first task is to choose a new cloud-native Java framework that allows them to run Java functions quicker with a smaller memory footprint than traditional monolithic applications. This can be applied to various infrastructure environments, from physical servers to virtual machines to containers in multi- and hybrid-cloud environments. - -Developers might consider an opinionated Spring framework that uses the `java.util.function` package in [Spring Cloud Function][6] to support the development of imperative and reactive functions. Spring also enables developers to deploy Java functions to installable serverless platforms such as [Kubeless][7], [Apache OpenWhisk][8], [Fission][9], and [Project Riff][10]. However, there are concerns about slow startup and response times and heavy memory-consuming processes with Spring. This problem can be worse when running Java functions on scalable container environments such as Kubernetes. - -[Quarkus][11] is a new open source cloud-native Java framework that can help solve these problems. It aims to design serverless applications and write cloud-native microservices for running on cloud infrastructures (e.g., Kubernetes). - -Quarkus rethinks Java, using a closed-world approach to building and running it. It has turned Java into a runtime that's comparable to Go. Quarkus also includes more than 100 extensions that integrate enterprise capabilities, including database access, serverless integration, messaging, security, observability, and business automation. - -Here is a quick example of how developers can scaffold a Java serverless function project with Quarkus. - -### 1. Create a Quarkus serverless Maven project - -Developers have multiple options to install a local Kubernetes cluster, including [Minikube][12] and [OKD][13] (OpenShift Kubernetes Distribution). This tutorial uses an OKD cluster for a developer's local environment because of the easy setup of serverless functionality on Knative and DevOps toolings. These guides for [OKD installation][14] and [Knative operator installation][15] offer more information about setting them up. - -The following command generates a Quarkus project (e.g., `quarkus-serverless-restapi` ) to expose a simple REST API and download a `quarkus-openshift` extension for Knative service deployment: - -``` -$ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \ -       -DprojectGroupId=org.acme \ -       -DprojectArtifactId=quarkus-serverless-restapi \ -       -Dextensions="openshift" \ -       -DclassName="org.acme.getting.started.GreetingResource" -``` - -### 2. Run serverless functions locally - -Run the application using Quarkus development mode to check if the REST API works, then tweak the code a bit: - -``` -$ ./mvnw quarkus:dev -``` - -The output will look like this: - -``` -__  ____  __  _____   ___  __ ____  ______ - --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ - -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   ---\___\_\____/_/ |_/_/|_/_/|_|\____/___/   -INFO  [io.quarkus] (Quarkus Main Thread) quarkus-serverless-restapi 1.0.0-SNAPSHOT on JVM (powered by Quarkus xx.xx.xx.) started in 2.386s. Listening on: http://localhost:8080 -INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated. -INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, kubernetes, resteasy] -``` - -> **Note**: Keep your Quarkus application running to use Live Coding. This allows you to avoid having to rebuild, redeploy the application, and restart the runtime whenever the code changes. - -Now you can hit the REST API with a quick `curl` command. The output should be `Hello RESTEasy` : - -``` -$ curl localhost:8080/hello -Hello RESTEasy -``` - -Tweak the return text in `GreetingResource.java` : - -``` -public String hello() { -        return "Quarkus Function on Kubernetes"; -    } -``` - -You will see new output when you reinvoke the REST API: - -``` -$ curl localhost:8080/hello -Quarkus Function on Kubernetes -``` - -There's not been a big difference between normal microservices and serverless functions. A benefit of Quarkus is that it enables developers to use any microservice to deploy Kubernetes as a serverless function. - -### 3. Deploy the functions to a Knative service - -If you haven't already, [create a namespace][16] (e.g., `quarkus-serverless-restapi` ) on your OKD (Kubernetes) cluster to deploy this Java serverless function. - -Quarkus enables developers to generate Knative and Kubernetes resources by adding the following variables in `src/main/resources/application.properties` : - -``` -quarkus.container-image.group=quarkus-serverless-restapi <1> -quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 <2> -quarkus.kubernetes-client.trust-certs=true <3> -quarkus.kubernetes.deployment-target=knative <4> -quarkus.kubernetes.deploy=true <5> -quarkus.openshift.build-strategy=docker <6> -``` - -> Legend: - -> <1> Define a project name where you deploy a serverless application -<2> The container registry to use -<3> Use self-signed certs in this simple example to trust them -<4> Enable the generation of Knative resources -<5> Instruct the extension to deploy to OpenShift after the container image is built -<6> Set the Docker build strategy - -This command builds the application then deploys it directly to the OKD cluster: - -``` -$ ./mvnw clean package -DskipTests -``` - -> **Note:** Make sure to log in to the right project (e.g., `quarkus-serverless-restapi` ) by using the `oc login` command ahead of time. - -The output should end with `BUILD SUCCESS`. - -Add a Quarkus label to the Knative service with this `oc` command: - -``` -$ oc label rev/quarkus-serverless-restapi-00001 -app.openshift.io/runtime=quarkus --overwrite -``` - -Then access the OKD web console to go to the [Topology view in the Developer perspective][17]. You might see that your pod (serverless function) is already scaled down to zero (white-line circle). - -![Topology view][18] - -### 4. Test the functions on Kubernetes - -Retrieve a route `URL` of the serverless function by running the following `oc` command: - -``` -$ oc get rt/quarkus-serverless-restapi -[...] -NAME                      URL                             READY   REASON -quarkus-serverless[...]   http://quarkus[...].SUBDOMAIN   True -``` - -Access the route `URL` with a `curl` command: - -``` -$ curl http://quarkus-serverless-restapi-quarkus-serverless-restapi.SUBDOMAIN/hello -``` - -In a few seconds, you will get the same result as you got locally: - -``` -Quarkus Function on Kubernetes -``` - -When you return to the Topology view in the OKD cluster, the Knative service scales up automatically. - -![Scaling the Knative Function][19] - -This Knative service pod will go down to zero again in 30 seconds because of Knative serving's default setting. - -### What's next? - -The serverless journey has evolved, starting with functions on virtual machines to serverless containers and integration with enterprise legacy systems. Along this journey, enterprise developers can still use familiar technologies like Java for developing serverless functions by using Quarkus to create a project then build and deploy it to Kubernetes with a Knative service. - -The next article in this series will guide you on optimizing Java serverless functions in Kubernetes for faster startup time and small memory footprints at scale. - -Image by: (Daniel Oh, CC BY-SA 4.0) - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/6/java-serverless-functions - -作者:[Daniel Oh][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/daniel-oh -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/gears_devops_learn_troubleshooting_lightbulb_tips_520.png -[2]: https://opensource.com/article/21/5/what-serverless-java -[3]: https://opensource.com/article/19/6/reasons-kubernetes -[4]: https://cloud.google.com/knative/ -[5]: https://opensource.com/sites/default/files/uploads/serverless-journey.png -[6]: https://spring.io/serverless -[7]: https://kubeless.io/ -[8]: https://openwhisk.apache.org/ -[9]: https://fission.io/ -[10]: https://projectriff.io/ -[11]: https://quarkus.io/ -[12]: https://minikube.sigs.k8s.io/docs/start/ -[13]: https://docs.okd.io/latest/welcome/index.html -[14]: https://docs.okd.io/latest/installing/index.html -[15]: https://knative.dev/docs/install/knative-with-operators/ -[16]: https://docs.okd.io/latest/applications/projects/configuring-project-creation.html -[17]: https://docs.okd.io/latest/applications/application_life_cycle_management/odc-viewing-application-composition-using-topology-view.html -[18]: https://opensource.com/sites/default/files/uploads/topologyview.png -[19]: https://opensource.com/sites/default/files/uploads/scale-up-knative-function.png diff --git a/translated/tech/20210601 Get started with Java serverless functions.md b/translated/tech/20210601 Get started with Java serverless functions.md new file mode 100644 index 0000000000..4994f2ee44 --- /dev/null +++ b/translated/tech/20210601 Get started with Java serverless functions.md @@ -0,0 +1,209 @@ +[#]: subject: "Get started with Java serverless functions" +[#]: via: "https://opensource.com/article/21/6/java-serverless-functions" +[#]: author: "Daniel Oh https://opensource.com/users/daniel-oh" +[#]: collector: "lkxed" +[#]: translator: "cool-summer-021" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Java Serverless 入门 +====== +Quarkus令你可以使用相似的Java 技术开发无服务器的工作负载 + +![Tips and gears turning][1] + +图片来源: opensource.com + +对[无服务器 Java][2] 的研究始于函数——就是按需求运行一小段代码。这一阶段不会持续很长时间。虽然在 1.0 阶段,基于虚拟机架构的函数使这种范式变得很流行, 但它仍然有局限性,例如执行时间、协议和本地开发体验,都不太理想,如下图所示。 + +开发者意识到,可以把同样的无服务器特性应用于微服务和 Linux 容器,带来的好处也是一样的。由此进入 1.5 阶段,在这个阶段,一些 Serverless 容器完全抽象了 [Kubernetes][3],通过 [Knative][4] 或位于它之上的另一个抽象层来实现无服务器的体验。 + +在 2.0 阶段,Serverless 开始处理更复杂的调度任务和集成模式,并结合某些层级的状态管理。更重要的是,开发者关注的是能否在旧的系统种使用熟悉的 Java 应用程序运行时来运行若干个无服务器和有服务器的工作负载。 + +![The serverless Java journey][5] + +Java 开发者开始进行 Serverless 功能开发之前,第一步是要选择一种新的云原生 Java 框架,从而能够以快于传统应用程序的速度和较小的内存占用运行程序。这在各种基础设施环境中,包括物理服务器、虚拟机、多云或混合云环境中的容器,都是适用的。 + +开发者也有可能固执地选择 Spring 框架中的 [Spring Cloud Function][6] 来进行命令式和反应式函数的开发。Spring 也支持将 Java 函数部署到可安装的 Serverless 平台,比如 [Kubeless][7], [Apache OpenWhisk][8], [Fission][9] 和 [Project Riff][10]。然而,人们也关心 Spring 的启动慢、响应时间长以及内存占用大的问题。在诸如 Kubernetes 这种可伸缩的容器环境中运行 Java 函数,这些问题可能会更严重。 + +[Quarkus][11] 是一个新推出的开源云原生 Java 框架,它有助于解决这些问题。它的作用是设计 Serverless 应用程序,以及编写运行于云基础设施(例如 Kubernetes)的云原生微服务。 + +Quarkus 重新审视了 Java,它使用了封闭的方法构建和运行 Java 程序。它把 Java 转变为一种可与 Go 相媲美的运行时。Quarkus 也包含 100 多种扩展功能,例如数据库访问、Serverless、消息、安全、可观察性和业务自动化,可以整合企业系统的各种业务功能。 + +这里有一个简单例子,展现如何使用 Quarkus 创建一个 Java Serverless 项目。 + +### 1. 基于 Maven 创建一个 Quarkus Serverless 项目 + +安装一个本地 Kubernetes 集群,开发者有多个选项,包括 [Minikube][12] 和 [OKD][13]。由于使用 OKD,在 Knative 和 DevOps 工具上安装 Serverless 相关功能较方便,本文使用 OKD 安装集群。[OKD 安装][14]和 [Knative 安装][15]的相关指南中提供了更多与安装有关的资料。 + +下面的命令创建了一个 Quarkus 项目(例如 `quarkus-serverless-restapi`),对外暴露一个简单的 REST API,并下载 `quarkus-openshift` 扩展,用于 Knative 服务的部署: + +``` +$ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \ +       -DprojectGroupId=org.acme \ +       -DprojectArtifactId=quarkus-serverless-restapi \ +       -Dextensions="openshift" \ +       -DclassName="org.acme.getting.started.GreetingResource" +``` + +### 2. 在本地运行 Serverless 功能 + +使用 Quarkus 开发模式运行程序,检查 REST API 是否有效,稍稍调整一下代码: + +``` +$ ./mvnw quarkus:dev +``` + +输出如下内容: + +``` +__  ____  __  _____   ___  __ ____  ______ + --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ + -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   +--\___\_\____/_/ |_/_/|_/_/|_|\____/___/   +INFO  [io.quarkus] (Quarkus Main Thread) quarkus-serverless-restapi 1.0.0-SNAPSHOT on JVM (powered by Quarkus xx.xx.xx.) started in 2.386s. Listening on: http://localhost:8080 +INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated. +INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, kubernetes, resteasy] +``` + +> **注意**: 保持 Quarkus 应用程序运行,需要使用热部署。这样,当代码修改后,你就不必重新构建、重新部署以及重启运行时。 + +现在,您可以使用一个 `curl` 命令快速访问 REST API。输出结果应当是 `Hello RESTEasy`: + +``` +$ curl localhost:8080/hello +Hello RESTEasy +``` + +在 `GreetingResource.java` 中修改返回值: + +``` +public String hello() { +        return "Quarkus Function on Kubernetes"; +    } +``` + +再次访问 REST API,输出信息也会相应更新: + +``` +$ curl localhost:8080/hello +Quarkus Function on Kubernetes +``` + +普通的微服务跟 Serverless 功能之间的差别并不大。使用 Quarkus 的好处在于:开发者可以使用任何微服务,将 Kubernetes 部署为 Serverless 功能。 + +### 3. 在 Knative 服务中部署相关的功能 + +如果你还没有创建命名空间,就在你的 OKD 集群上[创建命名空间][16](例如 `quarkus-serverless-restapi`),用来部署 Java Serverless 功能。 + +Quarkus 令开发者可以通过在 `src/main/resources/application.properties` 中添加以下变量,创建 Knative 和 Kubernetes 资源: + +``` +quarkus.container-image.group=quarkus-serverless-restapi <1> +quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 <2> +quarkus.kubernetes-client.trust-certs=true <3> +quarkus.kubernetes.deployment-target=knative <4> +quarkus.kubernetes.deploy=true <5> +quarkus.openshift.build-strategy=docker <6> +``` + +> 说明: + +> <1> 在你部署 Serverless 应用程序的位置定义项目名 +<2> 使用容器注册表 +<3> 在这个简单例子中,使用自签名证书,以便通过相关信任机制 +<4> 允许创建 Knative 资源 +<5> 指示在构建容器映像之后将扩展部署到 OpenShift +<6> 设置 Docker 构建策略 + +执行以下命令,构建应用程序,并直接部署到 OKD 集群: + +``` +$ ./mvnw clean package -DskipTests +``` + +> **注意:** 应该提前使用 `oc login` 命令,确保登录到正确的项目(例如`quarkus-serverless-restapi`)。 + +输出结果应该以 `BUILD SUCCESS` 结束。 + +在对于 Knative 服务执行的 `oc` 命令中,加上 label: + +``` +$ oc label rev/quarkus-serverless-restapi-00001 +app.openshift.io/runtime=quarkus --overwrite +``` + +然后访问 OKD 网页控制台,就能进入[开发人员透视图中的拓扑视图][17]。您可能会看到您的pod(无服务器功能)已经缩小为零(白线圈)。 + +![Topology view][18] + +### 4. 在 Kubernetes 环境下测试功能 + +运行如下 `oc` 命令,搜索含有 Serverless 功能的路由: + +``` +$ oc get rt/quarkus-serverless-restapi +[...] +NAME                      URL                             READY   REASON +quarkus-serverless[...]   http://quarkus[...].SUBDOMAIN   True +``` + +使用 `curl` 命令访问搜索到的路由: + +``` +$ curl http://quarkus-serverless-restapi-quarkus-serverless-restapi.SUBDOMAIN/hello +``` + +过几秒钟,你可以得到跟在本地相同的结果: + +``` +Quarkus Function on Kubernetes +``` + +当你回到 OKD 集群内的拓扑图,Knative 服务会自动扩展。 + +![Scaling the Knative Function][19] + +由于 Knative 服务的默认设置,其 pod 在 30 秒后会再次下降至零。 + +### 下一步呢? + +Serverless 不断地在演变,始于运行于虚拟机的功能函数,到后来的 Serverless 容器,现在可以将其与企业原有系统集成。 在此过程中,企业开发者借助 Quarkus,仍然可以使用自己熟悉的技术(比如 Java)创建一个项目,然后构建并部署到 Kubernetes。 + +本系列的下一篇文章将指导你在 Kubernetes中优化 Java Serverless 程序,从而令程序启动更快,内存占用更小。 + +Image by: (Daniel Oh, CC BY-SA 4.0) + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/6/java-serverless-functions + +作者:[Daniel Oh][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/daniel-oh +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/gears_devops_learn_troubleshooting_lightbulb_tips_520.png +[2]: https://opensource.com/article/21/5/what-serverless-java +[3]: https://opensource.com/article/19/6/reasons-kubernetes +[4]: https://cloud.google.com/knative/ +[5]: https://opensource.com/sites/default/files/uploads/serverless-journey.png +[6]: https://spring.io/serverless +[7]: https://kubeless.io/ +[8]: https://openwhisk.apache.org/ +[9]: https://fission.io/ +[10]: https://projectriff.io/ +[11]: https://quarkus.io/ +[12]: https://minikube.sigs.k8s.io/docs/start/ +[13]: https://docs.okd.io/latest/welcome/index.html +[14]: https://docs.okd.io/latest/installing/index.html +[15]: https://knative.dev/docs/install/knative-with-operators/ +[16]: https://docs.okd.io/latest/applications/projects/configuring-project-creation.html +[17]: https://docs.okd.io/latest/applications/application_life_cycle_management/odc-viewing-application-composition-using-topology-view.html +[18]: https://opensource.com/sites/default/files/uploads/topologyview.png +[19]: https://opensource.com/sites/default/files/uploads/scale-up-knative-function.png From 18711c51077cf5bb2d812f9f2c86a04fc9965543 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 4 Oct 2022 22:24:41 +0800 Subject: [PATCH 067/170] RP @geekpi https://linux.cn/article-15105-1.html --- ...Text in Linux, Ubuntu using Google Docs.md | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) rename {translated/tech => published}/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md (65%) diff --git a/translated/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md b/published/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md similarity index 65% rename from translated/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md rename to published/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md index 4cd7b57b20..25e05ba8d2 100644 --- a/translated/tech/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md +++ b/published/20220926 Speech Recognition to Text in Linux, Ubuntu using Google Docs.md @@ -3,27 +3,30 @@ [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" [#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15105-1.html" -使用 Google Docs 在 Ubuntu 中对文本进行语音识别 +使用谷歌文档在 Ubuntu 中对文本进行语音识别 ====== -这就是在包括 Ubuntu 在内的 Linux 系统中将语音转换为文本的方法。 -Linux 系统中可用的语音识别软件不多,包括原生桌面应用。有一些可用的应用使用 IBM Watson 和其他 API 将语音转换为文本,但它们对用户不友好,需要高级用户交互,例如用相应的语言进行一些编程或脚本编写。 +![](https://img.linux.net.cn/data/attachment/album/202210/04/222403dhey2zwn1442u3n1.jpg) -但是,没有多少用户知道 Google Docs 使用自己的 AI 技术提供高级语音识别,它可以通过 Chrome 访问 Google Docs 达到。 +> 这就是在包括 Ubuntu 在内的 Linux 系统中将语音转换为文本的方法。 -任何用户都可以使用此功能将语音转换为文本,而无需高级计算机知识。 Google Docs 的这个功能最好的一点是你可以在任何 Ubuntu 衍生版或任何支持 Chrome 的 Linux 发行版中使用它。 +Linux 系统中可用的语音识别软件不多,尤其是原生桌面应用。有一些可用的应用使用 IBM Watson 和其他 API 将语音转换为文本,但它们的用户交互不友好,需要一些复杂的用户交互,例如用相应的语言进行一些编程或脚本编写。 + +但是,没有多少用户知道 谷歌文档Google Docs 使用自己的 AI 技术提供了高级语音识别,它可以通过 Chrome 访问谷歌文档使用。 + +任何用户都可以使用此功能将语音转换为文本,而无需高级计算机知识。谷歌文档的这个功能最好的一点是你可以在任何 Ubuntu 衍生版或任何支持 Chrome 的 Linux 发行版中使用它。 让我们看看如何在 Ubuntu 中启用它。 ### 如何将语音转换为文本 -先决条件是你应该在系统中安装 Chrome 并拥有 Google 帐户。如果你没有安装 Chrome,你可以访问[此链接][1]并下载/安装 Chrome。 +先决条件是你应该在系统中安装 Chrome 并拥有谷歌帐户。如果你没有安装 Chrome,你可以访问 [此链接][1] 并下载、安装 Chrome。 -此外,如果你没有 Google 帐户,你可以使用[此链接][2]免费创建一个。 +此外,如果你没有谷歌帐户,你可以使用 [此链接][2] 免费创建一个。 #### 步骤 1 @@ -33,7 +36,7 @@ Linux 系统中可用的语音识别软件不多,包括原生桌面应用。 #### 步骤 2 -加载空白文档后,从菜单中单击`工具 > 语音输入`。 +加载空白文档后,从菜单中单击“工具 > 语音输入”。 ![启用语音输入][5] @@ -45,7 +48,7 @@ Linux 系统中可用的语音识别软件不多,包括原生桌面应用。 ![允许文档访问麦克风][7] -默认情况下,它使用你的系统语言作为语音的检测语言,同时将其转换为文本;但是,你可以根据可用的语言列表将其更改为所需的任何语言。到目前为止,Google Docs 支持和识别超过 60 多种语言,同时将它们转换为文本。 +默认情况下,它使用你的系统语言作为语音的检测语言,同时将其转换为文本;但是,你可以根据可用的语言列表将其更改为所需的任何语言。到目前为止,谷歌文档支持和识别超过 60 多种语言,同时将它们转换为文本。 #### 步骤 4 @@ -53,7 +56,7 @@ Linux 系统中可用的语音识别软件不多,包括原生桌面应用。 ![正在进行语音转文字][8] -完成了。你已通过 Google Chrome 和 Google Docs 在 Ubuntu 中成功地将语音转换为文本。 +完成了。你已通过谷歌 Chrome 和谷歌文档在 Ubuntu 中成功地将语音转换为文本。 所有 Linux 用户都可以免费使用这个很棒的功能。如果你知道其他可以在 Linux 中将语音转换为文本的应用,请在下方的评论区发表评论。另外,让我知道你是否觉得这篇文章有用。 @@ -62,7 +65,7 @@ Linux 系统中可用的语音识别软件不多,包括原生桌面应用。 如果上述功能在你的浏览器中不起作用,请务必查看以下内容。 * 打开设置窗口(在 Ubuntu 或其他发行版的 GNOME 桌面中)。 -* 转到`隐私 > 麦克风`。 +* 转到“隐私 > 麦克风”。 * 并确保它已启用。 ![检查 Ubuntu 中的麦克风设置][9] @@ -71,7 +74,7 @@ Linux 系统中可用的语音识别软件不多,包括原生桌面应用。 虽然,最近有一种基于云的解决方案可用,例如 Amazon Polly 等。但它们的价格很高。另外还需要一些有用的知识。 -而 Google Chrome 的内置语音识别功能简单易用。虽然它有点慢,但它可以为普通用户完成工作。 +而谷歌 Chrome 的内置语音识别功能简单易用。虽然它有点慢,但它可以为普通用户完成工作。 也就是说,我希望本指南可以帮助你将语音转换为文本,如果你知道这样的免费应用,请在评论区告诉我。 @@ -82,7 +85,7 @@ via: https://www.debugpoint.com/speech-recognition-to-text-in-linux-ubuntu-using 作者:[Arindam][a] 选题:[lkxed][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 29bc079cc2cc2ada68f712f47373d33e8fe855c1 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 4 Oct 2022 22:41:53 +0800 Subject: [PATCH 068/170] RP @geekpi https://linux.cn/article-15106-1.html --- ...nt Command Arguments With Sudo In Linux.md | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) rename {translated/tech => published}/20220915 How To Prevent Command Arguments With Sudo In Linux.md (67%) diff --git a/translated/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md b/published/20220915 How To Prevent Command Arguments With Sudo In Linux.md similarity index 67% rename from translated/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md rename to published/20220915 How To Prevent Command Arguments With Sudo In Linux.md index 6d030f52de..46ba118458 100644 --- a/translated/tech/20220915 How To Prevent Command Arguments With Sudo In Linux.md +++ b/published/20220915 How To Prevent Command Arguments With Sudo In Linux.md @@ -3,33 +3,28 @@ [#]: author: "sk https://ostechnix.com/author/sk/" [#]: collector: "lkxed" [#]: translator: "Donkey-Hao" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15106-1.html" - -如何在 Linux 命令行中避免使用 Sudo 参数 +如何在 sudo 运行的命令中防止使用参数 ====== -允许用户运行命令,但不带 `sudo` 命令参数。 -在之前的文章,我们学习了如何 **[通过 sudo 以 root 身份运行目录中的命令][1]**。在这篇指南中,我们将明白如何在 Linux 中 **避免使用 Sudo 参数**。即我们允许一个用户运行特权级命令,但是 **不带 sudo 参数**。 +![](https://img.linux.net.cn/data/attachment/album/202210/04/224059k9jl5kzhlhw5d98j.jpg) -#### 目录 +> 允许用户使用 `sudo` 运行命令,但不带命令行参数。 -1. 背景介绍 -2. 避免使用 sudo 参数 -3. 避免所有用户使用 sudo 参数 -4. 总结 +在之前的文章,我们学习了如何 [通过 sudo 以 root 身份运行目录中的命令][1]。在这篇指南中,我们将学习如何在 Linux 中 **防止 sudo 运行的命令使用参数**。即我们允许一个用户使用 `sudo` 运行特权级命令,但是 **不带命令行参数**。 ### 背景介绍 -你已经知道了,每个命令执行一个特定操作有不同的选项。让我们以 **"ls"** 命令为例。 +你已经知道了,每个命令执行一个特定操作有不同的选项。让我们以 `ls` 命令为例。 `ls` 命令会罗列文件夹中的内容,对吗?没错。`ls` 命令附带了一些命令行选项和标志。例如,你可以用 `ls` 命令的 `-a` 标志罗列文件夹中的所有内容(包括隐藏文件)。 -在这份简要指南中,我们将明白如何允许用户通过 `sudo` 运行 `ls` 命令,但是不使用命令行选项或者标志。我讲清楚了吗?接下来让我来展示一下如何做到这点。 +在这份简要指南中,我们将明白如何允许用户通过 `sudo` 运行 `ls` 命令,但是不能使用命令行选项或者标志。我讲清楚了吗?接下来让我来展示一下如何做到这点。 -### 避免使用 sudo 参数 +### 防止使用 sudo 参数 以 `root` 用户身份编辑 `/etc/sudoers` 文件: @@ -45,9 +40,9 @@ user1 ALL=(root) /usr/bin/ls "" ![Deny Command Arguments With Sudo][2] -要注意这里 `ls` 之后的 **双引号**。双引号会屏蔽用户在给定命令之后输入的参数(比如 `ls` 命令)。在上面的命令中,“用户 1 ”能够以 `root` 身份运行 `ls` 命令,但是不能使用 `ls` 命令的选项以及标志。你可以选择其他的指令进行尝试。保存该文件并关闭。 +要注意这里 `ls` 之后的 **双引号**。双引号会屏蔽用户在给定命令之后输入的参数(比如 `ls` 命令)。在上面的命令中,`user1` 能够以 `root` 身份运行 `ls` 命令,但是不能使用 `ls` 命令的选项以及标志。你可以选择其他的指令进行尝试。保存该文件并关闭。 -现在,以“用户 1 ”的身份登陆系统,并尝试以管理员身份运行 `ls` 命令,不要添加任何选项: +现在,以 `user1` 的身份登录系统,并尝试以管理员身份运行 `ls` 命令,不要添加任何选项: ``` [user1@Almalinux8CT ~]$ sudo -u root ls -a @@ -71,7 +66,6 @@ Sorry, user user1 is not allowed to execute '/bin/ls -a' as root on Almalinux8CT 上述例子像你展示了如何阻止用户以管理员身份运行带有参数的命令。你是否想要对所有用户应用该规则呢?很简单!只需要在 `/etc/sudoers` 文件中添加一行: - ``` ALL ALL=(root) /usr/bin/ls "" ``` @@ -88,7 +82,7 @@ $ man sudoers ### 结论 -在这份指南中,我们学习了如何允许用户以管理员身份运行命令,但是不能添加任何指令参数。这样可以限制用户误用一些命令行参数。 +在这份指南中,我们学习了如何允许用户以管理员身份运行命令,但是不能添加任何命令参数。这样可以限制用户误用一些命令行参数。 -------------------------------------------------------------------------------- @@ -97,7 +91,7 @@ via: https://ostechnix.com/prevent-command-arguments-with-sudo/ 作者:[sk][a] 选题:[lkxed][b] 译者:[Donkey-Hao](https://github.com/Donkey-Hao) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 0e48b5e00fc1c6e1875e3f557c1ad3ac7ab5e722 Mon Sep 17 00:00:00 2001 From: Donkey Date: Wed, 5 Oct 2022 11:39:00 +0800 Subject: [PATCH 069/170] Update 20220922 5 Git configurations I make on Linux.md --- sources/tech/20220922 5 Git configurations I make on Linux.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20220922 5 Git configurations I make on Linux.md b/sources/tech/20220922 5 Git configurations I make on Linux.md index 1224e8a44c..5f5d2a73de 100644 --- a/sources/tech/20220922 5 Git configurations I make on Linux.md +++ b/sources/tech/20220922 5 Git configurations I make on Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/9/git-configuration-linux" [#]: author: "Alan Formy-Duval https://opensource.com/users/alanfdoss" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Donkey-Hao" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -149,7 +149,7 @@ via: https://opensource.com/article/22/9/git-configuration-linux 作者:[Alan Formy-Duval][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Donkey-Hao](https://github.com/Donkey-Hao) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 322a09638337f966c856efc886af4dd3934b902a Mon Sep 17 00:00:00 2001 From: littlebirdnest <63171986+littlebirdnest@users.noreply.github.com> Date: Wed, 5 Oct 2022 22:13:18 +0800 Subject: [PATCH 070/170] =?UTF-8?q?littlebirdnest=20=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E4=B8=AD=20(#27411)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * littlebirdnest 申请翻译 * littlebirdnest 翻译好了,这篇很难翻译,麻烦校对了 --- ...ource Hexa Project As A Sandbox Project.md | 56 ------------------- ...ource Hexa Project As A Sandbox Project.md | 56 +++++++++++++++++++ 2 files changed, 56 insertions(+), 56 deletions(-) delete mode 100644 sources/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md create mode 100644 translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md diff --git a/sources/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md b/sources/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md deleted file mode 100644 index 981aece849..0000000000 --- a/sources/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md +++ /dev/null @@ -1,56 +0,0 @@ -[#]: subject: "CNCF Accepts Open Source Hexa Project As A Sandbox Project" -[#]: via: "https://www.opensourceforu.com/2022/09/cncf-accepts-open-source-hexa-project-as-a-sandbox-project/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -CNCF Accepts Open Source Hexa Project As A Sandbox Project -====== -*The Management of Multi-Cloud Access Policies is Consolidated by Open Source Identity Standard and Policy Orchestration Software.* - -The Hexa and IDQL (Identity Query Language) open source project, which enables organisations to apply consistent access policy across any application on multiple cloud platforms, has been accepted as a sandbox project by the Cloud Native Computing Foundation (CNCF), according to Strata Identity, the identity orchestration for multi-cloud company: [https://www.cncf.io/projects/hexa/][1] - -“Cloud Identity is extremely fragmented with no clear path for orchestrating policy management across different service provider platforms,” says Gary Rowe, principal consulting analyst, and CEO of TechVision Research. “IDQL represents a major step forward in providing a standards-based approach for cloud-based IAM governance.” - -The Linux Foundation’s CNCF is a non-profit group devoted to overseeing open-source cloud-native initiatives. Versa Networks, S&P Global, Cummins, Kroger, MEF, and Strata Identity are among the authors and working group participants of IDQL and Hexa. More details about how to help the Project are available at https://hexaorchestration.org. - -At the moment, every cloud platform (such as AWS, Google, Microsoft Azure, etc.) makes use of a unique identity system with a unique policy language that is completely incompatible with one another. Each application, however, needs to be hard-coded to function with a certain identification system. With only 25% of respondents saying they have visibility over multi-cloud access restrictions, this is a significant barrier for enterprises, according to the 2022 State of Multi-Cloud Identity survey. - -Based on the company’s founders’ experience co-authoring the SAML standard for SSO Federation, Strata Identity has led the Hexa and IDQL project. The goal of this new project is to usher in a well-designed open-source policy orchestration framework that increases the likelihood that organisations, customers, and software providers will profit from the switch to a contemporary, open, and passwordless approach to identity. - -Without altering the identification systems or the applications, IDQL and Hexa allow any number of identity systems to operate as a single, integrated system. Together, these open source initiatives offer the following advantages: - -**Discovery of policy** - -* Performs an analysis and inventory of important apps, data, and policies -* Discovers what apps are available and where they are -* Identifies policies, users, and roles - -**Government translation** - -* During policy discovery, converts native, imperative policies into declarative IDQL policies. -* During policy orchestration, converts declarative IDQL policies into native, imperative policies of the destination system(s). - -**Orchestration of policy** - -* Uses a cloud-based architecture that eliminates the need for an agent, proxy, or local code; -* Uses a cloud-based architecture that eliminates the need for an agent, proxy, or local code; -* Distributes rules to be enforced by identity providers (IdPs), clouds, IaaS, and network systems; – Employs an extensible, open-source paradigm that permits bespoke connector integrations - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/cncf-accepts-open-source-hexa-project-as-a-sandbox-project/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed -[1]: https://www.cncf.io/projects/hexa/ diff --git a/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md b/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md new file mode 100644 index 0000000000..9da06fae7e --- /dev/null +++ b/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md @@ -0,0 +1,56 @@ +[#]: subject: "CNCF Accepts Open Source Hexa Project As A Sandbox Project" +[#]: via: "https://www.opensourceforu.com/2022/09/cncf-accepts-open-source-hexa-project-as-a-sandbox-project/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "littlebirdnest" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +CNCF 接受开源 Hexa 项目作为沙盒项目 +====== +多云访问策略的管理由开源身份标准和策略编排软件整合。 + +根据 Strata Identity 的说法,Hexa 和 IDQL(身份查询语言)开源项目使组织能够在多个云平台上的任何应用程序中应用一致的访问策略,已被云原生计算基金会 (CNCF) 接受为沙盒项目,多云公司的身份编排:https ://www.cncf.io/projects/hexa/ + +“Cloud Identity 非常分散,没有明确的路径可以跨不同的服务提供商平台协调策略管理,”TechVision Research 首席咨询分析师兼首席执行官 Gary Rowe 说。“IDQL 代表了在为基于云的 IAM 治理提供基于标准的方法方面向前迈出的重要一步。” + +Linux 基金会的 CNCF 是一个致力于监督开源云原生计划的非营利组织。Versa Networks、S&P Global、Cummins、Kroger、MEF 和 Strata Identity 是 IDQL 和 Hexa 的作者和工作组参与者。有关如何帮助该项目的更多详细信息,请访问https://hexaorchestration.org。 + +目前,每个云平台(如 AWS、Google、Microsoft Azure 等)都使用一个独特的身份系统,该系统具有独特的策略语言,彼此完全不兼容。但是,每个应用程序都需要进行硬编码才能与特定的识别系统一起运行。根据 2022 年多云身份状况调查,只有 25% 的受访者表示他们了解多云访问限制,这对企业来说是一个重大障碍。 + +基于公司创始人共同编写 SSO 联盟 SAML 标准的经验,Strata Identity 领导了 Hexa 和 IDQL 项目。这个新项目的目标是引入一个精心设计的开源策略编排框架,以增加组织、客户和软件提供商从转向现代、开放和无密码的身份验证方法中获利的可能性。 + +在不改变识别系统或应用程序的情况下,IDQL 和 Hexa 允许任意数量的身份系统作为单个集成系统运行。这些开源计划共同提供了以下优势: + +发现策略 + +* 对重要的应用程序、数据和策略进行分析和清点 +* 发现可用的应用程序以及它们的位置 +* 识别策略、用户和角色 + +管理策略 + +* 在策略发现期间,将本机命令式策略转换为声明性 IDQL 策略。 +* 在策略编排期间,将声明性 IDQL 策略转换为目标系统的本机命令式策略。 + +策略编排 + +使用基于云的架构,无需代理、代理或本地代码; +使用基于云的架构,无需代理、代理或本地代码; +分发由身份提供者 (IdP)、云、IaaS 和网络系统强制执行的规则;– 采用可扩展的开源范例,允许定制连接器集成 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/cncf-accepts-open-source-hexa-project-as-a-sandbox-project/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed +[1]: https://www.cncf.io/projects/hexa/ From 57fd64672de15f2a926754b77449b9ba9d8c73b6 Mon Sep 17 00:00:00 2001 From: lkxed Date: Wed, 5 Oct 2022 22:22:27 +0800 Subject: [PATCH 071/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221003=20Get=20Ready=20for=20Ubuntu=20MATE=20Experie?= =?UTF-8?q?nce=20on=20Debian=20Linux!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Ubuntu MATE Experience on Debian Linux!.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md diff --git a/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md b/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md new file mode 100644 index 0000000000..b9c5237e6e --- /dev/null +++ b/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md @@ -0,0 +1,87 @@ +[#]: subject: "Get Ready for Ubuntu MATE Experience on Debian Linux!" +[#]: via: "https://news.itsfoss.com/ubuntu-mate-debian/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Get Ready for Ubuntu MATE Experience on Debian Linux! +====== +Ubuntu MATE experience is coming to Debian's MATE spin in 2023? Find out more here. + +![Get Ready for Ubuntu MATE Experience on Debian Linux!][1] + +**Martin Wimpress**, one of the founders and maintainers of Ubuntu MATE, has mentioned something rather interesting in the beta release notes for Ubuntu MATE 22.10. + +He aims to bring the Ubuntu MATE experience to Debian 🧐 + +Wait, can't you already install MATE on Debian? + +Yes, but what about an akin user experience to Ubuntu MATE with all the modern tools on Debian? + +### Bringing Ubuntu MATE Experience to Debian's Spin + +![][2] + +Here's what Martin mentions: + +> Ubuntu MATE 22.10 is a modest update by recent standards and focused on “quality of life improvements”. And there is good reason why this release of Ubuntu MATE doesn’t feature the usual bucket 🪣 list of changes you’d typically expect, and that’s because I’ve been helping bring the full Ubuntu MATE experience to Debian MATE 🧉 + +That's something fascinating. + +**Does this mean there won't be any significant future updates to Ubuntu MATE?** + +No, Ubuntu MATE will still receive updates. + +Also, Martin has clarified that he is not stepping away from the development of Ubuntu MATE and will continue as usual. + +However, if you are looking for a long list of major feature updates to Ubuntu MATE, you must wait a while. + +He intends to provide a consistent experience across Debian's MATE spin and Ubuntu MATE. + +**It is no surprise** that Debian MATE is not as popular among users. Mainly because it does not offer the modern refinements, you get with Ubuntu MATE. + +Hence, they aim to bring in a similar experience to Debian MATE, which will enable existing users to use either Debian or Ubuntu as the base. + +**Furthermore,** this development will make things easier for the development: + +> Making the MATE experience in Debian and Ubuntu consistent makes maintenance easier for all involved. + +**So, can we expect something very similar to Ubuntu MATE 22.10 (Kinetic Kudu) on Debian?** + +![ubuntu mate 22.10 hud settings][5] + +Probably yes. But, it will take time. + +> 💡 They hope to provide a similar experience with Debian's MATE spin on top of Debian 12. We already know that Debian 12 has been slated for release in 2023. So, there is plenty of time to wait for it. + +You can expect apps such as MATE Tweak and [Ayatana Indicators][6] integrated into Debian's MATE spin. + +This makes me think that Debian MATE can be an excellent alternative for Ubuntu MATE users looking for a change or wanting to try the Debian flavor of MATE. + +Of course, this does not make the upcoming Ubuntu MATE 22.10 less exciting. It will still include numerous valuable goodies; you might want to check out its [beta release notes][7] to learn more. + +💬 *What do you think about Debian's future MATE spin after learning about this development? Would you ditch Ubuntu MATE for it? Let me know your thoughts!* + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-mate-debian/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-mate-comes-to-debian-mate.png +[2]: https://news.itsfoss.com/content/images/2022/10/homeworld_desktop-1024x576.png +[3]: https://itsfoss.com/debian-based-distros/ +[4]: https://itsfoss.com/debian-based-distros/ +[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10.png +[6]: https://ayatanaindicators.github.io/about/ +[7]: https://ubuntu-mate.org/blog/ubuntu-mate-kinetic-kudu-release-notes/ From cb1115a30bb3e800bde0deabc0b3a23c44d9b2e3 Mon Sep 17 00:00:00 2001 From: lkxed Date: Wed, 5 Oct 2022 22:28:23 +0800 Subject: [PATCH 072/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221002=20How=20to=20Delete=20Background=20in=20Image?= =?UTF-8?q?=20Using=20GIMP.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o Delete Background in Image Using GIMP.md | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 sources/tech/20221002 How to Delete Background in Image Using GIMP.md diff --git a/sources/tech/20221002 How to Delete Background in Image Using GIMP.md b/sources/tech/20221002 How to Delete Background in Image Using GIMP.md new file mode 100644 index 0000000000..d0e62002f2 --- /dev/null +++ b/sources/tech/20221002 How to Delete Background in Image Using GIMP.md @@ -0,0 +1,141 @@ +[#]: subject: "How to Delete Background in Image Using GIMP" +[#]: via: "https://www.debugpoint.com/remove-image-background-gimp/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Delete Background in Image Using GIMP +====== +Removing the background of an image is super easy if you know how to do it. Here in this tutorial, we will explain five different ways you can use to remove background in Image Using GIMP. + +![Remove Background Image in GIMP][1] + +There are many ways you can delete any part of an image. That can be the background of the main subject of your image or some sections of it. That includes making the image background transparent and associated steps. + +[GIMP][2] is the free and open-source closest Photoshop Alternative application which is used by millions every day. And if you are a beginner in GIMP or learning image processing, then there is no harm in learning these steps to make any sections of a complex image transparent, including the background. + +The steps outlined here use basic tools similar to other photo editing software. Hence, what you’re learning in this tutorial can easily be applied to alternative software. + +### 5 Ways to Remove Background in Image Using GIMP + +#### Method 1 – Fuzzy Select  + +The Fuzzy Select tool allows you to select all pixels that are similar to a set of sample pixels within a local area of an image. This works for the images with a colour distinction between foreground and background image foreground. + +So, if your image background and prominent subject/foreground are of identical colour (like this image below), then this method may not help. Try other methods explained below. But still, you can go ahead and try out all methods if you have spare time. + +1. Open your image in GIMP. +2. Right-click on the layer and add Alpha channel. This ensures that you can easily delete your layer with transparency. You can verify whether the Alpha channel is already added to your image or not by right-clicking the layer and see if the add Alpha channel is greyed out. +3. Select the Fuzzy Select tool from the toolbox and make sure Anti Aliasing, Feather Edges and Draw Mask are checked. The Draw Mask option will help you visualise the background you want to delete. +4. Now click on the section of the image of the background which you want to delete and hold down your click, then drag the mouse to your image to see a mask drawn on your image. +5. The colour selection shows the selection that you are choosing. Dragging the mouse below will increase the threshold of your selection, and towards up, it will reduce the threshold of your selection. +6. Once you are satisfied with your selection, release the mouse and press delete from your keyboard to delete the selection. + +You can repeat this process as much as you want to eliminate the background of your image entirely. + +![Method 1 - Fuzzy Select][3] + +![After Method 1 is applied][4] + +#### Method 2 – Select by colour + +In the next method, we will use the select by colour tool, which selects the entire background having the same colour pixels. This method works better for vector images, which typically have uniform colour distribution. This method might not work well for real-world images with too many colour gradients or sharp edges. + +1. Select the “select by colour” tool from the toolbox. Make sure Anti Aliasing and Draw Mask are enabled from the option. +2. Ensure to enable the Feather Edges option if you are working with a complex vector image. +3. Now, click on the background section of your image having the same colour and drag the mouse down or up to increase or decrease the threshold. +4. Once you are happy with the selection, let go of the mouse hold. Press delete from your keyboard. + +Likewise, you can repeat the steps multiple times to eliminate the background entirely. + +![Method 2 - Select by Color][5] + +#### Method 3 – Paths + +Another way of removing the background of an image is using the **Paths** tool. This is more of a **manual** way of deleting the background of an image. + +This method gives you the **most accurate results** among all the methods described here. But it takes a bit of time and patience to do it. + +1. Select the Path tool from the toolbox. +2. Begin clicking around the image’s main subject to place individual points outlining the subject. +3. You can curve the line by dragging down the middle of the line and moving the left and right handle towards the centre of the line. +4. To continue drawing, make sure you click on the most recent point and continue. +5. Once done, you can close the outline by holding CTRL and clicking on the first point placed. +6. Press Enter to create a selection using the outline. +7. From the menu, Select Invert. This will select the background of the image. +8. And press delete to delete the background. + +![Method 3 Path Tool][6] + +#### Method 4 – Layer Mask + +A more **advanced** way to delete the background is to use a layer mask. This is useful for those photographs where you have fine details such as hairs, furs, grass etc. Those fine details are difficult to aele6 manually using the above methods. + +But there is a catch. This method only works best where there is a high level of contrast of colour present between the main subject of the image and its background. + +1. Right-click on the layer and create a duplicate layer. +2. While the duplicate Layer is selected, Go to Color > Saturation. Change the scale to all the way to zero. Click ok. +3. Go to Color > Curves and manually adjust the top and bottom nodes so that your main subject of the image fills with more black and the background is white. +4. From the menu, select Colors > invert. Then select Edit > Copy Visible. +5. Hide the duplicate layer by clicking on the little eye icon on the right toolbox. +6. Right-click on the original layer and click Add Layer Mask. Click Add. +7. Paste the copied visible image using Edit > Paste. +8. Click on green icon at the bottom of the layers window to merge the pasted layer to the layer mask. +9. At this stage, you should notice that the black area remains visible, and the white area is transparent. + +To fine-tune the sections, you can use a white colour brush tool and fill those sections which are part of your main subject but become transparent in the process. + +And there you have it. + +![Method 4 - Curves][7] + +![Method 4 - Layer Mask][8] + +#### Method 5 – Foreground Select + +The final method we are going to explain is the foreground select method. This method is also a good choice as well for complex images having hairs, grass etc. + +* To get started, select the Foreground Select tool from the toolbox and do a simple outline of the subject. It need not be perfect, like below. It’s more like an outline covering the entire subject. +* Once you are done, join the select point to the first point and press enter to select the subject. +* This will create a dark blue area over the background and a light blue area in the foreground. +* Now select the white foreground colour and manually brush the subject without going too much towards the edges. +* Once you are done, select the preview to see how it looks. Based on the colour profile of your image, this preview step might take a couple of seconds to process. +* If you are happy with the preview, click select. And then press enter to make this a selection. +* Invert the selection using Select > Invert. +* Press delete from the keyboard. +* And you have your image ready without the background portion. + +![Method 5 - Foreground select tool to delete background of image in GIMP][9] + +### Final Notes + +So, that’s about it with the five methods which we just explained to remove background from image(s) and photographs using the free and open-source tool GIMP. Let me know if this tutorial helped you understand the steps and get the desired result. + +*[Used Photo in this article is by Maryia Plashchynskaya from Pexels][10]* + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/remove-image-background-gimp/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2021/11/Remove-Background-Image-in-GIMP-1024x576.jpg +[2]: https://www.gimp.org/ +[3]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-1-Fuzzy-Select-1024x641.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/11/After-Method-1-is-applied.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-2-Select-by-Color-1024x656.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-3-Path-Tool-1024x726.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-4-Curves-1024x649.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-4-Layer-Mask-1024x652.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2021/11/Method-5-Foreground-select-tool-1024x590.jpg +[10]: https://www.pexels.com/@maryiaplashchynskaya?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels From b6b472d926120aa34292db6c03af111fc8ccbdfb Mon Sep 17 00:00:00 2001 From: lkxed Date: Wed, 5 Oct 2022 22:29:44 +0800 Subject: [PATCH 073/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221002=205=20Great=20GUI=20Apps=20for=20Visual=20Dis?= =?UTF-8?q?k=20Usage=20in=20Linux,=20Ubuntu=20[With=20Bonus].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...isk Usage in Linux, Ubuntu [With Bonus].md | 199 ++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 sources/tech/20221002 5 Great GUI Apps for Visual Disk Usage in Linux, Ubuntu [With Bonus].md diff --git a/sources/tech/20221002 5 Great GUI Apps for Visual Disk Usage in Linux, Ubuntu [With Bonus].md b/sources/tech/20221002 5 Great GUI Apps for Visual Disk Usage in Linux, Ubuntu [With Bonus].md new file mode 100644 index 0000000000..f3bb748845 --- /dev/null +++ b/sources/tech/20221002 5 Great GUI Apps for Visual Disk Usage in Linux, Ubuntu [With Bonus].md @@ -0,0 +1,199 @@ +[#]: subject: "5 Great GUI Apps for Visual Disk Usage in Linux, Ubuntu [With Bonus]" +[#]: via: "https://www.debugpoint.com/apps-visual-disk-usage-linux-ubuntu-mint/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 Great GUI Apps for Visual Disk Usage in Linux, Ubuntu [With Bonus] +====== +Review of five great apps to visually analyze disk space in Linux and Ubuntu systems. + +### Five GUI Apps for Visual Disk Usage in Ubuntu and Other Linux + +#### 1. Filelight + +[Filelight][1], a GUI-based KDE app, provides a sunburst representation of disk usage. Instead of showing a tree view & list view of directories/files, it shows the usage in a concentric pie chart view representing each directory. + +You can mouse over to a specific colour/pie to get the information about that specific segment. It also provides a way to dive deep into a particular segment to a single file level to analyze! This feature is pretty neat. + +##### Features + +• Scan local, remote or removable disks• Configurable colour schemes• File system navigation by mouse clicks• Information about files and directories on hovering• Files and directories can be copied or removed directly from the context menu + +![Filelight Running in Ubuntu - one of the best and easy to use disk usage app for Linux][2] + +##### How to Install Filelight + +Filelight is available in Ubuntu software. Open the software and search for Filelight.ORYou can run the below commands from the terminal to install Filelight in all Ubuntu versions and [Linux Mint][3]. + +``` +sudo apt install filelight +``` + +Also, you can install it via Flatpak. [Set up your application for Flatpak & Flathub repo][4], and then run the following to install it for all the supported Linux distributions. + +``` +flatpak install flathub org.kde.filelight +``` + +#### 2. DUC + +*“Dude! Where are my bytes!”* – That’s the tagline of [DUC][5] – another disk usage visualization tool. Like Filelight, DUC also shows the visualization in a *sunburst* presentation. + +DUC has some unique features, such as it comes with specific tools that enable you to query its internal database of disk data which it collected after analysis. Also, it has the flexibility to run via a command line and can be plugged into the web using CGI. + +As per the documentation, DUC can also handle file systems with millions of files on petabytes of storage. + +![DUC][6] + +##### How to Install + +To install DUC in Ubuntu, Linux Mint, run the below command from the terminal: + +``` +sudo apt install duc +``` + +After installation, DUC needs a setup. You have to build its own database by running the below command (for example: if you want to index the `/usr` directory): + +``` +duc index /usr +``` + +Once the index is completed, you can either use the below commands for the terminal view or the graphical view of the disk space analysis. + +``` +duc gui /usr +``` + +Or + +``` +duc ui /usr +``` + +#### 3. Xdiskusage + +[xdiskusage][7] is user-friendly, a lightweight program that analyses disk and represents the results in a box-representation where the size of boxes represents the size of directories. It uses “du” and represents its output graphically. + +When launched, you can either choose to analyze directories or files. Once loaded, you can start browsing by double-clicking the boxes to further analyse – deep down. + +Here’s a screenshot of this visual disk usage app and how it works: + +![xdiskusage Running in Ubuntu][8] + +##### How to Install + +You can run the below commands from the terminal to install xdiskusage in Ubuntu, Linux Mint and other derivatives. + +``` +sudo apt install xdiskusage +``` + +#### 4. QDirStat + +[QDirStat][9] is a Qt-based directory/file system analyzer (the KDE version of this is KDirStat) which comes with a view of your file system in a heat-map style representation, including a tree view of the file system. This utility has an advantage over other utilities. It comes with a list of features to clean up your system, such as deletion and cleaning files from inside the utility. + +It has a comprehensive list of options that helps you configure how you want to scan the system. For example, you can configure to scan music files with *.mp3 extensions. + +![QDirStat Running][10] + +##### How to Install + +To install QDirStat in Ubuntu, Linux Mint, and other Ubuntu derivatives, run the below commands from the terminal: + +``` +sudo apt install qdirstat +``` + +#### 5. JdiskReport + +[JdiskReport][11] is a Java-based disk analyzer that has a different way of representing your disk usage. It has a nice and user-friendly UI with the file system hierarchy at the left and the corresponding selection’s graphical representation of disk usage at the right. + +It can display both circular ways of showing the disk space and rectangular bars. It also gives you some quick analysis such as – + +* Top 50 large files +* Top 50 files which were changed recently +* Top 50 files which are old +* Size distribution in size ranges (e.g. 1 GB to 4 GB). +* Size distribution using modification days. +* The size distribution of file types. +* And obviously some cool colourful themes. + +![JDiskReport Running in Ubuntu][12] + +##### How to Install + +Download JDiskReport from the below link and extract. + +[Download JDiskReport][13] + +Once extracted, run the .jar file. No installation is required. + +JDiskReport requires Java run-time to work. If your Ubuntu Linux Mint system does not have Java run-time, install using the below command, or check out our guide on [how to install Java in Ubuntu Linux][14]. + +``` +sudo apt install default-jre +``` + +#### Bonus App: NCDU + +If you are comfortable in the Terminal, then you should always try [NCDU][15]. It’s an acronym for NCurses Disk Usage, which scans your system and provides you with an excellent terminal re-presentation of disk space status. + +I think it’s perfect for those use cases where you need to log in via SSH or remotely to a server. And find out about disk usage where no desktop environment is available. + +NCDU is simple, fast and can run in any POSIX-like environment. + +It’s available for all major distros. These are the command you can use to install it. + +``` +sudo apt install ncdu +``` + +``` +sudo dnf install ncdu +``` + +![ncdu][16] + +### Wrapping Up + +In this article, I have explained five apps that provide visual disk usage in Ubuntu and other major distros. Also, I have included a terminal-based app where you don’t have the option to use a graphical user interface. + +I hope this helps you to find out which files/folders are consuming disk space and reclaim some lost disk space. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/apps-visual-disk-usage-linux-ubuntu-mint/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://utils.kde.org/projects/filelight +[2]: https://www.debugpoint.com/wp-content/uploads/2018/07/Filelight-Running-in-Ubuntu.png +[3]: https://www.debugpoint.com/linux-mint/ +[4]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[5]: http://duc.zevv.nl/ +[6]: https://www.debugpoint.com/wp-content/uploads/2018/07/DUC-Running.png +[7]: http://xdiskusage.sourceforge.net/ +[8]: https://www.debugpoint.com/wp-content/uploads/2018/07/xdiskusage-Running-in-Ubuntu.png +[9]: https://github.com/shundhammer/qdirstat +[10]: https://www.debugpoint.com/wp-content/uploads/2018/07/QDirStat-Running-.png +[11]: http://www.jgoodies.com/freeware/jdiskreport/ +[12]: https://www.debugpoint.com/wp-content/uploads/2018/07/JDiskReport-Running-in-Ubuntu.png +[13]: http://www.jgoodies.com/download/jdiskreport/jdiskreport-1_4_1.zip +[14]: https://www.debugpoint.com/install-java-17-ubuntu-mint/ +[15]: https://dev.yorhel.nl/ncdu +[16]: https://www.debugpoint.com/wp-content/uploads/2022/06/ncdu.jpg +[17]: https://www.debugpoint.com/string-processing-in-libreoffice-calc-macro-with-examples/ +[18]: https://news.google.com/publications/CAAqBwgKMOCfmgsw-qmyAw +[19]: https://t.me/debugpoint From 491dcc35c83bcb517756676fa50cda776b230c5a Mon Sep 17 00:00:00 2001 From: lkxed Date: Wed, 5 Oct 2022 22:30:34 +0800 Subject: [PATCH 074/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221002=20String=20Processing=20in=20LibreOffice=20Ca?= =?UTF-8?q?lc=20Macro=20with=20Examples.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...in LibreOffice Calc Macro with Examples.md | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 sources/tech/20221002 String Processing in LibreOffice Calc Macro with Examples.md diff --git a/sources/tech/20221002 String Processing in LibreOffice Calc Macro with Examples.md b/sources/tech/20221002 String Processing in LibreOffice Calc Macro with Examples.md new file mode 100644 index 0000000000..49eb312f11 --- /dev/null +++ b/sources/tech/20221002 String Processing in LibreOffice Calc Macro with Examples.md @@ -0,0 +1,151 @@ +[#]: subject: "String Processing in LibreOffice Calc Macro with Examples" +[#]: via: "https://www.debugpoint.com/string-processing-in-libreoffice-calc-macro-with-examples/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +String Processing in LibreOffice Calc Macro with Examples +====== +This tutorial will show how to do various common string processing using macro in LibreOffice. + +We will use LibreOffice Calc cells to use the strings for this tutorial. These processes are essential for any macro development. + +![LibreOffice Calc Macro - Join Data][1] + +Let’s put three strings like below in a LibreOffice calc sheet and join them. + +### Joining Strings in Calc + +In basic, to join two strings/texts, use the “&” operator. We will use this to join three columns of strings and put the results in another column. + +``` +Sub String_join() + part1 = ThisComponent.Sheets(0).getCellByPosition(0,1) + part2 = ThisComponent.Sheets(0).getCellByPosition(1,1) + part3 = ThisComponent.Sheets(0).getCellByPosition(2,1) + + result_cell = ThisComponent.Sheets(0).getCellByPosition(3,1) + result_cell.String = part1.String & "." & part2.String & "." & part3.String +End Sub +``` + +![LibreOffice Calc Macro – Join][2] + +Let’s put some more strings in Column A as below in LibreOffice. We will use these three strings for the rest of the processing in this tutorial. + +### Left + +The `left` function returns the number of characters from a string from the left side. The number of characters can be specified in the argument of the function. Put a string in cell A1 – “www.google.com” and run the function on the A1 cell as below. This function will return sub-string “www”. + +``` +Sub left_demo() + part1 = ThisComponent.Sheets(0).getCellByPosition(0,0) + result = ThisComponent.Sheets(0).getCellByPosition(2,0) + result.String = left(part1.String,3) +End Sub +``` + +![LibreOffice Calc Macro – Left Example][3] + +### Right + +Just like the `left` function above, the `right` returns the given no of characters from the right side. With the same example, in this case, the below function would return “com”. + +``` +Sub right_demo() + part1 = ThisComponent.Sheets(0).getCellByPosition(0,0) + result = ThisComponent.Sheets(0).getCellByPosition(2,0) + result.String = right(part1.String,3) +End Sub +``` + +![LibreOffice Calc Macro – Right Example][4] + +### Mid + +The `mid` function returns any size of the sub-string from a given string. The argument of this function is `Mid(string, start position, length of the sub-string)`. To have the Mid function work, put some strings in a column in LibreOffice calc and run the Mid function. + +In this example below, the strings from A columns are converted to sub-string in column B. The sub-string starts from character 4 of the string, and the length is six characters. + +``` +Sub mid_demo() + part1 = ThisComponent.Sheets(0).getCellByPosition(0,1) + result = ThisComponent.Sheets(0).getCellByPosition(1,1) + result.String = mid(part1.String,5,6) + + part2 = ThisComponent.Sheets(0).getCellByPosition(0,2) + result = ThisComponent.Sheets(0).getCellByPosition(1,2) + result.String= mid(part2.String,5,6) + + part3 = ThisComponent.Sheets(0).getCellByPosition(0,3) + result = ThisComponent.Sheets(0).getCellByPosition(1,3) + result.String = mid(part3.String,5,6) +End Sub +``` + +![LibreOffice Calc Macro – Mid Example][5] + +### Trim + +The trim function is used to remove leading and trailing spaces from a string.The function can be used like this: `Trim(your_string_here)` + +### Len + +Len function returns the number of characters present, i.e. the length of a string.Usage: `Len(string)` + +### Instr + +The `Instr` function is used to search a string within a string. If a match is found, Instr returns the starting position number of the searched string, and if not found, it returns 0. + +``` +Sub instr_demo() + part1 = ThisComponent.Sheets(0).getCellByPosition(0,1) + result = ThisComponent.Sheets(0).getCellByPosition(1,1) + result.Value = instr(part1.String,"oogl") + + part2 = ThisComponent.Sheets(0).getCellByPosition(0,2) + result = ThisComponent.Sheets(0).getCellByPosition(1,2) + result.Value = instr(part2.String,"dd") + + part3 = ThisComponent.Sheets(0).getCellByPosition(0,3) + result = ThisComponent.Sheets(0).getCellByPosition(1,3) + result.Value = instr(part3.String,"untu") +End Sub +``` + +![LibreOffice Calc Macro – Instr Example][6] + +In this tutorial, basic string processing is covered, which can be used in LibreOffice Macro. + +### Looking for Something Else? + +If you are looking for something else in LibreOffice macro tutorials, Or want to learn more about it, please follow the below link for the complete Macro Tutorials Index: + +[LibreOffice Macro Tutorial Index][7] + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/string-processing-in-libreoffice-calc-macro-with-examples/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2014/11/LibreOffice-Calc-Macro-Join-Data.png +[2]: https://www.debugpoint.com/wp-content/uploads/2014/11/LibreOffice-Calc-Macro-Join.png +[3]: https://www.debugpoint.com/wp-content/uploads/2014/11/LibreOffice-Calc-Macro-Left-Example.png +[4]: https://www.debugpoint.com/wp-content/uploads/2014/11/LibreOffice-Calc-Macro-Right-Example.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2014/11/LibreOffice-Calc-Macro-Mid-Example.png +[6]: https://www.debugpoint.com/wp-content/uploads/2014/11/LibreOffice-Calc-Macro-Instr-Example.png +[7]: http://www.debugpoint.com/libreoffice-basic-macro-tutorial-index/ +[8]: https://www.debugpoint.com/enable-rpm-fusion-fedora-rhel-centos/ +[9]: https://news.google.com/publications/CAAqBwgKMOCfmgsw-qmyAw +[10]: https://t.me/debugpoint From 26c3a27dad4de8e5ae343446c9c9fa821830412f Mon Sep 17 00:00:00 2001 From: lkxed Date: Wed, 5 Oct 2022 22:31:21 +0800 Subject: [PATCH 075/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221002=20How=20to=20Enable=20RPM=20Fusion=20Repo=20i?= =?UTF-8?q?n=20Fedora,=20CentOS,=20RHEL.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...RPM Fusion Repo in Fedora, CentOS, RHEL.md | 181 ++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 sources/tech/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md diff --git a/sources/tech/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md b/sources/tech/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md new file mode 100644 index 0000000000..b33ab5a851 --- /dev/null +++ b/sources/tech/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md @@ -0,0 +1,181 @@ +[#]: subject: "How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL" +[#]: via: "https://www.debugpoint.com/enable-rpm-fusion-fedora-rhel-centos/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL +====== +This guide explains the steps to enable third-party software repository RPM Fusion in Fedora Linux Distribution. + +The [RPM Fusion][1] software repo is a community-maintained software repo that provides additional packages for Fedora Linux which is not distributed by the official Fedora team such as DVD playback, media playback, software from GNOME and KDE work, etc. This is because of licensing, other legal reasons, and country-specific software norms. + +The RPM Fusion provides .rpm packages for Red Hat Enterprise Linux as well alongside Fedora. + +This guide explains the steps you need to enable the RPM Fusion repo in Fedora Linux. This guide applies to all Fedora release versions. + +This is tested in all the current supported Fedora versions – 35, 36 and 37. + +![RPM Fusion][2] + +### How to Enable RPM Fusion Repo in Fedora Linux, RHEL, CentOS + +RPM Fusion has two flavours of the repo. Free and non-Free. + +The Free one, as its name says, contains a free version of software packages and the non-free ones contain compiled packages of closed source and “non-commercial” open-source software. + +Before you proceed, first check whether you have RPM fusion installed. Open up a terminal and run the below command. + +``` +dnf repolist | grep rpmfusion +``` + +If RPM is installed, you should see a message like the one below. Then no need to proceed at all. If it is not installed, you may proceed with the following steps. + +![RPM-Fusion-Already-Installed-][3] + +Open a terminal and run the below commands as per your operating system versions. Please note that the commands contain both a free and non-free version. If you want, you can omit either one from below while running. + +#### Fedora + +``` +sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm +``` + +``` +sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm +``` + +#### Silverblue with rpm-ostree + +``` +sudo rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm +``` + +``` +sudo rpm-ostree install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm +``` + +#### RHEL 8 + +``` +sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +``` +sudo dnf install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm +``` + +``` +sudo dnf install --nogpgcheckhttps://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm +``` + +``` +sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-$(uname -m)-rpms" +``` + +#### CentOS 8 + +``` +sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +``` +sudo dnf install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm +``` + +``` +sudo dnf install --nogpgcheckhttps://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm +``` + +``` +sudo dnf config-manager --enable PowerTools +``` + +### Additional Instructions + +* RPM Fusion also provides to help users install packages from GNOME Software or KDE Discover. To enable it in Fedora, run the below command. + +``` +sudo dnf groupupdate core +``` + +* You can also enable RPM Fusion to play multimedia files that use gstreamer, and additional multimedia playback packages via the below command. + +``` +sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin +``` + +``` +sudo dnf groupupdate sound-and-video +``` + +* Enable RPM Fusion to play a DVD that uses libdvdcss. + +``` +sudo dnf install rpmfusion-free-release-taintedsudo dnf install libdvdcss +``` + +* Enable RPM Fusion to enable non-FLOSS hardware packages via the below command. + +``` +sudo dnf install rpmfusion-nonfree-release-taintedsudo dnf install *-firmware +``` + +After running the commands, if you are using Fedora or CentOS/RHEL – run the below commands before rebooting. + +``` +sudo dnf check-updatesudo dnf update +``` + +### How to remove repo using dnf + +If you want to remove the repository, follow the steps below. + +First, check using the below command to view the repo list added to your Fedora system. + +``` +dnf repolist +``` + +![dnf repolist][4] + +As you can see, both rpmfusion free and non-free repo is added. To remove it via dnf, you need to know precisely the repo file name using the following command. + +``` +rpm -qa 'rpmfusion*' +``` + +This would list the exact name of the repo. In the example, they are ‘rpmfusion-free-release’. + +![remove rpmfusion from fedora][5] + +Now you can simply run the below command to remove it. + +``` +sudo dnf remove rpmfusion-free-release +``` + +You can repeat the above example to remove rpmfusion from Fedora, also, use this to remove any other repo from your system. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/enable-rpm-fusion-fedora-rhel-centos/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://rpmfusion.org/ +[2]: https://www.debugpoint.com/wp-content/uploads/2020/07/rpmfusion.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2020/07/RPM-Fusion-Already-Installed-.png +[4]: https://www.debugpoint.com/wp-content/uploads/2020/07/dnf-repolist.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2020/07/remove-rpmfusion-from-fedora.jpg From d93bbc642503dfdbb5c4c17cddb2e27077a88c5c Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Wed, 5 Oct 2022 22:28:42 +0100 Subject: [PATCH 076/170] translate --- ...iver for Apple Silicon is Almost Ready!.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md b/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md index 1110ab464b..199e9fff73 100644 --- a/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md +++ b/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md @@ -7,39 +7,39 @@ [#]: publisher: " " [#]: url: " " -A Native Linux GPU Driver for Apple Silicon is Almost Ready! +一个适用于 Apple Silicon 的原生 Linux GPU 驱动程序几乎准备就绪! ====== -A native Linux GPU driver on Apple M1? It's almost here! +苹果 M1 上的原生 Linux GPU 驱动?它就快来了! -![A Native Linux GPU Driver for Apple Silicon is Almost Ready!][1] +![一个适用于 Apple Silicon 的原生 Linux GPU 驱动程序几乎准备就绪!][1] 。 -Making Linux work on an Apple silicon-powered device is what many of us want! +让 Linux 在 Apple Silicon 设备上工作是我们很多人的愿望! -Thanks to [Asahi Linux project][2], it is now a reality for testers. Sure, it is not ready for prime time, but if you are an advanced Linux user, you could try Linux on Apple M1/M2 devices right now. +感谢 [Asahi Linux 项目][2],它现在对测试人员来说已经成为现实。当然,它还没有准备好进入黄金时代,但如果你是一个高级 Linux 用户,你现在就可以在苹果 M1/M2 设备上尝试 Linux。 -Now, an exciting progress by **Asahi Lina**, a Linux developer, has all our attention. +现在,Linux 开发者 **Asahi Lina** 的一个令人兴奋的进展引起了我们所有人的注意。 -**We might have a working native GPU driver written in Rust sooner than expected.** +**我们可能会比预期更早地拥有一个用 Rust 编写的原生 GPU 驱动程序。** -### So, What Does This Mean? +### 所以,这意味着什么? -A couple of months ago, Asahi Lina joined the Asahi Linux project and started [developing a prototype driver][3] to run graphics applications on Linux. +几个月前,Asahi Lina 加入了 Asahi Linux 项目,并开始[开发一个驱动程序原型][3]以在 Linux 上运行图形应用程序。 -Now, with more tweaks and some amazing dedication by Asahi Lina to reverse engineer the M1 GPU hardware interface, she has managed to run GNOME, KDE apps, YouTube on Firefox, and more on an Apple M1 chip! +现在,通过更多的调整和一些来自 Asahi Lina 对 M1 GPU 硬件接口的逆向工程的惊人的贡献,她已经成功地在苹果 M1 芯片上运行 GNOME、KDE 应用程序、Firefox 上的 YouTube 等! -Here's what she [tweeted][4]: +以下是她 [推特][4] 的内容: -Note that this hasn't been tested with Apple M2 yet. +需要注意的是,这还没有在苹果 M2 上测试过。 -Here's the video stream where you get to see it in action: +这里还有个视频,你可以看到它运行的情况: -![IT WORKS! GNOME, Firefox, KDE apps, everything!!!!][5] +![它工作了!GNOME, Firefox, KDE App 和所有东西!!!!][5] -She also explains: +她还解释说: -Of course, this is an early development when we do not even have Rust implementation with the Linux Kernel. So, probably you would see this getting closer to reality with Linux Kernel 6.1 or newer when Rust starts getting to the mainline releases. +当然,这还只是位于早期的开发,我们甚至没有在 Linux 内核中拥有 Rust 实现。所以,当 Rust 开始进入主线版本时,也就是 Linux 内核 6.1 或更新版本时,你可能会看到它越来越接近现实。 -Nevertheless, this is an incredible milestone for Asahi Linux. With some of the developments, users must be anxious to try Linux on Apple silicon-powered devices. +尽管如此,这对 Asahi Linux 来说是一个不可思议的里程碑。随着一些发展,用户一定急于在 Apple Silicon 设备上尝试Linux。 -------------------------------------------------------------------------------- From bfbb3adfe82d7d247d5cfed4867ae2255f58093f Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Wed, 5 Oct 2022 22:29:55 +0100 Subject: [PATCH 077/170] mv --- ... Native Linux GPU Driver for Apple Silicon is Almost Ready!.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md (100%) diff --git a/sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md b/translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md similarity index 100% rename from sources/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md rename to translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md From a61aa41b0c229f06f2eb0c08388d6f18a4b13cc1 Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Wed, 5 Oct 2022 19:34:48 -0400 Subject: [PATCH 078/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90]?= =?UTF-8?q?=20[news]=2020220930=20[Exclusive]=20Tuxedo=20Makes=20Ubuntu-ba?= =?UTF-8?q?sed=20-TUXEDO=20OS-=20Available=20For=20All.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntu-based -TUXEDO OS- Available For All.md | 98 +++++++++---------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md b/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md index b89fb3b2fb..7b03b0b6b7 100644 --- a/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md +++ b/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md @@ -7,104 +7,104 @@ [#]: publisher: " " [#]: url: " " -[Exclusive] Tuxedo Makes Ubuntu-based 'TUXEDO OS' Available For All +[独家] Tuxedo 已对所有用户开放基于 Ubuntu 的 'TUXEDO OS' ====== -TUXEDO OS is an Ubuntu-based distro aiming to bring TUXEDO's expertise with Linux to non-TUXEDO users as well. +TUXEDO OS 是一个基于 Ubuntu 的 Linux 发行版,旨在将 TUXEDO 在 Linux 方面的专业知识也带给非 TUXEDO 用户。 -![[Exclusive] Tuxedo Makes Ubuntu-based 'TUXEDO OS' Available For All][1] +![[独家] Tuxedo 已对所有用户开放基于 Ubuntu 的 'TUXEDO OS'][1] -Yet another Ubuntu distro? 😕 +又一个基于 Ubuntu 的 Linux 发行版?😕 -Not exactly! **TUXEDO Computers** is a hardware manufacturer famous for its Linux-focused laptops and computers. +不完全是!**TUXEDO Computers** 是一家硬件制造商,以其专注于 Linux 的笔记本电脑和计算机而闻名。 -**There are some interesting differences between TUXEDO OS and Ubuntu**. +**TUXEDO OS 与 Ubuntu 之间存在着有趣的一些差异**。 -While they already had TUXEDO OS as a choice to have pre-installed on their laptops/computers, it was not available for everyone. +虽然他们已经在笔记本电脑/计算机上提供预装 TUXEDO OS 的选项,但是它并未对所有人开放。 -Finally, they have decided to make the first version of their distribution available as **TUXEDO OS 1,**which is now available to download. +终于,他们决定将其发行版的第一个版本作为 **TUXEDO OS 1** 开放,该版本现已可供下载。 -This means you can try it on your own, non-TUXEDO system. +这也意味着您可以在自己的非 TUXEDO 系统上试用它。 -So, something like System76's approach for Pop!_OS, which is not a bad thing 👌 +所以这个思路很像 System76 的 Pop!_OS,所以这并不算一件坏事 👌 -### 'TUXEDO OS 1' With KDE +### 'TUXEDO OS 1' 搭配 KDE -![tuxedo homescreen][2] +![tuxedo 桌面][2] -TUXEDO OS 1 is based on[Ubuntu 22.04 LTS][3]; it should have no issues running on most devices. +TUXEDO OS 1 是基于 [Ubuntu 22.04 LTS][3] 的; 所以它应该可以直接在大多数设备上运行。 -Unlike System76's Pop!_OS, TUXEDO OS features [KDE Plasma 5.24.6][4]. So, it should present a familiar user interface to Windows users as well. +与 System76 的 Pop!_OS 不同,TUXEDO OS 搭载了 [KDE Plasma 5.24.6][4]。因此,它应当提供了一个 Windows 用户也较为熟悉的用户界面。 -However, TUXEDO OS includes extras like TUXEDO Control Center to fine-tune your hardware (CPU/Fan, etc) and TUXEDO Tomte, a configuration service for resolving driver/missing package issues, which may/may not work on other hardware configurations. +但是,TUXEDO OS 还包括一些额外的功能,例如 TUXEDO 控制中心,用于微调您的硬件(CPU/风扇等)和 TUXEDO Tomte,一个配置服务,用于解决驱动程序/缺少包问题,但是它可能/可能不适用于其他硬件配置。 -With that being said, let us look at TUXEDO OS and what it offers. +话虽如此,让我们看看 TUXEDO OS 及其提供的功能。 -### TUXEDO OS, KDE-Powered Customized Ubuntu Experience +### TUXEDO OS,基于 KDE 的定制化 Ubuntu 体验 -The user experience is the same as expected with any KDE-powered Ubuntu distro. +用户体验正如预期一样,与任何基于 KDE 的 Ubuntu 发行版相同。 -However, you will find TUXEDO branding with its red accent for the applications and menu. It features a refreshing wallpaper too. +但是,您会发现应用和菜单的 TUXEDO 商标带有红色调。它还具有令人耳目一新的壁纸。 -![tuxedo menu][5] +![tuxedo 菜单][5] -Not just limited to a customized KDE Plasma theme, there are more things in the work here. Some of the differences include: +除了定制化的 KDE Plasma 主题,还有一些其他的变化,例如: -* It uses PipeWire as the audio server instead of PulseAudio. -* os-prober feature enabled in GRUB to let users conveniently detect other operating systems installed. -* .deb as the preferred package format with Snap disabled by default. -* Canonical URL removed from the NetworkManagerConnectivity check. +* 它使用了 PipeWire 作为声音服务器,而不是 PulseAudio。 +* GRUB 中启用了 os-prober 功能,让用户可以方便地检测已安装的其他操作系统。 +* .deb 作为首选的软件包格式,而 Snap 默认情况下被禁用。 +* 从 NetworkManagerConnectivity 检查中移除了标准链接。 -#### Software availability? +#### 软件可用性? -You can expect the availability of all popular software tools through the Discover app, where you can find Ubuntu's repositories, and TUXEDO's repository enabled. +您可以通过 Discover 应用程序找到所有流行的软件工具,其中包括 Ubuntu 的仓库和 TUXEDO 的仓库。 -It includes essential apps like **Firefox, Thunderbird, LibreOffice, VLC, Lutris, and Heroic Games Launcher**. So, I do not think you will find them as bloatware. +它包含了 **Firefox、Thunderbird、LibreOffice、VLC、Lutris 和 Heroic Games Launcher** 等必备应用程序。所以我认为您不会觉得它们很臃肿。 -![tuxedo discover app][10] +![tuxedo discover 应用][10] -I also noticed that it has Flatpak integration enabled by default. +我还注意到它默认启用了 Flatpak 集成。 -You can learn more about the available software on their [official webpage][11]. +您可以在他们的 [官方网页][11] 上了解有关可用软件的更多信息。 -#### This also brings us to an important highlight: +#### 这也给我们带来了一个重要的亮点: -❌ TUXEDO OS does not ship with Snap as default. For Firefox, it ships with the deb package instead, just like Linux Mint. +❌ TUXEDO OS 不会默认安装 Snap。对于 Firefox,它会像 Linux Mint 一样附带 deb 包安装。 -✅ It is worth noting that TUXEDO OS 22.04 LTS comes with Nvidia drivers out of the box. +✅ 值得注意的是,TUXEDO OS 22.04 LTS 附带了 Nvidia 驱动程序。 -So, I had no trouble installing it on my system with RTX 3060 Ti graphics. +因此,我可以毫不费力地将它安装在带有 RTX 3060 Ti 显卡的系统上。 -### TUXEDO Extras +### TUXEDO 附加功能 -As mentioned above, TUXEDO OS comes along with a few extras tailored to enhance your experience with Tuxedo hardware. +如上所述,TUXEDO OS 附带了一些专为增强 Tuxedo 硬件的体验而量身定制的附加功能。 -The control center is an excellent tool to monitor your system, choose a power profile, control external water cooling ([TUXEDO Aquaris][12]), and more. +控制中心是监控您的系统、选择电源配置文件、控制外部水冷 ([TUXEDO Aquaris][12]) 等的绝佳工具。 -![tuxedo control center][13] +![tuxedo 控制中心][13] -While the control center is not tailored for non-TUXEDO devices, it still works for the most part. +虽然控制中心不是为非 TUXEDO 设备量身定制的,但它在大多数情况下仍然能够正常工作。 -There's also a TUXEDO WebFAI creator app (a customized BalenaEtcher experience) to prepare a Pendrive for OS installation. +还有一个 TUXEDO WebFAI 创建者程序(定制的 BalenaEtcher 体验)来烧录用于操作系统安装的 U 盘。 ![tuxedo webfai][14] -Not to forget, TUXEDO Tomte, which fails to work on my system but works well with TUXEDO devices as a configuration service: +还有,不要忘记 TUXEDO Tomte,它无法在我的系统上运行,但可以很完美的在 TUXEDO 设备上作为配置服务运行: ![][15] -### Download TUXEDO OS 1 +### 下载 TUXEDO OS 1 -TUXEDO OS is a pretty polished experience. The team behind TUXEDO has had significant experience making Linux work on some of their latest laptops. So, you can be confident about your experience with their Linux distribution. +TUXEDO OS 带来了非常精致的体验。 TUXEDO 背后的团队在让 Linux 运行在他们的一些最新笔记本电脑上拥有丰富的经验。因此,使用他们的 Linux 发行版,您可以对自己的体验充满信心。 -You can also find an official article on [getting started with TUXEDO OS][16] if you are curious. +如果您有兴趣,还可以找到关于 [TUXEDO OS 入门][16] 的官方文章。 -**TUXEDO OS 1 is a good option if you want a customized Ubuntu experience with KDE.** +**如果您希望获得一个基于 KDE 的定制化 Ubuntu 体验,TUXEDO OS 1 是一个不错的选择。** -You can support their initiatives by using it, which might encourage you to get a TUXEDO device; you never know, right? +您可以通过使用它来支持他们的计划,这可能会让您决定购买一台 TUXEDO 设备;您永远不知道以后会发生什么,对吧? -You can download it from its official website and share your thoughts in the comments below. +您可以从其官方网站下载它,并在下方的评论区中分享您的想法。 -[Download TUXEDO OS 1][17] +[下载 TUXEDO OS 1][17] -------------------------------------------------------------------------------- From e6b5e1c8c3d2d6d14087a0569bdac4acabd642c9 Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Wed, 5 Oct 2022 19:35:59 -0400 Subject: [PATCH 079/170] =?UTF-8?q?[=E7=A7=BB=E5=8A=A8=E7=BF=BB=E8=AF=91]?= =?UTF-8?q?=20[news]=2020220930=20[Exclusive]=20Tuxedo=20Makes=20Ubuntu-ba?= =?UTF-8?q?sed=20-TUXEDO=20OS-=20Available=20For=20All.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ve] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md (100%) diff --git a/sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md b/translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md similarity index 100% rename from sources/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md rename to translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md From ee2b8356cd9baba7dad2ff8e274194dcf9cb064b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 6 Oct 2022 09:27:42 +0800 Subject: [PATCH 080/170] =?UTF-8?q?=E6=B8=85=E9=99=A4=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=96=B0=E9=97=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tting Ready for LoongArch Linux Laptops.md | 71 ---------- ...mebook Launched by Framework and Google.md | 95 ------------- ...rce C++ And Python Library, TensorStore.md | 40 ------ ...ugin Marketplace, Live Viewer, and More.md | 132 ------------------ ...Red Hat Rolls Out OpenStack Platform 17.md | 36 ----- ...You Can Now Use Ubuntu Desktop on Cloud.md | 95 ------------- 6 files changed, 469 deletions(-) delete mode 100644 sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md delete mode 100644 sources/news/20220923 A Modular Chromebook Launched by Framework and Google.md delete mode 100644 sources/news/20220927 Google Unveils An Open Source C++ And Python Library, TensorStore.md delete mode 100644 sources/news/20220927 ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More.md delete mode 100644 sources/news/20220930 Red Hat Rolls Out OpenStack Platform 17.md delete mode 100644 sources/news/20220930 Wow! You Can Now Use Ubuntu Desktop on Cloud.md diff --git a/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md b/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md deleted file mode 100644 index 2b47754d51..0000000000 --- a/sources/news/20220920 Loongson is Getting Ready for LoongArch Linux Laptops.md +++ /dev/null @@ -1,71 +0,0 @@ -[#]: subject: "Loongson is Getting Ready for LoongArch Linux Laptops" -[#]: via: "https://news.itsfoss.com/loongson-loongarch-linux-laptops/" -[#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Loongson is Getting Ready for LoongArch Linux Laptops -====== -The Chinese manufacturer is working on a Linux laptop series based on LoongArch processors. - -![Loongson is Getting Ready for LoongArch Linux Laptops][1] - -Don't confuse it with Arch Linux :) - -**LoongArch is a CPU architecture by Loongson Technology.** - -Recently, Loongson added the initial support for LoongArch CPU architecture in [Linux Kernel 5.19][2]. - -If you are curious, **LoongArch has similar attributes to RISC-V**. You can also call it a new RISC ISA (Instruction Set Architecture). - -Want more technical details? The Linux Kernel's [documentation][3] is your friend. - -While it is not popular, a new CPU architecture support is always welcome and opens up various opportunities with new hardware. - -### Chinese Manufacturer Gearing Up for Linux Laptops - -It seems like Loongson Technology, the computer hardware manufacturer responsible for the LoongArch CPU architecture, is preparing new Linux laptops featuring the same. - -![[LoongArch] Unbox THE NEWEST LOONGSON LAPTOP —— Loongson 3A5000][4] - -**What this means**: You will soon get to see LoongArch laptops running Linux out-of-the-box. - -Of course, considering it as a Chinese vendor, it is unlikely to be available everywhere. But you never know, right? - -Lenovo and Huawei are some of the most prominent Chinese manufacturers producing Linux laptops. Considering the market for Linux laptops is not as crowded, Loongson coming up with its product offering sounds good. - -[13 Places to Buy Linux Laptops in 2021][5] - -**Loongson adding a driver to Linux:**They are adding code to the Linux Kernel, i.e., in the form of an ACPI-based "**loongson-laptop**" driver, as spotted by [Phoronix][7]. This could be a part of the upcoming [Linux 6.0 release][8]. - -The code addition also mentions that some are derived from Thinkpad's ACPI configuration, which should not be surprising. - -**Joining the RISC-V race early**: Considering much hope for RISC-V computers as the next major leap in computing, I think Loongson wants to compete in that space, preparing its similar CPU architecture for the real world. - -Loongson is not famous for its laptops or their performance in them. So, it will be interesting to see how it unfolds shortly. - -💬 *What do you think about LoongArch Linux laptops? Let me know your thoughts in the comments.* - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/loongson-loongarch-linux-laptops/ - -作者:[Ankush Das][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/ankush/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/loongsoon-loongarch-linux-laptops.jpg -[2]: https://news.itsfoss.com/linux-kernel-5-19-release/ -[3]: https://docs.kernel.org/loongarch/introduction.html -[4]: https://youtu.be/a5KZRvSgzUc -[5]: https://itsfoss.com/get-linux-laptops/ -[7]: https://www.phoronix.com/news/Loongson-LoongArch-Laptop-Prep -[8]: https://news.itsfoss.com/linux-kernel-6-0-reveal/ diff --git a/sources/news/20220923 A Modular Chromebook Launched by Framework and Google.md b/sources/news/20220923 A Modular Chromebook Launched by Framework and Google.md deleted file mode 100644 index cd63d69ee9..0000000000 --- a/sources/news/20220923 A Modular Chromebook Launched by Framework and Google.md +++ /dev/null @@ -1,95 +0,0 @@ -[#]: subject: "A Modular Chromebook Launched by Framework and Google" -[#]: via: "https://news.itsfoss.com/chromebook-framework/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -A Modular Chromebook Launched by Framework and Google -====== -The first modular Chromebook ever? Built by Framework in collaboration with Google. Check this out. - -![A Modular Chromebook Launched by Framework and Google][1] - -[Framework][2] has launched a Chromebook in collaboration with Google; the main focus of their products has always been to provide repairable and modular laptops. - -With the launch of this laptop, they have implemented the same formula as their previous laptops, but with a touch of Google in the form of ChromeOS. - -Let's see what they have on offer. - -### Framework Laptop Chromebook Edition - -![framework laptop chromebook edition][3] - -The laptop runs ChromeOS and is a user-serviceable laptop with a very high degree of modularity. - -It is based on the existing '[Framework Laptop][4],' with a milled aluminum chassis, that can comfortably house all the parts and keeps the weight in check at 1.3 kg. - -Users can choose from a host of different options, such as switching out memory and storage or the ability to choose which ports they want and where they want those. - -![framework laptop chromebook edition repairability][5] - -You can choose from a variety of RAM options ranging from 8 GB to 64 GB, in terms of storage, users can install up to a 1 TB NVMe SSD and an additional SSD of either 250 GB or 1 TB capacity. The default configuration comes with 256 GB of storage. - -Being a modular laptop, you can choose your ports, like USB-C, USB-A, HDMI, or Ethernet, and have them on any side you want. - -![port selection framework][6] - -By providing these user-friendly modularities and using post-consumer recycled materials, Framework offers a very sustainable product compared to its competitors. - -![framework laptop chromebook edition pcr materials][7] - -Regarding privacy, the Chromebook has two hardware privacy switches that cut power from the camera and the microphones to disable any access. - -![framework laptop chromebook edition hardware privacy switches][8] - -#### Specifications - -The Framework Laptop Chromebook Edition is powered by a **12-core Intel i5-1240P**, which can turbo up to 4.4 GHz; it also features Intel's Iris Xe graphics for running graphical workloads. - -Other notable highlights include: - -* 13.5-inch display (2256x1504) with 100% sRGB support and a 3:2 aspect ratio. -* 55Wh battery. -* Set of 80dB Stereo 2W Speakers. -* Backlight keyboard with 1.5 mm key travel. -* Support for WiFi 6E. -* 1080p 60FPS webcam. - -#### Availability & Pricing - -The laptop is up for pre-order starting at **$999** on their [official website][9]; it is currently limited to buyers from the US and Canada only. - -[Framework Chromebook][10] - -They are expecting shipments to begin in early December and are offering a fully-refundable **$100 deposit to pre-book** the laptop. - -Framework seems to have taken the right step in attracting users to its product by offering a specific ChromeOS version of its existing laptop, especially after Google has seemingly stopped any further development on their ChromeOS laptops, the Pixelbook series. - -💬 *What do you think? Can this be a viable alternative compared to the other Chromebooks in the market?* - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/chromebook-framework/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/framework-chromebook-laptop.jpg -[2]: https://frame.work/ -[3]: https://news.itsfoss.com/content/images/2022/09/framework_laptop_chromebook_edition.png -[4]: https://frame.work/products/laptop-12-gen-intel -[5]: https://news.itsfoss.com/content/images/2022/09/framework_laptop_chromebook_edition_repairability.png -[6]: https://news.itsfoss.com/content/images/2022/09/expansion-cards.jpg -[7]: https://news.itsfoss.com/content/images/2022/09/framework_laptop_chromebook_edition_pcr_materials.png -[8]: https://news.itsfoss.com/content/images/2022/09/framework_laptop_chromebook_edition_privacy.png -[9]: https://frame.work/products/laptop-chromebook-12-gen-intel -[10]: https://frame.work/products/laptop-chromebook-12-gen-intel diff --git a/sources/news/20220927 Google Unveils An Open Source C++ And Python Library, TensorStore.md b/sources/news/20220927 Google Unveils An Open Source C++ And Python Library, TensorStore.md deleted file mode 100644 index 6f8f136861..0000000000 --- a/sources/news/20220927 Google Unveils An Open Source C++ And Python Library, TensorStore.md +++ /dev/null @@ -1,40 +0,0 @@ -[#]: subject: "Google Unveils An Open Source C++ And Python Library, TensorStore" -[#]: via: "https://www.opensourceforu.com/2022/09/google-unveils-an-open-source-c-and-python-library-tensorstore/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Google Unveils An Open Source C++ And Python Library, TensorStore -====== -*TensorStore, an open source software library written in C++ and Python for the storage and manipulation of n-dimensional data.* - -Multidimensional datasets that span a single broad coordinate system are used in a variety of contemporary computer science and machine learning applications. Examples include forecasting the weather using air measurements over a grid of locations or predicting medical imaging outcomes using multi-channel image intensity values from a 2D or 3D scan. These datasets can be difficult to work with since users frequently wish to run studies on multiple workstations at once and may receive and write data at unpredictable intervals and varied scales. Under these conditions, even a single dataset might require petabytes of storage. - -Google’s TensorStore has already been used to solve fundamental engineering issues in scientific computing related to the administration and processing of big datasets in neuroscience. To solve the issue of storing and manipulating n-dimensional data, Google Research created the open source TensorStore C++ and Python software package. Numerous storage systems, including local and network filesystems, Google Cloud Storage, etc. are supported by this module. It provides a uniform API that can read and write a variety of array types. The library offers read/writeback caching, transactions, and a robust atomicity, isolation, consistency, and durability (ACID) guarantee. Concurrency that is optimistic guarantees secure access from several processes and systems. - -TensorStore offers a straightforward Python API that can be used to load and manipulate huge arrays of data. Due to the fact that no actual data is read or maintained in memory until the specific slice is needed, arbitrary large underlying datasets can be loaded and edited without having to store the entire dataset in memory. The syntax for indexing and manipulation, which is much the same as that used for NumPy operations, makes this possible. TensorStore also supports virtual views, broadcasting, alignment, and other advanced indexing features (data type conversion, downsampling, lazily on-the-fly generated arrays). - -Processing and analysing large numerical datasets requires a lot of processing power. Typically, this is done by parallelizing activities among a large number of CPU or accelerator cores dispersed across multiple devices. Since reading and writing to TensorStore does not become a bottleneck during computation, one of TensorStore’s key goals has been to enable simultaneous processing of specific datasets while maintaining good performance (by preventing corruption or inconsistencies resulting from concurrent access patterns). - -Additionally, TensorStore includes an asynchronous API that enables read or write operations to go concurrently. The application also does various operations and customisable in-memory caching at the same time (which decreases slower storage system interactions for frequently accessed data). When multiple machines are accessing the same dataset, optimistic concurrency protects the security of parallel operations. Without significantly reducing performance, it maintains compatibility with a number of underlying storage layers. In order to make TensorStore distributed computing compatible with many existing data processing workflows, TensorStore has also been integrated with parallel computing frameworks like Apache Beam and Dask. - -PaLM and other advanced big language models are among the exciting TensorStore application cases. With their hundreds of billions of parameters, these neural networks push the boundaries of computing infrastructure while displaying unexpected ability in producing and understanding plain language. During this training process, accuracy in reading and writing the model parameters provides a challenge. Despite the fact that training is distributed across many workstations, it is required to regularly store parameters to a single checkpoint on a long-term storage system without causing the training process to lag. TensorStore has already been used to resolve these problems. Large-scale (“multipod”) models trained using JAX have been connected to checkpoints using this framework, which has been integrated with frameworks like T5X and Pathways. - -An other fascinating application is brain mapping. The goal of synapse-resolution connectomics is to map the complex network of individual synapses in the brains of both animals and people. Petabyte-sized datasets are required for this, which are created by imaging the brain at a very high resolution with fields of view as small as a millimetre or more. Current datasets, however, present major storage, manipulation, and processing challenges because they require millions of gigabytes to store, modify, and process data inside a coordinate system. TensorStore has been utilised to handle the computational challenges provided by some of the biggest and most well-known connectomic datasets, with Google Cloud Storage acting as the underlying object storage system. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/google-unveils-an-open-source-c-and-python-library-tensorstore/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed diff --git a/sources/news/20220927 ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More.md b/sources/news/20220927 ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More.md deleted file mode 100644 index 6705623795..0000000000 --- a/sources/news/20220927 ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More.md +++ /dev/null @@ -1,132 +0,0 @@ -[#]: subject: "ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More" -[#]: via: "https://news.itsfoss.com/onlyoffice-7-2-release/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More -====== -ONLYOFFICE 7.2 includes essential upgrades with usability improvements and interesting features. - -![ONLYOFFICE 7.2 Introduces Plugin Marketplace, Live Viewer, and More][1] - -ONLYOFFICE is an open-source office suite that offers a lot of utility in a relatively small package. - -This follows the previous major release of [ONLYOFFICE 7.1][2] and offers quite a few improvements. - -Let's see what is on offer. - -### ONLYOFFICE 7.2 Docs: What's New? - -![ONLYOFFICE Docs 7.2 — what's new?][3] - -ONLYOFFICE 7.2 introduces many improvements to Docs and a few enhancements to the spreadsheet editor. - -Some of the key highlights include: - -* Live Viewer -* Plugin Marketplace -* New Interface Theme -* Ligature Support -* Spreadsheet Improvements - -#### Live Viewer - -![onlyoffice 7.2 live viewer][4] - -This feature lets users view changes made to a document by other collaborators in real-time. - -Do note that this feature is only made available to server users. - -![][5] - -![][6] - -#### Plugin Marketplace - -![onlyoffice 7.2 plugin marketplace][7] - -ONLYOFFICE 7.2 features a dedicated marketplace for getting plugins; this makes it very straightforward for users to install and remove plugins. - -#### Ligature Support - -![onlyoffice 7.2 ligature support][8] - -Ligature allows merging multiple symbols into one. It has been added with ONLYOFFICE 7.2, which results in new language support, including Hindi, Bengali, Portuguese and more. - -#### Usability Improvements - -![onlyoffice 7.2 new theme][9] - -Usability improvements to ONLYOFFICE include a new interface theme named 'Dark Contrast', the ability to switch to dark or light mode according to the system theme. - -Additionally, you will find a bunch of new interface languages, such as Portuguese, Basque, Malay, etc., made possible due to the support for ligatures. - -#### Spreadsheet Improvements - -![onlyoffice 7.2 spreadsheet improvements][12] - -A quick switcher option has been added to let users switch their diagrams or charts between rows and columns. - -The 1904 date system has also been added, with the ability to share a link to a data range with other users. - -Another significant addition is the ability to insert a spreadsheet into a text document or presentation. - -![onlyoffice 7.2 insert spreadsheet][13] - -#### Other Refinements - -![Introducing ONLYOFFICE 7.2: Detailed feature overview][14] - -There are several other enhancements. Some of them include: - -* Updated search/replace tool -* New hotkeys for paste special -* Ability to rename files via title in the editors. -* Support for PPSX presentations for viewing. -* More intuitive advanced settings. - -You can learn more about this release by reading the [full changelog][15]. - -### Download ONLYOFFICE 7.2 - -ONLYOFFICE 7.2 is available for various platforms, you can head to its [downloads page][16] to find options for Docker, Windows, AWS Cloud, and more. - -[Download ONLYOFFICE 7.2][17] - -If you want it for personal use, you can head to its [free ONLYDESKTOP apps][18] section to download it for your desktop or mobile device. It is available for Windows, Linux, and macOS. - -*💬 What do you think of ONLYOFFICE 7.2? Do the improvements sound good to you?* - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/onlyoffice-7-2-release/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/onlyoffice-7-2-release.png -[2]: https://news.itsfoss.com/onlyoffice-7-1-release/ -[3]: https://youtu.be/wF0qB78hRo8 -[4]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_Live_Viewer.gif -[5]: http://proton.go2cloud.org/aff_c?offer_id=15&aff_id=1173 -[6]: http://proton.go2cloud.org/aff_c?offer_id=15&aff_id=1173 -[7]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_Plugin_Manager-1.png -[8]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_Ligatures-1.png -[9]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_New_Theme-1.png -[12]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_LinktoRange-1.png -[13]: https://news.itsfoss.com/content/images/2022/09/ONLYOFFICE-7.2_Insert_Spreadsheet.gif -[14]: https://youtu.be/Aul3xxZeAdc -[15]: https://github.com/ONLYOFFICE/DocumentServer/blob/master/CHANGELOG.md#720 -[16]: https://www.onlyoffice.com/download-docs.aspx -[17]: https://www.onlyoffice.com/download-desktop.aspx#desktop -[18]: https://www.onlyoffice.com/download-desktop.aspx#desktop diff --git a/sources/news/20220930 Red Hat Rolls Out OpenStack Platform 17.md b/sources/news/20220930 Red Hat Rolls Out OpenStack Platform 17.md deleted file mode 100644 index af0e1bd145..0000000000 --- a/sources/news/20220930 Red Hat Rolls Out OpenStack Platform 17.md +++ /dev/null @@ -1,36 +0,0 @@ -[#]: subject: "Red Hat Rolls Out OpenStack Platform 17" -[#]: via: "https://www.opensourceforu.com/2022/09/red-hat-rolls-out-openstack-platform-17/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Red Hat Rolls Out OpenStack Platform 17 -====== -*Simple dependence on it by telecom behemoths like Verizon is the sole reason Red Hat keeps supporting the open source OpenStack cloud.* - -OpenStack, an open source Infrastructure-as-a-Service (IaaS) cloud, is still seen by some as being obsolete. They are utterly mistaken. OpenStack is the most widely used open-source cloud, according to Statista. The fact that OpenStack is the lifeblood of the telecom industry, including Verizon cellular and 5G networks, is even more significant for Red Hat. So it should come as no surprise that Red Hat highlighted the relationship between OpenStack and telecom while announcing Red Hat OpenStack Platform (RHOP) 17 on Wednesday at Mobile World Congress in Las Vegas. - -Red Hat also made a point of emphasising how closely it is collaborating with its Kubernetes-based OpenShift release with this release. Some people believe that OpenStack and Kubernetes are competitors. They aren’t. Red Hat is demonstrating how they may cooperate to benefit from both virtual machines and containers. - -“We have found over the last couple of years that the conversation is not a religious dispute between the two platforms but rather where their workloads are served best.” said Maria Bracho, lead product manager for OpenStack. Therefore, a virtualized control plane that uses OpenShift is now supported by OpenStack version 17. This makes it possible for customers to run virtual machines (VMs) and Kubernetes-based cloud-native services on the same cloud. - -Dynamic resource allocation is another feature of the revised OpenStack 17 that supports “lighter” deployments. These are deployments that don’t need as many services, such edge computing. - -The new RHOP will primarily appeal to the telecom industry, but it is still a reliable platform for other use cases. These consist of edge deployments, private clouds, and public clouds. Anyone who prefers to manage their own cloud over entrusting their services to a hypercloud provider like Amazon Web Services, Azure, or Google Cloud should give RHOP some thought. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/red-hat-rolls-out-openstack-platform-17/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed diff --git a/sources/news/20220930 Wow! You Can Now Use Ubuntu Desktop on Cloud.md b/sources/news/20220930 Wow! You Can Now Use Ubuntu Desktop on Cloud.md deleted file mode 100644 index 185612919b..0000000000 --- a/sources/news/20220930 Wow! You Can Now Use Ubuntu Desktop on Cloud.md +++ /dev/null @@ -1,95 +0,0 @@ -[#]: subject: "Wow! You Can Now Use Ubuntu Desktop on Cloud" -[#]: via: "https://news.itsfoss.com/ubuntu-amazon-workspaces/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Wow! You Can Now Use Ubuntu Desktop on Cloud -====== -Looking for a managed Ubuntu virtual desktop session on AWS? Now, it is available to try! - -![Wow! You Can Now Use Ubuntu Desktop on Cloud][1] - -[Amazon WorkSpaces][2] is a fully managed virtual desktop service that caters to enterprises and individuals looking to eliminate the hassle of maintaining, scaling, and managing specific hardware for work. - -Unfortunately, they did not have Ubuntu as one of their offerings. - -So, they partnered with Canonical to add an option for Ubuntu-based desktops. - -### Ubuntu as a Managed Virtual Desktop - -![ubuntu amazon workspace][3] - -Amazon WorkSpaces previously had Windows and [Amazon Linux][4]-based machines. - -It is a fully managed VDI (Virtual Desktop Infrastructure) service that lets enterprises set up a new virtual desktop in a matter of minutes in a very cost and time-effective manner. - -Adding Ubuntu as an option should help thousands of developers and enterprises. - -[Sébastien][5] (**Principal Developer Advocate @AWS**) gives an excellent example of how useful this can be: - -It is one of the most widely-used Linux distros and should appeal to many developers who use Ubuntu as their primary operating system to carry out development projects. - -It should help DevOps engineers, academic institutions, remote workers, and more. - -Canonical [mentions][6]: - -On launch, they are offering Ubuntu 22.04 LTS 'Jammy Jellyfish'. - -They have collaborated with [Canonical][9]to optimize the distro for cloud development and included the **AWS CLI and SDK**. - -### How to Create Ubuntu Amazon WorkSpace? - -![ubuntu amazon workspace][10] - -A few simple steps are to be followed to create an Ubuntu-based Amazon WorkSpace instance. - -First and foremost, you need to have an existing Amazon VPC server with at least two subnets. - -Then, sign in to the [Amazon WorkSpaces console][11], set up an active directory, and add new users with their relevant info. - -Now, on the '**Select Bundle**' page, select one of the 'Ubuntu Linux' options according to your use case. - -After setup is complete, users will automatically receive an email with all the essential details needed to access the Ubuntu-based Amazon WorkSpace instance. - -Additionally, if you are an individual or a small group of developers, you can use the "**Quick Setup**" option in the WorkSpace console to quickly set up an Ubuntu-based virtual desktop. - -For more details on the installation steps, you can refer to the [official documentation][12] and [AWS's announcement post][13]. - -### Pricing and Availability - -The Ubuntu-based Amazon WorkSpace bundle starts from **$23 per month or $0.18 per hour**. - -Pricing changes according to the region, with the cheapest options being 'US West' and 'US East'. - -Ubuntu-based virtual desktops are available across the globe, with servers being made available in the US, Africa, Asia Pacific, Canada, Europe, and South America. - -*💬 What do you think of this? Will you use the cloud to access Ubuntu for work from now on?* - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/ubuntu-amazon-workspaces/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/aws-adds-ubuntu-as-virtual-desktop-solution.png -[2]: https://aws.amazon.com/workspaces/ -[3]: https://news.itsfoss.com/content/images/2022/09/ubuntu-aws-virtual.png -[4]: https://news.itsfoss.com/amazon-linux-2022-preview/ -[5]: https://twitter.com/sebsto -[6]: https://ubuntu.com/blog/ubuntu-desktop-on-amazon-workspaces -[9]: https://canonical.com/ -[10]: https://news.itsfoss.com/content/images/2022/09/ubuntu-aws-remote.png -[11]: https://console.aws.amazon.com/workspaces/ -[12]: https://docs.aws.amazon.com/workspaces/ -[13]: https://aws.amazon.com/blogs/aws/amazon-workspaces-introduces-ubuntu-desktops/ From 8031f9f4f39087e06474aa0739337f2fa29a1576 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 6 Oct 2022 09:48:04 +0800 Subject: [PATCH 081/170] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @littlebirdnest 请对比我的校对,改进你的翻译质量。 --- ...ource Hexa Project As A Sandbox Project.md | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md b/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md index 9da06fae7e..e2178e0898 100644 --- a/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md +++ b/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md @@ -3,42 +3,45 @@ [#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" [#]: collector: "lkxed" [#]: translator: "littlebirdnest" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " CNCF 接受开源 Hexa 项目作为沙盒项目 ====== -多云访问策略的管理由开源身份标准和策略编排软件整合。 -根据 Strata Identity 的说法,Hexa 和 IDQL(身份查询语言)开源项目使组织能够在多个云平台上的任何应用程序中应用一致的访问策略,已被云原生计算基金会 (CNCF) 接受为沙盒项目,多云公司的身份编排:https ://www.cncf.io/projects/hexa/ +![](https://www.opensourceforu.com/wp-content/uploads/2022/09/open-source-banner-3-1536x825.png) -“Cloud Identity 非常分散,没有明确的路径可以跨不同的服务提供商平台协调策略管理,”TechVision Research 首席咨询分析师兼首席执行官 Gary Rowe 说。“IDQL 代表了在为基于云的 IAM 治理提供基于标准的方法方面向前迈出的重要一步。” +> 开源身份标准和策略协调软件巩固了对多云访问策略的管理。 -Linux 基金会的 CNCF 是一个致力于监督开源云原生计划的非营利组织。Versa Networks、S&P Global、Cummins、Kroger、MEF 和 Strata Identity 是 IDQL 和 Hexa 的作者和工作组参与者。有关如何帮助该项目的更多详细信息,请访问https://hexaorchestration.org。 +根据多云身份协调公司 Strata Identity 的说法,Hexa 和 IDQL(身份查询语言Identity Query Language)开源项目使组织能够在多个云平台上的应用程序中采用一致的访问策略,已被云原生计算基金会(CNCF)接受为沙盒项目:https://www.cncf.io/projects/hexa/ -目前,每个云平台(如 AWS、Google、Microsoft Azure 等)都使用一个独特的身份系统,该系统具有独特的策略语言,彼此完全不兼容。但是,每个应用程序都需要进行硬编码才能与特定的识别系统一起运行。根据 2022 年多云身份状况调查,只有 25% 的受访者表示他们了解多云访问限制,这对企业来说是一个重大障碍。 +“云身份Cloud Identity 是非常分散的,没有明确的路径来协调不同服务提供商平台的策略管理,” TechVision Research 首席咨询分析师兼首席执行官 Gary Rowe 说。“IDQL 代表了在为基于云的 IAM 治理提供基于标准的方法方面向前迈出的重要一步。” -基于公司创始人共同编写 SSO 联盟 SAML 标准的经验,Strata Identity 领导了 Hexa 和 IDQL 项目。这个新项目的目标是引入一个精心设计的开源策略编排框架,以增加组织、客户和软件提供商从转向现代、开放和无密码的身份验证方法中获利的可能性。 +Linux 基金会的 CNCF 是一个致力于监督开源云原生计划的非营利组织。Versa Networks、S&P Global、Cummins、Kroger、MEF 和 Strata Identity 都是 IDQL 和 Hexa 的作者和工作组参与者。有关如何帮助该项目的更多详细信息,请访问 https://hexaorchestration.org。 + +目前,每个云平台(如 AWS、谷歌云、微软 Azure 等)都使用一个独特的身份系统,采用独特的策略语言,彼此完全不兼容。而每个应用程序都需要进行硬编码才能与特定的识别系统一起运行。根据 2022 年多云身份状况调查,只有 25% 的受访者表示他们了解多云访问限制,这对企业来说是一个重大障碍。 + +基于该公司创始人共同编写 SSO 联盟 SAML 标准的经验,Strata Identity 领导了 Hexa 和 IDQL 项目。这个新项目的目标是引入一个精心设计的开源策略编排框架,以增加组织、客户和软件提供商从转向现代、开放和无密码的身份验证方法中获利的可能性。 在不改变识别系统或应用程序的情况下,IDQL 和 Hexa 允许任意数量的身份系统作为单个集成系统运行。这些开源计划共同提供了以下优势: -发现策略 +发现策略: * 对重要的应用程序、数据和策略进行分析和清点 * 发现可用的应用程序以及它们的位置 * 识别策略、用户和角色 -管理策略 +管理策略: -* 在策略发现期间,将本机命令式策略转换为声明性 IDQL 策略。 -* 在策略编排期间,将声明性 IDQL 策略转换为目标系统的本机命令式策略。 +* 在策略发现期间,将本机命令式策略转换为声明性 IDQL 策略 +* 在策略编排期间,将声明性 IDQL 策略转换为目标系统的本机命令式策略 -策略编排 +策略编排: -使用基于云的架构,无需代理、代理或本地代码; -使用基于云的架构,无需代理、代理或本地代码; -分发由身份提供者 (IdP)、云、IaaS 和网络系统强制执行的规则;– 采用可扩展的开源范例,允许定制连接器集成 +* 使用基于云的架构,无需代理、代理或本地代码; +* 分发的规则由身份提供者(IdP)、云、IaaS 和网络系统执行 +* 采用可扩展的开源范例,允许定制的连接器集成 -------------------------------------------------------------------------------- @@ -46,8 +49,8 @@ via: https://www.opensourceforu.com/2022/09/cncf-accepts-open-source-hexa-projec 作者:[Laveesh Kocher][a] 选题:[lkxed][b] -译者:[](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[littlebirdnest](https://github.com/littlebirdnest) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From a6cc3a7707900cb32cf148d498542a6f19cb8207 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 6 Oct 2022 09:48:30 +0800 Subject: [PATCH 082/170] P @littlebirdnest https://linux.cn/article-15109-1.html --- ...F Accepts Open Source Hexa Project As A Sandbox Project.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md (98%) diff --git a/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md b/published/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md similarity index 98% rename from translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md rename to published/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md index e2178e0898..4becf7574e 100644 --- a/translated/news/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md +++ b/published/20220914 CNCF Accepts Open Source Hexa Project As A Sandbox Project.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "littlebirdnest" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15109-1.html" CNCF 接受开源 Hexa 项目作为沙盒项目 ====== From e792c88889d7f16935d9bbb8ed25873497809a8f Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 6 Oct 2022 10:22:52 +0800 Subject: [PATCH 083/170] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @Cubik65536 感谢您,完成了第一篇翻译贡献 --- ...ntu-based -TUXEDO OS- Available For All.md | 53 ++++++++++--------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md b/translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md index 7b03b0b6b7..197eb9d6f2 100644 --- a/translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md +++ b/translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md @@ -3,31 +3,32 @@ [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "Cubik65536" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -[独家] Tuxedo 已对所有用户开放基于 Ubuntu 的 'TUXEDO OS' +Tuxedo 已对所有用户开放基于 Ubuntu 的 TUXEDO OS ====== -TUXEDO OS 是一个基于 Ubuntu 的 Linux 发行版,旨在将 TUXEDO 在 Linux 方面的专业知识也带给非 TUXEDO 用户。 + +> TUXEDO OS 是一个基于 Ubuntu 的 Linux 发行版,旨在将 TUXEDO 在 Linux 方面的专业知识也带给非 TUXEDO 用户。 ![[独家] Tuxedo 已对所有用户开放基于 Ubuntu 的 'TUXEDO OS'][1] 又一个基于 Ubuntu 的 Linux 发行版?😕 -不完全是!**TUXEDO Computers** 是一家硬件制造商,以其专注于 Linux 的笔记本电脑和计算机而闻名。 +不完全是!**TUXEDO 计算机公司** 是一家硬件制造商,以其专注于 Linux 的笔记本电脑和计算机而闻名。 -**TUXEDO OS 与 Ubuntu 之间存在着有趣的一些差异**。 +**TUXEDO OS 与 Ubuntu 之间存在着一些有趣的差异**。 虽然他们已经在笔记本电脑/计算机上提供预装 TUXEDO OS 的选项,但是它并未对所有人开放。 终于,他们决定将其发行版的第一个版本作为 **TUXEDO OS 1** 开放,该版本现已可供下载。 -这也意味着您可以在自己的非 TUXEDO 系统上试用它。 +这也意味着你可以在自己的非 TUXEDO 系统上试用它。 所以这个思路很像 System76 的 Pop!_OS,所以这并不算一件坏事 👌 -### 'TUXEDO OS 1' 搭配 KDE +### 搭配 KDE 的 TUXEDO OS 1 ![tuxedo 桌面][2] @@ -35,15 +36,17 @@ TUXEDO OS 1 是基于 [Ubuntu 22.04 LTS][3] 的; 所以它应该可以直接在 与 System76 的 Pop!_OS 不同,TUXEDO OS 搭载了 [KDE Plasma 5.24.6][4]。因此,它应当提供了一个 Windows 用户也较为熟悉的用户界面。 -但是,TUXEDO OS 还包括一些额外的功能,例如 TUXEDO 控制中心,用于微调您的硬件(CPU/风扇等)和 TUXEDO Tomte,一个配置服务,用于解决驱动程序/缺少包问题,但是它可能/可能不适用于其他硬件配置。 +但是,TUXEDO OS 还包括一些额外的功能,例如 TUXEDO 控制中心,用于微调你的硬件(CPU/风扇等),以及 TUXEDO Tomte,一个用于解决驱动程序/缺少包问题的配置服务,但是它或许能,或许不能在其他硬件配置上工作。 -话虽如此,让我们看看 TUXEDO OS 及其提供的功能。 +说到这里,让我们看看 TUXEDO OS 及其提供的功能。 ### TUXEDO OS,基于 KDE 的定制化 Ubuntu 体验 用户体验正如预期一样,与任何基于 KDE 的 Ubuntu 发行版相同。 -但是,您会发现应用和菜单的 TUXEDO 商标带有红色调。它还具有令人耳目一新的壁纸。 +> 📣 我将 TUXEDO OS(预览版)用做我的主要系统来体验它。 + +你会在应用和菜单上发现带有红色调的 TUXEDO 徽标。它还具有令人耳目一新的壁纸。 ![tuxedo 菜单][5] @@ -52,21 +55,21 @@ TUXEDO OS 1 是基于 [Ubuntu 22.04 LTS][3] 的; 所以它应该可以直接在 * 它使用了 PipeWire 作为声音服务器,而不是 PulseAudio。 * GRUB 中启用了 os-prober 功能,让用户可以方便地检测已安装的其他操作系统。 * .deb 作为首选的软件包格式,而 Snap 默认情况下被禁用。 -* 从 NetworkManagerConnectivity 检查中移除了标准链接。 +* 从 NetworkManagerConnectivity 检查中移除了 Canonical 的链接。 #### 软件可用性? -您可以通过 Discover 应用程序找到所有流行的软件工具,其中包括 Ubuntu 的仓库和 TUXEDO 的仓库。 +你可以通过 “发现Discover” 应用来找到所有流行的软件工具,其中包括 Ubuntu 的仓库和 TUXEDO 的仓库。 -它包含了 **Firefox、Thunderbird、LibreOffice、VLC、Lutris 和 Heroic Games Launcher** 等必备应用程序。所以我认为您不会觉得它们很臃肿。 +它包含了 **Firefox、Thunderbird、LibreOffice、VLC、Lutris 和 Heroic Games Launcher** 等必备应用程序。所以我认为你不会觉得它们很臃肿。 ![tuxedo discover 应用][10] 我还注意到它默认启用了 Flatpak 集成。 -您可以在他们的 [官方网页][11] 上了解有关可用软件的更多信息。 +你可以在他们的 [官方网页][11] 上了解有关可用软件的更多信息。 -#### 这也给我们带来了一个重要的亮点: +#### 这也给我们带来了一个重要的亮点 ❌ TUXEDO OS 不会默认安装 Snap。对于 Firefox,它会像 Linux Mint 一样附带 deb 包安装。 @@ -78,13 +81,13 @@ TUXEDO OS 1 是基于 [Ubuntu 22.04 LTS][3] 的; 所以它应该可以直接在 如上所述,TUXEDO OS 附带了一些专为增强 Tuxedo 硬件的体验而量身定制的附加功能。 -控制中心是监控您的系统、选择电源配置文件、控制外部水冷 ([TUXEDO Aquaris][12]) 等的绝佳工具。 +控制中心是监控你的系统、选择电源配置文件、控制外部水冷([TUXEDO Aquaris][12])等的绝佳工具。 ![tuxedo 控制中心][13] 虽然控制中心不是为非 TUXEDO 设备量身定制的,但它在大多数情况下仍然能够正常工作。 -还有一个 TUXEDO WebFAI 创建者程序(定制的 BalenaEtcher 体验)来烧录用于操作系统安装的 U 盘。 +还有一个 TUXEDO WebFAI Creator 程序(定制的 BalenaEtcher)来烧录用于操作系统安装的 U 盘。 ![tuxedo webfai][14] @@ -94,17 +97,17 @@ TUXEDO OS 1 是基于 [Ubuntu 22.04 LTS][3] 的; 所以它应该可以直接在 ### 下载 TUXEDO OS 1 -TUXEDO OS 带来了非常精致的体验。 TUXEDO 背后的团队在让 Linux 运行在他们的一些最新笔记本电脑上拥有丰富的经验。因此,使用他们的 Linux 发行版,您可以对自己的体验充满信心。 +TUXEDO OS 带来了非常精致的体验。TUXEDO 背后的团队在让 Linux 运行在他们的一些最新笔记本电脑上拥有丰富的经验。因此,使用他们的 Linux 发行版,你可以对自己的体验充满信心。 -如果您有兴趣,还可以找到关于 [TUXEDO OS 入门][16] 的官方文章。 +如果你有兴趣,还可以找到关于 [TUXEDO OS 入门][16] 的官方文章。 -**如果您希望获得一个基于 KDE 的定制化 Ubuntu 体验,TUXEDO OS 1 是一个不错的选择。** +**如果你希望获得一个基于 KDE 的定制化 Ubuntu 体验,TUXEDO OS 1 是一个不错的选择。** -您可以通过使用它来支持他们的计划,这可能会让您决定购买一台 TUXEDO 设备;您永远不知道以后会发生什么,对吧? +你可以通过使用它来支持他们的计划,这可能会让你决定购买一台 TUXEDO 设备;你永远不知道以后会发生什么,对吧? -您可以从其官方网站下载它,并在下方的评论区中分享您的想法。 +你可以从其官方网站下载它,并在下方的评论区中分享你的想法。 -[下载 TUXEDO OS 1][17] +> **[下载 TUXEDO OS 1][17]** -------------------------------------------------------------------------------- @@ -112,8 +115,8 @@ via: https://news.itsfoss.com/tuxedo-os/ 作者:[Ankush Das][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[Cubik65536](https://github.com/Cubik65536) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 81cee413eb0b6cdcb0e7b6a33b31a0bab3f720f7 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 6 Oct 2022 10:23:52 +0800 Subject: [PATCH 084/170] P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @Cubik65536 本文首发地址:https://linux.cn/article-15110-1.html 您的 LCTT 专页:https://linux.cn/lctt/Cubik65536 --- ...Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md (98%) diff --git a/translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md b/published/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md similarity index 98% rename from translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md rename to published/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md index 197eb9d6f2..c4f72a7631 100644 --- a/translated/news/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md +++ b/published/20220930 [Exclusive] Tuxedo Makes Ubuntu-based -TUXEDO OS- Available For All.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "Cubik65536" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15110-1.html" Tuxedo 已对所有用户开放基于 Ubuntu 的 TUXEDO OS ====== From cc56480707e8416746443cf68f77924fbcf9d1de Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:33:29 +0800 Subject: [PATCH 085/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221005=20Working=20with=20Btrfs=20=E2=80=93=20Genera?= =?UTF-8?q?l=20Concepts.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5 Working with Btrfs – General Concepts.md | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 sources/tech/20221005 Working with Btrfs – General Concepts.md diff --git a/sources/tech/20221005 Working with Btrfs – General Concepts.md b/sources/tech/20221005 Working with Btrfs – General Concepts.md new file mode 100644 index 0000000000..337763791d --- /dev/null +++ b/sources/tech/20221005 Working with Btrfs – General Concepts.md @@ -0,0 +1,114 @@ +[#]: subject: "Working with Btrfs – General Concepts" +[#]: via: "https://fedoramagazine.org/working-with-btrfs-general-concepts/" +[#]: author: "Andreas Hartmann https://fedoramagazine.org/author/hartan/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Working with Btrfs – General Concepts +====== +![][1] + +Photo by [Heliberto Arias][2] on [Unsplash][3] + +This article is part of a series of articles that takes a closer look at Btrfs. This is the default filesystem for Fedora Workstation and Fedora Silverblue since Fedora Linux 33. + +### Introduction + +Filesystems are one of the foundations of modern computers. They are an essential part of every operating system and they usually work unnoticed. However, modern filesystems such as Btrfs offer many great features that make working with computers more convenient. Next to other things they can, for example, transparently compress your files for you or build a solid foundation for incremental backups. + +This article gives you a high-level overview of how the Btrfs filesystem works and some of the features it has. It will not go into much technical detail nor look at the implementation. More detailed explanations of some highlighted features follow in later articles of this series. + +### What is a filesystem? + +If you’ve heard before how filesystems work on the most basic level, then this isn’t new to you and you can skip to the next section. Otherwise, read ahead for a short introduction into what makes a filesystem in the first place. + +In simple terms, a filesystem allows your PC to find the data that it stores on disk. This sounds like a trivial task, but in essence any type of non-volatile storage device today (such as HDDs, SSDs, SD cards, etc…) is still mostly what it was back in 1970 when PCs were being invented: A (huge) collection of storage blocks. + +Blocks are the most granular addressable storage unit. Every file on your PC is stored across one or more blocks. A block is typically 4096 bytes in size. This depends on the hardware you have and the software (i.e. the filesystem) on top of it. + +Filesystems allow us to find the contents of our files from the vast amount of available storage blocks. This is done via so-called *inodes*. An inode contains information about a file in a specially formatted storage block. This includes the file’s size, where to find the storage blocks that make up the file contents, its access rules (i.e. who can read, write or execute the file) and much more. + +Below is an example of what this looks like: + +![A text file “myfile.txt” and a hypothetical example of its representation on disk. All the squares are individual storage blocks.][4] + +The structure of an inode has big implications on a filesystem’s capabilities, so it is one of the central datastructures for any file system. For this reason every filesystem has its own inode structure. If you want to know more about this, have a look at the inode structure of the Btrfs filesystem linked below . For a more detailed explanation of what the individual fields mean, you can refer to the inode structure of the ext4 filesystem . + +### Copy-on-Write filesystems + +One of the outstanding features of Btrfs, compared to ext4, for example, is that it is a CoW (Copy-on-Write) filesystem. When a file is changed and written back to disk, it intentionally is not written back to where it was before. Instead, it is copied and stored in an entirely new location on disk. In this sense, it may be simpler to think of CoW as a kind of “redirection”, because the file write is redirected to different storage blocks. + +This may sound wasteful, but in practice it isn’t. This is because the modified data must be written back to the disk in any case, regardless of how the filesystem works. Btrfs merely makes sure that the data is written to previously unoccupied blocks, so the old data remains intact. The only real drawback is that this behavior can lead to file fragmentation quicker than on other filesystems. In regular desktop usage scenarios it is unlikely you will notice a difference. + +What is the advantage of CoW? In simple terms: a history of the modified and edited files can be kept. Btrfs will keep the references to the old file versions (inodes) somewhere they can be easily accessed. This reference is a *snapshot*: An image of the filesystem state at some point in time. This will be the topic of a separate article in this series, so it will be left at that for now. + +Beyond keeping file histories, CoW filesystems are always in a consistent state, even if a previous filesystem transaction (like writing to a file) didn’t complete due to e.g. power loss. That is because filesystem metadata updates are also CoW: The file system itself is never overwritten, so an interruption can’t leave it in a partially written state + +### Copy-on-Write for files + +You can think of filenames as pointers to the inodes of the file they belong to. Upon writing to a file, Btrfs creates a copy of the modified file content (the data), along with a new inode (the metadata), and then makes your filename point to this new inode. The old inode remains untouched. Below you see another hypothetical example to illustrate this: + +![Continuation of the example above: 3 more bytes of data were added][5] + +Here “myfile.txt” has had three bytes appended. A traditional filesystem would have updated the “Data” block in the middle to contain the new contents. A CoW filesystem keeps the old blocks intact (greyed out) and writes (copies) changed data and metadata somewhere new. It is important to note that only changed data blocks are copied, and not the whole file. + +If there are no more unused blocks to write new contents to, Btrfs will reclaim space from data blocks occupied by old file versions (Unless they are part of a snapshot, see later article in this series). + +### Copy-on-Write for folders + +From a filesystem’s point of view, a folder is a special type of file. In contrast to regular files, the filesystem interprets the underlying contents directly. A folder has some metadata associated with it (an inode, as seen for files above) that governs access permissions or modification time. In the simplest case, the data stored in a folder (so called “directory entries”) is a list of references to inodes, where each inode is in turn another file or folder. However, modern filesystems store at least a filename, together with a reference to an inode of the file in question, in a directory entry. + +Earlier it was pointed out that writing to a file creates a copy of the previous inode and modifies the contents accordingly. In essence, this yields a new inode that isn’t related to its predecessor. To make the modified file show up in the filesystem, all the directory entries containing a reference to it are updated as well. + +This is a recursive process! Since a folder is itself a file with an inode, modifying any of its folder entries creates a new inode for the folder file. This recursion occurs all the way up the filesystem tree, until it arrives at the filesystem root. + +As a consequence, as long as a reference is kept to any of the old directories and they are not deleted or overwritten, the filesystem tree can be traversed in it’s previous state. This, again, is exactly what snapshots do. + +### What to expect in future articles + +Btrfs is more than just a CoW filesystem. It aims to implement “advanced features while also focusing on fault tolerance, repair and easy administration” (See ). Future articles of this series will have a look at these features in particular: + +* Subvolumes – Filetrees within your filetree +* Snapshots – Going back in time +* Compression – Transparently saving storage space +* Qgroups – Limiting your filesystem size +* RAID – Replace your mdadm configuration + +This is by far not an exhaustive list of Btrfs features. If you want the full overview of available features, check out the Wiki and Docs . + +### Conclusion + +I hope that I managed to whet your appetite for getting to know your PC filesystem. If you have questions so far, please leave a comment about what you come up with so they can be discussed in future articles. In the meantime, feel free to study the linked resources in the text. If you stumble over a Btrfs feature that you find particularly intriguing, please add a comment below, too. If there’s enough interest in a particular topic, maybe I’ll add an article to the series. See you in the next article! + +### Sources + +1. [https://btrfs.wiki.kernel.org/index.php/Data_Structures#btrfs_inode_item][6] +2. [https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table][7] +3. [https://btrfs.readthedocs.io/en/latest/Introduction.html][8] +4. [https://btrfs.wiki.kernel.org/index.php/Main_Page][9] + +-------------------------------------------------------------------------------- + +via: https://fedoramagazine.org/working-with-btrfs-general-concepts/ + +作者:[Andreas Hartmann][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://fedoramagazine.org/author/hartan/ +[b]: https://github.com/lkxed +[1]: https://fedoramagazine.org/wp-content/uploads/2022/07/working_w_btrfs_general-816x345.jpg +[2]: https://unsplash.com/@helibertoarias?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[3]: https://unsplash.com/s/photos/hdd?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText +[4]: https://fedoramagazine.org/wp-content/uploads/2022/07/file_regular.png +[5]: https://fedoramagazine.org/wp-content/uploads/2022/07/file_cow.png +[6]: https://btrfs.wiki.kernel.org/index.php/Data_Structures#btrfs_inode_item +[7]: https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table +[8]: https://btrfs.readthedocs.io/en/latest/Introduction.html +[9]: https://btrfs.wiki.kernel.org/index.php/Main_Page From 65d69a77b3bed6b650b9eed023d654b57bf11049 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:34:58 +0800 Subject: [PATCH 086/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221003=20World-s=20First=20Open=20Source=20Wi-Fi=207?= =?UTF-8?q?=20Access=20Points=20Are=20Now=20Available.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Wi-Fi 7 Access Points Are Now Available.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sources/news/20221003 World-s First Open Source Wi-Fi 7 Access Points Are Now Available.md diff --git a/sources/news/20221003 World-s First Open Source Wi-Fi 7 Access Points Are Now Available.md b/sources/news/20221003 World-s First Open Source Wi-Fi 7 Access Points Are Now Available.md new file mode 100644 index 0000000000..bddcb326ed --- /dev/null +++ b/sources/news/20221003 World-s First Open Source Wi-Fi 7 Access Points Are Now Available.md @@ -0,0 +1,38 @@ +[#]: subject: "World’s First Open Source Wi-Fi 7 Access Points Are Now Available" +[#]: via: "https://www.opensourceforu.com/2022/10/worlds-first-open-source-wi-fi-7-access-points-are-now-available/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +World’s First Open Source Wi-Fi 7 Access Points Are Now Available +====== +*The first Open source Wi-Fi 7 products in the world will be released by HFCL in conjunction with Qualcomm under its IO product line.* + +The world’s first Open source Wi-Fi 7 Access Points will be introduced by HFCL Limited, the top high-tech enterprise and integrated next-gen communication product and solution provider, in collaboration with Qualcomm Technologies, Inc. on October 1, 2022 at the India Mobile Congress in Pragati Maidan, New Delhi. + +Based on IEEE 802.11be, a ground-breaking Wi-Fi technology that is intended to give Extremely High Throughput (EHT), increased spectrum efficiency, better interference mitigation, and support for Real Time Applications (RTA), HFCL becomes the first OEM to release Open source Wi-Fi 7 Access Points. In order to provide a better user experience while yet using less power, Wi-Fi 7 uses faster connections with 320MHz and 4kQAM, numerous connections with Multi Link operation, and Adaptive Connections for adaptive interference puncturing. + +Wi-Fi 7 promises a significant technological advance above all prior Wi-Fi standards updates, providing a more immersive user experience and paving the way for a more robust digital future. The peak data speeds supported by HFCL’s Wi-Fi 7 APs will exceed 10 Gbps, and they will have latency under 2 ms as opposed to the 5 Gbps and 10 ms of existing Wi-Fi 6 products. + +Technology providers like telecom operators, Internet service providers, system integrators, and network administrators will be able to offer mission-critical and real-time application services and provide a better user experience than ever before thanks to HFCL’s Wi-Fi 7 product line, which is supported by a strong R&D focus. A wide variety of dual band and tri-band indoor and outdoor variations may be found in the new Wi-Fi 7 product portfolio. + +Being the first Wi-Fi 7 Access points in the market to embrace Open standards, all Wi-Fi 7 variations will come pre-installed with open source software. With the goal of providing improved global connectivity and maintaining interoperability in multi-vendor scenarios, open standards support disaggregated Wi-Fi systems delivered as free open source software. + +The introduction of Wi-Fi 7 will primarily support the country’s upcoming 5G rollout, particularly for enhancing inside coverage. Additionally, the technology will make it easier to construct a variety of apps because to its increased throughput, dependable network performance, and lower latency. The Internet of Things (IoT) and Industrial Internet of Things (IIoT) applications including surveillance, remote industrial automation, AV/VR/XR, and other video-based applications will benefit from Wi-Fi 7 technology for businesses. With numerous developments in Cloud/Edge Computing and Cloud gaming, it will also increase the number of remote offices, real-time collaborations, and online video conferencing. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/worlds-first-open-source-wi-fi-7-access-points-are-now-available/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed From 922f9d8214b376094c7da9464137ca6d26321141 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:42:04 +0800 Subject: [PATCH 087/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221004=20Using=20R=20for=20Building=20an=20Interacti?= =?UTF-8?q?ve=20Web=20App.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...g R for Building an Interactive Web App.md | 164 ++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 sources/tech/20221004 Using R for Building an Interactive Web App.md diff --git a/sources/tech/20221004 Using R for Building an Interactive Web App.md b/sources/tech/20221004 Using R for Building an Interactive Web App.md new file mode 100644 index 0000000000..3991260179 --- /dev/null +++ b/sources/tech/20221004 Using R for Building an Interactive Web App.md @@ -0,0 +1,164 @@ +[#]: subject: "Using R for Building an Interactive Web App" +[#]: via: "https://www.opensourceforu.com/2022/10/using-r-for-building-an-interactive-web-app/" +[#]: author: "Dr Kumar Gaurav https://www.opensourceforu.com/author/dr-gaurav-kumar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Using R for Building an Interactive Web App +====== +*Data analysis has become imperative for companies, and there is a huge demand for data-driven applications with user friendly interfaces. This article tells you how to develop an interactive web app using the Shiny package in R, which is a popular programming language for data science.* + +Nearly every business across the world relies on data today, in some way or the other. In fact, data science has helped transform many businesses by using data-driven applications, whether in the field of finance, banking, retail, logistics, e-commerce, transportation, airlines, or any other. + +High performance computers and low-cost storage allow us to predict results in minutes today rather than the many hours it used to take earlier. Data scientists focused on the future are developing easy to use applications with high performance and multi-dimensional visualisation. It all starts with Big Data, which consists of three components: quantity, diversity, and velocity. Algorithms and models are fed from this data. The most cutting-edge data scientists working in machine learning and AI are creating models that self-improve, detecting and learning from their errors. + +Statistics and computing are used to turn data into useful information in the field of data science, often termed as data-driven science. Data science is a synthesis of methods from a variety of fields to gather, analyse, and interpret data in order to develop new insights and make choices. The technological disciplines that constitute data science include statistics, probability, mathematics, machine learning, business intelligence, and some programming. +Data science can be applied in various areas (Figure 1). The analysis of large, complicated data sets is the focus of data science. It has helped to create a new universe in which data is seen in whole new ways. Tech giants like Amazon, Google, and Facebook use data science principles for business intelligence and decision making. + +![Figure 1 Key applications-and use cases of data science][1] + +### R: The language for data science + +Data analysis and insights are urgently needed because of the volume of information available. Raw data is transformed into finished data products with the help of a number of technologies. When it comes to research, processing, transformation, and visualisation of data, there are few better tools than R. + +The key features in R for data science are: + +* Data pre-processing +* Social media fetching and analysis +* Assorted operations on data frames +* Extract, transform, load (ETL) +* Connection to a variety of databases, including SQL and spreadsheets +* Interaction with NoSQL databases +* Training and prediction with models +* Machine learning models +* Clustering +* Fourier transform +* Web scraping + +R is a robust programming language commonly used in statistical computation and data analysis. Efforts to enhance R’s user interface have been going on since long. Several data science groups throughout the world have followed the development of R from a simple text editor to the more current interactive R Studio and Jupyter Notebooks. + +Only the contributions of R users throughout the world have made this possible. The inclusion of strong packages in R has made it increasingly powerful over time. Numerous open source packages have made it easier and more efficient to work with large data sets and visualise data. + +### Developing interactive web applications in R using Shiny + +You can construct interactive web apps in R using the Shiny package. Apps can be hosted on a website, embedded in R Markdown documents, or used to develop dashboards and visualisations. CSS themes, HTML widgets, and JavaScript actions can all be used to customise your Shiny apps further. + +Shiny is an R tool that makes it simple to create interactive web apps. It allows you to extend your R code to the web so that it may benefit from the larger community of people who can use it. + +In addition to Shiny’s built-in features, there are a number of third-party extension packages available, such as shinythemes, shinydashboard, and shinyjs. + +There are various apps that can be developed using Shiny. Here is a list of a few of them. + +* Machine learning based web apps +* Web apps with dynamic controls +* Data-driven dashboards +* Interactive apps for multiple data sets +* Real-time data visualisation panels +* Data collection forms +* Shiny web apps can be divided into the following: +* User interface +* Server function +* Shiny app function + +For better understanding, you can refer to the examples and use cases available at https://shiny.rstudio.com/gallery/. + +One of the apps developed using Shiny is shown in Figure 2 (https://shiny.rstudio.com/gallery/radiant.html). + +![Figure 2: Shiny based app][2] + +### Generation of a sales dashboard + +The code snippet for a web app related to a sales dashboard is given below. This dashboard has multiple controls and user interface modules to view the data. + +First, the Shiny package is installed and then it is called in the code so that the output can be presented in the form of a web page. + +``` +library(shiny) +library(dplyr) + +sales <- vroom::vroom(“salesdata.csv”, na = “”) +ui <- fluidPage( + titlePanel(“Dashboard for Sales Data”), + sidebarLayout( + sidebarPanel( + selectInput(“territories”, “territories”, choices = unique(sales$territories)), + selectInput(“Customers”, “Customer”, choices = NULL), + selectInput(“orders”, “Order number”, choices = NULL, size = 5, selectize = FALSE), + ), + mainPanel( + uiOutput(“customer”), + tableOutput(“data”) + ) + ) +) +server <- function(input, output, session) { + territories <- reactive({ + req(input$territories) + filter(sales, territories == input$territories) + }) + customer <- reactive({ + req(input$Customers) + filter(territories(), Customers == input$Customers) + }) + + output$customer <- renderUI({ + row <- customer()[1, ] + tags$div( + class = “well”, + tags$p(tags$strong(“Name: “), row$customers), + tags$p(tags$strong(“Phone: “), row$contact), + tags$p(tags$strong(“Contact: “), row$fname, “ “, row$lname) + ) + }) + + order <- reactive({ + req(input$order) + customer() %>% + filter(ORDER == input$order) %>% + arrange(OLNUMBER) %>% + select(pline, qty, price, sales, status) + }) + + output$data <- renderTable(order()) + + observeEvent(territories(), { + updateSelectInput(session, “Customers”, choices = unique(territories()$Customers), selected = character()) + }) + observeEvent(customer(), { + updateSelectInput(session, “order”, choices = unique(customer()$order)) + }) +} +shinyApp(ui, server) +``` + +On running the code of the Shiny app, the output shown in Figure 3 is generated which can be viewed on any web browser. The sales dashboard has multiple controls and is quite interactive with different user interface modules. + +![Figure 3: Sales dashboard with multiple controls][3] + +With the use of Shiny cloud, this app can be deployed and hosted on the cloud for anytime anywhere availability on the internet. + +![Figure 4: Cloud for hosting and deployment of Shiny app][4] + +The free variant of Shiny cloud allows five applications to be deployed within 25 active hours. +Researchers and data scientists can develop user-friendly apps driven with real-time data using the Shiny library of R. This library can also be used for deploying their machine learning apps on web platforms. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/using-r-for-building-an-interactive-web-app/ + +作者:[Dr Kumar Gaurav][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/dr-gaurav-kumar/ +[b]: https://github.com/lkxed +[1]: https://www.opensourceforu.com/wp-content/uploads/2022/09/Figure-1-Key-applications-and-use-cases-of-data-science.jpg +[2]: https://www.opensourceforu.com/wp-content/uploads/2022/09/Figure-2-Shiny-based-app.jpg +[3]: https://www.opensourceforu.com/wp-content/uploads/2022/09/Figure-3-Sales-dashboard-with-multiple-controls.jpg +[4]: https://www.opensourceforu.com/wp-content/uploads/2022/09/Figure-4-Cloud-for-hosting-and-deployment-of-Shiny-app.jpg From d38efe9e9c78496a3ad3ea45fe9ec82131de62ce Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:43:31 +0800 Subject: [PATCH 088/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?talk]:=2020221004=20Security=20Issues=20With=20Open=20Source=20?= =?UTF-8?q?In=20Today-s=20World.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ssues With Open Source In Today-s World.md | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sources/talk/20221004 Security Issues With Open Source In Today-s World.md diff --git a/sources/talk/20221004 Security Issues With Open Source In Today-s World.md b/sources/talk/20221004 Security Issues With Open Source In Today-s World.md new file mode 100644 index 0000000000..331c473ab6 --- /dev/null +++ b/sources/talk/20221004 Security Issues With Open Source In Today-s World.md @@ -0,0 +1,44 @@ +[#]: subject: "Security Issues With Open Source In Today’s World" +[#]: via: "https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Security Issues With Open Source In Today’s World +====== +Open source may be the most viable option for most companies today but it comes with its own set of problems too. + +Many people support the use of open source software (OSS). After all, why would we keep trying to build code that addresses issues that have already been resolved by others? Why not share the information and progressively and iteratively enhance the current open source solutions? These egalitarian values, however perhaps fundamental to civilization in general, not to mention software, nonetheless include conflicts that have been a problem for millennia. + +The problem with open source software security is that just because anyone can view the source code doesn’t imply they will. There are extensively used open-source projects that are only being maintained by a limited number of engineers. These engineers are unable to provide their time and effort completely voluntarily since they also need to pay their bills. + +Even for more complex open source projects, this can be a problem. As an illustration, the Linux kernel project consists of more than 30 million lines of code, contains hundreds of flaws that need to be resolved, and has close to 2000 active developers. Each active developer has written more than 15,000 lines of code. + +According to a recent research from the Linux Foundation, an application has an average of 5.1 significant vulnerabilities that are still open, and 41% of enterprises lack confidence in the security of their open source software. And to make matters worse, only 49% of businesses have an open source security policy. + +Even if open source software has a security flaw, that does not guarantee that it will be fixed. The survey revealed that it presently takes 97.8 days on average to repair a vulnerability, leaving businesses using that software vulnerable to assaults for several months. This is the sometimes overlooked aspect of open source software security: just as the good men can look for faults and vulnerabilities in the code to repair them, the bad guys can look for the same bugs to exploit them. + +It is a long shot to rely solely on a volunteer community to find vulnerabilities, report them, and fix them. While you continue to benefit from open source’s broader advantages, paying someone to examine the security of your open source solutions can help close this gap. + +Since OSS updates and patches must be implemented to secure systems, this requirement can bring unique difficulties. Updating your mission-critical software could result in functionality loss and/or unplanned downtime if your solution depends on a certain software version. When a situation is business-critical, it may be more elegant to hire a specialist to backport the patch and maintain a version for longer than the larger community is willing to. + +The open source community frequently uses the phrase “It’s open source, go change it!” and it emphasises a crucial point: It is unreasonable and unsustainable to expect good security levels for nothing while others invest their time, effort, or money in the project. + +Either contribute to open source as it was intended, improve the code and publish it for others, or hire professionals to manage the OSS code and debug it as necessary are options. However, the industry cannot afford to contribute nothing at all. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed From 8154aa0dd45fa684c152b916d2499fcad45857c2 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:45:19 +0800 Subject: [PATCH 089/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221002=20String=20Processing=20in=20LibreOffice=20Ca?= =?UTF-8?q?lc=20Macro=20with=20Examples.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tring Processing in LibreOffice Calc Macro with Examples.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/sources/tech/20221002 String Processing in LibreOffice Calc Macro with Examples.md b/sources/tech/20221002 String Processing in LibreOffice Calc Macro with Examples.md index 49eb312f11..a25af35094 100644 --- a/sources/tech/20221002 String Processing in LibreOffice Calc Macro with Examples.md +++ b/sources/tech/20221002 String Processing in LibreOffice Calc Macro with Examples.md @@ -146,6 +146,3 @@ via: https://www.debugpoint.com/string-processing-in-libreoffice-calc-macro-with [5]: https://www.debugpoint.com/wp-content/uploads/2014/11/LibreOffice-Calc-Macro-Mid-Example.png [6]: https://www.debugpoint.com/wp-content/uploads/2014/11/LibreOffice-Calc-Macro-Instr-Example.png [7]: http://www.debugpoint.com/libreoffice-basic-macro-tutorial-index/ -[8]: https://www.debugpoint.com/enable-rpm-fusion-fedora-rhel-centos/ -[9]: https://news.google.com/publications/CAAqBwgKMOCfmgsw-qmyAw -[10]: https://t.me/debugpoint From 504639e853abcb4504b19896ef24eb0f2fc8237c Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:46:34 +0800 Subject: [PATCH 090/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221004=20Ubuntu=2022.10-=20Top=20New=20Features=20an?= =?UTF-8?q?d=20Release=20Wiki.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2.10- Top New Features and Release Wiki.md | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 sources/tech/20221004 Ubuntu 22.10- Top New Features and Release Wiki.md diff --git a/sources/tech/20221004 Ubuntu 22.10- Top New Features and Release Wiki.md b/sources/tech/20221004 Ubuntu 22.10- Top New Features and Release Wiki.md new file mode 100644 index 0000000000..4e78ea7df5 --- /dev/null +++ b/sources/tech/20221004 Ubuntu 22.10- Top New Features and Release Wiki.md @@ -0,0 +1,169 @@ +[#]: subject: "Ubuntu 22.10: Top New Features and Release Wiki" +[#]: via: "https://www.debugpoint.com/ubuntu-22-10/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu 22.10: Top New Features and Release Wiki +====== +Here’s the list of new features and tech which is coming up in Ubuntu 22.10 Kinetic Kudu. + +![Ubuntu 22.10 Kinetic Kudu Desktop (dev)][1] + +The development of Ubuntu 22.10 is almost at the finishing stage, and the BETA is out. At this stage, features are frozen, and only testing/bug fixes are ongoing for Ubuntu 22.10. + +In this article, I will touch upon the essential features of Ubuntu 22.10 Kinetic Kudu. But before that, a quick summary of the schedule. + +Ubuntu 22.10 BETA was released on September 29, 2022, and it’s currently under testing. + +The final release of Ubuntu 22.10 is on October 20, 2022. + +Since it is a short-term release, it is supported for nine months until July 20, 2023. + +### Ubuntu 22.10 Kinetic Kudu Desktop: Top Features + +Following the letter-based code name, we are at “K” following the “J” of Jammy Jellyfish. This version is code-named “Kinetic Kudu”, named after a [long-horned animal species][2] found in Africa. + +All the packages and repos are named as “kinetic” in applicable places for this release. + +#### Linux Kernel + +Ubuntu 22.10 features Linux Kernel 5.19, which was released a few days back. The current mainline kernel, which is dubbed as [version 6.0][3], won’t feature in this version due to a schedule mismatch. + +Linux Kernel 5.19 brings regular updates across CPU, GPU and other peripherals. Significant features in this Kernel include multi-platform ARM support, LoongArch arch support, support for AMD RDNA, CDNA, Intel’s Raptor Lake and many important updates. You can read in detail about its new features on [this page][4]. + +#### GNOME 43 + +In Ubuntu 22.10, GNOME 43 is the base desktop version. GNOME 43 is an impressive release in terms of features and work around the GTK4 and libadwaita. A lot of features which was missed to reach in Ubuntu 22.04 LTS, finally arrived in this version. + +Since the feature list is vast, I will try to summarize it here. + +First and foremost, GNOME Shell gets high-resolution scroll wheel support, colour support in server decoration, and improved animation and performance all around the desktop. + +Secondly, the vital app – Files (Nautilus) 43 brings a vast set of tweaks after its migration to GTK4. In Files 43, you get the redesigned context menu, rubberband selection, adaptive sidebar, which auto-hides based on its size, emblems support and new GtkColumnView support for a better experience. + +Third, the stunning [GNOME 43 quick settings][5] arrive in Ubuntu. The settings will give you easy access to several key items right from the tray. + +Other important changes in GNOME 43 include: + +* An updated properties dialog window with intelligent behaviour based on file types +* GNOME Web gets web extension API support enabling you to install Firefox and Chrome add-ons +* Improved context menu in Files sidebar +* Updated app info page in Software + +Don’t forget to review my detailed [GNOME 43 feature write-up][6] to learn more. + +#### New Settings Panel + +There are some [key changes][7] arrive in the Settings panel. A new panel is introduced – “Ubuntu Desktop” which has the desktop icon and dock options. This panel is unavailable in vanilla GNOME (e.g. in Fedora Workstation). + +![New Ubuntu desktop and Appearance tab in settings][8] + +The Background tab is now merged with the Appearance tab. This essentially consolidates Ubuntu’s theming options to one single setting page. Effectively, it’s a good change and a wise UI decision. In addition, a new “Device Security Panel” is also introduced. + +#### PipeWire by Default + +Ubuntu 22.10 is all about adopting the new tech, and leaving the legacy items behind. With that motto, in this release, the Pipewire sound server is made default for the first time in Ubuntu. PulseAudio will still be there but inactive for now. + +For those folks in Audio recording, mixing work would greatly benefit from this. + +#### IWD replacing the wpa_supplicant + +Similarly, with PipeWire, another new tech adoption is coming in Ubuntu 22.10. The legacy `wpa_supplicant` wireless module is changing, and IWD (iNet Wireless Daemon) is replacing it. The IWD was developed by Intel, and it had certain advantages and more features over wpa_supplicant. + +Besides, the wpa_supplicant is almost two decades old and served its purpose in GNU/Linux and BSD systems. + +In my personal experience, I had some difficult experiences with wpa_supplicant, which manages the Wi-Fi connections. For example, sudden disconnection, and not waking up the Wi-Fi after standby, to name a few. + +With the modern IWD, I hope the continuous struggle with several users with Ubuntu and Wi-Fi shall disappear. If you want to learn more about IWD, you can read some excellent discussions [here][9] and [here][10]. + +#### Official desktop flavours + +All the official desktop flavours of Ubuntu are getting their current stable release. If you are already using Xubuntu, Ubuntu MATE – well, you get the same version as the prior one. Because these desktops did not have a major upgrade recently. + +Lubuntu users should get the recently released LXQt 1.1.0 desktop which brings additional features such as compact and a new application menu, new theming changes and more. + +Kubuntu users should get KDE Plasma 5.25, which brings you some unique features such as a floating panel, dynamic accent colour and many [such exciting features][11]. + +Budgie lovers should get the new features that are under development via Ubuntu Budgie 22.10. I will write up a separate article on Budgie because of the changes. + +So, in summary, you get [Xfce 4.16][12], MATE 1.24, KDE Plasma 5.25 and LXQt 1.1.0 as the desktop versions. + +#### Tool-chain updates + +Now, it’s time to find out about the important packages and programming updates for developers. In this release, you get the following version upgrades for individual items. + +* BlueZ 5.65 +* CUPS 2.4 +* Python 3.10.6 +* NetworkManager 1.38 +* Mesa 22 +* Pipewire 0.3.56 +* PulseAudio 16 +* xdg-desktop-portal 1.14 + +Although, I am not sure whether Python 3.11 will be ready ([currently in RC][13]) before release. I hope not. + +#### Wallpaper + +Finally, a brand new wallpaper featuring the official Kudu mascot is ready to give your desktop a nice touch. + +#### Summary of the key changes in Ubuntu 22.10 + +* Linux Kernel 5.19 +* GNOME 43 +* Pipewire by default +* IWD is replacing wpa_supplicant +* KDE Plasma 5.25 in Kubuntu +* LXQt 1.1.0 in Lubuntu +* Firefox 104 +* LibreOffice 7.4 +* Thunderbird 102 + +You can download the BETA builds of this release (which are stable with the condition) [from this page][14] for testing. + +The flavours’ BETA builds are available on the below pages. + +| Ubuntu Flavour | Link for daily builds .iso image(s) | +| :- | :- | +| Ubuntu 22.10 Desktop | http://cdimage.ubuntu.com/daily-live/current/ | +| Xubuntu 22.10 | https://cdimage.ubuntu.com/xubuntu/releases/kinetic/beta/ | +| Ubuntu MATE 22.10 | https://cdimage.ubuntu.com/ubuntu-mate/releases/kinetic/beta/ | +| Ubuntu Kylin 22.10 | https://cdimage.ubuntu.com/ubuntukylin/releases/kinetic/beta/ | +| Lubuntu 22.10 | https://cdimage.ubuntu.com/lubuntu/releases/kinetic/beta/ | +| Kubuntu 22.10 | https://cdimage.ubuntu.com/kubuntu/releases/kinetic/beta/ | +| Ubuntu Budgie 22.10 | https://cdimage.ubuntu.com/ubuntu-budgie/releases/kinetic/beta/ | +| Ubuntu Unity 22.10 | https://cdimage.ubuntu.com/ubuntu-unity/releases/kinetic/beta/ | + +So, that’s about it on the changes in Ubuntu 22.10. Do let me know about your favourite feature in the comment box. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/ubuntu-22-10/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2022/08/Ubuntu-22.10-Kinetic-Kudu-Desktop-dev.jpg +[2]: https://en.wikipedia.org/wiki/Kudu +[3]: https://www.debugpoint.com/linux-kernel-6-0/ +[4]: https://www.debugpoint.com/linux-kernel-5-19/ +[5]: https://www.debugpoint.com/gnome-43-quick-settings/ +[6]: https://www.debugpoint.com/gnome-43/ +[7]: https://launchpad.net/ubuntu/kinetic/+source/gnome-control-center/+changelog +[8]: https://www.debugpoint.com/wp-content/uploads/2022/08/New-Ubuntu-desktop-and-Appearance-tab-in-settings.jpg +[9]: https://bbs.archlinux.org/viewtopic.php?id=237074 +[10]: https://bbs.archlinux.org/viewtopic.php?pid=1858588#p1858588 +[11]: https://www.debugpoint.com/kde-plasma-5-25/ +[12]: https://www.debugpoint.com/xfce-4-16-review/ +[13]: https://pythoninsider.blogspot.com/2022/08/python-3110rc1-is-now-available.html +[14]: https://cdimage.ubuntu.com/daily-live/current/ From 4d090585842036a79764ba72a292737e99692a9e Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:48:53 +0800 Subject: [PATCH 091/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221004=20How=20to=20Enable,=20Disable=20Keyboard,=20?= =?UTF-8?q?Mouse=20and=20Touch=20Devices=20via=20Terminal.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...d, Mouse and Touch Devices via Terminal.md | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sources/tech/20221004 How to Enable, Disable Keyboard, Mouse and Touch Devices via Terminal.md diff --git a/sources/tech/20221004 How to Enable, Disable Keyboard, Mouse and Touch Devices via Terminal.md b/sources/tech/20221004 How to Enable, Disable Keyboard, Mouse and Touch Devices via Terminal.md new file mode 100644 index 0000000000..7c34145dc1 --- /dev/null +++ b/sources/tech/20221004 How to Enable, Disable Keyboard, Mouse and Touch Devices via Terminal.md @@ -0,0 +1,68 @@ +[#]: subject: "How to Enable, Disable Keyboard, Mouse and Touch Devices via Terminal" +[#]: via: "https://www.debugpoint.com/enable-disable-device-terminal/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Enable, Disable Keyboard, Mouse and Touch Devices via Terminal +====== +You can do various quick configuration changes such as enable, disable devices using Xinput via Terminal in Linux in general. Here’s how. + +[Xinput][1] is a utility that gives you configuration options to control mouse, keyboard, touchpad, and touch screen devices in Linux (applicable for all Linux distributions such as Ubuntu and Fedora). It is part of `xorg-xinput` package, which provides various device services. + +### How to enable, and disable devices using Xinput + +Open up the terminal. To list all the devices connected to your computer, run the below command. It will list all devices with their device ID. This device ID is necessary because you have to pass it as an argument when enabling or disabling any device. + +``` +xinput -list +``` + +The above command should give you a list of devices with ID – something like this (see the below image). You can see all the keyboards (in case you have multiple keyboards attached), touchpads, pointing devices are listed with their device ID. + +![xinput-list][2] + +You can easily figure out by name which device they represent. + +For example, if I want to disable any device, say the touchscreen, simply run: + +``` +xinput disable 13 +``` + +This will immediately disable a device’s touchscreen (as per the above example). And to enable, simply run: + +``` +xinput enable 13 +``` + +Before using, make sure you are correctly enabling or disabling based on the device ID. + +Be extra cautious while enabling or disabling the keyboard, which might prevent you from typing the command while enabling it (although you can use the onscreen keyboard). + +Also, note that the device IDs can vary based on your system, and also they might get changed after every reboot if you plug in any devices. So, be careful while using this command in a shell script for automation. + +### Wrapping Up + +This trick is convenient when multiple keyboards, mouse(s), or touch devices are attached to the system. You can then disable or enable it as per your need to prevent any accidental use of devices such as a touchpad. + +You can do lots of quick configuration with your connected devices, including the touch inputs. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/enable-disable-device-terminal/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://linux.die.net/man/1/xinput +[2]: https://www.debugpoint.com/wp-content/uploads/2020/07/xinput-list.jpg From aef1e73398cb0f644b98a46b3de52670367ecd87 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:50:15 +0800 Subject: [PATCH 092/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221004=205=20Best=20Python=20IDE-s-=20and=20Code=20E?= =?UTF-8?q?ditor-s-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5 Best Python IDE-s- and Code Editor-s-.md | 214 ++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 sources/tech/20221004 5 Best Python IDE-s- and Code Editor-s-.md diff --git a/sources/tech/20221004 5 Best Python IDE-s- and Code Editor-s-.md b/sources/tech/20221004 5 Best Python IDE-s- and Code Editor-s-.md new file mode 100644 index 0000000000..0869aeb644 --- /dev/null +++ b/sources/tech/20221004 5 Best Python IDE-s- and Code Editor-s-.md @@ -0,0 +1,214 @@ +[#]: subject: "5 Best Python IDE(s) and Code Editor(s)" +[#]: via: "https://www.debugpoint.com/5-best-python-ide-code-editor/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 Best Python IDE(s) and Code Editor(s) +====== +We list the five best Python code editors for Ubuntu/Linux and Windows in 2022. + +[Python][1] is everywhere today, and it is arguably the C programming language of the modern era. You can find Python everywhere, from websites, apps, data science projects, and AI to IoT devices. So being a popular programming language of this decade, it is essential to know the development environment of Python, where developers create applications, especially if you are starting afresh. + +Many Python development environments are available with features and utilities catering to your need. Some of them are useful for beginners learning Python by setting up the environment and other users for heavy Python development and complex setups. Here, in this post, I will touch upon the five best of them that would help you to pick one for your own need and use case. + +### Best Python Editor for Coding + +This top list features the following editors: + +1. Eclipse +2. PyCharm +3. Spyder +4. Sublime Text +5. Thonny + +#### 1. Eclipse with PyDev + +![Eclipse Editor][2] + +[Eclipse][3] is a free and open-source IDE developed by IBM. This complete IDE is used for Java and Android development. However, it supports many other programming languages, including Python. You can use Eclipse with the popular PyDev plugin, which enables you to convert Eclipse to a complete Python development environment. With PyDev integration in Eclipse, you can do the compilation, code analysis, live debugging, interactive console access, and many more features. + +##### Advantage + +* Extensive features and complete Python development IDE. + +##### Disadvantage + +* A heavyweight on system performance. +* Targetted for advanced users. + +##### Installation and more information + +* Platform: Linux +* Type: IDE +* Price: Free +* Source: Open Source +* Official Download link: [PyDev][4], [Eclipse][5] +* Official Website: [Eclipse][6], [PyDev Plugin][7] +* Flatpak: [Eclipse for Java is available as Flatpak via Flathub][8]. You can try this version after [setting up Flatpak.][9] + +#### 2. PyCharm Editor + +![PyCharm Editor][14] + +Developed by JetBrains, [PyCharm][15] provides intelligent code completion, code inspections, on-the-fly error highlighting, quick fixes, automated code refactorings, and rich navigation capabilities. + +PyCharm’s massive collection of tools out of the box includes an integrated debugger and test runner; Python profiler; a built-in terminal; integration with major VCS and built-in database tools; remote development capabilities with remote interpreters; an integrated ssh terminal; and integration with Docker and Vagrant. + +In addition to Python, PyCharm provides first-class support for various Python web development frameworks, specific template languages, JavaScript, CoffeeScript, TypeScript, HTML/CSS, AngularJS, Node.js, and more. + +PyCharm has two versions of installers. The professional version and a community version. The community version is free and open source. The professional version is not free as it comes with professional tools and extensive support. The professional edition has a monthly subscription version of <10 USD for individual use. + +However, if you are a beginner, you can start with the free Community edition of PyCharm. + +For both Scientific and Web Python development. With HTML, JS, and SQL support. + +##### Advantage + +* Advanced and modern editing capabilities for professionals that aid rapid developments. + +##### Disadvantage + +* Most professional tools are available in the paid version (approximately 8 to 10 USD per month for individual use). + +##### Installation and additional information + +* Platform: Linux, Mac, and Windows +* Type: IDE +* Price: Free (Community edition) and Paid (Professional Edition) +* Source: Open Source (Community Edition) +* [Official Download link][16] +* Flatpak:You can install the [community version via Flathub][17] after [setting up your Linux system for Flatpak][18]. + +#### 3. Spyder Editor + +![Spyder Editor][23] + +[Spyder][24] is a powerful Python editor written in Python for Python. It is designed to be used by scientists, engineers, and data scientists. It offers a unique combination of a comprehensive development tool’s advanced editing, analysis, debugging, and profiling functionality with the data exploration, interactive execution, deep inspection, and beautiful visualization capabilities of a scientific package. + +##### Advantage + +* Lightweight and Free + +##### Disadvantage + +* You have to download it as part of the Anaconda package. No standalone installer. + +##### Installation and additional instructions + +* Platform: Anaconda +* Type: IDE +* Price: Free +* Source: Open Source +* [Official Download link][25] +* [Official Website][26] + +#### 4. Sublime Text + +![Sublime Text][27] + +[Sublime Text][28] is a sophisticated code editor with a Python programming interface. It is a cross-platform utility and natively supports many programming languages. You can extend its features and functionality using plugins. The sublime text comes with productivity-boosting features such as Goto anything, changes to multiple sections of your file simultaneously. + +##### Advantages + +* Lightweight, free, and available for Windows, Mac, and Linux. + +##### Disadvantages + +* It is free to evaluate, but you must buy a license for advanced usage. + +##### Additional information and installation + +* Platform: Windows, Linux, OS X +* Type: IDE +* Price: Free, but a license must be purchased for continuous use +* Source: Closed Source +* [Official Download link][29] +* [Official Website][30] +* Flatpak: Sublime Text is available via [Flathub as Flatpak][31]. Set up your [Linux system for Flatpak][32] and then install it. + +#### 5. Thonny Python Editor + +![Thonny Editor][37] + +[Thonny][38] is a beginner’s Python IDE and is simple to use. It comes with the latest Python (3.7+ as of writing) built-in, so you do not need to worry about installing Python separately in your operating system. The user interface is clutterless and distraction-free for beginners. Some of the other notable features of Thonny include – a variable view, simple debugger, steps, and syntax errors. + +##### Advantages + +* Lightweight, free, and available for Windows, Mac, and Linux. +* Perfect for absolute beginners in Python (or even in coding). + +##### Disadvantages + +* Available with basic features as it is a beginner’s IDE. + +##### Installation and additional info + +* Platform: Windows, Linux, Mac +* Type: IDE +* Price: Free +* Source: Open Source +* [Official Download link][39] +* Flatpak: It’s available as [Flatpak via Flathub][40]. Set up your [Linux system to install Flatpak][41], and they go for installing it. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/5-best-python-ide-code-editor/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.python.org/ +[2]: https://www.debugpoint.com/wp-content/uploads/2020/06/Eclipse-Editor.png +[3]: https://www.eclipse.org/ +[4]: https://www.pydev.org/ +[5]: https://www.eclipse.org/ +[6]: https://www.eclipse.org/ +[7]: https://www.pydev.org/ +[8]: https://flathub.org/apps/details/org.eclipse.Java +[9]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[10]: https://flathub.org/apps/details/org.eclipse.Java +[11]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[12]: https://flathub.org/apps/details/org.eclipse.Java +[13]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[14]: https://www.debugpoint.com/wp-content/uploads/2020/06/PyCharm-Editor.png +[15]: https://www.jetbrains.com/pycharm/ +[16]: https://www.jetbrains.com/pycharm/download/ +[17]: https://flathub.org/apps/details/com.jetbrains.PyCharm-Community +[18]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[19]: https://flathub.org/apps/details/com.jetbrains.PyCharm-Community +[20]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[21]: https://flathub.org/apps/details/com.jetbrains.PyCharm-Community +[22]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[23]: https://www.debugpoint.com/wp-content/uploads/2020/06/Spyder-Editor.png +[24]: https://www.spyder-ide.org/ +[25]: https://www.anaconda.com/download/ +[26]: https://www.spyder-ide.org/ +[27]: https://www.debugpoint.com/wp-content/uploads/2020/06/Sublime-Text-Editor.png +[28]: https://www.sublimetext.com/ +[29]: https://www.sublimetext.com/3 +[30]: https://www.sublimetext.com/ +[31]: https://flathub.org/apps/details/com.sublimetext.three +[32]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[33]: https://flathub.org/apps/details/com.sublimetext.three +[34]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[35]: https://flathub.org/apps/details/com.sublimetext.three +[36]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[37]: https://www.debugpoint.com/wp-content/uploads/2020/06/Thonny-Editor.png +[38]: https://thonny.org/ +[39]: https://thonny.org/ +[40]: https://flathub.org/apps/details/org.thonny.Thonny +[41]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[42]: https://flathub.org/apps/details/org.thonny.Thonny +[43]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[44]: https://flathub.org/apps/details/org.thonny.Thonny +[45]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ From 25433508c11ab424ce15f3d4a8aab4aa276a2061 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:51:30 +0800 Subject: [PATCH 093/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221004=20How=20to=20Install=20and=20Configure=20IceW?= =?UTF-8?q?M=20in=20Arch=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...stall and Configure IceWM in Arch Linux.md | 143 ++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 sources/tech/20221004 How to Install and Configure IceWM in Arch Linux.md diff --git a/sources/tech/20221004 How to Install and Configure IceWM in Arch Linux.md b/sources/tech/20221004 How to Install and Configure IceWM in Arch Linux.md new file mode 100644 index 0000000000..6121cd8bb2 --- /dev/null +++ b/sources/tech/20221004 How to Install and Configure IceWM in Arch Linux.md @@ -0,0 +1,143 @@ +[#]: subject: "How to Install and Configure IceWM in Arch Linux" +[#]: via: "https://www.debugpoint.com/icewm-arch-linux-install/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install and Configure IceWM in Arch Linux +====== +A simple tutorial explaining how you can easily install and configure the IceWM in Arch Linux systems. + +![IceWM Looks Awesome][1] + +### About IceWM & its features: Quick Highlights + +IceWM is a lightweight window manager for the X Window system, written in C++. This window manager is more than two decades old (the first release was in 1997) and is still in active development! + +The most sought-after feature of IceWM is its low system resource usage and simplicity. Although all the window managers are more-or-less lightweight than all the desktop environments. + +Before installing IceWM, you should know its headline features. + +* Lightweight and straightforward to use +* Low learning curve (for those coming from desktop environments) +* Dynamic menu +* Per-window Keybinding +* Alt+Tab support for window switching +* Multiple workspaces +* Mouse support (configurable) +* A vast collection of community-developed theme +* Multi-focus mode + +You can learn more about its feature on the [official home page][2]. + +Now, let’s see how you can install it. + +### How to Install IceWM in Arch Linux + +#### 1. Install Base Arch Linux + +Since you are trying to install it in Arch Linux, I assume you already have an Arch setup ready. If you don’t, you can read this guide on installing Arch Linux using a [simple and easy-to-use guide via archinstall][3]. + +Moreover, if you don’t want to install Arch, you can download EndeavourOS or any Arch-based distro ISO and install it. + +And then, you can follow the below instructions to install IceWM on top of any DE such as KDE, Xfce, GNOME, etc. + +#### 2. Set up Yay – Aur helper + +The [main icewm package][4] is present in the Arch main repo. But the [associated packages][5], such as themes, etc., are present in Arch User Repository (AUR). So, let’s install an AUR helper (such as Yay). + +You can refer to my guide to[install Yay][6], OR follow the below commands to install. + +Use the following command in sequence to install the required packages and clone the GIT repo of Yay. + +``` +sudo pacman -S base-develsudo pacman -S gitcd /optsudo git clone https://aur.archlinux.org/yay.git +``` + +After the above commands are complete, change the owner of the source directory. Replace “debugpoint” with your user name. And follow the below commands in sequence. + +``` +sudo chown -R debugpoint:users ./yaycd yaymakepkg -si +``` + +This will complete the installation of Yay – AUR helper. + +#### 3. Install IceWM + +Firstly, install the icewm package & a file manager (optional) using the below command. + +``` +pacman -S icewm pcmanfm +``` + +![Install IceWm in Arch Linux][7] + +Now install the following packages via Yay, which is for several themes, utilities and putting icons on the desktop. + +``` +yay -S icewm-themes idesk icewm-utils +``` + +If you are installing IceWM on a bare metal system, then install Xorg and display manager. This step is not required if you are installing on top of any Arch distro. + +``` +pacman -S xorg lightdm lightdm-gtk-greeter +systemctl enable lightdm +``` + +Now, as a final step you can reboot your system. After reboot, choose IceWM from the login screen. + +And you should be greeted with a nice and sleek IceWM desktop. + +#### Configuration + +Since its not desktop environment, there are some additional configuration you may want to do. Here’s some of the important onces. Choose the items which best fit for your use case. + +* Configuration for users: If you want to configure IceWM for a specific user, create a directory and them copy the config files to that newly created folder. You can achieve this using the following commands. + +``` +mkdir ~/.icewm/cp -R /usr/share/icewm/* ~/.icewm/ +``` + +* Enabling USB automount: You can enable USB automount by installing the following package via Yay helper. + +``` +yay -S usbmount +``` + +* Wallpaper: Install feh utility using the following command to easily manage wallpaper in IceWM. + +``` +pacman -S feh +``` + +* IceWM Preferences: Most of the settings are available in the `~/.icewm/preferences` file. You can set or unset any value you want. +* Changing Themes: To change themes you can navigate via Launcher `Menu > Settings > Themes`. + +### Wrapping Up + +In this article, you learned how to install IceWM in Arch Linux (vanilla or on top of any distro). Also you learned the necessary configuration for IceWM. I hope this guide helps you to configure a nice and simple IceWM system in Arch for your daily use. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/icewm-arch-linux-install/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2022/10/IceWM-Looks-Awesome.jpg +[2]: https://ice-wm.org/ +[3]: https://www.debugpoint.com/archinstall-guide/ +[4]: https://archlinux.org/packages/community/x86_64/icewm/ +[5]: https://aur.archlinux.org/packages?O=0&SeB=nd&K=icewm&outdated=&SB=p&SO=d&PP=50&submit=Go +[6]: https://www.debugpoint.com/install-yay-arch/ +[7]: https://www.debugpoint.com/wp-content/uploads/2022/10/Insall-IceWm-in-Arch-Linux.jpg From 2004f1f8416ef1146cff9ce192795df43e8b8bfb Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:52:42 +0800 Subject: [PATCH 094/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221005=20How=20to=20Fix=20VirtualBox=20Kernel=20Head?= =?UTF-8?q?ers=20Not=20Found=20Error.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rtualBox Kernel Headers Not Found Error.md | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 sources/tech/20221005 How to Fix VirtualBox Kernel Headers Not Found Error.md diff --git a/sources/tech/20221005 How to Fix VirtualBox Kernel Headers Not Found Error.md b/sources/tech/20221005 How to Fix VirtualBox Kernel Headers Not Found Error.md new file mode 100644 index 0000000000..a579f3f129 --- /dev/null +++ b/sources/tech/20221005 How to Fix VirtualBox Kernel Headers Not Found Error.md @@ -0,0 +1,66 @@ +[#]: subject: "How to Fix VirtualBox Kernel Headers Not Found Error" +[#]: via: "https://www.debugpoint.com/virtualbox-kernel-headers-not-found-error/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Fix VirtualBox Kernel Headers Not Found Error +====== +This quick guide would help you to fix the “VirtualBox Kernel Headers Not Found” error. + +### Reason for the error + +When you run Fedora or any related distro (such as RHEL, CentOS, etc.) in [VirtualBox][1] as a guest, you get this error while [installing the VirtualBox guest additions][2]. + +The primary reason is the difference in Kernel versions between the guest and the host system. + +For example, if your host system has Linux Kernel 5.19 for example and you are installing any distribution with a different version, say 5.14, then you may run into this error while running the setup script for the virtual box guest additions. + +The VirtualBox guest addition set-up requires the necessary Kernel modules to be built inside the guest system. Then it checks whether the Kernel modules match; otherwise, it throws this error. + +![error][3] + +### Fix the Kernel Headers Not found error in VirtualBox + +To solve this, open a terminal **inside the guest system.** + +And install the necessary Kernel packages as mentioned below. + +``` +sudo dnf install kernel-headers kernel-devel +``` + +And then reboot. + +``` +reboot +``` + +After reboot, try to re-run the VirtualBox guest addition installation script. And the error should be fixed. + +If not, drop a note below. + +![After fixing the Kernel headers not found error][4] + +Note: Although its mentioned that only for Fedora and related distros. But the same applies to Ubuntu and related distros as well. The idea is the same to install the necessary packages in the guest system. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/virtualbox-kernel-headers-not-found-error/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.virtualbox.org/ +[2]: https://www.debugpoint.com/virtualbox-guest-additions-fedora/ +[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Kernel-Headers-not-found-error.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/10/After-fixing-the-Kernel-headers-not-found-error.jpg From c7a374b8fba950930e78d45e4443bb17a8883c24 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:53:58 +0800 Subject: [PATCH 095/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221003=20Is=20your=20old=20computer=20-obsolete-,=20?= =?UTF-8?q?or=20is=20it=20a=20Linux=20opportunity-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...bsolete-, or is it a Linux opportunity-.md | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 sources/tech/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md diff --git a/sources/tech/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md b/sources/tech/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md new file mode 100644 index 0000000000..7804bd48ee --- /dev/null +++ b/sources/tech/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md @@ -0,0 +1,62 @@ +[#]: subject: "Is your old computer 'obsolete', or is it a Linux opportunity?" +[#]: via: "https://opensource.com/article/22/10/obsolete-computer-linux-opportunity" +[#]: author: "Phil Shapiro https://opensource.com/users/pshapiro" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Is your old computer 'obsolete', or is it a Linux opportunity? +====== +Too often older computers are labeled 'obsolete'. Linux changes that. Refurbish an old computer and make it useful again for someone who needs it. + +![Old UNIX computer][1] + +Image by: Opensource.com + +You may often hear someone claim a computer, tablet, or smartphone is "obsolete." When you hear such a statement, take a minute to ask yourself, "Is this person speaking an opinion or a fact?" + +Many times, their statement is an opinion. Let me explain why. + +When someone declares a computer "obsolete," they often speak from their own point of view. So, if you're a technology professional, a five-year-old computer might indeed be obsolete. But is that same five-year-old computer obsolete to a refugee family fleeing war or famine? Probably not. A computer that is obsolete for you might be a dream computer for someone else. + +### How I refurbish old computers with Linux + +I have some experience in this field. For the past 25 years, I've been taking older computers to people who don't have them. One of my second grade students, raised by her grandmother, graduated from Stanford University five years ago. Another one of my students, to whom I delivered a dusty Windows XP desktop in 2007, graduated from Yale University last year. Both of these students used donated computers for their own self-advancement. The latter student typed more than 50 words per minute before reaching middle school. Her family could not afford Internet service when I delivered her donated computer to her–in third grade. So, she used her time productively to learn touch typing skills. I document her story in [this YouTube video][2]. + +I'll share another anecdote that is difficult to believe, even for me. A few years ago, I bought a Dell laptop on eBay for $20. This laptop was a top-of-the-line laptop in 2002. I installed Linux Mint on it, added a USB WiFi adapter, and this laptop was reborn. I documented this story in a YouTube video titled, "[My $20 eBay laptop][3]." + +In the video, you can see this laptop surfing the web. It's not speedy but is much faster than the dial-up computers we used in the late 1990s. I would describe it as *functional*. Someone could write their doctoral thesis using this 2002 laptop. The thesis would read as well as if it were written using a computer released yesterday. This laptop should be set up somewhere public where people can see up close that a 2002 computer can still be usable. Seeing is believing. Ain't that the truth? + +How about those famed "netbooks" from 2008, 2009, and 2010? Surely those are obsolete, right? Not so fast! If you install a 32-bit Linux on them, they can surf the web just fine using the latest version of Chromium web browser–which still supports 32-bit operating systems. (Google Chrome no longer supports 32-bit operating systems, though.) A student with one of these netbooks could watch Khan Academy videos and develop their writing skills using Google Docs. Hook up one of these netbooks to a larger LCD screen, and the student could develop skills with [LibreOffice Draw][4] or [Inkscape][5], two of my favorite open source graphics programs. If you're interested, I have a [video for reviving netbooks][6] using Linux. Netbooks are also ideal for mailing overseas to a school in Liberia, a hospital in Haiti, a food distribution site in Somalia, or anywhere else where donated technology could make a huge difference. + +Do you know where refurbished netbooks would really be welcome? In the communities that have opened their hearts and homes to Ukrainian refugees. They're doing their part, and we ought to be doing ours. + +### Open source revives old computers + +Many technology professionals live in a bubble of privilege. When they declare a technology "obsolete," they might not realize the harm they are causing by representing this opinion as a fact. People unfamiliar with how open source can revive older computers are sentencing those computers to death. I won't stand idly by when that happens. And you should not, either. + +A simple response to a person who declares a computer obsolete is to say, "Sometimes older computers can be revived and put back to use. I've heard that open source is one way of doing that." + +If you know the person well, you might want to share links to some of the YouTube videos listed in this article. And when you get a chance, take a moment to meet an individual or family who lacks access to the technology they need. That meeting will enrich your life in ways you would have never imagined. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/obsolete-computer-linux-opportunity + +作者:[Phil Shapiro][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/pshapiro +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/retro_old_unix_computer.png +[2]: https://www.youtube.com/watch?v=Ao_vOijz14U +[3]: https://www.youtube.com/watch?v=UZiN6nm-PUU +[4]: https://opensource.com/tags/libreoffice +[5]: https://opensource.com/downloads/inkscape-cheat-sheet +[6]: https://www.youtube.com/watch?v=GBYEclpvyGQ From 47bebbb2122fde0dd6e74168e61fd1cef68667ca Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:55:05 +0800 Subject: [PATCH 096/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221004=205=20new=20improvements=20in=20Apache=20Shar?= =?UTF-8?q?dingSphere.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...w improvements in Apache ShardingSphere.md | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 sources/tech/20221004 5 new improvements in Apache ShardingSphere.md diff --git a/sources/tech/20221004 5 new improvements in Apache ShardingSphere.md b/sources/tech/20221004 5 new improvements in Apache ShardingSphere.md new file mode 100644 index 0000000000..b5ce382ed8 --- /dev/null +++ b/sources/tech/20221004 5 new improvements in Apache ShardingSphere.md @@ -0,0 +1,110 @@ +[#]: subject: "5 new improvements in Apache ShardingSphere" +[#]: via: "https://opensource.com/article/22/9/improvements-apache-shardingsphere" +[#]: author: "Yacine Si Tayeb, PhD https://opensource.com/users/y2so" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 new improvements in Apache ShardingSphere +====== +ShardingSphere supports multiple databases, and each improvement in the 5.2.0 release takes more work off your hands. + +Apache ShardingSphere, a powerful distributed database, recently released a major update to optimize and enhance its features, performance, testing, documentation, and examples. In short, the project continues to work hard at development to make it easier for you to manage your organization's data. + +### 1. SQL audit for data sharding + +The problem: When a user executes an SQL query without the sharding feature in large-scale data sharding scenarios, the SQL query is routed to the underlying database for execution. As a result, many database connections are occupied, and businesses are severely affected by a timeout or other issues. Worse still, should the user perform an **UPDATE**/**DELETE** operation, a large amount of data may be incorrectly updated or deleted. + +ShardingSphere's solution: As of version 5.2.0, ShardingSphere provides the SQL audit for data sharding feature and allows users to configure audit strategies. The strategy specifies multiple audit algorithms, and users can decide whether audit rules should be disabled. SQL execution is strictly prohibited if any audit algorithm fails to pass. + +Here's the configuration of an SQL audit for data sharding: + +``` +rules: +- !SHARDING +  tables: +    t_order: +      actualDataNodes: ds_${0..1}.t_order_${0..1} +      tableStrategy: +        standard: +          shardingColumn: order_id +          shardingAlgorithmName: t_order_inline +      auditStrategy: +        auditorNames: +          - sharding_key_required_auditor +        allowHintDisable: true +  defaultAuditStrategy: +    auditorNames: +      - sharding_key_required_auditor +    allowHintDisable: true  auditors: +    sharding_key_required_auditor: +      type: DML_SHARDING_CONDITIONS +``` + +Given complex business scenarios, this new feature allows you to dynamically disable the audit algorithm by using SQL hints so that partial business SQL operations can be executed. + +ShardingSphere has a built-in **DML disables full-route audit** algorithm. You can also implement a **ShardingAuditAlgorithm** interface to gain advanced SQL audit functions: + +``` +/* ShardingSphere hint: disableAuditNames=sharding_key_required_auditor */ SELECT * FROM t_order; +``` + +### 2. SQL execution process management + +The ShardingSphere MySQL database provides a **SHOW PROCESSLIST** statement, allowing you to view the currently running thread. You can kill the thread with the **KILL** statement for SQL that takes too long to be temporarily terminated. + +![MySQL KILL command result][2] + +Image by: (Duan Zhengqiang, CC BY-SA 4.0) + +The **SHOW PROCESSLIST** and **KILL** statements are widely used in daily operation and maintenance management. To enhance your ability to manage ShardingSphere, version 5.2.0 supports the MySQL **SHOW PROCESSLIST** and **KILL** statements. When you execute a **DDL**/**DML** statement through ShardingSphere, ShardingSphere automatically generates a unique UUID identifier and stores the SQL execution information in each instance. + +When you execute the **SHOW PROCESSLIST** statement, ShardingSphere processes the SQL execution information based on the current operating mode. + +If the current mode is cluster mode, ShardingSphere collects and synchronizes the SQL execution information of each compute node through the governance center and then returns the summary to the user. If the current mode is the standalone mode, ShardingSphere only returns SQL execution information in the current compute node. + +You get to determine whether to execute the **KILL** statement based on the result returned by **SHOW PROCESSLIST**, and ShardingSphere cancels the SQL in execution based on the ID in the **KILL** statement. + +### 3. Shardingsphere-on-cloud + +[Shardingsphere-on-cloud][3] is a project of Apache ShardingSphere providing cloud-oriented solutions. Version 0.1.0 has been released, and it has been officially voted as a sub-project of Apache ShardingSphere. + +Shardinsphere-on-cloud will continue releasing configuration templates, deployment scripts, and other automation tools for ShardingSphere on the cloud. + +It will also polish the engineering practices in terms of high availability, data migration, observability, shadow DB, security, and audit, optimize the delivery mode of Helm Charts, and continue to enhance its cloud-native management capabilities through Kubernetes Operator. There are already introductory issues in the project repository to help those interested in getting Go, Database, and Cloud up and running quickly. + +### 4. Access port + +In version 5.2.0, [ShardingSphere-Proxy][4] can monitor specified IP addresses and integrate openGauss database drivers by default. [ShardingSphere-JDBC][5] supports c3p0 data sources, and a **Connection.prepareStatement** can specify the columns. + +### 5. Distributed transaction + +The original logical database-level transaction manager has been adjusted to a global manager, supporting distributed transactions across multiple logical databases. XA transactions are now automatically managed by ShardingSphere, which removes the XA statement's ability to control distributed transactions. + +### Use ShardingSphere for distributed data + +ShardingSphere supports multiple databases, and each improvement takes more work off your hands. The establishment of the shardingsphere-on-cloud sub-project shows ShardingSphere's commitment to being cloud-native. The greater ShardingSphere community welcomes anyone interested in Go, databases, and the cloud to join the shardingsphere-on-cloud sub-project! + +*[The article was first published on Medium.com and has been republished with permission.][6]* + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/improvements-apache-shardingsphere + +作者:[Yacine Si Tayeb, PhD][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/y2so +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/data_metrics_analytics_desktop_laptop.png +[2]: https://opensource.com/sites/default/files/2022-09/Picture1.png +[3]: https://github.com/apache/shardingsphere-on-cloud +[4]: https://shardingsphere.apache.org/document/current/en/quick-start/shardingsphere-proxy-quick-start/ +[5]: https://shardingsphere.apache.org/document/current/en/overview/#shardingsphere-jdbc +[6]: https://faun.pub/apache-shardingsphere-5-2-0-is-released-bringing-new-cloud-native-possibilities-8d674d964a93 From ae19b7d7ea2680a461c10de26746f4a61b89eeb1 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:55:47 +0800 Subject: [PATCH 097/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221004=20Learn=20the=20OSI=20model=20in=205=20minute?= =?UTF-8?q?s.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...221004 Learn the OSI model in 5 minutes.md | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 sources/tech/20221004 Learn the OSI model in 5 minutes.md diff --git a/sources/tech/20221004 Learn the OSI model in 5 minutes.md b/sources/tech/20221004 Learn the OSI model in 5 minutes.md new file mode 100644 index 0000000000..717e6d1946 --- /dev/null +++ b/sources/tech/20221004 Learn the OSI model in 5 minutes.md @@ -0,0 +1,100 @@ +[#]: subject: "Learn the OSI model in 5 minutes" +[#]: via: "https://opensource.com/article/22/10/osi-model-network-communications" +[#]: author: "Anamika https://opensource.com/users/anamika" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Learn the OSI model in 5 minutes +====== +Get the basics of the Open Systems Interconnection (OSI) framework for conceptualizing communication within a computer system. + +The Open Systems Interconnection (OSI) model is a standard for how computers, servers, and people communicate within a system. It was the first standard model for network communications and was adopted in the early 1980s by all major computer and telecommunications companies. + +The OSI model provides a universal language for describing networks and thinking about them in discrete chunks, or layers. + +### Layers of the OSI model + +The model describes the seven layers through which computer systems communicate over a network. + +1. [Application layer][2] +2. [Presentation layer][3] +3. [Session layer][4] +4. [Transport layer][5] +5. [Network layer][6] +6. [Data link layer][7] +7. [Physical layer][8] + +Each of these layers has its own way of working, with its own set of protocols that distinguish it from the others. This article provides a breakdown of the layers one by one. + +### Application layer + +The application layer is implemented in software. It is the layer used to interact with applications. + +Consider the example of sending a message. The sender will interact with the application layer and send the message. The application layer sends the message to the next layer in the OSI Model, the presentation layer. + +### Presentation layer + +The data from the application layer is forwarded to the presentation layer. The presentation layer receives the data in the form of words, characters, letters, numbers, and so on, and converts them into machine representable binary format. This process is known as translation. + +At this stage, ASCII characters (American Standard Code for Information Interchange) are converted into Extended Binary Coded Decimal Interchange Code (EBCDIC). Before the converted data goes further, it also undergoes encoding and encryption processes, using the SSL protocol for encryption and decryption. + +The presentation layer provides abstraction and assumes that the layers following it will take care of the data forwarded to them from this layer. It also plays a role in compression of the data. The compression can be lossy or lossless, depending on various factors beyond this article's scope. + +### Session layer + +The session layer helps in setting up and managing connections. The main work of this layer is to establish a session. For example, on an online shopping site, a session is created between your computer and the site's server. + +The session layer enables the sending and receiving of data, followed by the termination of connected sessions. Authentication is done before a session is established, followed by authorization. Like the previous layers, the session layer also assumes that, after its work is done, the data will be correctly handled by the subsequent layers. + +### Transport layer + +The transport layer manages data transportation and its own set of protocols for how data will be transferred. The data received here from the session layer is divided into smaller data units called segments. This process is known as segmentation. Every segment contains the source's and destination's port numbers and a sequence number. Port numbers identify the application on which the data needs to be sent. Note that the data is transferred in chunks. The sequence numbers are used to reassemble the segments in the correct order. + +The transport layer takes care of the flow control, or the amount of data transferred at a given time. It also accounts for error control, such as data loss, data corruption, and so on. It makes use of an error-detecting value known as a checksum. The transport layer adds a checksum to every data segment to check whether the sent data is received correctly. Data is then transferred to the network layer. + +### Network layer + +The network layer helps communicate with other networks. It works to transmit received data segments from one computer to another located in a different network. The router lives in the network layer. + +The function of the network layer is logical addressing (IP Addressing). It assigns the sender's and receiver's IP addresses to each data packet to ensure it is received at the correct destination. The network layer then routes the data packets. Load balancing also happens in the network layer to make sure that no overloading takes place. Next, the data is transported to the data link layer. + +### Data link layer + +The data link layer allows direct communication with other devices, such as computers and hosts. + +It receives data packets containing the IP addresses of the sender and receiver from the network layer and does the physical addressing, assigning the media access control (MAC) addresses of the sender and receiver to a data packet to form a frame. + +### Physical layer + +This layer consists of all the hardware and mechanical elements of a system, including the configuration of wires, pins, adapters, and so forth. The data received here by the preceding layers is in the form of 0s and 1s. The physical layer converts this data and transports it to local media via various means, including wires, electrical signals, light signals (as in optical fiber cables), and radio signals (as in WiFi). + +Note that the physical layer works at the receiver's end and transports the received signal to the data link as a frame (by converting it back to bits). The frame is moved to the higher layers, and ultimately the required data is received at the application layer, which is the software. + +### Conclusion + +The OSI model is helpful when you need to describe network architecture or troubleshoot network problems. I hope this article gave you a clearer understanding of the elements this model. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/osi-model-network-communications + +作者:[Anamika][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/anamika +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/code_computer_development_programming.png +[2]: https://opensource.com/article/22/10/osi-model-network-communications#application-layer +[3]: https://opensource.com/article/22/10/osi-model-network-communications#presentation-layer +[4]: https://opensource.com/article/22/10/osi-model-network-communications#session-layer +[5]: https://opensource.com/article/22/10/osi-model-network-communications#transport-layer +[6]: https://opensource.com/article/22/10/osi-model-network-communications#network-layer +[7]: https://opensource.com/article/22/10/osi-model-network-communications#data-link-layer +[8]: https://opensource.com/article/22/10/osi-model-network-communications#physical-layer From 6bf730f88c1fdd7fca23a156e1da24c7f4e21c13 Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:56:36 +0800 Subject: [PATCH 098/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221005=20Use=20OCI=20containers=20to=20run=20WebAsse?= =?UTF-8?q?mbly=20workloads.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...containers to run WebAssembly workloads.md | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 sources/tech/20221005 Use OCI containers to run WebAssembly workloads.md diff --git a/sources/tech/20221005 Use OCI containers to run WebAssembly workloads.md b/sources/tech/20221005 Use OCI containers to run WebAssembly workloads.md new file mode 100644 index 0000000000..9175167232 --- /dev/null +++ b/sources/tech/20221005 Use OCI containers to run WebAssembly workloads.md @@ -0,0 +1,166 @@ +[#]: subject: "Use OCI containers to run WebAssembly workloads" +[#]: via: "https://opensource.com/article/22/10/wasm-containers" +[#]: author: "Aditya R https://opensource.com/users/adir" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Use OCI containers to run WebAssembly workloads +====== +Run Wasm/WASI workloads natively on Podman and Kubernetes using crun. + +![Ships at sea on the web][1] + +WebAssembly (also referred to as Wasm) has gained popularity as a portable binary instruction format with an embeddable and isolated execution environment for client and server applications. Think of WebAssembly as a small, fast, efficient, and very secure stack-based virtual machine designed to execute portable bytecode that doesn't care what CPU or operating system it runs on. WebAssembly was initially designed for web browsers to be a lightweight, fast, safe, and polyglot container for functions, but it's no longer limited to the web. + +On the web, WebAssembly uses the existing APIs provided by browsers. WebAssembly System Interface (WASI) was created to fill the void between WebAssembly and systems running outside the browser. This enables non-browser systems to leverage the portability of WebAssembly, making WASI a good choice for portability while distributing and isolation while running the workload. + +WebAssembly offers several advantages. Because it is platform neutral, one single binary can be compiled and executed on a variety of operating systems and architectures simultaneously, with a very low disk footprint and startup time. Useful security features include module signing and security knobs controllable at the run-time level rather than depending on the host operating system's user privilege. Sandboxed memory can still be managed by existing container tools infrastructure. + +In this article, I will walk through a scenario for configuring [container runtimes][2] to run Wasm workloads from lightweight container images. + +### Adoption on cloud infrastructure and blockers + +WebAssembly and WASI are fairly new, so the standards for running Wasm workloads natively on container ecosystems have not been set. This article presents only one solution, but there are other viable methods. + +Some of the solutions include switching native Linux container runtimes with components that are Wasm compatible. For instance, Krustlet v1.0.0-alpha1 allows users to introduce Kubernetes nodes where Krustlet is used as a replacement for a standard kubelet. The limitation of this approach is that users have to choose between Linux container runtime and Wasm runtime. + +Another solution is using a base image with Wasm runtime and manually invoking compiled binary. However, this method makes container images bloated with runtime, which is not necessarily needed if we invoke Wasm runtime natively at a lower level than container runtime. + +I will describe how you can avoid this by creating a hybrid setup where existing Open Containers Initiative (OCI) runtimes can run both native Linux containers and WASI-compatible workloads. + +### Using crun in a hybrid setup of Wasm and Linux containers + +Some of the problems discussed above can be easily addressed by allowing an existing OCI runtime to invoke both Linux containers and Wasm containers at a lower level. This avoids issues like depending on container images to carry Wasm runtime or introducing a new layer to infrastructure that supports only Wasm containers. + +One container runtime that can handle the task: crun. + +Crun is fast, has a low-memory footprint, and is a fully OCI-compliant container runtime that can be used as a drop-in replacement for your existing container runtime. Crun was originally written to run Linux containers, but it also offers handlers capable of running arbitrary extensions inside the container sandbox in a native manner. + +This is an informal way of replacing existing runtime with crun just to showcase that crun is a complete replacement for your existing OCI runtime. + +``` +$ mv /path/to/exisiting-runtime /path/to/existing-runtime.backup +$ cp /path/to/crun /path/to/existing-runtime +``` + +One such handler is `crun-wasm-handler`, which delegates specially configured container images (a Wasm compat image) to the parts of existing Wasm runtimes in a native approach inside the crun sandbox. This way, end users do not need to maintain Wasm runtimes by themselves. + +Crun has native integration with [wasmedge][3], [wasmtime][4], and [wasmer][5] to support this functionality out of the box. It dynamically invokes parts of these runtimes as crun detects whether the configured image contains any Wasm/WASI workload, and it does so while still supporting the native Linux containers. + +For details on building crun with Wasm/WASI support, see the [crun repository on GitHub][6]. + +### Building and running Wasm images using Buildah on Podman and Kubernetes + +Users can create and run platform-agnostic Wasm images on [Podman][7] and Kubernetes using crun as an OCI runtime under the hood. Here's a tutorial: + +#### Creating Wasm compat images using Buildah + +Wasm/WASI compatible images are special. They contain a magic annotation that helps an OCI runtime like crun classify whether it is a Linux-native image or an image with a Wasm/WASI workload. Then it can invoke handlers if needed. + +Creating these Wasm compat images is extremely easy with any container image build tools, but for this article, I will l demonstrate using [Buildah][8]. + +1. Compile your `.wasm` module. + +2. Prepare a Containerfile with your `.wasm` module. + +``` +FROM scratch + +COPY hello.wasm / + +CMD ["/hello.wasm"] +``` + +3. Build a Wasm image using Buildah with annotation `module.wasm.image/variant=compat` + +``` +$ buildah build --annotation "module.wasm.image/variant=compat" -t mywasm-image +``` + +Once the image is built and the container engine is configured to use crun, crun will automagically do the needful and run the provided workload by the configured Wasm handler. + +#### Running a WASM workload with Podman + +Crun is the default OCI runtime for Podman. Podman contains knobs and handles to utilize most crun features, including the crun Wasm handler. Once a Wasm compat image is built, it can be used by Podman just like any other container image: + +``` +$ podman run mywasm-image:latest +``` + +Podman runs the requested Wasm compat image `mywasm-image:latest` using crun's Wasm handler and returns output confirming that our workload was executed. + +``` +$ hello world from the webassembly module !!!! +``` + +#### Kubernetes-supported and tested container run-time interface (CRI) implementations + +Here's how to configure two popular container runtimes: + +##### CRI-O + +* Configure CRI-O to use crun instead of runc by editing config at `/etc/crio/crio.conf`. Red Hat OpenShift documentation contains more details about [configuring CRI-O][9]. +* Restart CRI-O with `sudo systemctl restart crio`. +* CRI-O automatically propagates pod annotations to the container spec. + +##### Containerd + +* Containerd supports switching container runtime via a custom configuration defined at `/etc/containerd/config.toml`. +* Configure containerd to use crun by making sure the run-time binary points to crun. More details are available in the [containerd documentation][10]. +* Configure containerd to allowlist Wasm annotations so they can be propagated to the OCI spec by setting `pod_annotations` in the configuration: `pod_annotations = ["module.wasm.image/variant.*"]`. +* Restart containerd with `sudo systemctl start containerd`. +* Now containerd should propagate Wasm pod annotations to containers. + +The following is an example of a Kubernetes pod spec that works with both CRI-O and containerd: + +``` +apiVersion: v1 +kind: Pod +metadata: +  name: pod-with-wasm-workload +  namespace: mynamespace +  annotations: +    module.wasm.image/variant: compat +spec: +  containers: +  - name: wasm-container +    image: myrepo/mywasmimage:latest +``` + +### Known issues and workarounds + +Complex Kubernetes infrastructure contains pods and, in many cases, pods with sidecars. That means crun's Wasm integration is not useful when a deployment contains sidecars and sidecar containers do not contain a Wasm entry point, such as infrastructure setups with service mesh like Linkerd, Gloo, and Istio or a proxy like Envoy. + +You can solve this issue by adding two smart annotations for Wasm handlers: `compat-smart` and `wasm-smart`. These annotations serve as a smart switch that only toggles Wasm runtime if it's necessary for a container. Hence while running deployments with sidecars, only containers that contain valid Wasm workloads are executed by Wasm handlers. Regular containers are treated as usual and delegated to the native Linux container runtime. + +Thus when building images for such a use case, use annotation `module.wasm.image/variant=compat-smart` instead of `module.wasm.image/variant=compat`. + +You can find other known issues in [crun documentation on GitHub][11]. + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/10/wasm-containers + +作者:[Aditya R][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/adir +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/kubernetes_containers_ship_lead.png +[2]: https://opensource.com/article/21/9/container-runtimes +[3]: https://wasmedge.org/ +[4]: https://wasmtime.dev/ +[5]: https://wasmer.io/ +[6]: https://github.com/containers/crun/ +[7]: https://www.redhat.com/sysadmin/topics/podman?intcmp=7013a000002qLH8AAM +[8]: https://opensource.com/article/22/2/build-your-own-container-linux-buildah +[9]: https://docs.openshift.com/container-platform/3.11/crio/crio_runtime.html#configure-crio-use-crio-engine +[10]: https://github.com/containerd/containerd/blob/main/docs/cri/config.md +[11]: https://github.com/containers/crun/blob/main/docs/wasm-wasi-on-kubernetes.md#known-issues From 5e10ed87935a512ac5e4eb9e37db3a01a998dcfb Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:57:17 +0800 Subject: [PATCH 099/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221003=20CPU-X=20an=20Alternative=20to=20CPU-Z=20for?= =?UTF-8?q?=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...CPU-X an Alternative to CPU-Z for Linux.md | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 sources/tech/20221003 CPU-X an Alternative to CPU-Z for Linux.md diff --git a/sources/tech/20221003 CPU-X an Alternative to CPU-Z for Linux.md b/sources/tech/20221003 CPU-X an Alternative to CPU-Z for Linux.md new file mode 100644 index 0000000000..06a29559d0 --- /dev/null +++ b/sources/tech/20221003 CPU-X an Alternative to CPU-Z for Linux.md @@ -0,0 +1,171 @@ +[#]: subject: "CPU-X an Alternative to CPU-Z for Linux" +[#]: via: "https://itsfoss.com/cpu-x-alternative-cpu-z-linux/" +[#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +CPU-X an Alternative to CPU-Z for Linux +====== +The tech-savvy Windows users might have used CPU-Z. It is an excellent utility for gathering comprehensive system information that is not available through stock applications in Windows. + +**CPU-Z is not available on Linux.** + +Don’t get disheartened! There are multiple ways and tools you can use to get detailed hardware information in Linux. + +In fact, if you want something similar to CPU-Z on Linux, you are in luck. A developer called [X0rg][1] on GitHub has created a CPU-Z clone called CPU-X for Linux. + +The interface might not be an exact replica bit you will find it familiar. + +![CPU-X default interface with Adwaita-dark theme][2] + +### CPU-X: A GUI to know CPU, Motherboard and other hardware details + +CPU-X is a system profiling (Information) and monitoring application (Resource usage). It can detect the Processor (CPU), Memory (RAM), Chipset (Motherboard). + +CPU-X is a free and open source software designed for GNU/Linux and FreeBSD. It is available in [GUI, TUI and CLI][3] formats. + +By default, CPU-X in the graphical mode uses GTK3 ([GTK4 port][4] will not happen as per Developer). + +It can provide comprehensive information about the hardware which is accessible without examining the components physically which is not possible all the time. For example, CPU-X can provide information about the RAM modules installed as shown below. + +![CPU-X showing information about RAM][5] + +### Features of CPU-X + +The name of this application can be misleading as this application can provide information about many aspects of the computer and is not limited to the CPU only. + +Here is a list of things CPU-X can provide information about. + +* Processor +* Motherboard +* Memory +* System +* Graphic card +* Performance + +If you run CPU-X for the first time, you will be greeted with something like the screenshot below. + +![CPU-X running without Daemon][6] + +No one can ignore the button **Start Daemon** at the bottom left corner of the window. + +If you start the daemon, it will allow CPU-X to access special devices, providing more information and avoiding empty labels (Package, Multiplier, Bus speed as shown in the screenshot). + +The **CPU-X daemon requires root privileges**, and it uses Polkit for privileges escalation. If you are using a Desktop Environment, entering the password as prompted will start the daemon and will not need further input from the user. + +Note that the memory information is available only when Daemon is active. + +#### CPU-X in the terminal + +You can also use CPU-X from the command line, as there are two options available for using CPU-X in the terminal, i.e., NCurses and Coredump. + +Firstly, to access the NCurses interface use the following command. + +``` +cpu-x -N +``` + +The interface will be similar to the default (GTK3) but with Ncurses type interface as shown in the screenshot below. You can navigate using arrow keys here. + +![CPU-X NCurses running on GNOME Terminal][7] + +Secondly, to get a summary of data, enter the following command. + +``` +cpu-x -D +``` + +This command gives the user a dump of all the system information provided by CPU-X. It is a very long output so you have to scroll through it to get the required information as shown below. + +![CPU-X coredump on GNOME Terminal][8] + +### Installing CPU-X on Linux + +You can just grab the [latest AppImage from the GitHub release page][9] of CPU-X. + +Native packages for CPU-X are also available for almost all distributions in their official repositories. Here are the commands to get them installed. + +For Debian 11 or later and Ubuntu 20.04 or later. + +``` +sudo apt install cpu-x +``` + +For Fedora 30 or later. + +``` +sudo dnf install cpu-x +``` + +For FreeBSD 11 or later. + +``` +sudo pkg install cpu-x +``` + +For OpenSUSE Leap 15.2 or later. + +``` +sudo zypper install cpu-x +``` + +For Solus any version. + +``` +sudo eopkg install cpu-x +``` + +For Arch Linux as the package is available in the AUR only. + +``` +yay -Syu cpu-x +``` + +You can check out CPU-X source code on [GitHub][10]. Head to its official site to know more about it. + +[CPU-X Official site][11] + +### Conclusion + +When you switch to Linux, it is only natural to look for the applications you used in Windows. + +Where is Ccleaner in Linux? Where is the task manager? + +Sometimes the software is available in Linux and sometimes they are not. In the latter case, you often have to opt for an alternative. + +And that’s the thing. There are often alternatives available for the Linux desktop. + +The CPU-Z alternative CPU-X is such an example. It gives you the CPU and other hardware information in a familiar way to CPU-Z users.[][12] + +I know that there are many other tools such as [inxi][13] and [hardinfo][14] that could be used for a similar purpose. **Do you like CPU-X or do you use prefer some other tool? Leave a comment below.** + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/cpu-x-alternative-cpu-z-linux/ + +作者:[Anuj Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/anuj/ +[b]: https://github.com/lkxed +[1]: https://github.com/X0rg +[2]: https://itsfoss.com/wp-content/uploads/2022/09/cpu-x-cpu-info.png +[3]: https://itsfoss.com/gui-cli-tui/ +[4]: https://github.com/X0rg/CPU-X/wiki/future-of-project +[5]: https://itsfoss.com/wp-content/uploads/2022/09/cpu-x-memory.png +[6]: https://itsfoss.com/wp-content/uploads/2022/09/cpu-x-no-daemon.png +[7]: https://itsfoss.com/wp-content/uploads/2022/09/cpu-x-ncurses.png +[8]: https://itsfoss.com/wp-content/uploads/2022/09/cpu-x-coredump.png +[9]: https://github.com/X0rg/CPU-X/releases/latest +[10]: https://github.com/X0rg/CPU-X +[11]: https://x0rg.github.io/CPU-X/ +[12]: https://github.com/X0rg/CPU-X/blob/master/README.md#from-github-releases +[13]: https://itsfoss.com/inxi-system-info-linux/ +[14]: https://itsfoss.com/hardinfo/ From 4df7d4040d55d53fc678ee0315fc11bf7e604cbc Mon Sep 17 00:00:00 2001 From: lkxed Date: Thu, 6 Oct 2022 10:59:22 +0800 Subject: [PATCH 100/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221002=20How=20to=20Install=20HAProxy=20on=20Ubuntu?= =?UTF-8?q?=2020.04=20LTS=20-Focal=20Fossa-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Proxy on Ubuntu 20.04 LTS -Focal Fossa-.md | 238 ++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 sources/tech/20221002 How to Install HAProxy on Ubuntu 20.04 LTS -Focal Fossa-.md diff --git a/sources/tech/20221002 How to Install HAProxy on Ubuntu 20.04 LTS -Focal Fossa-.md b/sources/tech/20221002 How to Install HAProxy on Ubuntu 20.04 LTS -Focal Fossa-.md new file mode 100644 index 0000000000..22fbc1368b --- /dev/null +++ b/sources/tech/20221002 How to Install HAProxy on Ubuntu 20.04 LTS -Focal Fossa-.md @@ -0,0 +1,238 @@ +[#]: subject: "How to Install HAProxy on Ubuntu 20.04 LTS (Focal Fossa)" +[#]: via: "https://www.linuxtechi.com/how-to-install-haproxy-ubuntu-20-04/" +[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Install HAProxy on Ubuntu 20.04 LTS (Focal Fossa) +====== +In this guide, we will cover how to install latest version of HAProxy on Ubuntu 20.04 LTS (Focal Fossa) step-by-step. + +HAProxy is a free & open source solution for High availability and load balancing, it can also be used for proxying TCP & HTTP based applications. HAProxy can be installed and configured on Linux, Solaris & FreeBSD. HAProxy is best recommended solution for the websites which has huge traffic as it improves performance & reliability of the server by means of load balancing the servers & using its high availability capabilities. + +HAProxy is used by a number of most popular websites including GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter and it is also used in the OpsWorks product from Amazon Web Services. + +##### Prerequisites + +* Minimal Installed Ubuntu 20.04 System +* Local User with sudo rights +* Internet connectivity + +Without any further delay, let’s deep dive into HAProxy installation steps. + +### Step 1) Install Updates + + +Login to Ubuntu 20.04 system and install all the available updated using beneath apt command, + +``` +$ sudo apt update +$ sudo apt upgrade -y +``` + +Once all the updates are installed, reboot the system once. + +``` +$ sudo reboot +``` + +### Step 2) Install latest HAProxy + +HAProxy package is available in the default package repositories but it is not the latest and stable version. So to install latest version, enable HAProxy PPA, run + +``` +$ sudo apt install software-properties-common +$ sudo add-apt-repository ppa:vbernat/haproxy-2.6 -y +``` + +Now, run following apt command to install haproxy + +Note: At the time of writing this article, HAProxy 2.6 is available via PPA. + +``` +$ sudo apt update$ sudo apt install haproxy -y +``` + +To verify the haproxy version, run + +``` +$ haproxy -v' +``` + +![Haproxy-version-check-ubuntu][1] + +Haproxy service starts automatically when we install haproxy package. To validate the haproxy service status, run following + +``` +$ sudo systemctl status haproxy +``` + +output, + +![Haproxy-Service-Status-Ubuntu-20-04][2] + +### Step 3) Configure HAProxy + +Now we have haproxy ready. For purpose of this guide, we will configure HAProxy to load balance the requests from a mail server & a web server. + +##### Load balancing a Mail server with HAProxy + +For this example, we will be using two SMTP servers with the IP adresse 192.168.1.10 & 192.168.1.20 respectively. + +The IP address for haproxy server is 192.168.1.100. + +We will now make the changes to main HAProxy configuration file i.e. ‘/etc/haproxy/haproxy.cfg’ and then make the configuration changes for load balancing the two SMTP servers, + +Before making the changes, take backup of its configuration file using cp command. + +``` +$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg-org +``` + +Now the make the changes, add the following **frontend**‘ & ‘**backend**‘ section at the end of the file. + +``` +$ sudo vi /etc/haproxy/haproxy.cfg +------------------------------- +frontend front_smtp +     bind *:25 +    mode tcp +    default_backend back_smtp + +backend back_smtp +    mode tcp +    balance roundrobin +    server smtp1 192.168.1.10:25 check +    server smtp2 192.168.1.20:25 check +``` + +Here most of the options have been set by default, main things to change here are ‘**frontend**‘ & ‘**backend**‘ sections. + +frontend front_smtp + +bind *:25 + +mode tcp + +default_backend back_smtp + +Here we have defined a name for frontend i.e. front_smtp & have asked to take all the request from port 25 with bind parameter, laslty we have mentioned the backend section with the name ‘back_smtp’ where all the requests will be distributed. + +backend back_smtp + +mode tcp + +balance roundrobin + +server smtp1 192.168.1.10:25 check + +server smtp2 192.168.1.20:25 check + +In this section, we have established a name for backend i.e. back_smtp & mode for the transmission will be tcp load balancing method to be used is ‘**roundrobin**‘. Other load balancing methods that can be used are **Weighted round robin**, **Dynamic round robin algorithm**,**Least connection algorithm**, Source. Lastly we have mentioned the server addresses for both SMTP servers. + +Once the changes have been made, save the file & restart the haproxy service to implement the changes, + +``` +$ sudo systemctl restart haproxy +``` + +Our Haproxy server is now ready to work as load balancer for mail server. Now rather than using the SMTP server addresses, we need to use the server address for HAPROXY i.e. 192.168.1.100:25 for haproxy loadbalancing to work. + +To check out if the load balancing for our smtp server is working we can use telnet, + +Output of telnet command should be something like below: + +``` +$ telnet 192.168.1.100 25 +Trying 192.168.1.100.. +Connected to 192.168.1.100. +Escape character is ‘^]’. +220 smtp1.linuxtechi.com ESMTP Postfix +``` + +Now again run the telnet command, + +``` +$ telnet 192.168.1.100 25 +Trying 192.168.1.100.. +Connected to 192.168.1.100. +Escape character is ‘^]’. +220 smtp2.linuxtechi.com ESMTP Postfix +``` + +Notice the change in the server of the mail servers in both the outputs, which shows that the load balancing is working fine. Now let’s discuss a harpoxy example for load balancing a web server. + +##### Load balancing a Web server with HAProxy + +Same file will be edited ‘/etc/haproxy/haproxy.cfg’. We will be using two web servers (192.168.1.10 & 192.168.1.20) on backend.  IP address for the haproxy server is 192.168.1.100. + +Open the haproxy main configuration file and append following changes at the end of file + +``` +$ sudo vi /etc/haproxy/haproxy.cfg + +------------ +frontend www-http +   bind *:80 +    mode http +    default_backend apache + +backend apache +     mode http +     balance roundrobin +      server web1 192.168.1.10 +     server web2 192.168.1.20 +``` + +Save the file & restart the haproxy service to implement the changes, + +``` +$ sudo systemctl restart haproxy +``` + +To test out if the load balancing is working, we can place two different web pages on both server. Like for example, we can modify index.html on Webserver 1, + +``` +[[email protected] ~]$ sudo vi /var/www/html/index.html +This is WEB SERVER 1 +``` + +& similarly on Web server 2, we can edit the index.html to say, + +``` +[[email protected] ~]$ sudo vi /var/www/html/index.html +This is WEB SERVER 2 +``` + +Don’t forget to restart the web service to implement the changes that have been made. + +Now, use the haproxy IP address, 192.168.1.100 & access it using a web browser. + +![Web1][3] + +Every time we refresh the browser, we should the alternating web pages from both web servers. + +![web2][4] + +This shows that our webserver load balancing also working fine. That’s all from from this guide, I hope, you have successfully installed HAProxy on Ubuntu 20.04 LTS (Focal Fossa). Please feel free to send in your queries or suggestions using the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/how-to-install-haproxy-ubuntu-20-04/ + +作者:[Pradeep Kumar][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.linuxtechi.com/author/pradeep/ +[b]: https://github.com/lkxed +[1]: https://www.linuxtechi.com/wp-content/uploads/2017/12/Haproxy-version-check-ubuntu.png +[2]: https://www.linuxtechi.com/wp-content/uploads/2017/12/Haproxy-Service-Status-Ubuntu-20-04.png +[3]: https://www.linuxtechi.com/wp-content/uploads/2017/12/Web1.jpg +[4]: https://www.linuxtechi.com/wp-content/uploads/2017/12/web2.jpg From 752d9ed60357b8e62d1496f0963c9f9463aef972 Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Wed, 5 Oct 2022 23:02:47 -0400 Subject: [PATCH 101/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7]?= =?UTF-8?q?=20[news]=2020220927=20System76=20Won-t=20Release=20Pop!=5FOS?= =?UTF-8?q?=2022.10=20Linux=20Distro-=20Here-s=20Why!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...m76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md b/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md index b59fecd943..1f795a5f07 100644 --- a/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md +++ b/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/no-pop-os-21-10/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Cubik65536" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 2d710cd92f986ff867fd6c71f5767b7c84a339d9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 6 Oct 2022 15:48:37 +0800 Subject: [PATCH 102/170] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @cool-summer-021 https://linux.cn/article-15111-1.html 恭喜升级为二星贡献者~ --- ... started with Java serverless functions.md | 79 +++++++++---------- 1 file changed, 39 insertions(+), 40 deletions(-) rename {translated/tech => published}/20210601 Get started with Java serverless functions.md (54%) diff --git a/translated/tech/20210601 Get started with Java serverless functions.md b/published/20210601 Get started with Java serverless functions.md similarity index 54% rename from translated/tech/20210601 Get started with Java serverless functions.md rename to published/20210601 Get started with Java serverless functions.md index 4994f2ee44..1fb0e1e0f1 100644 --- a/translated/tech/20210601 Get started with Java serverless functions.md +++ b/published/20210601 Get started with Java serverless functions.md @@ -3,39 +3,38 @@ [#]: author: "Daniel Oh https://opensource.com/users/daniel-oh" [#]: collector: "lkxed" [#]: translator: "cool-summer-021" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15111-1.html" -Java Serverless 入门 +Java 无服务器函数入门 ====== -Quarkus令你可以使用相似的Java 技术开发无服务器的工作负载 -![Tips and gears turning][1] +![](https://img.linux.net.cn/data/attachment/album/202210/06/154731xejvfcai8e0auimh.jpg) -图片来源: opensource.com +> Quarkus 令你可以使用类似 Java 的技术开发无服务器的工作负载。 -对[无服务器 Java][2] 的研究始于函数——就是按需求运行一小段代码。这一阶段不会持续很长时间。虽然在 1.0 阶段,基于虚拟机架构的函数使这种范式变得很流行, 但它仍然有局限性,例如执行时间、协议和本地开发体验,都不太理想,如下图所示。 +对 [无服务器 Java][2] 的研究始于函数 —— 就是按需求运行的一小段代码。这一阶段并没有持续很长时间。虽然在 1.0 阶段,基于虚拟机架构的函数使这种范式变得很流行,但它仍然有局限性,例如执行时间、协议和糟糕的本地开发体验,都不太理想,如下图所示。 -开发者意识到,可以把同样的无服务器特性应用于微服务和 Linux 容器,带来的好处也是一样的。由此进入 1.5 阶段,在这个阶段,一些 Serverless 容器完全抽象了 [Kubernetes][3],通过 [Knative][4] 或位于它之上的另一个抽象层来实现无服务器的体验。 +开发者随后意识到,可以把同样的无服务器特性应用于微服务和 Linux 容器,带来的好处也是一样的。由此进入 1.5 阶段,在这个阶段,一些无服务器容器完全抽象化了 [Kubernetes][3],通过 [Knative][4] 或其它位于它之上的抽象层来提供无服务器的体验。 -在 2.0 阶段,Serverless 开始处理更复杂的调度任务和集成模式,并结合某些层级的状态管理。更重要的是,开发者关注的是能否在旧的系统种使用熟悉的 Java 应用程序运行时来运行若干个无服务器和有服务器的工作负载。 +在 2.0 阶段,无服务器开始处理更复杂的编排和集成模式,并结合某些层级的状态管理。更重要的是,开发者关注的是能否在旧的系统中使用熟悉的 Java 应用程序运行时来组合运行无服务器和非无服务器的工作负载。 ![The serverless Java journey][5] -Java 开发者开始进行 Serverless 功能开发之前,第一步是要选择一种新的云原生 Java 框架,从而能够以快于传统应用程序的速度和较小的内存占用运行程序。这在各种基础设施环境中,包括物理服务器、虚拟机、多云或混合云环境中的容器,都是适用的。 +Java 开发者开始进行无服务器函数开发之前,第一步是要选择一种新的云原生 Java 框架,从而能够以快于传统单体应用程序的速度和较小的内存占用运行 Java 函数。这在各种基础设施环境中,包括物理服务器、虚拟机、多云或混合云环境中的容器,都是适用的。 -开发者也有可能固执地选择 Spring 框架中的 [Spring Cloud Function][6] 来进行命令式和反应式函数的开发。Spring 也支持将 Java 函数部署到可安装的 Serverless 平台,比如 [Kubeless][7], [Apache OpenWhisk][8], [Fission][9] 和 [Project Riff][10]。然而,人们也关心 Spring 的启动慢、响应时间长以及内存占用大的问题。在诸如 Kubernetes 这种可伸缩的容器环境中运行 Java 函数,这些问题可能会更严重。 +开发者也有可能固执地选择 Spring 框架中的 [Spring 云函数][6] 来进行命令式和反应式函数的开发。Spring 也支持将 Java 函数部署到可安装的无服务器平台,比如 [Kubeless][7]、[Apache OpenWhisk][8]、[Fission][9] 和 [Project Riff][10]。然而,人们担心 Spring 的启动慢、响应时间长以及内存占用大的问题。在诸如 Kubernetes 这种可扩展的容器环境中运行 Java 函数,这些问题可能会更严重。 -[Quarkus][11] 是一个新推出的开源云原生 Java 框架,它有助于解决这些问题。它的作用是设计 Serverless 应用程序,以及编写运行于云基础设施(例如 Kubernetes)的云原生微服务。 +[Quarkus][11] 是一个新推出的开源云原生 Java 框架,它有助于解决这些问题。它的作用是设计无服务器应用程序,以及编写运行于云基础设施(例如 Kubernetes)的云原生微服务。 -Quarkus 重新审视了 Java,它使用了封闭的方法构建和运行 Java 程序。它把 Java 转变为一种可与 Go 相媲美的运行时。Quarkus 也包含 100 多种扩展功能,例如数据库访问、Serverless、消息、安全、可观察性和业务自动化,可以整合企业系统的各种业务功能。 +Quarkus 重新审视了 Java,它使用了封闭的方法构建和运行 Java 程序。它把 Java 转变为一种可与 Go 相媲美的运行时。Quarkus 也包含 100 多种扩展功能,集成了企业级能力,例如数据库访问、无服务器集成、消息、安全、可观察性和业务自动化。 -这里有一个简单例子,展现如何使用 Quarkus 创建一个 Java Serverless 项目。 +这里有一个简单例子,展现如何使用 Quarkus 创建一个 Java 无服务器项目的框架。 -### 1. 基于 Maven 创建一个 Quarkus Serverless 项目 +### 1、基于 Maven 创建一个 Quarkus 无服务器项目 -安装一个本地 Kubernetes 集群,开发者有多个选项,包括 [Minikube][12] 和 [OKD][13]。由于使用 OKD,在 Knative 和 DevOps 工具上安装 Serverless 相关功能较方便,本文使用 OKD 安装集群。[OKD 安装][14]和 [Knative 安装][15]的相关指南中提供了更多与安装有关的资料。 +安装一个本地 Kubernetes 集群,开发者有多种选择,包括 [Minikube][12] 和 [OKD][13]。因为使用 OKD 在 Knative 和 DevOps 工具上安装无服务器相关功能较方便,本文使用 OKD 安装集群。这些关于 [OKD 安装][14] 和 [Knative 操作员安装][15] 的相关指南中提供了更多的设置资料。 下面的命令创建了一个 Quarkus 项目(例如 `quarkus-serverless-restapi`),对外暴露一个简单的 REST API,并下载 `quarkus-openshift` 扩展,用于 Knative 服务的部署: @@ -47,7 +46,7 @@ $ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \        -DclassName="org.acme.getting.started.GreetingResource" ``` -### 2. 在本地运行 Serverless 功能 +### 2、在本地运行无服务器功能 使用 Quarkus 开发模式运行程序,检查 REST API 是否有效,稍稍调整一下代码: @@ -67,9 +66,9 @@ INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding act INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, kubernetes, resteasy] ``` -> **注意**: 保持 Quarkus 应用程序运行,需要使用热部署。这样,当代码修改后,你就不必重新构建、重新部署以及重启运行时。 +> **注意**: 保持 Quarkus 应用程序运行,需要使用热部署Live Coding。这样,当代码修改后,你就不必重新构建、重新部署以及重启运行时。 -现在,您可以使用一个 `curl` 命令快速访问 REST API。输出结果应当是 `Hello RESTEasy`: +现在,你可以使用一个 `curl` 命令快速访问 REST API。输出结果应当是 `Hello RESTEasy`: ``` $ curl localhost:8080/hello @@ -91,11 +90,11 @@ $ curl localhost:8080/hello Quarkus Function on Kubernetes ``` -普通的微服务跟 Serverless 功能之间的差别并不大。使用 Quarkus 的好处在于:开发者可以使用任何微服务,将 Kubernetes 部署为 Serverless 功能。 +普通的微服务跟无服务器函数之间的差别并不大。使用 Quarkus 的好处在于:开发者可以使用任何微服务,将 Kubernetes 部署为无服务器函数。 -### 3. 在 Knative 服务中部署相关的功能 +### 3、在 Knative 服务中部署相关的函数 -如果你还没有创建命名空间,就在你的 OKD 集群上[创建命名空间][16](例如 `quarkus-serverless-restapi`),用来部署 Java Serverless 功能。 +如果你还没有创建命名空间,就在你的 OKD 集群上 [创建命名空间][16](例如 `quarkus-serverless-restapi`),用来部署 Java 无服务器函数。 Quarkus 令开发者可以通过在 `src/main/resources/application.properties` 中添加以下变量,创建 Knative 和 Kubernetes 资源: @@ -108,14 +107,14 @@ quarkus.kubernetes.deploy=true <5> quarkus.openshift.build-strategy=docker <6> ``` -> 说明: +说明: -> <1> 在你部署 Serverless 应用程序的位置定义项目名 -<2> 使用容器注册表 -<3> 在这个简单例子中,使用自签名证书,以便通过相关信任机制 -<4> 允许创建 Knative 资源 -<5> 指示在构建容器映像之后将扩展部署到 OpenShift -<6> 设置 Docker 构建策略 +- <1> 在你部署无服务器应用程序的位置定义项目名 +- <2> 使用容器注册中心 +- <3> 在这个简单例子中,使用自签名证书,以便通过相关信任机制 +- <4> 允许创建 Knative 资源 +- <5> 指示在构建容器映像之后将扩展部署到 OpenShift +- <6> 设置 Docker 构建策略 执行以下命令,构建应用程序,并直接部署到 OKD 集群: @@ -127,20 +126,20 @@ $ ./mvnw clean package -DskipTests 输出结果应该以 `BUILD SUCCESS` 结束。 -在对于 Knative 服务执行的 `oc` 命令中,加上 label: +在对于 Knative 服务执行的 `oc` 命令中,加上标签: ``` $ oc label rev/quarkus-serverless-restapi-00001 app.openshift.io/runtime=quarkus --overwrite ``` -然后访问 OKD 网页控制台,就能进入[开发人员透视图中的拓扑视图][17]。您可能会看到您的pod(无服务器功能)已经缩小为零(白线圈)。 +然后访问 OKD 网页控制台,就能进入 [开发人员透视图中的拓扑视图][17]。你可能会看到你的容器荚Pod(无服务器函数)已经缩小为零(白线圈)。 ![Topology view][18] -### 4. 在 Kubernetes 环境下测试功能 +### 4、在 Kubernetes 环境下测试函数 -运行如下 `oc` 命令,搜索含有 Serverless 功能的路由: +运行如下 `oc` 命令,搜索含有无服务器函数的路由: ``` $ oc get rt/quarkus-serverless-restapi @@ -169,11 +168,11 @@ Quarkus Function on Kubernetes ### 下一步呢? -Serverless 不断地在演变,始于运行于虚拟机的功能函数,到后来的 Serverless 容器,现在可以将其与企业原有系统集成。 在此过程中,企业开发者借助 Quarkus,仍然可以使用自己熟悉的技术(比如 Java)创建一个项目,然后构建并部署到 Kubernetes。 +无服务器不断地在演变,始于运行于虚拟机的函数,到后来的无服务器容器,并与企业原有系统集成。在此过程中,企业开发者借助 Quarkus,仍然可以使用自己熟悉的技术(比如 Java)创建一个项目,然后构建并部署到 Kubernetes。 -本系列的下一篇文章将指导你在 Kubernetes中优化 Java Serverless 程序,从而令程序启动更快,内存占用更小。 +本系列的下一篇文章将指导你优化 Kubernetes 中的 Java 无服务器函数,从而令程序启动更快,内存占用更小。 -Image by: (Daniel Oh, CC BY-SA 4.0) +*文内图像来自:Daniel Oh, CC BY-SA 4.0* -------------------------------------------------------------------------------- @@ -181,15 +180,15 @@ via: https://opensource.com/article/21/6/java-serverless-functions 作者:[Daniel Oh][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[cool-summer-021](https://github.com/cool-summer-021) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://opensource.com/users/daniel-oh [b]: https://github.com/lkxed [1]: https://opensource.com/sites/default/files/lead-images/gears_devops_learn_troubleshooting_lightbulb_tips_520.png -[2]: https://opensource.com/article/21/5/what-serverless-java +[2]: https://linux.cn/article-13429-1.html [3]: https://opensource.com/article/19/6/reasons-kubernetes [4]: https://cloud.google.com/knative/ [5]: https://opensource.com/sites/default/files/uploads/serverless-journey.png From 986a7a7faa06e890b21d401b8b41f8ea9a25270d Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Thu, 6 Oct 2022 15:52:13 +0800 Subject: [PATCH 103/170] Rename sources/tech/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md to sources/talk/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md --- ...your old computer -obsolete-, or is it a Linux opportunity-.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sources/{tech => talk}/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md (100%) diff --git a/sources/tech/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md b/sources/talk/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md similarity index 100% rename from sources/tech/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md rename to sources/talk/20221003 Is your old computer -obsolete-, or is it a Linux opportunity-.md From 2df8a890c0fa3e58dd6e141b90e8aab9a37c5e7e Mon Sep 17 00:00:00 2001 From: FYJNEVERFOLLOWS <43714882+FYJNEVERFOLLOWS@users.noreply.github.com> Date: Thu, 6 Oct 2022 22:34:20 +0800 Subject: [PATCH 104/170] translated1006 (#27448) --- ...15 A beginner-s guide to load balancing.md | 84 ------------------- ...15 A beginner-s guide to load balancing.md | 75 +++++++++++++++++ 2 files changed, 75 insertions(+), 84 deletions(-) delete mode 100644 sources/tech/20210415 A beginner-s guide to load balancing.md create mode 100644 translated/tech/20210415 A beginner-s guide to load balancing.md diff --git a/sources/tech/20210415 A beginner-s guide to load balancing.md b/sources/tech/20210415 A beginner-s guide to load balancing.md deleted file mode 100644 index 102ec791f7..0000000000 --- a/sources/tech/20210415 A beginner-s guide to load balancing.md +++ /dev/null @@ -1,84 +0,0 @@ -[#]: subject: (A beginner's guide to load balancing) -[#]: via: (https://opensource.com/article/21/4/load-balancing) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) -[#]: collector: (lujun9972) -[#]: translator: (FYJNEVERFOLLOWS) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -A beginner's guide to load balancing -====== -Load balancing distributes resources to where they're needed most at -that moment. -![eight stones balancing][1] - -When the personal computer was young, a household was likely to have one (or fewer) computers in it. Children played games on it during the day, and parents did accounting or programming or roamed through a BBS in the evening. Imagine a one-computer household today, though, and you can predict the conflict it would create. Everyone would want to use the computer at the same time, and there wouldn't be enough keyboard and mouse to go around. - -This is, more or less, the same scenario that's been happening to the IT industry as computers have become more and more ubiquitous. Demand for services and servers has increased to the point that they could grind to a halt from overuse. Fortunately, we now have the concept of load balancing to help us handle the demand. - -### What is load balancing? - -Load balancing is a generic term referring to anything you do to ensure the resources you manage are distributed efficiently. For a web server's systems administrator, load balancing usually means ensuring that the web server software (such as [Nginx][2]) is configured with enough worker nodes to handle a spike in incoming visitors. In other words, should a site suddenly become very popular and its visitor count quadruple in a matter of minutes, the software running the server must be able to respond to each visitor without any of them noticing service degradation. For simple sites, this is as simple as a one-line configuration option, but for complex sites with dynamic content and several database queries for each user, it can be a serious problem. - -This problem is supposed to have been solved with cloud computing, but it's not impossible for a web app to fail to scale out when it experiences an unexpected surge. - -The important thing to keep in mind when it comes to load balancing is that distributing resources _efficiently_ doesn't necessarily mean distributing them _evenly_. Not all tasks require all available resources at all times. A smart load-balancing strategy provides resources to users and tasks only when those resources are needed. This is often the application developer's domain rather than the IT infrastructure's responsibility. Asynchronous applications are vital to ensuring that a user who walks away from the computer for a coffee break isn't occupying valuable resources on the server. - -### How does load balancing work? - -Load balancing avoids bottlenecks by distributing a workload across multiple computational nodes. Those nodes may be physical servers in a data center, containers in a cloud, strategically placed servers enlisted for edge computing, separate Java Virtual Machines (JVMs) in a complex application framework, or daemons running on a single Linux server. - -The idea is to divide a large problem into small tasks and assign each task to a dedicated computer. For a website that requires its users to log in, for instance, the website might be hosted on Server A, while the login page and all the authentication lookups that go along with it are hosted on Server B. This way, the process of a new user logging into an account doesn't steal resources from other users actively using the site. - -#### Load balancing the cloud - -Cloud computing uses [containers][3], so there aren't usually separate physical servers to handle distinct tasks (actually, there are many separate servers, but they're clustered together to act as one computational "brain"). Instead, a "pod" is created from several containers. When one pod starts to run out of resources due to its user or task load, an identical pod is generated. Pods share storage and network resources, and each pod is assigned to a compute node as it's created. Pods can be created or destroyed on demand as the load requires so that users experience consistent quality of service regardless of how many users there are. - -#### Edge computing - -[Edge computing][4] takes the physical world into account when load balancing. The cloud is naturally a distributed system, but in practice, a cloud's nodes are usually concentrated in a few data centers. The further a user is from the data center running the cloud, the more physical barriers they must overcome for optimal service. Even with fiber connections and proper load balancing, the response time of a server located 3,000 miles away is likely greater than the response time of something just 300 miles away. - -Edge computing brings compute nodes to the "edge" of the cloud in an attempt to bridge the geographic divide, forming a sort of satellite network for the cloud, so it also plays a part in a good load-balancing effort. - -### What is a load-balancing algorithm? - -There are many strategies for load balancing, and they range in complexity depending on what technology is involved and what the requirements demand. Load balancing doesn't have to be complicated, and it's important, even when using specialized software like [Kubernetes][5] or [Keepalived][6], to start load balancing from inception. - -Don't rely on containers to balance the load when you could design your application to take simple precautions on its own. If you design your application to be modular and ephemeral from the start, then you'll benefit from the load balancing opportunities made available by clever network design, container orchestration, and whatever tomorrow's technology brings. - -Some popular algorithms that can guide your efforts as an application developer or network engineer include: - - * Assign tasks to servers sequentially (this is often called _round-robin_). - * Assign tasks to the server that's currently the least busy. - * Assign tasks to the server with the best response time. - * Assign tasks randomly. - - - -These principles can be combined or weighted to favor, for instance, the most powerful server in a group when assigning particularly complex tasks. [Orchestration][7] is commonly used so that an administrator doesn't have to drum up the perfect algorithm or strategy for load balancing, although sometimes it's up to the admin to choose which combination of load balancing schemes to use. - -### Expect the unexpected - -Load balancing isn't really about ensuring that all your resources are used evenly across your network. Load balancing is all about guaranteeing a reliable user experience even when the unexpected happens. Good infrastructure can withstand a computer crash, application overload, onslaught of network traffic, and user errors. Think about how your service can be resilient and design load balancing accordingly from the ground up. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/4/load-balancing - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/water-stone-balance-eight-8.png?itok=1aht_V5V (eight stones balancing) -[2]: https://opensource.com/business/15/4/nginx-open-source-platform -[3]: https://opensource.com/resources/what-are-linux-containers -[4]: https://opensource.com/article/18/5/edge-computing -[5]: https://opensource.com/resources/what-is-kubernetes -[6]: https://www.redhat.com/sysadmin/keepalived-basics -[7]: https://opensource.com/article/20/11/orchestration-vs-automation diff --git a/translated/tech/20210415 A beginner-s guide to load balancing.md b/translated/tech/20210415 A beginner-s guide to load balancing.md new file mode 100644 index 0000000000..2005627b09 --- /dev/null +++ b/translated/tech/20210415 A beginner-s guide to load balancing.md @@ -0,0 +1,75 @@ +[#]: subject: (A beginner's guide to load balancing) +[#]: via: (https://opensource.com/article/21/4/load-balancing) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) +[#]: collector: (lujun9972) +[#]: translator: (FYJNEVERFOLLOWS) +[#]: reviewer: ( ) +[#]: publisher: ( ) +[#]: url: ( ) + +负载均衡的初学者指南 +====== +负载均衡就是将资源分配到某一时刻最需要它的地方。 +![eight stones balancing][1] + +当个人电脑刚开始发展的时候,一个家庭可能只有一台(或更少)的电脑。孩子们白天玩电脑游戏,家长们晚上在业务支撑系统上做会计、编程,或者漫游。然而,想象一下今天一个只有一台电脑的家庭,你可以预想到这样会产生什么样的冲突。每个人都同时想使用电脑,而且没有足够的键盘和鼠标让每个人都能分到。 + +随着计算机变得越来越普遍,IT 行业或多或少也出现了同样的情况。对服务和服务器的需求已经增长到了会因为过度使用而停滞不前的程度。幸运的是,我们现在有了负载均衡的概念来帮助我们处理需求。 + +### 负载均衡是什么? +负载均衡是一个通用术语,指的是为了确保高效分配所管理的资源而做的任何事情。对于 web 服务器的系统管理员来说,负载均衡通常意味着确保 web 服务器软件(例如 [Nginx][2])配置了足够的工作节点来处理高峰时刻的来访者。换言之,如果一个网站突然变得非常受欢迎,其访问者在几分钟内增加了四倍,那么运行服务器的软件必须能够响应每个访问者,并不能让任何访问者发现服务质量下降。对于简单网址,这就像修改一行配置选项一样简单,但对于具有动态内容的复杂站点,每个用户都有多个数据库查询,这可能是一个严重的问题。 + +这个问题本应通过云计算解决,但当 web 应用程序遇到意外激增时,它可能会无法扩展。 + +在进行负载均衡时,需要记住的重要一点是,*高效地*分配资源并不一定意味着*公平地*分配资源。并非所有任务都在任何时候都需要所有可用资源。一个智能的负载均衡策略仅在需要资源时才为用户和任务提供资源。这通常是应用程序开发人员的领域,而不是 IT 基础架构的责任。异步应用程序对于确保离开计算机休息的用户不会占用服务器上的宝贵资源至关重要。 + +### 负载均衡是怎么工作的? +负载均衡通过跨计算节点分配工作负载来避免瓶颈。这些节点可能是数据中心中的物理服务器、云中的容器、用于边缘计算的战略性放置的服务器、复杂应用程序框架中的独立 Java 虚拟机(JVM),或在单个 Linux 服务器上运行的守护进程。 + +这个想法是把一个大问题分成几个小任务,并把每个任务分配给一台专用计算机。例如,对于要求用户登录的网站,该网站可能托管在服务器 A 上,而登录页面和所有随附的身份验证查找都托管在服务器 B 上。这样,新用户登录一个帐户时不会从正在使用该站点的其他用户那里窃取资源。 + +#### 云负载均衡 +云计算使用 [容器][3],因此通常没有单独的物理服务器来处理不同的任务(实际上,有许多单独的服务器,但它们被聚集在一起作为一个计算“大脑”)。相反,"pod" 是由几个容器创建的。当一个pod 由于其用户或任务负载而开始耗尽资源时,会生成一个相同的 pod。Pod 共享存储和网络资源,每个 pod 在创建时被分配给一个计算节点。可以根据负载需要创建或销毁 Pod,这样无论有多少用户,用户都可以体验到一致的服务质量。 + +#### 边缘计算 + +[边缘计算][4] 在负载均衡时考虑现实世界。云自然是一个分布式系统,但实际上,云的节点通常集中在几个数据中心。用户离运行云的数据中心越远,他们为获得最佳服务所必须克服的物理障碍就越多。即使有光纤连接和适当的负载均衡,位于 3000 英里外的服务器的响应时间也可能比仅 300 英里外的响应时间长。 + +边缘计算将计算节点带到云的“边缘”,试图弥合地理鸿沟,为云形成一种卫星网络,因此它也在良好的负载均衡工作中发挥了作用。 + +### 什么是负载均衡算法? +有许多负载均衡策略,它们的复杂性取决于所涉及的技术和需求。负载均衡不必复杂,而且从一开始就负载均衡很重要,即使在使用 [Kubernetes][5] 和 [Keepalived][6] 这样的专用软件时也是如此。 + +当你可以设计应用程序为它自己采取简单的预防措施时,不要依赖容器来均衡负载。如果你从一开始就将应用程序设计为模块化和临时性的,那么你将受益于通过巧妙的网络设计、容器编排和其他未来技术带来的负载均衡机会。 + +可以指导应用程序开发人员或网络工程师工作的一些流行算法包括: + * 按顺序将任务分配给服务器(这通常被称为轮流调度)。 + * 将任务分配给当前最不繁忙的服务器。 + * 将任务分配给具有最佳响应时间的服务器。 + * 随机分配任务。 + +举个例子,在分配特别复杂的任务时,可以组合或加权这些原则以支持组中最强大的服务器。通常使用 [Orchestration][7],这样管理员就不必为负载均衡寻找完美的算法或策略,尽管有时需要由管理员选择使用哪种负载均衡方案组合。 + +### 预料意料之外 +负载均衡实际上并不是要确保在整个网络中均匀使用所有资源。负载均衡实际上是确保即使发生意外情况也能提供可靠的用户体验。良好的基础设施可以承受计算机崩溃、应用程序过载、网络流量冲击和用户错误。思考你的服务如何具有弹性,并从头开始相应地设计负载均衡策略。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/4/load-balancing + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/water-stone-balance-eight-8.png?itok=1aht_V5V (eight stones balancing) +[2]: https://opensource.com/business/15/4/nginx-open-source-platform +[3]: https://opensource.com/resources/what-are-linux-containers +[4]: https://opensource.com/article/18/5/edge-computing +[5]: https://opensource.com/resources/what-is-kubernetes +[6]: https://www.redhat.com/sysadmin/keepalived-basics +[7]: https://opensource.com/article/20/11/orchestration-vs-automation From dc631f1077cd45ee9269d85ff232a7c2e838b9ed Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Thu, 6 Oct 2022 22:34:47 +0800 Subject: [PATCH 105/170] Update 20220924 Drop your database for PostgreSQL.md (#27447) --- sources/tech/20220924 Drop your database for PostgreSQL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220924 Drop your database for PostgreSQL.md b/sources/tech/20220924 Drop your database for PostgreSQL.md index e8bd078b54..f246620e57 100644 --- a/sources/tech/20220924 Drop your database for PostgreSQL.md +++ b/sources/tech/20220924 Drop your database for PostgreSQL.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/9/drop-your-database-for-postgresql" [#]: author: "Seth Kenlon https://opensource.com/users/seth" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From c56167b45b13bbf6fef1d6b0edaad7474ed7357b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 7 Oct 2022 09:16:18 +0800 Subject: [PATCH 106/170] ALL @wxy https://linux.cn/article-15113-1.html --- ...rt for Popular Video Codecs [Here-s Why!].md | 108 +++++++++++++++++ ...rt for Popular Video Codecs [Here-s Why!].md | 111 ------------------ 2 files changed, 108 insertions(+), 111 deletions(-) create mode 100644 published/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md delete mode 100644 sources/news/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md diff --git a/published/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md b/published/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md new file mode 100644 index 0000000000..2f9dade857 --- /dev/null +++ b/published/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md @@ -0,0 +1,108 @@ +[#]: subject: "Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here's Why!]" +[#]: via: "https://news.itsfoss.com/fedora-drops-vaapi-codec/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "wxy" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15113-1.html" + +哦,不!Fedora 正在放弃对流行的视频编解码器的支持 +====== + +> Fedora 37(和 36)可能不再允许你使用一些流行的编解码器来方便地使用视频的图形加速功能。 + +![哦,不!😱Fedora正在放弃对流行视频编解码器的支持[这里有原因!]][1] + +Fedora 是一个流行的 Linux 发行版,迎合了那些希望在他们的工作站(和服务器)上使用最先进技术的用户。 + +它没有搭载任何专有组件,默认情况下坚持使用完全开源的软件库。 + +虽然这对一些人来说已经很不方便了,但现在看来,另一个变化可能会困扰期待 Fedora 37 的用户。 + +[最近在 Fedora 上的一个 Mesa 的提交][2] 告诉我们,由于法律问题,**H.264、H.265 和 VC-1** 编解码器的视频加速 API(VAAPI)的支持已经被禁用。 + +这一变化可能也会被回传到 Fedora 36。 + +> 💡 H.264 是大多数视频行业使用的主流视频编解码器。 +> +> 例如,苹果公司广泛使用 H.264 编解码器,用于 iPhone 手机拍摄的照片和视频。你可以阅读此 [文档][3] 来了解更多。 + +Fedora 项目论坛的一位成员 [首先发现][4] 了 Fedora 中的这一变化,他将其描述为 “*F36 的一大退步*”。 + +### 这对 Fedora 用户来说是坏消息吗? + +是的,基本上是的。 + +**主要是,它将影响使用开源驱动程序的 AMD GPU 用户**,阻止他们使用 **GPU 加速** 来播放需要使用这些编解码器的视频内容。 + +此外,它还会影响到 **任何使用开源图形驱动的用户**,即使他们在英特尔芯片上运行 iGPU。Fedora 开发者还没有对此提供任何澄清,但你可以自己测试一下。 + +如果你在英伟达显卡上使用专有驱动程序,你就没有什么可担心的。 + +运行旧硬件的用户也可能有问题,他们的系统可能不支持这些编解码器。 + +这些编解码器最常用在你从 BT 或各种服务中下载的视频中,这些视频还没有转移到更新一代的编解码器(如 **AV1** 和 **VP9**)。 + +我相信,这是互联网上的**大部分**视频的情况。 + +一些流媒体平台也使用这些编解码器在其各自的平台上提供内容,这可能导致用户在试图通过其服务访问内容时面临问题。 + +### 这是否影响到每个人? + +如果你是那些观看 YouTube 视频的人,不使用任何需要这些编解码器的视频的平台或下载它们,你就不会有任何问题。 + +### Fedora 正在避免法律上的麻烦 + +还没有人起诉 Fedora 或强迫他们这样做。然而,正如 [Phoronix][6] 所指出的,Mesa 的一个变化最近允许开发者选择性地禁用编解码器,以帮助避免法律纠纷和软件专利冲突。 + +因此,为了避免法律上的混乱,Fedora 进行了这一改变。 + +H.264 和 H.265 的专利属于一家名为 [MPEG LA][7] 的公司,该公司专门用于持有视频编解码器和显示标准领域的专利。 + +而 VC-1 的专利属于 [SMPTE][8],这是一个由媒体和娱乐机构的专业人士管理的团体。 + +考虑到用户在购买显卡时已经支付了使用这些编解码器的许可,我们仍然不确定为什么会这样。你可以在 [Fedora 的法律列表会话][9] 中阅读更多相关信息。 + +### 可能的解决方法是什么? + +**显然**,你必须依赖基于 CPU 的解码了。当然,你也可以使用官方或第三方的 Mesa 构建版本。 + +Flatpak 应用程序可能允许你观看图形加速的视频内容而没有问题。但是,这要取决于软件的维护者。 + +但是,对于大多数用户来说,这可能是一个不方便的解决方案。 + +另一个解决方法可能是在旨在包含第三方应用程序的 RPM Fusion 仓库中单独包含支持 VAAPI 的编解码器。 + +然而,负责 Fedora RPM Fusion 仓库的开发者对维护 Fedora Mesa 3D 的复刻版本不感兴趣。该开发者提到: + +> rpmfusion 基本上没有兴趣去打包和维护它,而且保持仓库与 Fedora 同步对我来说也不是一个优先事项。 + +![][10] + +*💬 你对 Fedora 的这一变化有什么看法?请在下面的评论中告诉我们你的想法。* + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/fedora-drops-vaapi-codec/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[wxy](https://github.com/wxy) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/fedora-dropping-support-for-popular-video-codecs.png +[2]: https://src.fedoraproject.org/rpms/mesa/c/94ef544b3f2125912dfbff4c6ef373fe49806b52?branch=rawhide +[3]: https://support.apple.com/en-us/HT207022 +[4]: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/PYUYUCM3RGTTN4Q3QZIB4VUQFI77GE5X/ +[5]: https://youtu.be/ibXKKllz4xQ +[6]: https://www.phoronix.com/news/Mesa-Optional-Video-Codecs +[7]: https://en.wikipedia.org/wiki/MPEG_LA +[8]: https://en.wikipedia.org/wiki/Society_of_Motion_Picture_and_Television_Engineers +[9]: https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/M4LTGLHY5JX42IHC45WNWB5FH2JIFMAS/ +[10]: https://news.itsfoss.com/content/images/2022/09/fedora-rpm-mesa.jpg +[11]: https://www.humblebundle.com/books/linux-no-starch-press-books?partner=itsfoss diff --git a/sources/news/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md b/sources/news/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md deleted file mode 100644 index 0ca51a9914..0000000000 --- a/sources/news/20220928 Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here-s Why!].md +++ /dev/null @@ -1,111 +0,0 @@ -[#]: subject: "Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here's Why!]" -[#]: via: "https://news.itsfoss.com/fedora-drops-vaapi-codec/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: " " -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here's Why!] -====== -Fedora 37 (and 36) may no longer allow you to conveniently use accelerated graphics for videos using some of the popular codecs. - -![Oh No!😱Fedora is Dropping Support for Popular Video Codecs [Here's Why!]][1] - -Fedora is a popular Linux distro that caters to users who want cutting-edge tech on their workstations (and servers). - -It doesn't ship with any proprietary components and sticks to completely open-source repositories by default. - -While that can be inconvenient for some already, now it seems another change may bother users looking forward to Fedora 37. 😞 - -A [recent commit to Mesa on Fedora][2] tells us that the Video Acceleration API support has been disabled for **H.264, H.265, and VC-1** codecs due to legal worry. - -This is likely to be backported to Fedora 36 as well. - -> 💡 H.264 is a dominant video codec in use by the majority of the video industry. -> -> For instance, Apple extensively uses H.264 codec for its photos and videos captured by iPhones. You can read the [documentation][3] to learn more. - -The change in Fedora was [first spotted][4] by a Fedora Project forum member who describes it as '*a big regression from F36*'. - -### Is This Bad News for Fedora Users? - -Yes, mostly. - -**Primarily, it will affect AMD GPU users using open-source drivers**, preventing them using **GPU acceleration** to play video content that requires using these codecs. - -Additionally, it also affects **any user who uses open-source graphics drivers**, even if they run iGPUs on Intel chips. Fedora developers have not yet provided any clarity on this, but you can test it out for yourself. - -If you are someone who uses proprietary drivers on your NVIDIA graphics card, you have nothing to worry about. - -Users running old hardware could also have problems, considering their system may not support these codecs. - -Some of the most common uses of these codecs are in videos that you download from torrents or services that have not moved on to the newer generation codecs such as **AV1** and **VP9**. - -And that's the **majority of the internet**I believe**.** - -Some streaming platforms also use these codecs to run content on their respective platforms which can cause users to face issues while trying to access content through their services. - -### Does This Affect Everyone? - -If you are among the ones who watch YouTube videos and do not use any platform or download videos that require these codecs, you will have no issues. - -You might want to explore more about AV1, if you are hearing about it for the first time: - -![3 Things You Should Know About AV1][5] - -### Fedora is Avoiding Legal Trouble - -No one sued Fedora or forced them to do this yet. However, a change in Mesa recently allowed devs to optionally disable codecs to help avoid legal trouble and software patent conflicts as spotted by [Phoronix][6]. - -So, to avoid a legal mess, Fedora went ahead with this change. - -The patents for H.264 and H.265 are with a company called [MPEG LA][7], which specializes in holding patents in the video codecs and display standards sector. - -Whereas the patent for VC-1 is under [SMPTE][8], which is a group run by professionals from the media and entertainment sector. - -We are still not sure how it all works, considering the user has already paid for the license to use these codecs when they purchase the graphics card. You can read more about it in [Fedora's legal list thread][9]. - -### What Are The Possible Workarounds? - -**Of course,**you will have to depend on CPU-based decoding. Sure, you can also use an official or third-party Mesa build. - -Flatpak apps may allow you to watch accelerated video content with no issues. But, it is up to the maintainer of the software. - -But, it can be an inconvenient solution for most users. - -The other workaround could be to include the codecs separately with VAAPI support in an RPM Fusion repository, meant to contain third-party applications. - -However, the dev responsible for Fedora's RPM Fusion repo is not interested in maintaining a fork of Fedora's Mesa 3D. The developer mentions: - -> There is little to no interest at rpmfusion to package and maintain it, also keeping the repo in sync with fedora isn't a priority for me. - -![][10] - -*💬 What do you think about this change in Fedora? Let us know your thoughts in the comments below.* - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/fedora-drops-vaapi-codec/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/09/fedora-dropping-support-for-popular-video-codecs.png -[2]: https://src.fedoraproject.org/rpms/mesa/c/94ef544b3f2125912dfbff4c6ef373fe49806b52?branch=rawhide -[3]: https://support.apple.com/en-us/HT207022 -[4]: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/PYUYUCM3RGTTN4Q3QZIB4VUQFI77GE5X/ -[5]: https://youtu.be/ibXKKllz4xQ -[6]: https://www.phoronix.com/news/Mesa-Optional-Video-Codecs -[7]: https://en.wikipedia.org/wiki/MPEG_LA -[8]: https://en.wikipedia.org/wiki/Society_of_Motion_Picture_and_Television_Engineers -[9]: https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/M4LTGLHY5JX42IHC45WNWB5FH2JIFMAS/ -[10]: https://news.itsfoss.com/content/images/2022/09/fedora-rpm-mesa.jpg -[11]: https://www.humblebundle.com/books/linux-no-starch-press-books?partner=itsfoss From 6615407dac2c44505d8acc927f3cbbfc3fded9b0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 7 Oct 2022 10:30:26 +0800 Subject: [PATCH 107/170] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @KevinZonda 感谢您,完成了第一篇翻译贡献! --- ...iver for Apple Silicon is Almost Ready!.md | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md b/translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md index 199e9fff73..065e5005d6 100644 --- a/translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md +++ b/translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md @@ -3,19 +3,20 @@ [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lkxed" [#]: translator: "KevinZonda" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -一个适用于 Apple Silicon 的原生 Linux GPU 驱动程序几乎准备就绪! +一个适用于苹果芯片的原生 Linux GPU 驱动程序几乎就绪! ====== -苹果 M1 上的原生 Linux GPU 驱动?它就快来了! -![一个适用于 Apple Silicon 的原生 Linux GPU 驱动程序几乎准备就绪!][1] 。 +> 苹果 M1 上的原生 Linux GPU 驱动?它就快来了! -让 Linux 在 Apple Silicon 设备上工作是我们很多人的愿望! +![一个适用于苹果芯片的原生 Linux GPU 驱动程序几乎就绪!][1] -感谢 [Asahi Linux 项目][2],它现在对测试人员来说已经成为现实。当然,它还没有准备好进入黄金时代,但如果你是一个高级 Linux 用户,你现在就可以在苹果 M1/M2 设备上尝试 Linux。 +让 Linux 在 苹果芯片Apple Silicon 设备上工作是我们很多人的愿望! + +感谢 [Asahi Linux 项目][2],它现在对测试者来说已经成为现实。当然,它还没有准备好进入最佳时期,但如果你是一个资深 Linux 用户,你现在就可以在苹果 M1/M2 设备上尝试 Linux。 现在,Linux 开发者 **Asahi Lina** 的一个令人兴奋的进展引起了我们所有人的注意。 @@ -23,23 +24,29 @@ ### 所以,这意味着什么? -几个月前,Asahi Lina 加入了 Asahi Linux 项目,并开始[开发一个驱动程序原型][3]以在 Linux 上运行图形应用程序。 +几个月前,Asahi Lina 加入了 Asahi Linux 项目,并开始 [开发一个驱动程序原型][3] 以在 Linux 上运行图形应用程序。 -现在,通过更多的调整和一些来自 Asahi Lina 对 M1 GPU 硬件接口的逆向工程的惊人的贡献,她已经成功地在苹果 M1 芯片上运行 GNOME、KDE 应用程序、Firefox 上的 YouTube 等! +现在,通过更多的调整和一些来自 Asahi Lina 对 M1 GPU 硬件接口的逆向工程的惊人的贡献,她已经成功地在苹果 M1 芯片上运行了 GNOME、KDE 应用程序,做到了在 Firefox 上播放 YouTube 等事情! 以下是她 [推特][4] 的内容: +> GNOME 运行了!!Firefox 浏览器可以运行!你可以看 YouTube,玩 Neverball,运行 KDE 应用程序,以及更多!! 没有崩溃!!! +> +> 在苹果 M1 的原生 Linux GPU 驱动上!! + 需要注意的是,这还没有在苹果 M2 上测试过。 这里还有个视频,你可以看到它运行的情况: -![它工作了!GNOME, Firefox, KDE App 和所有东西!!!!][5] +![它工作了!GNOME、Firefox、KDE 应用和所有东西!!!!][5] 她还解释说: -当然,这还只是位于早期的开发,我们甚至没有在 Linux 内核中拥有 Rust 实现。所以,当 Rust 开始进入主线版本时,也就是 Linux 内核 6.1 或更新版本时,你可能会看到它越来越接近现实。 +> 我使用了一个糟糕的黑科技来解决一个稳定性问题,这影响了性能,但它证明了这是唯一剩下的主要问题!一旦我把它修复好了,我们就会有完整的性能和稳定性!然后就只剩下 Mesa 驱动程序的修复了!!! -尽管如此,这对 Asahi Linux 来说是一个不可思议的里程碑。随着一些发展,用户一定急于在 Apple Silicon 设备上尝试Linux。 +当然,这还只是处于早期的开发,我们甚至没有在 Linux 内核中拥有 Rust 实现。所以,当 Rust 开始进入主线版本时,也就是 Linux 内核 6.1 或更新版本时,你可能会看到它越来越接近现实。 + +尽管如此,这对 Asahi Linux 来说是一个不可思议的里程碑。随着一些发展,用户一定急于在苹果芯片设备上尝试 Linux。 -------------------------------------------------------------------------------- @@ -47,8 +54,8 @@ via: https://news.itsfoss.com/linux-gpu-driver-apple/ 作者:[Ankush Das][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[KevinZonda](https://github.com/KevinZonda) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 5bc00831c1bb997798a3bd7a80f97f3b1a588d06 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Fri, 7 Oct 2022 10:31:15 +0800 Subject: [PATCH 108/170] P MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @KevinZonda 本文首发地址:https://linux.cn/article-15114-1.html 您的 LCTT 专页:https://linux.cn/lctt/KevinZonda --- ...ive Linux GPU Driver for Apple Silicon is Almost Ready!.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md (97%) diff --git a/translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md b/published/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md similarity index 97% rename from translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md rename to published/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md index 065e5005d6..7b83d23f04 100644 --- a/translated/news/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md +++ b/published/20221001 A Native Linux GPU Driver for Apple Silicon is Almost Ready!.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "KevinZonda" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15114-1.html" 一个适用于苹果芯片的原生 Linux GPU 驱动程序几乎就绪! ====== From a3426245a50b6c15aca8e04cc330bba3fe0bad86 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:34:01 +0800 Subject: [PATCH 109/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221006=20EuroLinux=20Desktop=20Review-=20A=20Worthy?= =?UTF-8?q?=20Alternative=20to=20Ubuntu=20LTS-.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ew- A Worthy Alternative to Ubuntu LTS-.md | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 sources/tech/20221006 EuroLinux Desktop Review- A Worthy Alternative to Ubuntu LTS-.md diff --git a/sources/tech/20221006 EuroLinux Desktop Review- A Worthy Alternative to Ubuntu LTS-.md b/sources/tech/20221006 EuroLinux Desktop Review- A Worthy Alternative to Ubuntu LTS-.md new file mode 100644 index 0000000000..7e774ec7f3 --- /dev/null +++ b/sources/tech/20221006 EuroLinux Desktop Review- A Worthy Alternative to Ubuntu LTS-.md @@ -0,0 +1,137 @@ +[#]: subject: "EuroLinux Desktop Review: A Worthy Alternative to Ubuntu LTS?" +[#]: via: "https://www.debugpoint.com/eurolinux-desktop-review/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +EuroLinux Desktop Review: A Worthy Alternative to Ubuntu LTS? +====== +A detailed review of EuroLinux Desktop – a desktop Linux OS from the EuroLinux team. + +EuroLinux is a Polish company which has been developing open-source server OS and solutions for almost a decade, mostly in the Europe market. The company is also known for its Linux server operating system (OS) based on Red Hat Enterprise Linux (RHEL). + +A couple of weeks back, the company introduced a desktop operating system based on RHEL – “EuroLinux Desktop”. + +Since few distros are available based on RHEL, I thought of giving it a spin and finding out how it is designed, its performance, etc. Moreover, the team markets the distro as *“combines the look and functionality of Windows® and macOS® with the reliability and security of a server-based Enterprise Linux distribution”.* + +EuroLinux desktop is free to download and install. However, you can buy the support if you are a small business owner or have other commercial needs. + +Let’s find out how it looks. + +### EuroLinux Desktop Review + +#### Installation and ISO Size + +The ISO of the EuroLinux desktop is whooping 7GB+ (version 9.0). The reason is that ISO pre-loads all the necessary packages and applications in the ISO for offline installation. It also serves the target users, institutions, and schools which may not have an active internet connection. + +EuroLinux uses the standard Anaconda installer used by most RHEL-based distros. The installation steps are simple and remain basic. + +While testing no major problems in the installation, which took around 7 to 8 minutes of total time. + +#### The first look + +![EuroLinux Desktop 9.0][1] + +Since the EuroLinux desktop is based on RHEL, it follows the RHEL release cycle. The current version which I am reviewing is version 9.0, based on RHEL 9.0 – which features a standard GNOME desktop. + +Since RHEL is a little conservative regarding the latest package adoption for its critical servers and workstations use cases, you get the GNOME 40 with Linux Kernel 5.14 in the EuroLinux Desktop 9.0. + +So, at first look, you experience a nice and clean GNOME 40 desktop with some additional customization. + +The customizations on stock GNOME comes via pre-installed and enabled extensions. + +The dash to Panel and Desktop Icons are the two major ones. Dash to Panel gives you a bottom transparent panel with a customized tray. The tray includes the Calendar, date/time, indicators (battery, network and night mode) and quick settings. + +![Installed extensions by default][2] + +At the extreme left, the application menu launches the full-screen app view of the GNOME desktop. + +The default theme is Adwaita, and the only change you can experience is the Papirus icon theme. + +#### Applications, necessary functionalities + +Essential applications are pre-loaded. At least those are necessary for a basic functioning system. + +For example, the LibreOffice suite is fully installed. The Firefox ESR is the default web browser – which is a good choice considering the long-term support of more than five years. + +In addition, a text editor, image viewer, screenshot tool, and video player are all included in the default installation. + +There is little distinction on how to install the Software in EuroLinux. EuroLinux has its repo pre-configured from its servers. This is obvious, considering its creator is an organization. + +So, by default, you get the following repos. + +The Software app works as it should. You can easily search, install or uninstall any application using its GUI. + +![Software repos][3] + +#### Performance + +The performance is excellent, thanks to the RHEL base. In an idle state, GNOME Shell uses most of the system resources, including CPU and RAM. It clocks 7 to 14% CPU with 1.6GB of RAM. + +EuroLinux 9.0 uses 7.3 GB disk space for a default installation. + +If I compare this performance to [Ubuntu 22.04 LTS][4], it is indeed a very little higher (1.4 GB and 6% CPU) at idle. + +I believe this tiny variance is due to GNOME 42’s recent performance improvements in mutter and Shell. + +![EuroLinux performance at idle][5] + +#### Comparison with Ubuntu LTS, Rocky and AlmaLinux + +Fundamentally there are differences in how Ubuntu and RedHat-based distros are derived, i.e. Debian vs Fedora. And the package management system. + +At a high level, you get the same years of support and security updates in both distros. In fact, EuroLinux provides more extended support until one version retires. + +If you compare the distro from the fundamental usage standpoint, you may not know much of a difference at the surface. The only noticeable difference is the GNOME and Kernel versions. Ubuntu LTS versions are a little faster to adopt the latest GNOME and Kernel versions than RedHat (or EuroLinux). + +The other difference is that the package manager is dnf in EuroLinux and apt in Ubuntu. + +However, two other RHEL-based distros are available today (the most popular ones). They are Alma Linux and Rocky Linux. Both of them are precisely identical to EuroLinux except for the underlying software sources. + +But both are relatively new in the field (born after the [CentOS event][6]) two/three years back. Whereas, EuroLinux (as a server) has been in the field for nearly a decade. + +Also, the Rocky Linux is probably the only advantage of all, which is truly a community-driven project. And Alma Linux is actually a product from CloudLinux Inc & EuroLinux is from EuroLinux Sp. z o.o. + +So, if you want a true community-based Ubuntu-LTS alternative, then perhaps Rocky Linux is the one. + +### Should you use it for a daily driver? + +I believe you can safely use this for your daily use. + +Remember that you may not get the latest and greatest shiny GNOME & mainline Kernel right away. But hey, older packages are “proven” to work. + +If you need a stable desktop your average use for 5+ years without worrying about sudden crashing, boot problems, grub problems, slowness, etc. – then it’s ideal for you. + +Also, it’s perfect for you if you don’t like how Ubuntu is heading – forcing snap, other aspects and want to switch to a stable distro. + +The only trade-off now is the latest GNOME 43 vs the older GNOME 40. And you can always install the latest mainline kernel if you are an advanced user. + +### Wrapping Up + +After my day-long test, it performed exactly what was expected. No crashes or any weird errors. The distro looks and performs at par with a professional Linux operating system. You can safely install it on your Laptops and desktops for day-to-day usage. Technically you can not use the actual RedHat Linux without registration and a license. Hence, this distro could be ideal who wants Ubuntu-LTS-like stability for 5+ years besides Rocky Linux. + +Give it a try from the [official website][7]. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/eurolinux-desktop-review/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2022/10/EuroLinux-Desktop-9.0.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/Installed-extensions-by-default.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Software-repos.jpg +[4]: https://www.debugpoint.com/ubuntu-22-04-review/ +[5]: https://www.debugpoint.com/wp-content/uploads/2022/10/EuroLinux-performance-at-idle.jpg +[6]: https://www.debugpoint.com/centos-stream-announcement/ +[7]: https://en.euro-linux.com/eurolinux/desktop/ From 998425d36fa4fce4290691b5de84c9e838c5b922 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:34:54 +0800 Subject: [PATCH 110/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221007=20What=20is=20KDE=20Connect-=20How=20Do=20You?= =?UTF-8?q?=20Use=20It-=20[Beginner-s=20Guide].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...- How Do You Use It- [Beginner-s Guide].md | 158 ++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 sources/tech/20221007 What is KDE Connect- How Do You Use It- [Beginner-s Guide].md diff --git a/sources/tech/20221007 What is KDE Connect- How Do You Use It- [Beginner-s Guide].md b/sources/tech/20221007 What is KDE Connect- How Do You Use It- [Beginner-s Guide].md new file mode 100644 index 0000000000..9f194e42e7 --- /dev/null +++ b/sources/tech/20221007 What is KDE Connect- How Do You Use It- [Beginner-s Guide].md @@ -0,0 +1,158 @@ +[#]: subject: "What is KDE Connect? How Do You Use It? [Beginner’s Guide]" +[#]: via: "https://www.debugpoint.com/kde-connect-guide/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +What is KDE Connect? How Do You Use It? [Beginner’s Guide] +====== +In this article, we explain what KDE Connect is, its main features, basic usage guide and installation steps. + +Technology evolves at a rapid pace. That includes the software, hardware and different form factor devices. The future is all about seamless integration and workflow across different devices. Every day, we are moving a little closer to a state where you send and receive data across all connected devices. And KDE Connect application is a flag bearer on Linux desktop systems. + +### What is KDE Connect? + +[KDE Connect][1] is an application developed by the KDE Desktop team that offers seamless connectivity between Linux System and any other system running Windows, macOS, Android or Linux. + +When installed, KDE connect enables you to receive phone notifications, send and receive SMS, browse files, send and receive files and many such features. + +Furthermore, KDE Connect follows a secure protocol over the wireless network to prevent any privacy mishap. The application is free and open source, with minimal chance of any hidden issues. With all these features combined, KDE Connect is an excellent tool for its purpose. + +Let’s see how you can install it and use it. + +### Installing KDE Connect + +This KDE Connect guide will show you the connection between a Linux Distribution and Android Mobile Phones. However, this should also be the same for Windows and Android connectivity. + +KDE Connect set up is a two-way process. You have to install KDE Connect in your Linux distribution and in your Android Mobile Phone from Play Store. + +#### Installing in Linux Distribution + +Installing KDE Connect in your Linux Distribution is easy. It is available in all major Linux distribution’s official repo. + +If you are using **Ubuntu**, and want a terminal way of installing, run below. + +``` +sudo apt install kdeconnect +``` + +**For Fedora** + +``` +sudo dnf install kdeconnect +``` + +**[For Arch Linux][2]** + +``` +pacman -S kdeconnect +``` + +Or, you can search in Software and hit install. + +For Windows and other Linux distributions, you can refer [to this page][3] for several other options for download. + +#### Installing in an Android Mobile Phone + +Search for KDE Connect in Google Play Store and hit install to install it on your Android Device. + +[KDE Connect in Play Store][4] + +If you are using a Free/Libre version of Android, you can get it via the f-droid store using the below link (Thanks to our readers for this tip). + +[https://f-droid.org/en/packages/org.kde.kdeconnect_tp/][5] + +### Setting Up KDE Connect + +KDE Connect helps to connect devices that are in the same network. So, ensure your Linux system and Android device are connected to the same Wi-Fi or wireless network. + +Now open the KDE Connect App on your mobile phone. You should see the name of your Linux System. If you do not see anything, ensure your device and Linux are connected to the **same network** and hit Refresh. + +![KDE Connect in Android Device showing connected Linux System][6] + +Open the KDE Connect in Linux and see your mobile phone entry as shown in the image below. + +![KDE Connect before pairing][7] + +Now, click on the name of your mobile phone and hit **Pair**. + +Once you do that, you immediately get a notification on your mobile phone for Pairing Accept or Reject. Tap on Accept. + +![Pairing Request for KDE Connect][8] + +The icon of your Phone should turn GREEN, and it should show that your mobile phone and Linux system are both connected and paired. + +![KDE Connect after successful pairing][9] + +By default, the app grants you the following permissions – + +* Multimedia control +* Remote Input +* Presentation Remote +* Finding Device +* Sharing Files + +And the following features require explicit permission in your Android device, which you need to grant them manually. Because they are a little privacy-centric. + +* SMS sending and receiving +* Media Player Control +* Receive Keystrokes from Computer to Mobile Phone +* Notification Sync +* Telephone Notifier +* Contact Sync +* Mouse Receiver + +For all these, you have to tap on the option and grant access to an Android phone. Then you will be able to enjoy these services on a Linux device. + +### Example – Notification Sync + +I will show you one example where the Notification Sync option is enabled. Open the app on your Android phone, and go to the Connected Device section. Tap on Notification Sync and take the option **Open Settings**. + +Enable Notification access against **KDE Connect** and tap on **Allow**. + +![Enabling Notification Sync][10] + +This will start showing the notifications from your mobile phones to your Linux device. For example, the below notification I received on my test Android device. And the same is shown in KDE Connect in the Linux system. + +![Sample Notification in Mobile Phone][11] + +![Sample Notification in KDE Connect from Mobile Phone][12] + +Similarly, you can start enabling the other services and permitting them as it applies to you. + +### Closing Notes + +I hope this guide helps you to set up KDE Connect in your Linux system and mobile phones. + +You can easily set up several features after giving proper permission to make the most out of the KDE Connect application. Once it is set up completely, you no longer need to look over your mobile phones. Because you can easily read notifications and reply to messages while working on your Laptop or Desktop. + +What do you think about KDE Connect? Let me know in the comment box below. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/kde-connect-guide/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://kdeconnect.kde.org/ +[2]: https://www.debugpoint.com/tag/arch-linux +[3]: https://kdeconnect.kde.org/download.html +[4]: https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp&hl=en_IN&gl=US +[5]: https://f-droid.org/en/packages/org.kde.kdeconnect_tp/ +[6]: https://www.debugpoint.com/wp-content/uploads/2022/01/KDE-Connect-in-Android-Device-showing-connected-Linux-System-1024x656.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/01/KDE-Connect-before-pairing-1024x368.jpg +[8]: https://www.debugpoint.com/wp-content/uploads/2022/01/Pairing-Request-for-KDE-Connect-1024x917.jpg +[9]: https://www.debugpoint.com/wp-content/uploads/2022/01/KDE-Connect-after-successful-pairing-1024x249.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/01/Enabling-Notification-Sync-1024x718.jpg +[11]: https://www.debugpoint.com/wp-content/uploads/2022/01/Sample-Notification-in-Mobile-Phone-914x1024.jpg +[12]: https://www.debugpoint.com/wp-content/uploads/2022/01/Sample-Notification-in-KDE-Connect-from-Mobile-Phone.jpg From dcd9f70dc22183d4c0937a05e2d353017f79ce8e Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:35:48 +0800 Subject: [PATCH 111/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221007=20Essential=20DNF=20Commands=20for=20Linux=20?= =?UTF-8?q?Users=20[With=20Examples].md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ommands for Linux Users [With Examples].md | 361 ++++++++++++++++++ 1 file changed, 361 insertions(+) create mode 100644 sources/tech/20221007 Essential DNF Commands for Linux Users [With Examples].md diff --git a/sources/tech/20221007 Essential DNF Commands for Linux Users [With Examples].md b/sources/tech/20221007 Essential DNF Commands for Linux Users [With Examples].md new file mode 100644 index 0000000000..1ab0dff560 --- /dev/null +++ b/sources/tech/20221007 Essential DNF Commands for Linux Users [With Examples].md @@ -0,0 +1,361 @@ +[#]: subject: "Essential DNF Commands for Linux Users [With Examples]" +[#]: via: "https://www.debugpoint.com/dnf-commands-examples/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Essential DNF Commands for Linux Users [With Examples] +====== +We give you a quick reference of essential DNF commands with examples in this guide. + +### What is DNF ? + +DNF (Dandified Yum) is a package manager used in RPM-based Linux systems (RHEL, Fedora, etc.). It is a successor of the Yum package manager (Yellowdog Update Modified). The DNF package manager is efficient in performance, memory consumption and dependency resolution issues. + +This package manager is one of the best package managers other than apt package manager, which is used in Ubuntu-based systems. If you compare them, well, they are both awesome and have all the identical features. + +But with my experience, I feel that DNF fails lesser than apt in tricky situations. DNF handles package dependency crisis much better and differently. But that’s entirely my personal opinion. + +### In Brief + +In case you reached this page in a hurry and have no time to read the entire article, here’s a quick summary of this page with commands in the below table, with a link to the detail section. + +| Description | Command | +| :- | :- | +| Check the version of DNF installed in your systems | dnf –version | +| Help about DNF | dnf helpdnf help search | +| List of Installed and Available Packages | dnf listdnf list availablednf list installed | +| Repository list | dnf repolistdnf repolist all | +| Display specific information about a package | dnf info package_name | +| Search for any package and details about it | dnf search package_name | +| Find which package contains a package, value | dnf provides package_name | +| Installing packages using DNF | dnf install package_name | +| Installing a package that you downloaded manually | dnf localinstall your_package_name.rpm | +| Reinstalling a package | dnf reinstall package_name | +| Update Check and Updating your system | dnf check-updatednf list updatesdnf updatednf update package_name | +| Downgrading a package | dnf downgrade package_name | +| Downgrade or upgrade all packages | dnf distro-sync | +| Uninstall a package | dnf remove application_name | +| Group operations using DNF | dnf grouplistdnf groupinstall group_namednf groupremove group_name | +| Clean up your system using DNF | dnf clean alldnf autoremove | +| Find out DNF command execution history | dnf historydnf history info id_number | + +Now, let’s look at the above DNF commands with examples. + +### DNF Commands Examples + +#### Installing DNF + +This might be the rare scenario when DNF is not installed in an applicable Linux system. But if DNF is not installed in your RPM-based distribution, you can use Yum to install DNF. + +``` +yum install dnf +``` + +#### 1. Check the version of DNF installed in your systems + +The following command shows the version included in your Linux system. + +``` +dnf --version +``` + +#### 2. Getting help with DNF + +You can easily get all the necessary DNF options and command line switches using the help option. + +``` +dnf help +``` + +For specific help, say, about installation, for example, you can pass the parameter below to show that piece of help. + +``` +dnf help search +``` + +#### 3. List of Installed and Available Packages + +The dnf list command gives you the list of installed and available packages. A little caution. Depending on your system state and internet connection, this command may take some time to execute. Because it fetches the metadata from the server. + +``` +dnf list +``` + +If you want a more specific list, you can use the available or installed switch to filter out the list. See below. + +``` +dnf list available +``` + +For the installed list, use the below command. + +``` +dnf list installed +``` + +![dnf installed packages][1] + +#### 4. Repository list using DNF + +Sometimes you want to see the list of enabled repositories in your Linux systems. With the `dnf repolist` command, you can achieve that. + +``` +dnf repolist +``` + +So, this command gives you all the enabled repo. If you want the disabled ones as well, try below command. + +``` +dnf repolist all +``` + +![Repo list using DNF][2] + +#### 5. Display specific information about a package + +There are times when you need to find out details about a package. So, you can easily find that out using the below command. + +``` +dnf info package_name +``` + +![Information about a specific package using DNF][3] + +#### 6. Search for any package and details about it + +Use the following search command to find any package and its source. Replace `package_name` with your own. As you can see in the below example, it highlights the package and its source. It gives you the result in two sections – when the name is precisely matched and also in the summary/description. + +``` +dnf search package_name +``` + +![Search for any package using DNF][4] + +#### 7. Find which package contains a package or value + +Sometimes, you require finding out which packages or sources contains a particular executable or package name. Then the dnf provides command helps. + +For example, if you want to find out which sources contain ifconfig, then you can find them like the example below. This is one of the best features of `dnf` while researching dependency problems. + +``` +dnf provides package_name +``` + +![dnf provides command example][5] + +#### 8. Installing packages using DNF + +Probably the most used command is dnf install which helps to install an application or package. The command is simple. + +``` +dnf install package_name +``` + +If you want to install from a specific repo, you can use the `--enablerepo` switch while issuing this command. + +``` +dnf --enablerepo=epel install phpmyadmin +``` + +#### 9. Installing a package that you downloaded manually + +There are times when you manually downloaded a `.rpm` package locally. And you want to install. You can install the same using `localinstall` command with `.rpm` file full qualified path. + +``` +dnf localinstall your_package_name.rpm +``` + +**Notes** + +**>** The above command should resolve all the dependencies while installing a target `.rpm` package. If not, one can issue the following command. + +``` +dnf --nogpgcheck localinstall your_package_name.rpm +``` + +**>** Another way to install a local `.rpm` package is using the `dnf install` command. + +``` +dnf install *.rpm +``` + +#### 10. Reinstalling a package + +Reinstalling a package is simple using the reinstallation switch of DNF. + +``` +dnf reinstall package_name +``` + +#### 11. Update Check and Updating your system + +In an RPM-based system (such as Fedora, Red Hat Linux, etc.), the DNF package manager primarily handles the update. The following four commands take care of various update scenarios, as explained below. + +The check-update option checks for all the updates available for your system. This option also takes a package name in its parameter. However, if no package name is specified, then it checks for updates for all installed packages in your system. + +``` +dnf check-update +``` + +To list out all the updates in your Linux system, use the `list` option. + +``` +dnf list updates +``` + +And to install updates for your entire Linux system, issue the `update` option. + +``` +dnf update +``` + +You can also update a specific application or package by mentioning the package name as a parameter to the update option. + +``` +dnf update package_name +``` + +#### 12. Downgrading a package + +If you need to downgrade a package to its prior version, then you can use the downgrade option of DNF. Be very careful while issuing this command. This command erases the current version of a package and installs the highest of all the prior lower version available. + +``` +dnf downgrade package_name +``` + +![Downgrading a package using DNF][6] + +#### 13. Downgrade or upgrade all packages + +The `distro-sync` command downgrade or upgrade all packages to the latest versions for your system enabled repos. + +``` +dnf distro-sync +``` + +#### 14. Uninstall a package + +You can uninstall or remove any application or package using the remove option of DNF. + +``` +dnf remove application_name +``` + +#### 15. Group operations using DNF + +One of the great features of RPM based system is the grouping of packages. A group is a collection of packages logically grouped together. It helps to install them all in one go by issuing a single command with the group name. + +The `grouplist` command gives you the name of available groups. + +``` +dnf grouplist +``` + +![DNF grouplist command][7] + +And to install a group with all packages of it, use `groupinstall` option with the group name. + +``` +dnf groupinstall group_name +``` + +Remove a group and all the packages using the `groupremove` option. + +``` +dnf groupremove group_name +``` + +#### 16. Clean up your system using DNF + +To remove all the temporary files for enabled repos in your system, use the `clean` option with all switch. + +``` +dnf clean all +``` + +If you want to remove a specific temporary file, use the various options as outlined below. + +Removes cache files for repo metadata. + +``` +dnf clean dbcache +``` + +Remove the local cookie files containing the packages’ download time signature for each repo. + +``` +dnf clean expire-cache +``` + +Removes all the repo metadata. + +``` +dnf clean metadata +``` + +Removes any cached packages. + +``` +dnf clean packages +``` + +Over time, a system consumes many applications and packages installed by the user. The following `autoremove` option removes all the leaf packages installed as dependencies for any user-installed applications that are no longer needed. So they can be safely removed to [recover disk space][8]. + +``` +dnf autoremove +``` + +![Clean up your system using DNF][9] + +#### 17. Find out the DNF command execution history + +If you want a list of all commands that have run using DNF since the beginning of a Linux system, then use the history option. This lists all the commands that issued until now. + +``` +dnf history +``` + +To view more details about a specific history, use the info option with the ID number shown in the above list. This is one of the amazing features of DNF, where you can find out exactly what happened on that particular DNF command. It contains the start and end time, who ran it, what packages were installed, and updated, etc. + +``` +dnf history info id_number +``` + +![DNF history command examples][10] + +### Closing Notes + +I am sure you know already about most of the above DNF commands that are explained with examples. But hey, a ready reference of DNF commands is always needed when things go wrong. So, I hope this DNF commands with examples guide helps you find the DNF command you are looking for and eventually resolve your problem. + +Let me know whether this helps or any commands you would like to add to this list. + +*[Official DNF Command reference][11]* + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/dnf-commands-examples/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2022/01/dnf-installed-packages-1024x549.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/01/Repo-list-using-DNF-1024x549.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/01/Information-about-a-specific-package-using-DNF-1024x481.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2022/01/Search-for-any-package-using-DNF-1024x481.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2022/01/dnf-provides-command-example-1024x290.jpg +[6]: https://www.debugpoint.com/wp-content/uploads/2022/01/Downgrading-a-package-using-DNF-1024x412.jpg +[7]: https://www.debugpoint.com/wp-content/uploads/2022/01/DNF-grouplist-command-1024x541.jpg +[8]: https://www.debugpoint.com/tag/clean-up +[9]: https://www.debugpoint.com/wp-content/uploads/2022/01/Clean-up-your-system-using-DNF-1024x216.jpg +[10]: https://www.debugpoint.com/wp-content/uploads/2022/01/DNF-history-command-examples-1024x711.jpg +[11]: https://dnf.readthedocs.io/en/latest/command_ref.html From 8be8fe5618ec1742e77c7415e504cd310f5683d4 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:37:23 +0800 Subject: [PATCH 112/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221006=20Ubuntu=20Pro=20Now=20Gives=20You=2010=20Yea?= =?UTF-8?q?rs=20of=20Security=20Updates=20for=20Free.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...u 10 Years of Security Updates for Free.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md diff --git a/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md b/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md new file mode 100644 index 0000000000..4815815e0f --- /dev/null +++ b/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md @@ -0,0 +1,80 @@ +[#]: subject: "Ubuntu Pro Now Gives You 10 Years of Security Updates for Free" +[#]: via: "https://news.itsfoss.com/ubuntu-pro-free/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu Pro Now Gives You 10 Years of Security Updates for Free +====== +A free Ubuntu Pro plan for everyone to get 10 years of security updates. This is fantastic news. + +![Ubuntu Pro Now Gives You 10 Years of Security Updates for Free][1] + +Canonical has introduced a free tier to Ubuntu Pro which is aimed at personal use and small-scale deployments. + +**Ubuntu Pro** subscription (formerly known as Ubuntu Advantage) was originally offered to enterprises for providing them with extended security maintenance updates to Ubuntu LTS releases for an extra 5 years of updates. + +The free tier has been made available in public beta. + +### Ubuntu Pro for Personal and Data Centers + +![Canonical launches Ubuntu Pro beta][2] + +Currently available as a beta release, the free tier of Ubuntu Pro can be used by individual users or small-scale data centers for a maximum number of five machines. + +With this launch, CEO of Canonical, Mark Shuttleworth said: + +> Since we first launched Ubuntu LTS, with five years free security coverage for the main OS, our enterprise customers have asked us to cover more and more of the wider open-source landscape under private commercial agreements. Today, we are excited to offer the benefits of all of that work, free of charge, to anyone in the world, with a free personal Ubuntu Pro subscription + +The main advantage of Ubuntu Pro over the standard distribution, are the constant security patches. + +![ubuntu pro benefits][3] + +**This is an incredibly good news for users who want stability on their systems without losing out on security updates.** + +The security maintenance updates are pushed out on a regular basis, especially when a new CVE (Common Vulnerabilities and Exposures) is found. + +Users can take advantage of [Livepatch][4] to apply security patches without shutting down their systems. This is included with the Ubuntu Pro subscription. + +Small businesses and individuals can also make use of various tools required for compliance management, support for compliance standards such as PCI-DSS, HIPAA, FedRAMP and as part of Ubuntu Pro subscription. + +**So, more incentives to use Ubuntu for individuals and businesses?** + +> 💡 If you have up to five machines to work with, Ubuntu Pro's free personal tier should be a no-nonsense option to pick over other platforms. + +With the personal Ubuntu Pro plan small-scale users can now take advantage of the 10-year security coverage (*5 Year LTS updates + 5 Year Extended Security Maintenance updates*), **which includes support for an additional 23,000 packages.** + +The launch of this free tier of the Ubuntu Pro subscription can help [Canonical][5] attract more users to use Ubuntu, which is a good thing for Linux adoption among computer users. + +You just have to sign up for a personal Ubuntu Pro subscription on their [official website][6]. + +For more details, check out the [official announcement][7]. + +[Sign up for Ubuntu Pro][8] + +💬 *Do you think you will be opting for the free personal Ubuntu Pro subscription? Or, do you think you will be upgrading to a new LTS release every 5 years?* + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-pro-free/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-pro.jpg +[2]: https://youtu.be/qJL42AsfG6Q +[3]: https://news.itsfoss.com/content/images/2022/10/ubuntu-pro-benefits.png +[4]: https://ubuntu.com/security/livepatch +[5]: https://canonical.com/ +[6]: https://ubuntu.com/pro +[7]: https://ubuntu.com//blog/ubuntu-pro-beta-release +[8]: https://ubuntu.com/pro From a86b1026c8c84c0d93aae32b4ce55be4c08972d9 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:38:25 +0800 Subject: [PATCH 113/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221006=20A=20New=20Open=20Source=20Vulkan=20Driver?= =?UTF-8?q?=20for=20NVIDIA=20Graphics=20is=20Ready=20to=20Test!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...r for NVIDIA Graphics is Ready to Test!.md | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md diff --git a/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md b/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md new file mode 100644 index 0000000000..d34bc69afe --- /dev/null +++ b/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md @@ -0,0 +1,88 @@ +[#]: subject: "A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!" +[#]: via: "https://news.itsfoss.com/nvidia-nvk/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test! +====== +A new open-source driver is in the making for NVIDIA graphics! Some good progress here... + +![A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!][1] + +**NVK** is a new open-source Vulkan driver for NVIDIA Graphics hardware and aims to be the new go-to graphics driver. + +This was made possible in part due to Nvidia releasing open-source GPU kernel modules for its data center GPUs and consumer cards (GTX/RTX). + +[NVIDIA Takes a Big Step to Improve its GPU Experience on Linux][2] + +It has enabled developers to improve open-source drivers and enable more features than what was possible before. + +Let's take a look at what NVK has to offer. + +### New NVK Open-Source Driver for NVIDIA GPU + +**Jason Ekstrand** (engineer at Collabora) and a few others from Red Hat have been writing the code for NVK for the past few months. + +They could take advantage of the unified firmware BLOBs that Turing GPUs offer, and built on top of it with Vulkan support. + +**But, open-source nouveau drivers exist, right?** + +NVK is very different from the nouveau drivers, as it has been written from scratch. + +Nouveau, a major open-source driver suite for Nvidia GPUs has fallen into disrepair, and trying to build on it is a task not many can take up. + +Of course, skillful engineers worked on it, but lack of corporate backing and contributors affected its evolution. + +**NVK aims to get over those while focusing on support for GPUs of the Turing series and later to start with.** + +Support for older GPUs such as Kepler, Maxwell, and Pascal might not come to NVK that easily, because of how the kernel is being developed. It might have a hard dependency on the new kernel, resulting in support for newer GPUs only. + +Also, the nouveau kernel interface not playing nice with Vulkan and hindering support for older GPUs. + +But, there is still scope for further testing, which can result in support for older GPUs with NVK. + +Of course, with more community contributions, NVK can be improved with additional features and GPU support. + +### How To Try It Out? + +NVK is currently available in a very alpha-build state, with many features missing and under constant development. + +**So, it is not yet ready for all kinds of users to get a hands on it.** + +You can still try it out by pulling and building it from the nvk/main branch from the [nouveau/mesa project][4] on freedesktop.org. + +If you want, you can also contribute to the development of NVK by heading over to the [nvk/main branch][5] of the same. + +For more technical info, you can refer to the [official announcement][6]. + +### Future Potential + +NVK has a lot of potential, especially compared to the aging [nouveau][7] graphics driver suite. + +This can lead to a proper successor of nouveau and a mainstream open-source Nvidia graphics driver suite for Linux with a lot of functionality on offer. + +💬 *What are your thoughts on this? Do you think this will finally achieve what nouveau drivers failed to?* + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/nvidia-nvk/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/opensource-native-vulkan-gpu-driver-for-nvidia.png +[2]: https://news.itsfoss.com/nvidia-open-source-linux/ +[4]: https://gitlab.freedesktop.org/nouveau/mesa +[5]: https://gitlab.freedesktop.org/nouveau/mesa/-/tree/nvk/main/ +[6]: https://www.collabora.com/news-and-blog/news-and-events/introducing-nvk.html +[7]: https://nouveau.freedesktop.org/ From 1e60a63a9bb7ad863cda13eeae6c46a1b6d7a144 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:39:26 +0800 Subject: [PATCH 114/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221006=20Upgrade=20Various=20Kinds=20of=20Packages?= =?UTF-8?q?=20in=20Linux=20at=20Once=20With=20Topgrade.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Packages in Linux at Once With Topgrade.md | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md diff --git a/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md b/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md new file mode 100644 index 0000000000..41d25085c9 --- /dev/null +++ b/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md @@ -0,0 +1,149 @@ +[#]: subject: "Upgrade Various Kinds of Packages in Linux at Once With Topgrade" +[#]: via: "https://itsfoss.com/topgrade/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Upgrade Various Kinds of Packages in Linux at Once With Topgrade +====== +Updating a Linux system is not that complicated, is it? After all, to update Ubuntu like distros, you just have to use apt update && apt upgrade. + +That would have been the case if all the packages had been installed through a single package manager. + +But that’s not the case anymore. You have the classic apt/dnf/pacman and then come snap, flatpak, appimages. It doesn’t end here. You may also install applications using PIP (for Python) and Cargo (for Rust). + +Use node? The npm packages need to be updated separately. Oh My Zsh? Needs to be updated separately. [Plugins in Vim][1], Atom etc may also not be covered by apt/dnf/pacman. + +Do you see the problem now? And this is the kind of problem a new tool called topgrade aims to solve. + +### Topgrade: A single utility to take care of all kinds of updates + +This [topgrade][2] is a CLI utility and it detects which tools you use and then runs the appropriate commands to update them. + +![topgrade disable system][3] + +Apart from the usual Linux package managers, it can detect and update brew, cargo, PIP, pihole, Vim and Emacs plugins, R packages etc. You can see the list of supported packages on [its wiki page][4]. + +##### Key Features of Topgrade: + +* Ability to update packages from different package managers, including firmware! +* You do have control over how you want to update packages. +* Extremely customizable. +* Ability to have an overview even before updating packages. + +So without wasting any time, let’s jump to the installation. + +### Install Topgrade in Linux using Cargo + +The installation process is quite straightforward as I’m going to use the cargo package manager. + +We already have a [detailed guide with multiple methods for setting up a cargo package manager][5] So I’m going to make it quick by using Ubuntu in my example. + +So let’s start with some dependencies and installation of cargo in the least extensive way: + +``` +sudo apt install cargo libssl-dev pkg-config +``` + +Once the cargo has been installed, utilize the given command to install topgrade: + +``` +cargo install topgrade +``` + +And it will throw a warning as given: + +![cargo error][6] + +Where you just have to add the path of cargo to run binaries. This can be done through given command where you’ve to change `sagar` with your username: + +``` +echo 'export PATH=$PATH:/home/sagar/.cargo/bin' >> /home/sagar/.bashrc +``` + +Now, reboot your system and topgrade is ready to use. But wait, we need to install another package that will update cargo to get the most recent packages. + +``` +cargo install cargo-update +``` + +And we’re done with installation. + +### Using Topgrade + +Using topgrade is extremely easy. Use a single command and that’s it: + +``` +topgrade +``` + +![][7] + +But this won’t give you any control apart from system packages but as I mentioned, you can blacklist the repo that you don’t want to get updated. + +#### Exclude package managers and repositories from Topgrade + +Let’s suppose I want to exclude snaps and packages downloaded from the default package manager, so my command would be: + +``` +topgrade --disable snap system +``` + +![topgrade disable snap system][8] + +For making a permanent change, you’d have to make a few changes in its config file which can be accessed through the given command: + +``` +topgrade --edit-config +``` + +For this example, I discluded snaps and default system repo: + +![configuring topgrade][9] + +#### Dry run topgrade + +Having an estimation of outdated packages that will be updated is always a good idea and I find this most useful option from the entire catalog of topgrade. + +You just have to use topgrade with `-n` option and it will generate a summary of outdated packages. + +``` +topgrade -n +``` + +![summery of topgrade][10] + +A neat way of checking packages that need to be updated. + +### Final Words + +After using Topgrade for a few weeks, it became an integral part of my Linux arsenal. Like most other Linux users, I was only updating packages through my default package manager. Python and Rust packages were ignored completely. Thanks to topgrade, my system is updated completely now. + +I understand that this is not a tool everyone would want to use. What about you? Willing to give it a try? + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/topgrade/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://linuxhandbook.com/install-vim-plugins/ +[2]: https://github.com/r-darwish/topgrade +[3]: https://itsfoss.com/wp-content/uploads/2022/09/topgrade-disable-system.png +[4]: https://github.com/r-darwish/topgrade/wiki/Step-list +[5]: https://itsfoss.com/install-rust-cargo-ubuntu-linux/ +[6]: https://itsfoss.com/wp-content/uploads/2022/09/cargo-error.png +[7]: https://itsfoss.com/wp-content/uploads/2022/10/topgrade.mp4 +[8]: https://itsfoss.com/wp-content/uploads/2022/09/topgrade-disable-snap-system.png +[9]: https://itsfoss.com/wp-content/uploads/2022/09/configuring-topgrade-1.png +[10]: https://itsfoss.com/wp-content/uploads/2022/09/summery-of-topgrade.png From 818fe50b58dd6684f41b0fc8126100c81080f8a0 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:40:06 +0800 Subject: [PATCH 115/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221006=20Pros=20and=20Cons=20of=20Using=20Btrfs=20Fi?= =?UTF-8?q?lesystem=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Cons of Using Btrfs Filesystem in Linux.md | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 sources/tech/20221006 Pros and Cons of Using Btrfs Filesystem in Linux.md diff --git a/sources/tech/20221006 Pros and Cons of Using Btrfs Filesystem in Linux.md b/sources/tech/20221006 Pros and Cons of Using Btrfs Filesystem in Linux.md new file mode 100644 index 0000000000..13a25befbe --- /dev/null +++ b/sources/tech/20221006 Pros and Cons of Using Btrfs Filesystem in Linux.md @@ -0,0 +1,140 @@ +[#]: subject: "Pros and Cons of Using Btrfs Filesystem in Linux" +[#]: via: "https://itsfoss.com/btrfs/" +[#]: author: "Anuj Sharma https://itsfoss.com/author/anuj/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Pros and Cons of Using Btrfs Filesystem in Linux +====== +Whenever you install Linux, you get to choose a file system, especially when you are manually partitioning your disk. + +The most common option is Ext4, which is used as default in many desktop Linux distributions. But, after Fedora took the plunge to use Btrfs as its default file system, many desktop Linux users switched to Btrfs. + +If you are one of them who want to switch to Btrfs, let me help you by listing the Pros and Cons of Btrfs as a file system. This will help you to decide whether to switch or not. + +### What is Btrfs? + +For starters, Btrfs is a modern copy-on-write file system for Linux with advanced features for fault tolerance, repair and easy administration. Btrfs uses [copy-on-write][1] for all files, which means if a file is modified/written to the storage, the file is not replaced but a copy of the file is created. This mechanism helps to create snapshots with minimum size as the unmodified files need not be copied for creating the snapshot. + +Btrfs is licensed under the GPL and is open source. + +### Advantages of Btrfs over Ext4 + +Let’s talk about the advantages Btrfs boasts over the traditional and more popular ext4 filesystem. + +#### Snapshots + +This is the most desired feature of Btrfs. As I have mentioned earlier, snapshots are created with minimal size due to the use of copy-on-write. + +These snapshots can be used to restore the state of our system to a particular one without using more storage. Switching to a Btrfs snapshot is very quick. + +This makes system recovery seamless which is desired by Linux users especially the ones using [rolling release distros][2] (which support newer packages making the system unstable). + +![Btrfs Assistant showing a list of snapshots][3] + +As you see, whenever I remove or install a package, a snapshot is created. This way, I can restore the system to a previous state if something goes wrong. These snapshots are also available at boot time. + +[Btrfs Assistant][4] can be used for the same. If I restore my system to the highlighted snapshot (in the image above), it will restore my system to the state before I installed VLC Media Player. + +Alternatively, if you are not able to login into your system, then a project called [grub-btrfs][5] can be used to boot into snapshots directly from [GRUB bootloader][6] as you can see in the screenshot below. + +![GRUB menu with snapshots listed][7] + +#### Compression + +Btrfs also supports data compression, reducing the file size so you can store more data in less space. This also increases the lifespan of flash-based media storage devices (e.g., SSD, eMMC) as less data is written to disk. + +It also increases performance for a process which do not load many files from your HDD. However, if a process needs to access more files from the HDD it can cause some slow down as decompression is done to access files. + +#### Subvolumes + +Subvolumes behave like a partition but are not the real disk partition. They can be compared to something like Volumes used in LVM (Logical Volume Manager). + +Subvolumes make resizing quick and flexible as compared to real partitions. Interestingly, a Btrfs snapshot is also a subvolume that shares its data with another subvolume. + +For example, to get a list of subvolumes, you can enter the following command and it also lists the snapshots as subvolumes. + +``` +sudo btrfs subvolumes list -p / +``` + +![Btrfs Subvolumes’ list in GNOME Terminal][8] + +The best use case of subvolumes is creating root and home as separate subvolumes which will allocate space automatically as per requirement. This eliminates the dilemma of choosing root and home partition sizes while installing Linux. + +Having the Home directory on a separate subvolume has another advantage. The system snapshots will get quite large if you have the Home directory included in the snapshot. + +This is also true for Windows System Restore as it also does not take backup all the files. Only system files are included to keep storage requirements for the restore points to a minimum. + +As you can see in the screenshot below listing the Subvolumes in Btrfs Assistant. + +![Btrfs Assistant showing list of subvolumes][9] + +### Disadvantages of Btrfs + +Nothing in this world has only positives. Btrfs is no exception. + +You have seen what it does better than Ext4. Let’s have a look at things it is not good at. + +#### RAID + +RAID (Redundant Array of Independent Disks) is a storage technology that combines multiple disk drive components into a logical unit. It is beneficial in servers mainly for the performance and data loss prevention it provides. + +Btrfs supports RAID however RAID 5 and RAID 6 modes are deemed unstable as of now. As RAID 5 is one of the best choices for RAID, it can deter the adoption of Btrfs on servers. + +#### Fragmentation + +File fragmentation might not be an issue for SSDs but there are many people still using rotational drives. This will hamper performance over time in those cases, also defragmenting a file will create a separate copy of that file. + +Therefore, the size of the snapshot also increases due to defragmentation. You can deduplicate the file but that creates more hassle for the user. + +You will be surprised to know XFS or Ext4 do not require defragmentation. + +#### Encryption + +Unlike Ext4, Btrfs does not support encryption on the file system level. However, you can use third-party methods to encrypt a Btrfs filesystem. + +#### Corruption recovery + +File system check is not possible on a mounted Btrfs file system but can be used to check or repair an unmounted Btrfs filesystem. However, this may not able to repair filesystem errors (even minor ones). + +This is due to heavy development being done on the Btrfs file system check tool. + +### Conclusion + +Btrfs may seem like a work in progress and you can check out the [stability status][10] from the official site anytime. However, it is under heavy, active development and is improving at a greater pace which gets me excited. + +My recommendation is that if you have an SSD and use a rolling release distribution then go for it for the seamless recovery using snapshots. Otherwise, use the good old Ext4 for stability and performance. + +Please do not take my word for it as this article is just my opinion and the pros and cons listed may not be the same for all the use cases. + +I hope I was able to clear some air around using Btrfs of Linux. If you notice any technical errors, do let me know in the comment section. + +Of course, a few points might be debatable. Feel free to express it in the comments. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/btrfs/ + +作者:[Anuj Sharma][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/anuj/ +[b]: https://github.com/lkxed +[1]: https://en.wikipedia.org/wiki/copy-on-write +[2]: https://itsfoss.com/best-rolling-release-distros/ +[3]: https://itsfoss.com/wp-content/uploads/2022/09/btrfs-assistant-snapshot-list.png +[4]: https://gitlab.com/btrfs-assistant/btrfs-assistant +[5]: https://github.com/Antynea/grub-btrfs +[6]: https://itsfoss.com/what-is-grub/ +[7]: https://itsfoss.com/wp-content/uploads/2022/09/grub-btrfs-snapshot-list.png +[8]: https://itsfoss.com/wp-content/uploads/2022/09/btrfs-subvolume-list-in-terminal.png +[9]: https://itsfoss.com/wp-content/uploads/2022/09/btrfs-assistant-subvolumes-list.png +[10]: https://btrfs.wiki.kernel.org/index.php/Status From 040701b85befb01d942f6b62085d35e1e92b28d3 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:43:41 +0800 Subject: [PATCH 116/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221006=20Implementing=20JWT=20Using=20the=20Flask=20?= =?UTF-8?q?Framework.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...lementing JWT Using the Flask Framework.md | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 sources/tech/20221006 Implementing JWT Using the Flask Framework.md diff --git a/sources/tech/20221006 Implementing JWT Using the Flask Framework.md b/sources/tech/20221006 Implementing JWT Using the Flask Framework.md new file mode 100644 index 0000000000..09e2302189 --- /dev/null +++ b/sources/tech/20221006 Implementing JWT Using the Flask Framework.md @@ -0,0 +1,218 @@ +[#]: subject: "Implementing JWT Using the Flask Framework" +[#]: via: "https://www.opensourceforu.com/2022/10/implementing-jwt-using-the-flask-framework/" +[#]: author: "Anchal Agarwal https://www.opensourceforu.com/author/anchal-agarwal/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Implementing JWT Using the Flask Framework +====== +*JSON web token, abbreviated as JWT, uses JSON objects as tokens. This article is an introduction to JWT and how to implement it using the Flask framework. It assumes you have a basic knowledge of Flask.* + +A token, as defined in Wikipedia, is an object that represents the right to perform some action. In client server architecture, the server generates a signed token and stores it in the client browser. Just like a cookie, the client has to pass this token with each request it makes to the server. The server then verifies the signature of the token and grants access to client requests on that basis. A token contains all the data within itself so that the server doesn’t need to record any of the client data. It simply authorises client requests by relying on the validity of the token. + +### What is JWT? + +JSON web token, abbreviated as JWT, uses JSON objects as tokens. JWT comprises three parts separated by dots (.). These are listed below. + +* Header: This consists of two parts — the signing algorithm used (like HMAC or RSA) and the type of token, which by default is JWT. +* Payload: This part contains the claims and any additional data that needs to be encoded. + +Header and payload are Base64Url encoded. + +* Signature: A signature is created by supplying the encoded header and payload along with a secret key to the algorithm specified in the header. A signature verifies that the message hasn’t changed along the way. + +To read more about JWT, you can refer to the official documentation at https://jwt.io/introduction. + +Note that the token is only encoded and not encrypted. Thus, storing passwords inside a token can cause a security breach. + +### Implementing JWT with various encoding algorithms using Flask + +HS256: This is a very popular algorithm since it is easy to implement. The secret key used here is a long sequence of characters such that it cannot be easily identified. + +*Step 1:* First, install the pyjwt package using pip: + +``` +pip install pyjwt +``` + +> Note: Make sure to activate the virtual environment, if any, in your project before installing the package. | + +Step 2: Create a file as app.py and paste the code given below: + +``` +from flask import Flask, session, url_for, redirect +import jwt +import datetime +import time + +app = Flask(__name__) +app.secret_key = ‘super secret key’ +base_url = “http://127.0.0.1:5000” +secret_key = “mysecret” + +@app.route(‘/’) +@app.route(‘/’) +def home(result=None): +return f””” + +
+

Welcome

+
+Get token

+Show details +

Result - {result}

+
+ +””” + +@app.route(‘/generate’) +def generate_token(): +try: +payload = { +‘sub’:’bob’, +‘iat’: datetime.datetime.utcnow(), +‘exp’: datetime.datetime.utcnow() + datetime.timedelta(days=0,seconds=60) +} +token = jwt.encode(payload, secret_key,algorithm=’HS256’) +session[‘jwt_token’]=token +except Exception as e: +return redirect(url_for(‘home’, result=”Error 400”)) + +return redirect(url_for(‘home’, result=”Token Generated successfully!!”)) + +@app.route(‘/validate’) +def validate_and_show(): +try: +token = session.get(‘jwt_token’) +decode = jwt.decode(token, secret_key,algorithms=[“HS256”]) +return redirect(url_for(‘home’, result=decode[‘sub’])) +except: +return redirect(url_for(‘home’, result=”Invalid token”)) + +if __name__ == ‘__main__’: +app.run(debug=True) +``` + +So what does this code do? + +1. First, it imports a JWT package along with a few classes required for our Flask application. + +2. Then it declares a secret key, which will be used later in the encoding and decoding of the JWT. + +3. base_url is the server name. Since I have run it locally, the URL is of localhost. + +4. After this, it declares three APIs. + +* home is used for displaying the home page to the user. The home page is very simple. It contains a welcome message, a link to generate new tokens and a link to details. Details will be visible to the user only if it is authenticated. A user will have to generate a token first to view the details. Any successful attempt messages or invalid token messages will be shown to the user adjacent to the result paragraph. +* generate_token is used for generating a token. JWT has a function encode that accepts three parameters — payload, secret key and algorithm — used for encoding. The payload here is hard coded for explanatory purposes; in real applications we take the user input, and then these inputs become part of the token payload. + +The payload is a dictionary containing three values. ‘sub’ is used to denote the name of the person whose details this token contains. ‘iat’ denotes the time when the token is created. ‘exp’ denotes the expiration time for this token. These are registered claims predefined in JWT. So make sure you do not spell these variables. + +Here the token will expire within 1 minute after it is generated. + +Now this token needs to be stored in the client browser. For that I used httpOnly cookies to prevent XSS attacks. Flask provides a configuration value SESSION_COOKIE_HTTPONLY, which controls whether cookies are set to be httpOnly. By default its value is ‘True’. So there is no need to change anything in this step. + +I used a session class to store this token in the user browser. I have enclosed all the code in a try block. Any exception will display a 400 error to the user; otherwise, it will display a ‘Token generated successfully’ message. + +Validate_and_show is used to validate the token signature and display details only if the signature is verified. When the client requests this API, its cookies will also be sent to the server along with the request. The token is first extracted from the cookies and then decoded using the same secret_key used for encoding. The decode function takes a different argument as algorithms, which is a list of algorithms since the server can expect different types of tokens from the client. + +If everything works well, the API will extract the user name from the token and display it to the client. Here, ‘bob’ will be displayed to the user. + +| - | +| :- | +| Note: When the token expires or any character of a token string gets changed, the signature will fail and an invalid token message will be displayed to users when they try to look for the details again. | + +*RS256:* The disadvantage of HS256 is that we need the secret key both while encoding and decoding the token. Thus it needs to be present on each server that is handling the authentication. This makes the key less secure. + +In RS256, we use a public private key pair as a secret key. A private key is used to sign the token and the public key is used to verify the signature of the token. This private key is kept for the server that has generated it while the public key can be shared with anyone in the world. Anyone having this public key can verify the validity of the token. + +The following code shows how to use the RS256 encoding algorithm: + +``` +from flask import Flask, session, url_for, redirect +import jwt +import datetime +import time + +app = Flask(__name__) +app.secret_key = ‘super secret key’ +base_url = “http://127.0.0.1:5000” +private_key_name = ‘jwt_key’ +public_key_name = ‘jwt_key.pub’ + +@app.route(‘/’) +@app.route(‘/’) +def home(result=None): + return f””” + +
+

Welcome

+
+ Get token

+ Show details +

Result - {result}

+
+ + ””” + +@app.route(‘/generate’) +def generate_token(): + try: + payload = { + ‘sub’:’bob’, + ‘iat’: datetime.datetime.utcnow(), + ‘exp’: datetime.datetime.utcnow() + datetime.timedelta(days=0,seconds=60) + } + + with open(private_key_name) as f: + private_key = f.read() + + token = jwt.encode(payload, private_key, algorithm=’RS256’) + session[‘jwt_token’]=token + except Exception as e: + return redirect(url_for(‘home’, result=”Error 400”)) + + return redirect(url_for(‘home’, result=”Token Generated successfully!!”)) + +@app.route(‘/validate’) +def validate_and_show(): + try: + token = session.get(‘jwt_token’) + with open(public_key_name) as f: + public_key = f.read() + decode = jwt.decode(token, public_key,algorithms=[“RS256”]) + return redirect(url_for(‘home’, result=decode[‘sub’])) + except: + return redirect(url_for(‘home’, result=”Invalid token”)) + + +if __name__ == ‘__main__’: + app.run(debug=True) +``` + +This code is similar to the code explained in HS256. A few changes that I have made are as follows. + +1. First, a new public private key pair using the ssh-keygen command is generated. Do read the tutorial at https://www.ssh.com/academy/ssh/keygen to learn about ssh-keygen commands. +2. In the generate_token API, the private key file is read and passed to the encode method as a secret key. Also, the algorithm name is RS256. +3. In the validate_and_show API, the public key of the same pair is read and passed to the decode method as a secret key. The algorithms list will contain ‘RS256’ in it. + +This application works the same way as described in the case of HS256. But in comparison to HS256, the secret key is more secure. + +I hope this article has given you the information you need to get started with implementing JWT in your application. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/implementing-jwt-using-the-flask-framework/ + +作者:[Anchal Agarwal][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/anchal-agarwal/ +[b]: https://github.com/lkxed From f8eda812cc503981b72c64d06a63f25ae7a0794d Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:44:49 +0800 Subject: [PATCH 117/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?news]:=2020221006=20Google=20AI=20Unveils=20A=20New=20Open=20So?= =?UTF-8?q?urce=20Library=20for=20Array=20Storage.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...w Open Source Library for Array Storage.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md diff --git a/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md b/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md new file mode 100644 index 0000000000..3095eeb5f3 --- /dev/null +++ b/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md @@ -0,0 +1,38 @@ +[#]: subject: "Google AI Unveils A New Open Source Library for Array Storage" +[#]: via: "https://www.opensourceforu.com/2022/10/google-ai-unveils-a-new-open-source-library-for-array-storage/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Google AI Unveils A New Open Source Library for Array Storage +====== +*TensorStore, a High-Performance Open Source Library for Array Storage, has been introduced by Google AI.* + +The open source C++ and Python framework TensorStore, developed by Google, aims to accelerate the design for reading and writing huge multidimensional arrays. Multidimensional datasets that cover a single large coordinate system are commonly used in contemporary computer science and machine learning applications. These datasets are challenging to work with because customers frequently wish to conduct investigations involving numerous workstations operating in parallel and may receive and output data at unpredictable intervals and varied scales. + +Google Research developed TensorStore, a library that provides users with access to an API that can manage huge datasets without the requirement for sophisticated hardware, to address issues with data storage and manipulation. Numerous storage systems, including local and network filesystems, Google Cloud Storage, and others are supported by this library. + +To load and work with enormous arrays of data, TensorStore provides a simple Python API. Any arbitrary big underlying datasets can be loaded and updated without having to store the complete dataset in memory because no actual data is read or kept in memory until the precise slice is required. + +This is made possible by the indexing and manipulation grammar, which is quite similar to the syntax used for NumPy operations. Along with virtual views, broadcasting, alignment, and other sophisticated indexing features like data type conversion, downsampling, and haphazardly created arrays, TensorStore also supports these. + +Additionally, TensorStore includes an asynchronous API that enables read or write operations to go concurrently. While performing other duties, a software can perform configurable in-memory caching, which reduces the need to deal with a slower storage system when accessing frequently used data. + +Large numerical datasets demand a lot of processing power to examine and analyse. The usual method for accomplishing this is via parallelizing tasks among a sizable number of CPU or accelerator cores scattered across many devices. The ability to analyse individual datasets in parallel while retaining excellent speed has been a key goal of TensorStore. PaLM, brain mapping, and other complex large-scale machine learning models are some examples of TensorStore application cases. + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/google-ai-unveils-a-new-open-source-library-for-array-storage/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed From ae713bd3514bc3e30f2d3933a3438f063cc3b117 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 17:46:07 +0800 Subject: [PATCH 118/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221006=20Dynamically=20update=20TLS=20certificates?= =?UTF-8?q?=20in=20a=20Golang=20server=20without=20downtime.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tes in a Golang server without downtime.md | 233 ++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 sources/tech/20221006 Dynamically update TLS certificates in a Golang server without downtime.md diff --git a/sources/tech/20221006 Dynamically update TLS certificates in a Golang server without downtime.md b/sources/tech/20221006 Dynamically update TLS certificates in a Golang server without downtime.md new file mode 100644 index 0000000000..aae0bcb2c2 --- /dev/null +++ b/sources/tech/20221006 Dynamically update TLS certificates in a Golang server without downtime.md @@ -0,0 +1,233 @@ +[#]: subject: "Dynamically update TLS certificates in a Golang server without downtime" +[#]: via: "https://opensource.com/article/22/9/dynamically-update-tls-certificates-golang-server-no-downtime" +[#]: author: "Savita Ashture https://opensource.com/users/savita-ashture" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Dynamically update TLS certificates in a Golang server without downtime +====== +Configuring an HTTPS server for automatically updated certificates is not as hard as you might think. + +Transport Layer Security (TLS) is a cryptographic protocol based on SSLv3 designed to encrypt and decrypt traffic between two sites. In other words, TLS ensures that you're visiting the site you meant to visit and prevents anyone between you and the website from seeing the data being passed back and forth. This is achieved through the mutual exchange of digital certificates: a private one that exists on the web server, and a public one typically distributed with web browsers. + +In production environments, all servers run securely, but server certificates may expire after some period. It is then the server's responsibility to validate, regenerate, and reuse newly generated certificates without any downtime. In this article, I demonstrate how TLS certificates are updated dynamically using an HTTPS server in Go. + +These are the prerequisites for following this tutorial: + +* A basic understanding of client-server working models +* A basic knowledge of Golang + +### Configuring an HTTP server + +Before I discuss how to update certs dynamically on an HTTPS server, I'll provide a simple HTTP server example. In this case, I need only the `http.ListenAndServe` function to start an HTTP server and `http.HandleFunc` to register a response handler for a particular endpoint. + +To start, configure the HTTP server: + +``` +package main + +import( + "net/http" + "fmt" + "log" +) + +func main() { + + mux := http.NewServeMux() + mux.HandleFunc("/", func( res http.ResponseWriter, req *http.Request ) { + fmt.Fprint( res, "Running HTTP Server!!" ) + }) + + srv := &http.Server{ + Addr: fmt.Sprintf(":%d", 8080), + Handler:   mux, + } + + // run server on port "8080" + log.Fatal(srv.ListenAndServe()) +} +``` + +In the example above, when I run the command `go run server.go`, it will start an HTTP server on port 8080. By visiting the [http://localhost:8080][2] URL in your browser, you will be able to see a Hello World! message on the screen. + +The `srv.ListenAndServe()` call uses Go's standard HTTP server configuration. However, you can customize a server using a `Server` structure type. + +To start an HTTPS server, call the `srv.ListenAndServeTLS(certFile, keyFile)` method with some configuration, just like the `srv.ListenAndServe()` method. The`ListenAndServe` and `ListenAndServeTLS` methods are available on both the HTTP package and the `Server` structure. + +The `ListenAndServeTLS` method is just like the `ListenAndServe` method, except it will start an HTTPS server. + +``` +func ListenAndServeTLS(certFile string, keyFile string) error +``` + +As you can see from the method signature above, the only difference between this method and the `ListenAndServe` method is the additional `certFile` and `keyFile` arguments. These are the paths to the SSL certificate file and private key file, respectively. + +### Generating a private key and an SSL certificate + +Follow these steps to generate a root key and certificate: + +1. Create the root key: + +``` +openssl genrsa -des3 -out rootCA.key 4096 +``` + +2. Create and self-sign the root certificate: + +``` +openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt +``` + +Next, follow these steps to generate a certificate (for each server): + +1. Create the certificate key: + +``` +openssl genrsa -out localhost.key 2048 +``` + +2. Create the certificate-signing request (CSR). The CSR is where you specify the details for the certificate you want to generate. The owner of the root key will process this request to generate the certificate. When creating the CSR, it is important to specify the `Common Name`  providing the IP address or domain name for the service, otherwise the certificate cannot be verified. + +``` +openssl req -new -key localhost.key -out localhost.csr +``` + +3. Generate the certificate using the TSL CSR and key along with the CA Root key: + +``` +openssl x509 -req -in localhost.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out localhost.crt -days 500 -sha256 +``` + +Finally, follow the same steps for generating certificates for each server to generate certificates for clients. + +### Configuring an HTTPS server + +Now that you have both private key and certificate files, you can modify your earlier Go program and use the `ListenAndServeTLS` method instead. + +``` +package main + +import( + "net/http" + "fmt" + "log" +) + +func main() { + + mux := http.NewServeMux() + mux.HandleFunc("/", func( res http.ResponseWriter, req *http.Request ) { + fmt.Fprint( res, "Running HTTPS Server!!" ) + }) + + srv := &http.Server{ + Addr: fmt.Sprintf(":%d", 8443), + Handler:   mux, + } + + // run server on port "8443" + log.Fatal(srv.ListenAndServeTLS("localhost.crt", "localhost.key")) +} +``` + +When you run the above program, it will start an HTTPS server using `localhost.crt` as the `certFile` and `locahost.key` as the `keyFile` from the current directory containing the program file. By visiting the [https://localhost:8443][3] URL via browser or command-line interface (CLI), you can see the result below: + +``` +$ curl https://localhost:8443/ --cacert rootCA.crt --key client.key --cert client.crt + +Running HTTPS Server!! +``` + +That's it! This is what most people have to do to launch an HTTPS server. Go manages the default behavior and functionality of the TLS communication. + +### Configuring an HTTPS server for automatically update certificates + +While running the HTTPS server above, you passed `certFile` and `keyFile` to the `ListenAndServeTLS` function. However, if there is any change in `certFile` and `keyFile` because of certificate expiry, the server needs to be restarted to take those effects. To overcome that, you can use the `TLSConfig` of the `net/http` package. + +The `TLSConfig` structure provided by the `crypto/tls` package configures the TLS parameters of the `Server`, including server certificates, among others. All fields of the `TLSConfig` structure are optional. Hence, assigning an empty struct value to the `TLSConfig` field is no different than assigning a `nil` value. However, the `GetCertificate` field can be very useful. + +``` +type Config struct { +   GetCertificate func(*ClientHelloInfo) (*Certificate, error) +} +``` + +The `GetCertificate` field of the `TLSConfig` structure returns a certificate based on the given `ClientHelloInfo` . + +I need to implement `GetCertificate` closure function which uses `tls.LoadX509KeyPair(certFile string, keyFile string)` or `tls.X509KeyPair(certFile []byte, keyFile []byte)` function to get the certificates. + +Now I'll create a `Server` struct that uses `TLSConfig` field value. Here is a sample format of the code: + +``` +package main + +import ( + "crypto/tls" + "fmt" + "log" + "net/http" +) + +func main() { + + mux := http.NewServeMux() + mux.HandleFunc("/", func( res http.ResponseWriter, req *http.Request ) { + fmt.Fprint( res, "Running HTTPS Server!!\n" ) + }) + + srv := &http.Server{ + Addr: fmt.Sprintf(":%d", 8443), + Handler:   mux, + TLSConfig: &tls.Config{ + GetCertificate: func(*tls.ClientHelloInfo) (*tls.Certificate, error) { +        // Always get latest localhost.crt and localhost.key +        // ex: keeping certificates file somewhere in global location where created certificates updated and this closure function can refer that + cert, err := tls.LoadX509KeyPair("localhost.crt", "localhost.key") + if err != nil { + return nil, err + } + return &cert, nil + }, + }, + } + + // run server on port "8443" + log.Fatal(srv.ListenAndServeTLS("", "")) +} +``` + +In the above program, I implemented the `GetCertificate` closure function, which returns a cert object of type `Certificate` by using the `LoadX509KeyPair` function with the certificate and private files created earlier. It also returns an error, so handle it carefully. + +Since I am preconfiguring server instance `srv` with a TLS configuration, I do not need to provide `certFile` and `keyFile` argument values to the `srv.ListenAndServeTLS` function call. When I run this server, it will work just like before. But this time, I have abstracted all the server configuration from the invoker. + +``` +$ curl https://localhost:8443/ --cacert rootCA.crt --key client.key --cert client.crt + +Running HTTPS Server!! +``` + +### Final thoughts + +A few additional tips by way of closing: To read the cert and key file inside the `GetCertificate` function, the HTTPS server should run as a goroutine. There is also a [StackOverflow][4] thread that provides other ways of configuration + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/dynamically-update-tls-certificates-golang-server-no-downtime + +作者:[Savita Ashture][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/savita-ashture +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/server_data_system_admin.png +[2]: http://localhost:8080 +[3]: https://localhost:8443 +[4]: https://stackoverflow.com/questions/37473201/is-there-a-way-to-update-the-tls-certificates-in-a-net-http-server-without-any-d From 0993ca927752ea22cd49672f173b7ab6169a4189 Mon Sep 17 00:00:00 2001 From: lkxed Date: Fri, 7 Oct 2022 20:18:18 +0800 Subject: [PATCH 119/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221007=20Tar=20Command=20in=20Linux=20with=20Practic?= =?UTF-8?q?al=20Examples.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ommand in Linux with Practical Examples.md | 314 ++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 sources/tech/20221007 Tar Command in Linux with Practical Examples.md diff --git a/sources/tech/20221007 Tar Command in Linux with Practical Examples.md b/sources/tech/20221007 Tar Command in Linux with Practical Examples.md new file mode 100644 index 0000000000..305fb75601 --- /dev/null +++ b/sources/tech/20221007 Tar Command in Linux with Practical Examples.md @@ -0,0 +1,314 @@ +[#]: subject: "Tar Command in Linux with Practical Examples" +[#]: via: "https://www.linuxtechi.com/tar-command-in-linux-with-examples/" +[#]: author: "Pradeep Kumar https://www.linuxtechi.com/author/pradeep/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Tar Command in Linux with Practical Examples +====== +In this post, we will learn tar command in linux with practical examples. + +Tar command is used for creating archive of multiple files and directories into single archive file, extension of archive file will always be ‘.tar’. Tar can further compress the archived file using gzip and bzip2 techniques. Tar stands for ‘Tape archive’ and used to create and extract archive files from the command line. Tar can also be treated as command line backup and restore utility. + +Syntax + +``` +# tar +``` + +Options: + +* -c : create a new archive +* -f : Archive file name +* -t, –list : list the contents of an archive +* -x, –extract, –get :  extract files from an archive +* -d, –diff, –compare :  find differences between archive and file system +* –delete : Delete from the archive. +* -r, –append : append files to the end of an archive +* -v : Verbose output +* -u, –update : only append files newer than copy in archive +* -X, –exclude-from=file : exclude patterns listed in file +* -C, –directory=DIR: Change to DIR before performing any operations. +* -j, –bzip2 : Compress and extract archive through bzip2 +* -J, –xz : Compress and extrach the archive through xz +* -z, –gzip : Compress and extract the archive through gzip + +Note: hyphen ( – ) in the tar command while using options is optional. + +Without any further delay, let’s jump into tar command examples. + +### 1) Creating an archive file + +Let’s create a tar file of /etc directory and ‘/root/anaconda-ks.cfg’ file, run + +``` +# tar -cvf archive.tar /etc /var/log/syslog +``` + +Above command will create a tar file with the name “archive.tar” in the current folder. Tar file contains all the files and directories of /etc folder and /var/log/syslog file. + +In above command, ‘-c’ option specify to create a tar file, ‘-v’ is used for verbose output and ‘-f’ option is used to specify the archive name. + +``` +# ls -l archive.tar +-rw-r--r-- 1 root root 12554240 Oct 7 08:25 archive.tar +# +``` + +### 2) List content of archive file + +Use ‘-t‘ option in tar command to view the content of tar files without extracting it. + +``` +# tar -tvf archive.tar +``` + +Listing a specific file or directory from tar file. In the below example, we are trying to list whether ‘syslog’ file is there in the tar file or not. + +``` +# tar -tvf archive.tar var/log/syslog +-rw-r----- syslog/adm 951215 2022-10-07 08:18 var/log/syslog +# +``` + +### 3)  Append files to the archive + + +‘-r’ option in the tar command is used to append or add file to existing archive file. Let’s add /var/log/auth.log file to archive.tar, run + +``` +# tar -rvf archive.tar /var/log/auth.log +``` + +Verify whether file is appended or not, run + +``` +# tar -tvf archive.tar var/log/auth.log +-rw-r----- syslog/adm 52790 2022-10-07 08:30 var/log/auth.log +# +``` + +**Note:** In the Compressed tar file we can’t append file or directory. + +### 4) Extract archive file + +To extract an archive file, use ‘-x’ option in the tar command as shown below. + +``` +# tar -xvf archive.tar +``` + +Above command will extract all the files and directories of archive.tar file in the current working directory. + +### 5) Extract tar archive to specific folder + + +In case you want to extract tar file to a specific folder or directory then use ‘-C’ option followed by path of a folder. Example is shown below + +``` +# tar -xvf archive.tar -C /tmp/ +``` + +### 6) Extract specific file from tar archive + + +Let’s suppose we want to extract “/etc/netplan/01-network-manager-all.yaml” file from the archive under /tmp folder. + +Syntax : # tar -xvf {tar-file } {file-to-be-extracted } -C {path-where-to-extract} + +``` +# tar -xvf archive.tar etc/netplan/01-network-manager-all.yaml +etc/netplan/01-network-manager-all.yaml +# +# ls -l etc/netplan/01-network-manager-all.yaml +-rw-r--r-- 1 root root 104 Aug 9 12:55 etc/netplan/01-network-manager-all.yaml +# +``` + +### 7) Create and compress archive file (gzip) + + +We can compress archive file while creating it, let’s assume that we want to create a tar file of /etc and /opt folder and also want to compress it using gzip tool. This can be achieved using ‘-z’ option in tar command. Extensions of such tar files will be either tar.gz or .tgz + +``` +# tar -zcpvf archive.tar.gz /etc/ /opt/ +Or +# tar -zcpvf archive.tgz /etc/ /opt/ +``` + +### 8) Create and compress archive file (bzip2) + + +Let’s assume that we want to create compressed (bzip2) tar file of /etc and /opt folder. This can be achieved by using the option (-j) in the tar command. Extensions of such tar files will be either tar.bz2 or .tbz + +``` +# tar -jcpvf archive.tar.bz2 /etc/ /opt/ +Or +# tar -jcpvf archive.tbz2 /etc/ /opt/ +``` + +### 9) Exclude specific file type while creating archive + +Using “–exclude” option in tar command we can exclude the specific file type while creating archive file. Let’s assume we want to exclude the file type of html while creating the compressed tar file, run + +``` +# tar -zcpvf archive.tgz /var/ /opt/ --exclude=*.html +``` + +### 10) List the content of compressed archive (tar.gz or .tgz) + + +Contents of compressed archive with extension tar.gz or .tgz is listed by using the option ‘-t’. Example is shown below : + +``` +# tar -tvf archive.tgz | more +``` + +output, + +![List-Content-Compressed-Archive-file][1] + +### 11) List the content of compressed archive (tar.bz2 or .tbz2) + + +Content of tar file with the extensions .bz2 or .tbz2 is viewed by using the option ‘-t’. Example is shown below : + +``` +# tar -tvf archive.tbz2 | more +or +# tar -tvf archive.tar.bz2 | more +``` + +### 12) Extract compressed archive file (tar.gz or .tgz) + + +tar files with extension tar.gz or .tgz is extracted with option ‘-x’ and ‘-z’ as shown below, + +``` +# tar -zxpvf archive.tgz -C /tmp/ +``` + +Above command will extract tar file under /tmp directory. + +Note : Now a days tar command will take care compression file types automatically while extracting, it means it is optional for us to specify compression type in tar command. Example is shown below : + +``` +# tar -xpvf archive.tgz -C /tmp/ +``` + +### 13) Extract compressed archive (tar.bz2 or .tbz2) + + +Archive files with extension tar.bz2 or .tbz2 is extracted using the option ‘-j’ and ‘-x’. Example is shown below + +``` +# tar -jxpvf archive.tbz2 -C /tmp/ +Or +# tar xpvf archive.tbz2 -C /tmp/ +``` + +### 14) Scheduling backup with tar command + +There are some real time scenarios where we have to create tar file of specific files and directories for backup purpose on daily basis. Let’s suppose we have to take backup of whole /opt folder on daily basis, this can be achieved by creating a cron job of tar command. Example is shown below : + +``` +# tar -zcvf optbackup-$(date +%Y-%m-%d).tgz /opt/ +``` + +Create a cron job for above command. + +### 15) Create and compressed archive file with -T and -X option + + +In day to day activities, system admins might require to exclude and include files while creating archive using tar command. This can be achived by using include ( -T) and exclude (-X) file in tar command. + +In tar command input file is specified after ‘-T’ option and file which consists of exclude list is specified after ‘-X’ option. + +Let’s assume we want to archive and compress the directories like /etc , /opt and /home and want to exclude the file ‘/etc/sysconfig/kdump‘ and ‘/etc/sysconfig/foreman‘, Create a text file ‘/root/tar-include’ and ‘/root/tar-exclude’ and put the following contents in respective file. + +``` +# cat /root/tar-include +/etc +/opt +/home +# +# cat /root/tar-exclude +/etc/sysconfig/kdump +/etc/sysconfig/foreman +# +``` + +Now run the below command, + +``` +# tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude +``` + +### 16) View the size of .tar, .tgz and .tbz2 file + +Use the following tar commands to view the size compressed archive files. + +``` +# tar -czf - data.tar | wc -c +427 +# tar -czf - archive.tgz | wc -c +1450527 +# +# tar -czf - archive.tbz2 | wc -c +1206287 +# +``` + +### 17) Split big tar file into smaller files + +In Linux like operating system big file is divided or split into smaller files using [split command][2]. Big tar file can also be divided into the smaller parts using split command. + +Let’s assume we want to split ‘bigarchive.tgz‘ file into smaller parts of each 6 MB. + +Syntax :  split -b . “prefix-name” + +``` +# split -b 6M bigarchive.tgz bigarchive-parts +``` + +Above command will split the bigarchive.tgz file into the smaller files each of size 6 MB in current working directory and split file names will starts from bigarchive-partsaa … bigarchive-partsag. In case if you want to append numbers in place of alphabets then use ‘-d’ option in above split command. + +``` +# ls -l bigarchive-parts* +-rw-r--r-- 1 root root 6291456 Oct 7 10:43 bigarchive-partsaa +-rw-r--r-- 1 root root 6291456 Oct 7 10:43 bigarchive-partsab +-rw-r--r-- 1 root root 6291456 Oct 7 10:43 bigarchive-partsac +-rw-r--r-- 1 root root 6291456 Oct 7 10:43 bigarchive-partsad +-rw-r--r-- 1 root root 6291456 Oct 7 10:43 bigarchive-partsae +-rw-r--r-- 1 root root 6291456 Oct 7 10:43 bigarchive-partsaf +-rw-r--r-- 1 root root 6291456 Oct 7 10:43 bigarchive-partsag +# +``` + +Now we can move these files into another server over the network and then we can merge all the files into a single tar compressed file using below cat command. + +``` +# cat bigarchive-parts* > bigarchive.tgz +# +``` + +That’s all from post, I hope you have learned tar command with above practical examples. Please share your queries and feedback in below comments section. + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/tar-command-in-linux-with-examples/ + +作者:[Pradeep Kumar][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.linuxtechi.com/author/pradeep/ +[b]: https://github.com/lkxed +[1]: https://www.linuxtechi.com/wp-content/uploads/2016/09/List-Content-Compressed-Archive-file.png +[2]: https://www.linuxtechi.com/split-command-examples-for-linux-unix/ From 2810ed6e231017b3227eb58ec9f13404cf03a75e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KevinZ=C3=B8nda?= <33132228+KevinZonda@users.noreply.github.com> Date: Fri, 7 Oct 2022 15:36:13 +0100 Subject: [PATCH 120/170] Update 20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md --- ...003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md b/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md index b9c5237e6e..04a974c3eb 100644 --- a/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md +++ b/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/ubuntu-mate-debian/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "KevinZonda" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 8ea67693b230544432111893ed1588f2f3b5275f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KevinZ=C3=B8nda?= <33132228+KevinZonda@users.noreply.github.com> Date: Fri, 7 Oct 2022 15:38:11 +0100 Subject: [PATCH 121/170] Update 20221004 Security Issues With Open Source In Today-s World.md --- ...0221004 Security Issues With Open Source In Today-s World.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20221004 Security Issues With Open Source In Today-s World.md b/sources/talk/20221004 Security Issues With Open Source In Today-s World.md index 331c473ab6..7210740e92 100644 --- a/sources/talk/20221004 Security Issues With Open Source In Today-s World.md +++ b/sources/talk/20221004 Security Issues With Open Source In Today-s World.md @@ -2,7 +2,7 @@ [#]: via: "https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/" [#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "KevinZonda" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From af7b0d48b67651b1db01d74ab21173bf011eefa4 Mon Sep 17 00:00:00 2001 From: geekpi Date: Sat, 8 Oct 2022 08:39:07 +0800 Subject: [PATCH 122/170] translated --- ... any website with this open source tool.md | 102 ------------------ ... any website with this open source tool.md | 102 ++++++++++++++++++ 2 files changed, 102 insertions(+), 102 deletions(-) delete mode 100644 sources/tech/20220927 Get change alerts from any website with this open source tool.md create mode 100644 translated/tech/20220927 Get change alerts from any website with this open source tool.md diff --git a/sources/tech/20220927 Get change alerts from any website with this open source tool.md b/sources/tech/20220927 Get change alerts from any website with this open source tool.md deleted file mode 100644 index b3826983b8..0000000000 --- a/sources/tech/20220927 Get change alerts from any website with this open source tool.md +++ /dev/null @@ -1,102 +0,0 @@ -[#]: subject: "Get change alerts from any website with this open source tool" -[#]: via: "https://opensource.com/article/22/9/changedetection-io-open-source-website-changes" -[#]: author: "Leigh Morresi https://opensource.com/users/dgtlmoon" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Get change alerts from any website with this open source tool -====== -Use changedetection.io to get alerts when a website makes changes or updates. - -![Browser of things][1] - -The year was 2020, and news about COVID-19 came flooding in so quickly that everyone felt completely overwhelmed with similar news articles providing updates with varying degrees of accuracy. - -But all I needed to know was when my official government guidelines changed. In the end, that's all that mattered to me. - -Whether the concern is a pandemic or just the latest tech news, keeping ahead of changes in website content can be critical. - -The [changedetection.io][2] project provides a simple yet highly capable, open source solution for website change detection and notification. It's easy to set up, and it can notify over 70 (and counting) different notification systems, such as Matrix, Mattermost, [Nextcloud][3], [Signal][4], [Zulip][5], [Home Assistant][6], email, and more. It also notifies proprietary applications like Discord, Office365, Reddit, Telegram, and many others. - -But [changedetection.io][7] isn't just limited to watching web page content. You can also monitor XML and JSON feeds, and it will build an RSS feed of the websites that changed. - -Thanks to its built-in JSON simple storage system, there's no need to set up complicated databases to receive and store information. You can [run it as a Docker image][8] or install it with `pip`. The project has an [extensive wiki help section][9], and most common questions are covered there. - -For sites using complex JavaScript, you can connect your changedetection.io installation to a Chromium or Chrome browser with the built-in [Playwright content fetcher][10]. - -Once running, access the application in your browser (`http://localhost:5000`, by default). You can set a password in the **Settings** section if your computer can be reached from an outside network. - -![change detection watch list][11] - -Submit the URL of a page you want to monitor. There are several settings related to how the page is filtered. For example, you more than likely do not want to know when a company's stock price listed in their site footer has changed, but you may want to know when they post a news article to their blog. - -### Monitor a site - -Imagine you want to add your favorite website, Opensource.com, to be monitored. You only want to know when the main call-out article contains the word "python" and you want to be notified over Matrix. - -To do this, begin with the **visual-selector** tool. (This requires the **playwright** browser interface to be connected.) - -![Find an element to monitor][12] - -The **visual-selector** tool automatically calculates the best Xpath or CSS filter to target the content. Otherwise, you would get a lot of noise from the daily page updates. - -Next, visit the **Filters & Triggers** tab. - -![Filters and triggers][13] - -In **CSS/JSON/XPATH Filter** field (the blue circle), you can see the automatically generated CSS filter from the previous step. - -There are several useful filters available, such as **Remove elements** (good for removing noisy elements), **Ignore text, Trigger/wait for text,** and **Block change-detection if text matches** (used for waiting for some text to disappear, like "sold out"). - -In **Trigger/wait for text** (the red circle), type in the keyword you want to monitor for. (That's "python" in this example.) - -The final step is in the **Notifications** tab, where you configure where you want to receive your notification. Below I added a Matrix room as the notification target, using the Matrix API. - -![Notifications tab][14] - -The notification URL is in the format of `matrixs://username:password@matrix.org/#/room/#room-name:matrix.org` - -However, [t2Bot][15] format is also supported. Here are more [Matrix notification options][16]. - -And that's it! Now you'll receive a message over Matrix whenever the content changes. - -### There's more - -There's so much more to changedetection.io. If you prefer calling a custom JSON API, you don't have to use an API for notifications (use `jsons://` ). You can also create a custom HTTP request (POST and GET), execute JavaScript before checking (perhaps to pre-fill a username and password login field), and many more interesting features, with more to come. - -Stop browsing the web and start watching the web instead! - -Image by: (Leigh Morresi, CC BY-SA 4.0) - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/9/changedetection-io-open-source-website-changes - -作者:[Leigh Morresi][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/dgtlmoon -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/browser_desktop_website_checklist_metrics.png -[2]: https://github.com/dgtlmoon/changedetection.io -[3]: https://opensource.com/tags/nextcloud -[4]: https://opensource.com/article/19/10/secure-private-messaging -[5]: https://opensource.com/article/22/3/open-source-chat-zulip -[6]: https://opensource.com/article/20/11/home-assistant -[7]: https://github.com/dgtlmoon/changedetection.io -[8]: https://github.com/dgtlmoon/changedetection.io#docker -[9]: https://github.com/dgtlmoon/changedetection.io/wiki -[10]: https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher -[11]: https://opensource.com/sites/default/files/2022-09/screenshot.png -[12]: https://opensource.com/sites/default/files/2022-09/changedetect-osdc.png -[13]: https://opensource.com/sites/default/files/2022-09/changedetect-filters-triggers.webp -[14]: https://opensource.com/sites/default/files/2022-09/step3-notification-matrix.png -[15]: https://t2bot.io/ -[16]: https://github.com/caronc/apprise/wiki/Notify_matrix diff --git a/translated/tech/20220927 Get change alerts from any website with this open source tool.md b/translated/tech/20220927 Get change alerts from any website with this open source tool.md new file mode 100644 index 0000000000..2989a40689 --- /dev/null +++ b/translated/tech/20220927 Get change alerts from any website with this open source tool.md @@ -0,0 +1,102 @@ +[#]: subject: "Get change alerts from any website with this open source tool" +[#]: via: "https://opensource.com/article/22/9/changedetection-io-open-source-website-changes" +[#]: author: "Leigh Morresi https://opensource.com/users/dgtlmoon" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +用这个开源工具从任何网站获取变化提醒 +====== +使用 changeetection.io 在网站发生变化或更新时获得提醒。 + +![Browser of things][1] + +那一年是 2020 年,关于 COVID-19 的消息迅速涌来,每个人都感到完全被只是提供了不同程度的更新的类似新闻所淹没,。 + +但我需要知道的是,我的官方政府准则何时改变。最后,这就是对我来说最重要的事情。 + +无论关注的是大流行病还是最新的科技新闻,提前了解网站内容的变化都至关重要。 + +[changedetection.io][2] 项目为网站变更检测和通知提供了一个简单但强大的开源解决方案。它很容易设置,而且可以通知 70 多个不同的通知系统,如 Matrix、Mattermost、[Nextcloud][3]、[Signal][4]、[Zulip][5]、[Home Assistant][6]、电子邮件等等。它还能通知专有应用,如 Discord、Office365、Reddit、Telegram 和许多其他应用。 + +但 [changeetection.io][7] 并不只是局限于观察监测内容。你也可以监视 XML 和 JSON 源,它将建立一个 RSS 源,记录变化的网站。 + +由于其内置的 JSON 简单存储系统,不需要设置复杂的数据库来接收和存储信息。你可以[使用 Docker 镜像运行][8]或用 `pip` 安装它。该项目有一个[全面的维基帮助页][9],大多数常见的问题都有涵盖。 + +对于使用复杂 JavaScript 的网站,你可以用内置的 [Playwright 内容获取器][10]将你的 changeetection.io 安装到 Chromium 或 Chrome 浏览器。 + +运行后,在你的浏览器(默认情况下是 `http://localhost:5000`)中访问该应用。如果你的电脑可以从外部网络访问,你可以在**设置**中设置一个密码。 + +![change detection watch list][11] + +提交你想监控的页面的 URL。有几个设置与如何过滤该网页有关。例如,你很可能不想知道一家公司在其网站页脚列出的股票价格何时发生变化,但你可能想知道他们在其博客上发布的新闻文章。 + +### 监控一个网站 + +想象一下,你想添加你最喜欢的网站 Opensource.com 进行监控。 你只想知道主要标注文章何时包含 “python” 一词,并且通过 Matrix 收到通知。 + +要做到这点,首先要使用**视觉选择器**工具。(这需要连接 **playwright** 浏览器界面)。 + +![Find an element to monitor][12] + +**视觉选择器**工具会自动计算出针对内容的最佳 Xpath 或 CSS 过滤器。否则,你会从每天的页面更新中得到大量的噪音。 + +接下来,访问**过滤器和触发器**标签。 + +![Filters and triggers][13] + +在 **CSS/JSON/XPATH 过滤器**区域(蓝色圆圈),你可以看到上一步自动生成的 CSS 过滤器。 + +有几个有用的过滤器,比如**移除元素**(适合移除嘈杂的元素),**忽略文本,触发/等待文本**,和**如果文本匹配则阻止变化检测**(用于等待一些文本消失,如“售罄”)。 + +在**触发/等待文本**(红色圆圈)中,输入你想监测的关键词。(在这个例子中是 “python”)。 + +最后一步是在**通知**选项卡中,你要在那里配置你想收到的通知。下面我使用 Matrix API 添加了一个 Matrix 房间作为通知目标。 + +![Notifications tab][14] + +通知的 URL 的格式是 `matrixs://username:password@matrix.org/#/room/#room-name:matrix.org`。 + +然而,[t2Bot][15] 格式也被支持。这里有更多的 [Matrix 通知选项][16]。 + +就是这些了! 现在只要内容有变化,你就会通过 Matrix 收到信息。 + +### 还有更多 + +changedetection.io 还有很多东西。如果你喜欢调用一个自定义的 JSON API,你不需要使用通知的 API(使用 `jsons://` )。你还可以创建一个自定义的 HTTP 请求(POST 和 GET),在检查前执行 JavaScript(也许是为了预先填充一个用户名和密码的登录字段),以及更多有趣的功能,更多的功能将陆续推出。 + +不要再浏览网站,而是开始监测网络吧! + +图片提供:(Leigh Morresi, CC BY-SA 4.0) + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/changedetection-io-open-source-website-changes + +作者:[Leigh Morresi][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/dgtlmoon +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/browser_desktop_website_checklist_metrics.png +[2]: https://github.com/dgtlmoon/changedetection.io +[3]: https://opensource.com/tags/nextcloud +[4]: https://opensource.com/article/19/10/secure-private-messaging +[5]: https://opensource.com/article/22/3/open-source-chat-zulip +[6]: https://opensource.com/article/20/11/home-assistant +[7]: https://github.com/dgtlmoon/changedetection.io +[8]: https://github.com/dgtlmoon/changedetection.io#docker +[9]: https://github.com/dgtlmoon/changedetection.io/wiki +[10]: https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher +[11]: https://opensource.com/sites/default/files/2022-09/screenshot.png +[12]: https://opensource.com/sites/default/files/2022-09/changedetect-osdc.png +[13]: https://opensource.com/sites/default/files/2022-09/changedetect-filters-triggers.webp +[14]: https://opensource.com/sites/default/files/2022-09/step3-notification-matrix.png +[15]: https://t2bot.io/ +[16]: https://github.com/caronc/apprise/wiki/Notify_matrix From 3ab6b7ecae4d69d15306a88f6559540ad740163b Mon Sep 17 00:00:00 2001 From: geekpi Date: Sat, 8 Oct 2022 08:41:44 +0800 Subject: [PATCH 123/170] translating --- ...20929 How to Use Picture in Picture Mode in Brave Browser.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md b/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md index 8033990237..fa87f754b7 100644 --- a/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md +++ b/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/picture-in-picture-brave/" [#]: author: "Abhishek Prakash https://itsfoss.com/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 60b37d4dbe6e09e40282630737d69ab68c33d9e3 Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Fri, 7 Oct 2022 22:24:27 -0400 Subject: [PATCH 124/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90]?= =?UTF-8?q?=20[news]=2020220927=20System76=20Won-t=20Release=20Pop!=5FOS?= =?UTF-8?q?=2022.10=20Linux=20Distro-=20Here-s=20Why!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Pop!_OS 22.10 Linux Distro- Here-s Why!.md | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md b/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md index 1f795a5f07..21cc2d66b6 100644 --- a/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md +++ b/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md @@ -7,61 +7,61 @@ [#]: publisher: " " [#]: url: " " -System76 Won't Release Pop!_OS 22.10 Linux Distro: Here's Why! +System 76 将不会发布 Pop!_OS 22.10 Linux 发行版:这就是为什么! ====== -There will be no Pop!_OS 22.10. So, you can't get your hands on GNOME 43.. Here's why! +Pop!_OS 22.10 将不会发布。所以,你将无法使用 GNOME 43... 这就是为什么! -![System76 Won't Release Pop!_OS 22.10 Linux Distro: Here's Why!][1] +![System 76 将不会发布 Pop!_OS 22.10 Linux 发行版:这就是为什么!][1] -Pop!_OS is an Ubuntu-based distro that offers a polished user experience alongside a robust software suite. +Pop!_OS 是一个基于 Ubuntu 的 Linux 发行版,它提供了一个精心设计的用户体验以及强大的软件套件。 -Pop!_OS releases are usually worth the wait for their latest tech stack and useful tweaks they bring in with their desktop environment experience. +考虑到它带来的最新技术和桌面环境带来的有用的调整,Pop!_OS 发行版通常值得等待。 -But, you will not be getting a Pop!_OS 22.10 release. +但是,你将无法获得 Pop!_OS 22.10 发行版。 -[System76][2] wants to focus on developing its own Rust-based COSMIC desktop environment ditching GNOME for future releases. 😲 +[System76][2] 希望专注于开发其自己的基于 Rust 的 COSMIC 桌面环境,并在未来的版本中放弃 GNOME。😲 -**In case you did not know**, here is our older coverage on the COSMIC desktop for Pop!_OS to provide clarity: +**如果你不知道的话**,这是我们对 Pop!_OS 的 COSMIC 桌面环境的旧报道,以供说明: -[Oh, Wow! Pop!_OS Linux Devs Are Creating a New Rust-based Desktop Environment][3] +[哦,哇哦!Pop!_OS Linux 开发人员正在创建一个基于 Rust 的新桌面环境][4] -### No Pop!_OS 22.10 Release +### Pop!_OS 22.10 发行版将不会发布 -A new Pop!_OS release usually comes just after Ubuntu's new release for both the LTS and non-LTS versions. +一般在 Ubuntu 发布新的 LTS 和非 LTS 版本之后,Pop!_OS 发行版就会发布。 -Without Pop!_OS 22.10, some users might be disappointed not to get their hands on GNOME 43 experience on Pop!_OS. +没有 Pop!_OS 22.10,一些用户可能会失望,因为他们无法在 Pop!_OS 上体验 GNOME 43。 -Thanks to [OMG!Ubuntu!][5] for spotting this on a [Reddit comment][6] by Pop!_OS developer **Michael Murphy**. +感谢 [OMG!Ubuntu!][5] 发现了 Pop!_OS 开发人员 **Michael Murphy** 的这个 [Reddit 评论][6]。 -Michael mentions: +Michael 提到: -> We are going to focus our development time onto the Rust implementation of COSMIC instead of 22.10. It takes a lot of effort to support multiple releases of Ubuntu, and the 6 month release cycle really eats into development time and stability of the product. +> 我们将会把开发时间集中到 COSMIC 的 Rust 实现上,而不是 22.10。支持多个 Ubuntu 版本需要很大的努力,而 6 个月的发布周期真的会吃掉开发时间和产品的稳定性。 -👏 I believe that is an excellent decision. Last year, when they announced their plans for a Rust-based built-from-scratch desktop environment, I always wondered how they could pull it off. +👏 我相信这是一个很好的决定。去年,当他们宣布了基于 Rust 从头开始构建桌面环境的计划时,我总是想知道他们如何做到的。 -It is a huge task to make something from the ground up and reach the expectation of users who already have a great experience on Pop!_OS with a GNOME-based desktop. +从头开始做一件事并达到用户的期望是一项艰巨的任务,这些用户已经在基于 GNOME 的 Pop!_OS 上拥有了很好的体验。 -### COSMIC Desktop Environment +### COSMIC 桌面环境 -![pop os cosmic de early build][9] +![pop os cosmic 桌面环境早期构建][9] -It would be interesting to see more developments in the COSMIC desktop environment. The last time we tried it (or saw the mockups), it sparked excitement among the users even when they were just starting out. +看到 COSMIC 桌面环境的更多发展会很有趣。上次我们尝试它(或看到演示)时,用户会对它感到兴奋,即使它们只是刚刚开始。 -Technically, it has been in development since 2021, with a Pop!_OS release coming in 2023. +从技术上讲,它自 2021 年以来就一直在开发中,2023 年的 Pop!_OS 发行版将会带来它。 -It is written in the [Rust][10] programming language following the freedesktop [interoperability specifications][11], and to completely remove any dependence on GNOME and its shell extensions. +它使用 [Rust][10] 编程语言编写,遵循 freedesktop [互操作性规范][11],并完全移除了对 GNOME 和其 shell 扩展的依赖。 -We had previously covered the early preview build of the COSMIC desktop environment, you can check that out here: +我们曾经介绍过 COSMIC 桌面环境的早期预览构建,你可以在这里查看: -[I Tried System76’s New Rust-based COSMIC Desktop!][12] +[我尝试了 System76 新的基于 Rust 的 COSMIC 桌面!][12] -### Why Is This a Good Thing? +### 为什么这是件好事? -The LTS releases for Pop!_OS already receive regular package updates and kernel upgrades more than Ubuntu, so you have nothing to worry about not getting a 22.10 version release. +Pop!_OS 的 LTS 版本已经收到了比 Ubuntu 更多的包更新和内核升级,所以你不必担心没有 22.10 版本的发布。 -Instead, we should look forward to Pop!_OS's next major upgrade where they properly introduce the Rust-COSMIC desktop environment. +相反,我们应该期待 Pop!_OS 的下一个主要升级,那时他们会正式介绍 Rust-COSMIC 桌面环境。 -*💬 What do you think about this decision? Are you excited to see what's in store with future Pop!_OS releases?* +*💬 你对这个决定怎么看?你对未来的 Pop!_OS 发行版有什么期待吗?* -------------------------------------------------------------------------------- From 7651dfe0cf0f30c62211c0c4f4b25d2a28c93c5d Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Fri, 7 Oct 2022 22:24:52 -0400 Subject: [PATCH 125/170] =?UTF-8?q?[=E7=A7=BB=E5=8A=A8=E7=BF=BB=E8=AF=91]?= =?UTF-8?q?=20[news]=2020220927=20System76=20Won-t=20Release=20Pop!=5FOS?= =?UTF-8?q?=2022.10=20Linux=20Distro-=20Here-s=20Why!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tem76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md (100%) diff --git a/sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md b/translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md similarity index 100% rename from sources/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md rename to translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md From 4edef0ba4fd3bc500cb2d214ee1532af1ce904b8 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 8 Oct 2022 14:40:03 +0800 Subject: [PATCH 126/170] R MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @Cubik65536 恭喜升级二星贡献者。 (PS., 文末的译者 ID 也要写) --- ...Pop!_OS 22.10 Linux Distro- Here-s Why!.md | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md b/translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md index 21cc2d66b6..d9a2e50934 100644 --- a/translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md +++ b/translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md @@ -3,13 +3,14 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "Cubik65536" -[#]: reviewer: " " +[#]: reviewer: "wxy" [#]: publisher: " " [#]: url: " " -System 76 将不会发布 Pop!_OS 22.10 Linux 发行版:这就是为什么! +System 76 将不会发布 Pop!_OS 22.10 Linux 发行版 ====== -Pop!_OS 22.10 将不会发布。所以,你将无法使用 GNOME 43... 这就是为什么! + +> Pop!_OS 22.10 将不会发布。所以,你将无法使用 GNOME 43…… 这里是原因。 ![System 76 将不会发布 Pop!_OS 22.10 Linux 发行版:这就是为什么!][1] @@ -23,7 +24,9 @@ Pop!_OS 是一个基于 Ubuntu 的 Linux 发行版,它提供了一个精心设 **如果你不知道的话**,这是我们对 Pop!_OS 的 COSMIC 桌面环境的旧报道,以供说明: -[哦,哇哦!Pop!_OS Linux 开发人员正在创建一个基于 Rust 的新桌面环境][4] +![][4a] + +> **[哦,哇哦!Pop!_OS Linux 开发人员正在创建一个基于 Rust 的新桌面环境][4]** ### Pop!_OS 22.10 发行版将不会发布 @@ -53,11 +56,13 @@ Michael 提到: 我们曾经介绍过 COSMIC 桌面环境的早期预览构建,你可以在这里查看: -[我尝试了 System76 新的基于 Rust 的 COSMIC 桌面!][12] +![][12a] + +> **[我尝试了 System76 新的基于 Rust 的 COSMIC 桌面!][12]** ### 为什么这是件好事? -Pop!_OS 的 LTS 版本已经收到了比 Ubuntu 更多的包更新和内核升级,所以你不必担心没有 22.10 版本的发布。 +Pop!_OS 的 LTS 版本已经收到了比 Ubuntu 更多的包更新和内核升级,所以你不必担心没有发布 22.10 版本。 相反,我们应该期待 Pop!_OS 的下一个主要升级,那时他们会正式介绍 Rust-COSMIC 桌面环境。 @@ -69,8 +74,8 @@ via: https://news.itsfoss.com/no-pop-os-21-10/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[Cubik65536](https://github.com/Cubik65536) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -80,6 +85,7 @@ via: https://news.itsfoss.com/no-pop-os-21-10/ [2]: https://system76.com/ [3]: https://news.itsfoss.com/pop-os-cosmic-rust/ [4]: https://news.itsfoss.com/pop-os-cosmic-rust/ +[4a]: https://news.itsfoss.com/content/images/wordpress/2021/11/pop-os-cosmic-rust.png [5]: https://www.omgubuntu.co.uk/2022/09/excited-for-pop_os-22-10-dont-be [6]: https://www.reddit.com/r/pop_os/comments/xifwt6/comment/ip3l425/ [7]: http://proton.go2cloud.org/aff_c?offer_id=15&aff_id=1173 @@ -88,3 +94,4 @@ via: https://news.itsfoss.com/no-pop-os-21-10/ [10]: https://www.rust-lang.org/ [11]: https://www.freedesktop.org/wiki/Specifications/ [12]: https://news.itsfoss.com/system76-rust-cosmic-desktop/ +[12a]: https://news.itsfoss.com/content/images/wordpress/2022/01/system76-rust-based-distro-ft.png \ No newline at end of file From 6adb8c06ba569565b17b54f0d7a29d6d888b6a9d Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 8 Oct 2022 14:40:45 +0800 Subject: [PATCH 127/170] P @Cubik65536 https://linux.cn/article-15116-1.html --- ...6 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/news => published}/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md (98%) diff --git a/translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md b/published/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md similarity index 98% rename from translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md rename to published/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md index d9a2e50934..5896916d0a 100644 --- a/translated/news/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md +++ b/published/20220927 System76 Won-t Release Pop!_OS 22.10 Linux Distro- Here-s Why!.md @@ -4,8 +4,8 @@ [#]: collector: "lkxed" [#]: translator: "Cubik65536" [#]: reviewer: "wxy" -[#]: publisher: " " -[#]: url: " " +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15116-1.html" System 76 将不会发布 Pop!_OS 22.10 Linux 发行版 ====== From 71993e135b53b9e261a588a090c753778021fb7b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sat, 8 Oct 2022 15:10:14 +0800 Subject: [PATCH 128/170] RP @Yufei-Yan https://linux.cn/article-15117-1.html --- published/20220902 Where is DevOps Headed-.md | 53 +++++++++++++++++++ .../tech/20220902 Where is DevOps Headed-.md | 51 ------------------ 2 files changed, 53 insertions(+), 51 deletions(-) create mode 100644 published/20220902 Where is DevOps Headed-.md delete mode 100644 translated/tech/20220902 Where is DevOps Headed-.md diff --git a/published/20220902 Where is DevOps Headed-.md b/published/20220902 Where is DevOps Headed-.md new file mode 100644 index 0000000000..3b36cba648 --- /dev/null +++ b/published/20220902 Where is DevOps Headed-.md @@ -0,0 +1,53 @@ +[#]: subject: "Where is DevOps Headed?" +[#]: via: "https://www.opensourceforu.com/2022/09/where-is-devops-headed/" +[#]: author: "Bhagvan Kommadi https://www.opensourceforu.com/author/bhagvan-kommadi/" +[#]: collector: "lkxed" +[#]: translator: "Yufei-Yan" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15117-1.html" + +DevOps 将去向何方? +====== + +![](https://www.opensourceforu.com/wp-content/uploads/2022/07/DevOps.jpg) + +> 微软、谷歌、亚马逊、IBM 和甲骨文如今都在关注云上的 DevOps。这些大公司正在给企业提供 IT 自动化的服务。然而,DevOps 仍然在持续的演进中。DevSecOps、AIOps 和 NoOps 正在成为下一个流行词。 + +随着开发和管理人员看到及时交付高质量软件的商业价值,敏捷Agile方法论和 DevOps 也变得流行起来。拥有灵活的发布周期,并且交付具有可扩展scalable可定制customizable的软件,是世界上每个企业的目标。通过将 CI/CD 工具和管道pipeline部署到云端,DevOps 使发布过程变得更加流畅。融合了 DevOps 的 Polyglot 微服务架构正在帮助企业降低总拥有成本(TCO)。他们现在有能力用渐进式网络应用程序和最新的 UI 框架升级他们的技术栈。总的来说,团队正在以更好的效率执行任务,并且正在开发高质量的软件模块。 + +### 自治 DevOps + +容器和 DevOps 与云原生应用走到了一起。Kubernetes 和 Docker 正在被用作容器,一个新的名词 NoOps 现在正在流行。对于不同的容器,编排Orchestration都是一个重要的功能。为了扩展应用,开发环境中要创建容器集群。有一些新的容器正在进入云原生应用这个领域,比如 Mesos、Swarm、Openshift Rancher 和 Nomad。NoOps 有助于缩短编码周期,从而监控和管理应用程序。缺陷修复和热修复是不同的活动,它们都是 NoOps 的一部分。NoOps 有助于提高技术团队和业务运营人员之间的协同作用。它也有助于更好的监控、管理和流程自动化。NoOps 基础设施能够控制应用程序在云上的部署。企业从中获得的好处包括更好的交付、弹性的服务、更快的发布、良好的质量和 CI/CD 自动化。 + +### DevSecOps + +DevSecOps 算是另一个流行趋势,它与在开发操作中的安全问题有关。最近与漏洞vulnerabilities(log4j),安全泄露security breach(谷歌、脸书、微软),和安全攻击相关的问题增加了 DevSecOps 在企业中的重要性。左移shift left方法强调了在软件生命周期的早期处理安全性和质量的重要性。在架构阶段就需要考虑隐私和遵从性compliances(如 GDPR)。这有助于降低成本,并且提升软件交付的速度。审计工具和安全检查列表是 DevOps 工具和系统的一部分,现在我们称为 DevSecOps。 + +### AIOps + +AI DevOps 现在被称为 AIOps。据预测,将来 AI 应用会由 AIOps 来管理。与 AIOps 相关的工具和软件正在开发中,并且将很快发布首个版本。AI/ML 应用部署和模型更新可以由 AIOps 来处理。这将在工业 4.0Industry 4.0 以及数据科学中扮演重要角色。有一种观点认为,NoOps 将会是 AIOps 的最终形态。AIOps 包括数据集管理、模型训练、模型服务、元数据管理、模型更新和服务更新。分布式训练将由 AIOps 来完成,这会提供超参数hyper parameter优化,工作流程管理和“假设what if”的分析能力。 + +### 微服务配置管理 + +当前,DevOps 和微服务正在成为标准部署和架构蓝图architectural blueprints来实施。应用可以在模块级别上就进行扩展。微服务可以在简化缺陷修复和问题区域隔离上提供帮助。经过设计,微服务可以通过添加更多计算能力computing power实例instances来进行扩展。但是当它们没有被正确实现的时候,数据安全和管理的问题就会突然出现。 + +### 平台即产品 + +云上的软件即服务Software as a Service平台即产品Platform as a Product最近非常流行。通过加速向平台部署和功能交付,DevOps 使这些变成现实。从编码到上线阶段,CI/CD 管道有助于可视化应用的部署。持续交付、集成和部署都是 DevOps 的一部分。DevOps 生产线模拟工业生产线是未来要关注的。 + +DevOps 正在慢慢地向 DevSecOps 和 AIOps 转变。对于企业,NoOps 才是未来。现在需要的是减少与安全相关的攻击、事故和破坏发生。对于企业来说,数据安全和隐私的优先级更高,并且这些新技术都将在这方面有所帮助。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/09/where-is-devops-headed/ + +作者:[Bhagvan Kommadi][a] +选题:[lkxed][b] +译者:[Yufei-Yan](https://github.com/Yufei-Yan) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/bhagvan-kommadi/ +[b]: https://github.com/lkxed diff --git a/translated/tech/20220902 Where is DevOps Headed-.md b/translated/tech/20220902 Where is DevOps Headed-.md deleted file mode 100644 index ddde2dcd63..0000000000 --- a/translated/tech/20220902 Where is DevOps Headed-.md +++ /dev/null @@ -1,51 +0,0 @@ -[#]: subject: "Where is DevOps Headed?" -[#]: via: "https://www.opensourceforu.com/2022/09/where-is-devops-headed/" -[#]: author: "Bhagvan Kommadi https://www.opensourceforu.com/author/bhagvan-kommadi/" -[#]: collector: "lkxed" -[#]: translator: "Yufei-Yan" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -DevOps 将去向何方? -====== - -*今天,微软、谷歌、亚马逊、IBM 和甲骨文正在聚焦于云上的 DevOps。这些公司正在给企业提供 IT 自动化的服务。然而,DevOps 仍然在持续的演进中。DevSecOps、AIOps 和 NoOps 正在成为下一个流行词。* - -随着开发和管理人员看到及时交付高质量软件的商业价值,敏捷Agile方法和 DevOps 也变得流行起来。拥有灵活的发布周期,并且交付具有可扩展scalable可定制customizable的软件,是世界上每个企业的目标。通过将 CI/CD 工具和管道pipeline部署到云端,DevOps 使发布过程变得更加流畅。 - -### 自治的 DevOps - -容器和 DevOps 与云原生应用是一起的。Kubernetes 和 Docker 正在被用作容器,一个新的名词 NoOps 现在正在流行。对于不同的容器,编排Orchestration都是一个重要的功能。为了扩展应用,开发环境中要创建容器集群。有一些新的容器正在进入云原生应用这个领域,比如 Mesos、Swarm、Openshift Rancher 和 Nomad。NoOps 有助于减少编码周期,从而监控和管理应用程序。缺陷修复和热修复是不同的活动,它们都是 NoOps 的一部分。NoOps 有助于提高技术团队和业务运营人员之间的协同作用。它也有助于更好的监控,管理和过程自动化。NoOps 基础设施能够控制应用程序在云上的部署。企业从中获得的好处包括更好的交付,弹性的服务,更快的上市,良好的质量和 CI/CD 自动化。 - -### DevSecOps - -DevSecOps 算是另一个流行趋势,它与在开发操作中的安全问题有关。最近与漏洞vulnerabilities(log4j),安全泄露security breach(谷歌,脸书,微软),和安全攻击相关的问题增加了 DevSecOps 在企业中的重要性。左移shift left的方法强调了在软件生命周期的早期处理安全性和质量的重要性。在架构阶段就需要考虑隐私和遵从性compliances(如 GDPR)。这有助于降低成本,并且提升软件交付的速度。审计工具和安全检查列表是 DevOps 工具和系统的一部分,现在我们称为 DevSecOps。 - -### AIOps - -AI DevOps 现在被称为 AIOps。据预测,将来 AI 应用会由 AIOps 来管理。与 AIOps 相关的工具和软件正在开发中,并且会作为第一个版本提供。AI/ML 应用部署和模型更新可以由 AIOps 来处理。这个职位会在工业 4.0Industry 4.0 以及数据科学中扮演重要角色。有一种观点认为,NoOps 将会是 AIOps 的最终形态。AIOps 包括数据集管理、模型训练、模型服务、元数据管理、模型更新和服务更新。分布式训练将由 AIOps 来完成,这会提供超参数hyper parameter优化,工作流程管理和“what if”的分析能力。 - -### 微服务配置管理 - -当前,DevOps 和微服务正在成为部署和架构蓝图architectural blueprints的标准配置。应用可以在模块级别上就进行扩展。微服务在简化修改缺陷和隔离问题区域上提供帮助。经过设计,微服务可以通过添加更多计算能力computing power实例instances来进行扩展。但是当他们没有被正确实现的时候,数据安全和管理的问题就会突然出现。 - -### 平台即产品Platform as a Product - -云上的软件即服务Software as a Service平台即产品Platform as a Product最近非常流行。通过加速向平台部署和功能交付,DevOps 使这些变成现实。从编码到上线阶段,CI/CD 管道有助于可视化应用的部署。持续交付、集成和部署都是 DevOps 的一部分。DevOps 生产线模拟工业生产线是未来要关注的。 - -DevOps 正在慢慢地向 DevSecOps 和 AIOps 转变。对于企业,NoOps 才是未来。现在需要的是减少与安全相关的攻击、事故和破坏发生。对于企业来说,数据安全和隐私的优先级更高,并且这些新技术都将在这方面有所帮助。 - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/09/where-is-devops-headed/ - -作者:[Bhagvan Kommadi][a] -选题:[lkxed][b] -译者:[Yufei-Yan](https://github.com/Yufei-Yan) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/bhagvan-kommadi/ -[b]: https://github.com/lkxed From bcf6363e995104d812ed4465b32d126f132f7590 Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Sat, 8 Oct 2022 15:59:28 +0800 Subject: [PATCH 129/170] translated --- ...20924 Drop your database for PostgreSQL.md | 285 ------------------ ...20924 Drop your database for PostgreSQL.md | 285 ++++++++++++++++++ 2 files changed, 285 insertions(+), 285 deletions(-) delete mode 100644 sources/tech/20220924 Drop your database for PostgreSQL.md create mode 100644 translated/tech/20220924 Drop your database for PostgreSQL.md diff --git a/sources/tech/20220924 Drop your database for PostgreSQL.md b/sources/tech/20220924 Drop your database for PostgreSQL.md deleted file mode 100644 index f246620e57..0000000000 --- a/sources/tech/20220924 Drop your database for PostgreSQL.md +++ /dev/null @@ -1,285 +0,0 @@ -[#]: subject: "Drop your database for PostgreSQL" -[#]: via: "https://opensource.com/article/22/9/drop-your-database-for-postgresql" -[#]: author: "Seth Kenlon https://opensource.com/users/seth" -[#]: collector: "lkxed" -[#]: translator: "chai001125" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Drop your database for PostgreSQL -====== -Postgres is one of the most flexible databases available, and it's open source. - -Databases are tools to store information in an organized but flexible way. A spreadsheet is essentially a database, but the constraints of a graphical application render most spreadsheet applications useless to programmers. With [Edge][3] and IoT devices becoming significant target platforms, developers need powerful but lightweight solutions for storing, processing, and querying large amounts of data. One of my favourite combinations is the PostgreSQL database and [Lua bindings][4], but the possibilities are endless. Whatever language you use, Postgres is a great choice for a database, but you need to know some basics before adopting it. - -### Install Postgres - -To install PostgreSQL on Linux, use your software repository. On Fedora, CentOS, Mageia, and similar: - -``` -$ sudo dnf install postgresql postgresql-server -``` - -On Debian, Linux Mint, Elementary, and similar: - -``` -$ sudo apt install postgresql postgresql-contrib -``` - -On macOS and Windows, download an installer from [postgresql.org][5]. - -### Setting up Postgres - -Most distributions install the Postgres database without *starting* it, but provide you with a script or [systemd service][6] to help it start reliably. However, before you start PostgreSQL, you must create a database cluster. - -#### Fedora - -On Fedora, CentOS, or similar, there's a Postgres setup script provided in the Postgres package. Run this script for easy configuration: - -``` -$ sudo /usr/bin/postgresql-setup --initdb -[sudo] password: - * Initializing database in '/var/lib/pgsql/data' - * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log -``` - -#### Debian - -On Debian-based distributions, setup is performed automatically by `apt` during installation. - -#### Everything else - -Finally, if you're running something else, then you can just use the toolchain provided by Postgres itself. The `initdb` command creates a database cluster, but you must run it as the `postgres` user, an identity you may temporarily assume using `sudo` : - -``` -$ sudo -u postgres \ -"initdb -D /var/lib/pgsql/data \ ---locale en_US.UTF-8 --auth md5 --pwprompt" -``` - -### Start Postgres - -Now that a cluster exists, start the Postgres server using either the command provided to you in the output of `initdb` or with systemd: - -``` -$ sudo systemctl start postgresql -``` - -### Creating a database user - -To create a Postgres user, use the `createuser` command. The `postgres` user is the superuser of the Postgres install, - -``` -$ sudo -u postgres createuser --interactive --password bogus -Shall the new role be a superuser? (y/n) n -Shall the new role be allowed to create databases? (y/n) y -Shall the new role be allowed to create more new roles? (y/n) n -Password: -``` - -### Create a database - -To create a new database, use the `createdb` command. In this example, I create the database `exampledb` and assign ownership of it to the user `bogus` : - -``` -$ createdb exampledb --owner bogus -``` - -### Interacting with PostgreSQL - -You can interact with a PostgreSQL database using the `psql` command. This command provides an interactive shell so you can view and update your databases. To connect to a database, specify the user and database you want to use: - -``` -$ psql --user bogus exampledb -psql (XX.Y) -Type "help" for help. - -exampledb=> -``` - -### Create a table - -Databases contain tables, which can be visualized as a spreadsheet. There's a series of rows (called *records* in a database) and columns. The intersection of a row and a column is called a *field*. - -The Structured Query Language (SQL) is named after what it provides: A method to inquire about the contents of a database in a predictable and consistent syntax to receive useful results. - -Currently, your database is empty, devoid of any tables. You can create a table with the `CREATE` query. It's useful to combine this with the `IF NOT EXISTS` statement, which prevents PostgreSQL from clobbering an existing table. - -Before you createa table, think about what kind of data (the "data type" in SQL terminology) you anticipate the table to contain. In this example, I create a table with one column for a unique identifier and one column for some arbitrary text up to nine characters. - -``` -exampledb=> CREATE TABLE IF NOT EXISTS my_sample_table( -exampledb(> id SERIAL, -exampledb(> wordlist VARCHAR(9) NOT NULL -); -``` - -The `SERIAL` keyword isn't actually a data type. It's [special notation in PostgreSQL][7] that creates an auto-incrementing integer field. The `VARCHAR` keyword is a data type indicating a variable number of characters within a limit. In this code, I've specified a maximum of 9 characters. There are lots of data types in PostgreSQL, so refer to the project documentation for a list of options. - -### Insert data - -You can populate your new table with some sample data by using the `INSERT` SQL keyword: - -``` -exampledb=> INSERT INTO my_sample_table (wordlist) VALUES ('Alice'); -INSERT 0 1 -``` - -Your data entry fails, should you attempt to put more than 9 characters into the `wordlist` field: - -``` -exampledb=> INSERT INTO my_sample_table (WORDLIST) VALUES ('Alexandria'); -ERROR:  VALUE too long FOR TYPE CHARACTER VARYING(9) -``` - -### Alter a table or column - -When you need to change a field definition, you use the `ALTER` SQL keyword. For instance, should you decide that a nine character limit for `wordlist`, you can increase its allowance by setting its data type: - -``` -exampledb=> ALTER TABLE my_sample_table -ALTER COLUMN wordlist SET DATA TYPE VARCHAR(10); -ALTER TABLE -exampledb=> INSERT INTO my_sample_table (WORDLIST) VALUES ('Alexandria'); -INSERT 0 1 -``` - -### View data in a table - -SQL is a query language, so you view the contents of a database through queries. Queries can be simple, or it can involve joining complex relationships between several different tables. To see everything in a table, use the `SELECT` keyword on `*` (an asterisk is a wildcard): - -``` -exampledb=> SELECT * FROM my_sample_table; - id |  wordlist -\----+------------ -  1 | Alice -  2 | Bob -  3 | Alexandria -(3 ROWS) -``` - -### More data - -PostgreSQL can handle a lot of data, but as with any database the key to success is how you design your database for storage and what you do with the data once you've got it stored. A relatively large public data set can be found on [OECD.org][8], and using this you can try some advanced database techniques. - -First, download the data as comma-separated values (CSV) and save the file as `land-cover.csv` in your `Downloads` folder. - -Browse the data in a text editor or spreadsheet application to get an idea of what columns there are, and what kind of data each column contains. Look at the data carefully and keep an eye out for exceptions to an apparent rule. For instance, the `COU` column, containing a country code such as `AUS` for Australia and `GRC` for Greece, tends to be 3 characters until the oddity `BRIICS`. - -Once you understand the data you're working with, you can prepare a Postgres database: - -``` -$ createdb landcoverdb --owner bogus -$ psql --user bogus landcoverdb -landcoverdb=> create table land_cover( -country_code varchar(6), -country_name varchar(76), -small_subnational_region_code varchar(5), -small_subnational_region_name varchar(14), -large_subnational_region_code varchar(17), -large_subnational_region_name varchar(44), -measure_code varchar(13), -measure_name varchar(29), -land_cover_class_code varchar(17), -land_cover_class_name varchar(19), -year_code integer, -year_value integer, -unit_code varchar(3), -unit_name varchar(17), -power_code integer, -power_name varchar(9), -reference_period_code varchar(1), -reference_period_name varchar(1), -value float(8), -flag_codes varchar(1), -flag_names varchar(1)); -``` - -### Importing data - -Postgres can import CSV data directly using the special metacommand `\copy` : - -``` -landcoverdb=> \copy land_cover from '~/land-cover.csv' with csv header delimiter ',' -COPY 22113 -``` - -That's 22,113 records imported. Seems like a good start! - -### Querying data - -A broad `SELECT` statement to see all columns of all 22,113 records is possible, and Postgres very nicely pipes the output to a screen pager so you can scroll through the output at a leisurely pace. However, using advanced SQL you can get some useful views of what's otherwise some pretty raw data. - -``` -landcoverdb=> SELECT -    lcm.country_name, -    lcm.year_value, -    SUM(lcm.value) sum_value -FROM land_cover lcm -JOIN ( -    SELECT -        country_name, -        large_subnational_region_name, -        small_subnational_region_name, -        MAX(year_value) max_year_value -    FROM land_cover -    GROUP BY country_name, -        large_subnational_region_name, -        small_subnational_region_name -) AS lcmyv -ON -    lcm.country_name = lcmyv.country_name AND -    lcm.large_subnational_region_name = lcmyv.large_subnational_region_name AND -    lcm.small_subnational_region_name = lcmyv.small_subnational_region_name AND -    lcm.year_value = lcmyv.max_year_value -GROUP BY lcm.country_name, -    lcm.large_subnational_region_name, -    lcm.small_subnational_region_name, -    lcm.year_value -ORDER BY country_name, -    year_value; -``` - -Here's some sample output: - -``` -\---------------+------------+------------ - Afghanistan    |       2019 |  743.48425 - Albania        |       2019 |  128.82532 - Algeria        |       2019 |  2417.3281 - American Samoa |       2019 |   100.2007 - Andorra        |       2019 |  100.45613 - Angola         |       2019 |  1354.2192 - Anguilla       |       2019 | 100.078514 - Antarctica     |       2019 |  12561.907 -[...] -``` - -SQL is a rich langauge, and so it's beyond the scope of this article. Read through the SQL code and see if you can modify it to provide a different set of data. - -### Open database - -PostgreSQL is one of the great open source databases. With it, you can design repositories for structured data, and then use SQL to view it in different ways so you can gain fresh perspectives on that data. Postgres integrates with many languages, including Python, Lua, Groovy, Java, and more, so regardless of your toolset, you can probably make use of this excellent database. - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/22/9/drop-your-database-for-postgresql - -作者:[Seth Kenlon][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lkxed -[1]: https://opensource.com/sites/default/files/lead-images/lenovo-thinkpad-laptop-concentration-focus-windows-office.png -[2]: https://creativecommons.org/licenses/by/3.0/us/ -[3]: https://www.redhat.com/en/topics/edge-computing/what-is-edge-computing?intcmp=7013a000002qLH8AAM -[4]: https://github.com/arcapos/luapgsql -[5]: https://www.postgresql.org/download/ -[6]: https://opensource.com/article/21/4/sysadmins-love-systemd -[7]: https://www.postgresql.org/docs/current/datatype-numeric.html#DATATYPE-SERIAL -[8]: https://stats.oecd.org/Index.aspx?DataSetCode=LAND_COVER diff --git a/translated/tech/20220924 Drop your database for PostgreSQL.md b/translated/tech/20220924 Drop your database for PostgreSQL.md new file mode 100644 index 0000000000..2fb2417909 --- /dev/null +++ b/translated/tech/20220924 Drop your database for PostgreSQL.md @@ -0,0 +1,285 @@ +[#]: subject: "Drop your database for PostgreSQL" +[#]: via: "https://opensource.com/article/22/9/drop-your-database-for-postgresql" +[#]: author: "Seth Kenlon https://opensource.com/users/seth" +[#]: collector: "lkxed" +[#]: translator: "chai001125" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 PostgreSQL 建立你的数据库 +====== +Postgres 是最灵活的数据库之一,并且它是开源的。 + +数据库是一种有组织性且灵活地存储信息的工具。电子表格在本质上就是一个数据库,但是图形化应用程序这一限制使得大多数的电子表格应用程序对程序员毫无用处。随着 [边缘计算][3] 和物联网设备成为重要的平台,开发者们需要更有效且轻量级的方法,来存储、处理、查询大量的数据。我最爱的一种结合是使用 [Lua 连接][4] PostgreSQL 数据库。无论你使用什么编程语言,Postgres 一定是数据库的绝佳选择,但是在使用 Postgres 之前,首先你需要知道一些基本的东西。 + +### 安装 Postgres + +在 linux 上安装 PostgreSQL,要使用你的软件库。在 Fedora,CentOS,Megeia 等类似的 linux 版本上使用命令: + +``` +$ sudo dnf install postgresql postgresql-server +``` + +在 Debian, Linux Mint, Elementary 等类似的 linux 版本上使用命令: + +``` +$ sudo apt install postgresql postgresql-contrib +``` + +在 macOs 和 Windows 上,可以从官网 [postgresql.org][5] 下载安装包。 + +### 配置 Postgres + +Most distributions install the Postgres database without *starting* it, but provide you with a script or [systemd service][6] to help it start reliably. However, before you start PostgreSQL, you must create a database cluster. +大多数发行版安装 Postgres 数据库时没有启动它,但是为你提供了一个脚本或 [systemd 服务][6],能够可靠地启动 Postgres。但是,在启动 PostgreSQL 之前,必须创建一个数据库集群。 + +#### Fedora + +在 Fedora,CentOS 等类似的版本上,Postgres 安装包中提供了一个 Postgres 配置脚本。运行这个脚本,可以进行简单地配置: + +``` +$ sudo /usr/bin/postgresql-setup --initdb +[sudo] password: + * Initializing database in '/var/lib/pgsql/data' + * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log +``` + +#### Debian + +在基于 Debian 的发行版上,在安装 Postgres 的过程中,配置会通过 `apt` 自动完成。 + +#### 其他版本 + +最后,如果你是在其他版本上运行的,那么你可以直接使用 Postgres 提供的一些工具。`initdb` 命令会创建一个数据库集群,但是这个命令必须在 `postgres` 用户下运行,你可以使用 `sudo` 来暂时地成为 `postgres` 用户: + +``` +$ sudo -u postgres \ +"initdb -D /var/lib/pgsql/data \ +--locale en_US.UTF-8 --auth md5 --pwprompt" +``` + +### 运行 Postgres + +现在,数据库集群已经存在了,使用 `initdb` 的输出中提供给你的命令或者使用 systemd 启动 Postgres 服务器: + +``` +$ sudo systemctl start postgresql +``` + +### 创建一个数据库用户 + +使用 `createuser` 命令来创建一个数据库用户。`postgres` 用户是 Postgres 安装的超级用户。 + +``` +$ sudo -u postgres createuser --interactive --password bogus +Shall the new role be a superuser? (y/n) n +Shall the new role be allowed to create databases? (y/n) y +Shall the new role be allowed to create more new roles? (y/n) n +Password: +``` + +### 创建一个数据库 + +使用 `createdb` 命令来创建一个新的数据库。在这个例子中,我创建了数据库 `exampledb`,并把该数据库的拥有者分配给用户 `bogus`。 + +``` +$ createdb exampledb --owner bogus +``` + +### 与 PostgreSQL 交互 + +你可以使用 `psql` 命令来与 PostgreSQL 中的数据库进行交互。这个命令提供了一个交互界面,所以你可以用它来查看和更新你的数据库。你需要指定要使用的用户和数据库,来连接到一个数据库。 + +``` +$ psql --user bogus exampledb +psql (XX.Y) +Type "help" for help. + +exampledb=> +``` + +### 创建一个表 + +数据库包含很多表。这些表可以可视化为表格,有很多行(在数据库中称为 *记录*)和很多列。行和列的交集称为 *字段*。 + +结构化查询语言(SQL)是以它提供的内容而命名的,它能提供可预测且一致的语法,来查询数据库内容,从而收到有用的结果。 + +目前,你的数据库是空的,没有任何的表。你可以用 `CTEATE` 语句来创建一个表。结合使用 `IF NOT EXISTS` 是很有用的,它可以避免破坏现有的表。 + +在你创建一个表之前,想想看你希望这个表包含哪一种数据(在 SQL 术语中称为“数据类型”)。在这个例子中,我创建了一个表,包含两列,有唯一标识符的一列和最多九个字符的可变长的一列。 +``` +exampledb=> CREATE TABLE IF NOT EXISTS my_sample_table( +exampledb(> id SERIAL, +exampledb(> wordlist VARCHAR(9) NOT NULL +); +``` + +关键字 `SERIAL` 并不是一个数据类型。`SERIAL` 是 [PostgreSQL 中的一个特殊的标记][7],它可以创建一个自动递增的整数字段。关键字 `VARCHAR` 是一个数据类型,表示限制内字符数的可变字符。在此例中,我指定了最多 9 个字符。PostgreSQL 中有很多数据类型,因此请参阅项目文档以获取选项列表。 + +### 插入数据 + +你可以使用 `INSERT` 语句来给你的新表插入一些样本数据: + +``` +exampledb=> INSERT INTO my_sample_table (wordlist) VALUES ('Alice'); +INSERT 0 1 +``` + +如果你尝试在 `wordlist` 域中输入超过 9 个字符,则数据输入将会失败: + +``` +exampledb=> INSERT INTO my_sample_table (WORDLIST) VALUES ('Alexandria'); +ERROR:  VALUE too long FOR TYPE CHARACTER VARYING(9) +``` + +### 改变表或者列 + +当你需要改变一个域的定义时,你可以使用 `ALTER` 这一 SQL 关键字。例如,如果你想改变 `wordlist` 域中最多只能有 9 个字符的限制,你可以重新设置这个数据类型。 + +``` +exampledb=> ALTER TABLE my_sample_table +ALTER COLUMN wordlist SET DATA TYPE VARCHAR(10); +ALTER TABLE +exampledb=> INSERT INTO my_sample_table (WORDLIST) VALUES ('Alexandria'); +INSERT 0 1 +``` + +### 查询表中的内容 + +SQL 是一种查询语言,因此你可以通过查询来查看数据库的内容。查询可以是很简单的,也可以涉及连接多个不同表之间的复杂关系。要查看表中的所有内容,请使用 `*` 上的 `SELECT` 关键字(`*` 是通配符): +``` +exampledb=> SELECT * FROM my_sample_table; + id |  wordlist +\----+------------ +  1 | Alice +  2 | Bob +  3 | Alexandria +(3 ROWS) +``` + +### 更多信息 + +PostgreSQL 可以处理很多数据,但是对于任何数据库来说,关键之处在于你是如何设计你的数据库的,以及数据存储下来之后你是怎么查询数据的。在 [OECD.org][8] 上可以找到一个相对较大的公共数据集,你可以使用它来尝试一些先进的数据库技术。 + +首先,将数据下载为逗号分隔值格式(CSV)的文件,并将文件另存为 `Downloads` 文件夹中的 `land-cover.csv`。 + +在文本编辑器或电子表格应用程序中浏览数据,来了解有哪些列,以及每列包含哪些类型的数据。仔细查看数据,并留意错误情况。例如,`COU` 列指的是国家代码,例如 `AUS` 表示澳大利亚和 `GRC` 表示希腊,在奇怪的 `BRIICS` 之前,这一列的值通常是 3 个字符。 + +在你理解了这些数据项后,你就可以准备一个 Postgres 数据库了。 + +``` +$ createdb landcoverdb --owner bogus +$ psql --user bogus landcoverdb +landcoverdb=> create table land_cover( +country_code varchar(6), +country_name varchar(76), +small_subnational_region_code varchar(5), +small_subnational_region_name varchar(14), +large_subnational_region_code varchar(17), +large_subnational_region_name varchar(44), +measure_code varchar(13), +measure_name varchar(29), +land_cover_class_code varchar(17), +land_cover_class_name varchar(19), +year_code integer, +year_value integer, +unit_code varchar(3), +unit_name varchar(17), +power_code integer, +power_name varchar(9), +reference_period_code varchar(1), +reference_period_name varchar(1), +value float(8), +flag_codes varchar(1), +flag_names varchar(1)); +``` + +### 引入数据 + +Postgres 可以使用特殊的元命令 `\copy` 来直接引入 CSV 数据: +``` +landcoverdb=> \copy land_cover from '~/land-cover.csv' with csv header delimiter ',' +COPY 22113 +``` + +That's 22,113 records imported. Seems like a good start! +插入了 22113 条记录。这是一个很好的开始! + +### 查询数据 + +用 `SELECT` 语句可以查询这 22113 条记录的所有列,此外 Postgres 将输出通过管道传输到屏幕上,因此你可以轻松地滚动鼠标来查看输出的结果。更进一步,你可以使用高级SQL,来获得一些有用的视图。 + +``` +landcoverdb=> SELECT +    lcm.country_name, +    lcm.year_value, +    SUM(lcm.value) sum_value +FROM land_cover lcm +JOIN ( +    SELECT +        country_name, +        large_subnational_region_name, +        small_subnational_region_name, +        MAX(year_value) max_year_value +    FROM land_cover +    GROUP BY country_name, +        large_subnational_region_name, +        small_subnational_region_name +) AS lcmyv +ON +    lcm.country_name = lcmyv.country_name AND +    lcm.large_subnational_region_name = lcmyv.large_subnational_region_name AND +    lcm.small_subnational_region_name = lcmyv.small_subnational_region_name AND +    lcm.year_value = lcmyv.max_year_value +GROUP BY lcm.country_name, +    lcm.large_subnational_region_name, +    lcm.small_subnational_region_name, +    lcm.year_value +ORDER BY country_name, +    year_value; +``` + +Here's some sample output: +下面是样例的一些输出: + +``` +\---------------+------------+------------ + Afghanistan    |       2019 |  743.48425 + Albania        |       2019 |  128.82532 + Algeria        |       2019 |  2417.3281 + American Samoa |       2019 |   100.2007 + Andorra        |       2019 |  100.45613 + Angola         |       2019 |  1354.2192 + Anguilla       |       2019 | 100.078514 + Antarctica     |       2019 |  12561.907 +[...] +``` + +SQL 是一种很丰富的语言,超出了本文的讨论范围。通读 SQL 的内容,看看你是否可以对上面的查询语句进行修改,以提供不同的数据集。 + +### 拓展数据库 + +PostgreSQL 是伟大的开源数据库之一。有了它,你可以为结构化数据设计存储库,然后使用 SQL 以不同的方式查询它,以便能够获得有关该数据的新视角。Postgres 也能与许多语言集成,包括Python,Lua,Groovy,Java等,因此无论你使用什么工具集,你都可以充分利用好这个出色的数据库。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/22/9/drop-your-database-for-postgresql + +作者:[Seth Kenlon][a] +选题:[lkxed][b] +译者:[chai001125](https://github.com/chai001125) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lkxed +[1]: https://opensource.com/sites/default/files/lead-images/lenovo-thinkpad-laptop-concentration-focus-windows-office.png +[2]: https://creativecommons.org/licenses/by/3.0/us/ +[3]: https://www.redhat.com/en/topics/edge-computing/what-is-edge-computing?intcmp=7013a000002qLH8AAM +[4]: https://github.com/arcapos/luapgsql +[5]: https://www.postgresql.org/download/ +[6]: https://opensource.com/article/21/4/sysadmins-love-systemd +[7]: https://www.postgresql.org/docs/current/datatype-numeric.html#DATATYPE-SERIAL +[8]: https://stats.oecd.org/Index.aspx?DataSetCode=LAND_COVER From 18b01f06bb30022e9dee673fa23e206601db6250 Mon Sep 17 00:00:00 2001 From: MareDevi <110676727+MareDevi@users.noreply.github.com> Date: Sat, 8 Oct 2022 16:39:31 +0800 Subject: [PATCH 130/170] =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... ways to learn about open organizations.md | 72 +++++++++---------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/sources/tech/20210602 New ways to learn about open organizations.md b/sources/tech/20210602 New ways to learn about open organizations.md index e22bc3683c..fcdf148867 100644 --- a/sources/tech/20210602 New ways to learn about open organizations.md +++ b/sources/tech/20210602 New ways to learn about open organizations.md @@ -7,39 +7,38 @@ [#]: publisher: ( ) [#]: url: ( ) -New ways to learn about open organizations +了解开放组织的新途径 ====== -Celebrate the Open Organization community's sixth anniversary by getting -involved in two exciting new projects. +通过参与两个令人兴奋的新项目来庆祝开放组织社区的六周年。 ![][1] -The Open Organization community celebrates its sixth anniversary on June 02. That's six years of articles ([hundreds][2]), books (an [evolving series][3]), conversations ([always inspiring][4]), teaching (we [love it][5]), and learning. We're so proud to be a vibrant community of open experts and leaders working to bring [open principles][6] to organizations large and small. In fact, many of the [Open Organization Ambassadors][7] have made careers out of helping others become more open, and our community remains dedicated to helping leaders across various industries integrate open mindsets and behaviors into their communities and contexts. +6月2日,开放组织社区庆祝其成立六周年。这是六年来的文章([上百篇][2])、书籍([一系列][3])、对话([具有启发性][4])、教学(我们所[喜欢的][5])和学习。我们非常自豪地成为一个充满活力的开放专家和领导者的社区,致力于将[开放原则][6]带到大大小小的组织。事实上,许多[开放组织大使][7]以帮助他人变得更加开放为职业,我们的社区仍然致力于帮助各行业的领导者以开放的心态和行为融入他们的社区和环境中。 -[Last year][8] was a period of [growth][9] and [renewal][10] for the Open Organization project. And this year, we're building on that momentum. Today, we're proud to introduce two new initiatives—and, of course, invite you to participate. +[去年][8]是开放组织项目的一个[成长][9]和[发展][10]时期。今年,我们将在这一势头的基础上继续努力。今天,我们很自豪地介绍两项新的倡议——当然,也邀请你的参加。 -### Turn on, tune in, open up +### 开启,调整,开放 -First, we're excited to announce a brand new venue for our community's work: [OpenOrgTV][11]. It's more than a new platform. It's an experiment in another medium: video. +首先,我们很高兴地宣布:我们社区的工作有了一个全新的场所。[OpenOrgTV][11]。这不仅仅是一个新的平台。它也是另一种媒介的实验:视频。 -On our channel, we'll be hosting all kinds of conversations—from in-depth book reviews to community roundtables. To get started, check out the "[Open Leadership Conversations][12]" series, which features interviews with insightful leaders offering their perspectives on what it means to lead according to open principles. Or watch "[Ask the Ambassadors][13]," our Q&A-style write-in show starring community experts answering _your_ questions about organizational culture and design. Want to be part of the show? Submit your questions to community members in our [new dedicated forum][14]. +在我们的频道上,我们将举办各种对话--从深层次的书评到社区圆桌会议。首先,请查看"[Open Leadership Conversations][12]"系列,其中包括对某些富有洞察力的领导者的采访,提供他们对根据开放原则进行领导的意义的观点。或者观看"[问大使][13]",我们的Q&A式写作节目,由社区专家回答你关于组织文化和设计的问题。也想参与这个节目吗?在我们的[new dedicated forum][14]中向社区成员提交你的问题。 -All month long, we'll be featuring introductions to the [Open Organization Ambassadors][15], so you can finally see the faces and hear the voices behind the stories, case studies, and interviews you've been reading for years. +整个月,我们都会介绍 [开放组织大使][15],让您终于可以看到他们的面孔并听到您多年来阅读的故事、案例研究和采访背后的声音。 -### Defining open leadership +### 定义开放式领导 -Since we released it several years ago, the [Open Organization Definition][16] has become a guiding framework for organizations looking to better understand the nature of open organizational culture and design (and we've done lots to [teach others about it][17]). Over time, we even developed [a maturity model][18] that operationalizes the definition, so organizations can assess their own levels of openness and make concrete plans to become even _more_ open. +自从我们几年前发布它以来,[开放组织定义][16] 已成为更好地理解开放组织文化和设计本质的组织指导框架(并且我们已经做了很多工作来[教导其他人] [17])。 随着时间的推移,我们甚至开发了 [一个成熟度模型][18] 来操作该定义,因此组织可以评估自己的开放程度并制定具体计划以变得 _更加_ 开放。 -Now we think it's time to take that work a step further. +现在,我们认为是时候将这项工作更进一步了。 -But the Open Organization community is more than any combination of platforms, tools, or projects. It's people, all working enthusiastically together to help spread open principles and practices. +但是,开放组织社区不仅仅是平台、工具或项目的任何组合。它是所有人都热情地一起工作,以帮助传播开放原则和实践。 -Inspired by our own experience, pre-existing frameworks from open organizations like [Red Hat][19] and [Mozilla][20], years of studying and interviewing open leaders in the field, and a desire to better understand how open leadership _really_ works, we're pleased to unveil an early draft of a brand new document: the Open Leadership Definition. +受我们自己经验、[Red Hat][19]和[Mozilla][20]等开放组织已有的框架、多年研究和采访该领域的开放领袖的启发,以及我们对更好地理解开放领导力如何 _真正_ 发挥作用的渴望,我们很高兴公布一份全新文件的早期草案:开放领导力定义(the Open Leadership Definition)。 -This document outlines the mindsets and behaviors unique to the kinds of leaders who build open organizations and make them places where open-minded people can grow and thrive. It builds on the Open Organization Definition, explaining how open leaders embody and champion open organization characteristics—like transparency, inclusivity, adaptability, collaboration, and community. +本文档概述了建立开放型组织并使其成为思想开放的人能够成长和茁壮成长的地方的各类领导者所特有的心态和行为。它建立在开放型组织定义的基础上,解释了开放型领导者如何体现和倡导开放型组织的特征,如透明度、包容性、适应性、协作性和社区性。 -And we're keen to share it with the world. +而且我们渴望与世界分享。 -Beginning today (and continuing for the next two weeks), we're collecting _your_ insights and comments on our draft document. We're eager to hear your ideas, and will take them _en masse_ or in snippets. You can comment on individual parts of the document, or the entire thing. Just see the links below. We look forward to hearing from you. +从今天开始(在接下来的两周内),我们将收集您对我们文件草案的见解和意见。我们渴望听到您的想法,并将接受您的意见的 _整体_ 或片段。您可以对文件的个别部分或整个文件提出意见。请查看下面的链接。我们期待着听到您的意见。 * * * @@ -49,45 +48,44 @@ Beginning today (and continuing for the next two weeks), we're collecting _your_ _Open Leadership Definition word cloud by Laura Hiliger (CC BY-SA)_ -#### The Open Leadership Definition +#### 开放式领导定义 -[Open Leadership: Introduction][22] +[Open Leadership: 简介][22] -[Open Leadership: Transparency][23] +[Open Leadership: 透明度][23] -[Open Leadership: Inclusivity][24] +[Open Leadership: 包容性][24] -[Open Leadership: Adaptability][25] +[Open Leadership: 适应性][25] -[Open Leadership: Collaboration][26] +[Open Leadership: 协作][26] -[Open Leadership: Community][27] - -[Read the entire thing][28] in our shared folder. +[Open Leadership: 社区][27] +在我们的共享文件夹中[阅读全文][28] * * * -### Let's connect +### 联系我们 -And of course, you can still find our community in all the usual places like: +当然,你仍然可以在所有常见的地方找到我们的社区,如: - * [Our project website][29], your portal to the entire Open Organization project and community - * [Our conversation hub][4], where you can interact with community members, ask questions, learn about new projects, find resources, and help others - * [Our GitHub organization][30], where we're always working on new materials in the open and invite you to join us - * [Our publication channel at Opensource.com][2], where we're publishing the latest analyses, case studies, interviews, and resources for practitioners in various regions and industries - * Our [Twitter][31] and [LinkedIn][32] platforms, where we're sharing our latest updates and fostering new conversations + * [我们的项目网站][29], 您通往整个开放组织项目和社区的门户。 + * [我们的对话中心][4], 在这里你可以与社区成员互动,提出问题,了解新项目,寻找资源,并帮助他人。 + * [我们的 GitHub 组织][30],我们一直在公开研究新项目,并邀请您加入我们 + * [我们在Opensource.com的发表频道][2], 我们在这里为各地区和各行业的从业人员发布最新的分析、案例研究、访谈和资源。 + * 我们的 [Twitter][31] 和 [LinkedIn][32] 平台, 我们将在这里分享我们的最新进展,并促进新的对话。 -But the Open Organization community is more than any combination of platforms, tools, or projects. It's _people_, all working enthusiastically together to help spread open principles and practices. Those people are what makes our community so great. +但开放组织社区不仅仅是平台、工具或项目的任何组合。 是 _人_,所有人都热情地一起工作以帮助传播开放的原则和实践。正是这些人使我们的社区如此伟大。 -That's been the case for six years now. And it always will be. +六年来一直如此,并将永远保持下去。 -### By the numbers +### 从数字上看 ![][33] -_Infographic via Jen Kelchner_ +_Jen Kelchner提供的信息图表_ -------------------------------------------------------------------------------- From 45df2063932129600083c04cfe2bef91735fa4bd Mon Sep 17 00:00:00 2001 From: MareDevi <110676727+MareDevi@users.noreply.github.com> Date: Sat, 8 Oct 2022 16:41:06 +0800 Subject: [PATCH 131/170] =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tech/20210602 New ways to learn about open organizations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20210602 New ways to learn about open organizations.md b/sources/tech/20210602 New ways to learn about open organizations.md index fcdf148867..b7062ae3cf 100644 --- a/sources/tech/20210602 New ways to learn about open organizations.md +++ b/sources/tech/20210602 New ways to learn about open organizations.md @@ -46,7 +46,7 @@ ![Open Leadership Definition word cloud][21] -_Open Leadership Definition word cloud by Laura Hiliger (CC BY-SA)_ +_Laura Hiliger 提供的的开放式领导定义词云 (CC BY-SA)_ #### 开放式领导定义 From b89b86ed9402ae33f88f52b5a9dce54ba4ea1dc0 Mon Sep 17 00:00:00 2001 From: MareDevi <110676727+MareDevi@users.noreply.github.com> Date: Sat, 8 Oct 2022 16:43:02 +0800 Subject: [PATCH 132/170] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=91=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tech/20210602 New ways to learn about open organizations.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20210602 New ways to learn about open organizations.md (100%) diff --git a/sources/tech/20210602 New ways to learn about open organizations.md b/translated/tech/20210602 New ways to learn about open organizations.md similarity index 100% rename from sources/tech/20210602 New ways to learn about open organizations.md rename to translated/tech/20210602 New ways to learn about open organizations.md From cb062ba5c990c308e4fd64fc5ba62d1cc3626c18 Mon Sep 17 00:00:00 2001 From: MareDevi <110676727+MareDevi@users.noreply.github.com> Date: Sat, 8 Oct 2022 16:44:03 +0800 Subject: [PATCH 133/170] Update 20210602 New ways to learn about open organizations.md --- .../tech/20210602 New ways to learn about open organizations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translated/tech/20210602 New ways to learn about open organizations.md b/translated/tech/20210602 New ways to learn about open organizations.md index b7062ae3cf..098ce201e1 100644 --- a/translated/tech/20210602 New ways to learn about open organizations.md +++ b/translated/tech/20210602 New ways to learn about open organizations.md @@ -93,7 +93,7 @@ via: https://opensource.com/open-organization/21/6/celebrate-sixth-anniversary 作者:[Laura Hilliger][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) +译者:[MareDevi](https://github.com/MareDevi) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From f8e0a2d41def8c04f282f6fff79526bdfd89a4d1 Mon Sep 17 00:00:00 2001 From: aREversez <53844261+aREversez@users.noreply.github.com> Date: Sat, 8 Oct 2022 22:29:36 +0800 Subject: [PATCH 134/170] =?UTF-8?q?=E7=94=B3=E9=A2=86=E5=8E=9F=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5 Friend of a Friend- The Facebook That Could Have Been.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md b/sources/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md index 55c0fdeeae..024278de13 100644 --- a/sources/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md +++ b/sources/talk/20200105 Friend of a Friend- The Facebook That Could Have Been.md @@ -2,7 +2,7 @@ [#]: via: "https://twobithistory.org/2020/01/05/foaf.html" [#]: author: "Two-Bit History https://twobithistory.org" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "aREversez" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -204,7 +204,7 @@ via: https://twobithistory.org/2020/01/05/foaf.html 作者:[Two-Bit History][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) +译者:[aREversez](https://github.com/aREversez) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 1bce1e985d7f35f6f4a5809aaadf82a73ae8f17a Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Sat, 8 Oct 2022 14:28:10 -0400 Subject: [PATCH 135/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E7=94=B3=E8=AF=B7]?= =?UTF-8?q?=20[news]=2020221006=20A=20New=20Open=20Source=20Vulkan=20Drive?= =?UTF-8?q?r=20for=20NVIDIA=20Graphics=20is=20Ready=20to=20Test!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rce Vulkan Driver for NVIDIA Graphics is Ready to Test!.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md b/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md index d34bc69afe..1bbad1cbd5 100644 --- a/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md +++ b/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/nvidia-nvk/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "Cubik65536" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " @@ -73,7 +73,7 @@ via: https://news.itsfoss.com/nvidia-nvk/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) +译者:[Cubik65536](https://github.com/Cubik65536) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From b27c0ad65c6cd354a3635cd5769c764d85fe0e7e Mon Sep 17 00:00:00 2001 From: geekpi Date: Sun, 9 Oct 2022 08:37:26 +0800 Subject: [PATCH 136/170] translated --- ...ntOS, RHEL, Rocky Linux Minimal Install.md | 122 ----------------- ...ntOS, RHEL, Rocky Linux Minimal Install.md | 123 ++++++++++++++++++ 2 files changed, 123 insertions(+), 122 deletions(-) delete mode 100644 sources/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md create mode 100644 translated/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md diff --git a/sources/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md b/sources/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md deleted file mode 100644 index 25c9aa770a..0000000000 --- a/sources/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md +++ /dev/null @@ -1,122 +0,0 @@ -[#]: subject: "How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install" -[#]: via: "https://www.debugpoint.com/setup-internet-minimal-install-server/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install -====== -Setting up the internet or network is super easy in a minimal server install. This guide will explain how to setup the internet or network in CentOS, RHEL, and Rocky Linux minimal install. - -Once you install the minimal install of any server distributions, you will not have any GUI or desktop environment to setup your network or internet. Hence it is essential to know how you can setup internet when you only have access to the terminal. The NetworkManager utility provides necessary tools armed with systemd services to do the job. Here’s how. - -### Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install - -* After you have completed the server installation, boot into the server terminal. Ideally, you should be prompted with a terminal. Login using a root or admin account. - -* Firstly, try to check the state of the network interface and details using [nmcli][1]. The `nmcli` is a command-line tool for controlling the NetworkManager service. Use the following command to check. - -``` -nmcli device status -``` - -This would display the device name, status etc. - -![nmcli device status][2] - -* Run the tool `nmtui` to configure the network interface. -* The nmtui is part of the NetworkManager tool, which gives you a friendly UI to configure the network. -* This is part of the `NetworkManager-tui` package and should be installed by default when you have completed the minimal server installation. - -``` -nmtui -``` - -* Click on Edit a connection in the nmtui window. - -![nmtui - Select options][3] - -* Select the interface name - -![Select Interface to Edit][4] - -* In the Edit Connection window, choose Automatic for IPv4 and IPv6. And select Automatically Connect. Press ok once done. - -![nmtui - Edit Connection][5] - -* Restart the NetworkManager service via the [systemd systemctl][6] using the following command. - -``` -systemctl restart NetworkManager -``` - -* If all goes well, you should be connected to the network and internet with minimal installation of CentOS, RHEL, and Rocky Linux servers. Provided your network has internet connectivity. You can use ping to verify whether it is working. - -![setup internet minimal server - CentOS Rocky Linux RHEL][7] - -### Additional Tip: Setup Static IP in minimal server - -When you set the network configuration as automatic, the interface dynamically assigns the IP when you connect to the internet. In some situations where you are setting up a local area network (LAN), you may want to assign static IP to your network interface. It’s super easy. - -Open the network configuration script for your network. Change the highlighted part for your own device. - -``` -vi /etc/sysconfig/network-scripts/ifcfg-ens3 -``` - -In the above file, add the IP address you desire with the property IPADDR. Save the file. - -``` -IPADDR=192.168.0.55 -``` - -Add the gateway for your network in `/etc/sysconfig/network`. - -``` -NETWORKING=yes -HOSTNAME=debugpoint -GATEWAY=10.1.1.1 -``` - -Add any public DNS server in `resolv.conf` located at `/etc/resolv.conf`. - -nameserver 8.8.8.8nameserver 8.8.4.4 - -And restart the network service. - -``` -systemctl restart NetworkManager -``` - -This will complete the setup of the static IP. You can also check the IP details using `ip addr` command. - -### Wrapping Up - -I hope this guide helps you to setup the network, internet, and static IP in your minimal install server. Let me know in the comment section if you may have any questions. - -[Next: XeroLinux Review: Stunning Linux Distribution with Arch and KDE Plasma][8] - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/setup-internet-minimal-install-server/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.debugpoint.com/author/admin1/ -[b]: https://github.com/lkxed -[1]: https://linux.die.net/man/1/nmcli -[2]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmcli-device-status.jpg -[3]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmtui-Select-options.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2021/06/Select-Interface-to-Edit.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmtui-Edit-Connection.jpg -[6]: https://www.debugpoint.com/2020/12/systemd-systemctl-service/ -[7]: https://www.debugpoint.com/wp-content/uploads/2021/06/setup-internet-minimal-server-CentOS-Rocky-Linux-RHEL.jpg -[8]: https://www.debugpoint.com/xerolinux-review/ diff --git a/translated/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md b/translated/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md new file mode 100644 index 0000000000..24ee414960 --- /dev/null +++ b/translated/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md @@ -0,0 +1,123 @@ +[#]: subject: "How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install" +[#]: via: "https://www.debugpoint.com/setup-internet-minimal-install-server/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 CentOS、RHEL、Rocky Linux 最小安装中设置互联网 +====== +在最小的服务器安装中设置互联网或网络非常容易。本指南将解释如何在 CentOS、RHEL 和 Rocky Linux 最小安装中设置互联网或网络。 + + +当你安装了任何服务器发行版的最小安装,你将没有任何 GUI 或桌面环境来设置你的网络或互联网。因此,当你只能访问终端时,了解如何设置互联网非常重要。 NetworkManager 工具提供了必要的工具和 systemd 服务来完成这项工作。以下是方法。 + +### 在 CentOS、RHEL、Rocky Linux 最小安装中设置互联网 + +* 在你完成了服务器的安装后,启动进入服务器终端。理想情况下,你会看到一个终端。使用 root 或管理员账户登录。 + +* 首先,尝试使用 [nmcli][1] 检查网络接口的状态和详细信息。 `nmcli` 是用于控制 NetworkManager 服务的命令行工具。使用以下命令进行检查。 + +``` +nmcli device status +``` + +这将显示设备名称、状态等。 + +![nmcli device status][2] + +* 运行工具 `nmtui` 来配置网络接口。 +* nmtui 是 NetworkManager 工具的一部分,它为你提供了一个友好的用户界面来配置网络。 +* 这是 `NetworkManager-tui` 包的一部分,在你完成最小服务器安装后默认安装。 + +``` +nmtui +``` + +* 单击 nmtui 窗口中的编辑连接。 + +![nmtui - 选择选项][3] + +* 选择接口名称 + +![选择要编辑的接口][4] + +* 在编辑连接窗口中,为 IPv4 和 IPv6 选择自动。并选择自动连接。完成后按 OK。 + +![nmtui - 编辑连接][5] + +* 使用以下命令通过 [systemd systemctl][6] 重启 NetworkManager 服务。 + +``` +systemctl restart NetworkManager +``` + +* 如果一切顺利,你可以在最小安装的 CentOS、RHEL 和 Rocky Linux 服务器中连接到网络和互联网。前提是你的网络有互联网连接。你可以使用 ping 来验证它是否正常工作。 + +![设置最小化服务器互联网 - CentOS Rocky Linux RHEL][7] + +### 附加技巧:在最小化服务器中设置静态 IP + +当你将网络配置设置为自动时,接口会在你连接到互联网时动态分配 IP。在你设置局域网 (LAN) 的某些情况下,你可能希望将静态 IP 分配给你的网络接口。这非常容易。 + +打开你的网络配置脚本。将高亮部分设置为你自己的设备。 + +``` +vi /etc/sysconfig/network-scripts/ifcfg-ens3 +``` + +在上面的文件中,使用 IPADDR 属性添加所需的 IP 地址。保存文件。 + +``` +IPADDR=192.168.0.55 +``` + +在 `/etc/sysconfig/network` 中为你的网络添加网关。 + +``` +NETWORKING=yes +HOSTNAME=debugpoint +GATEWAY=10.1.1.1 +``` + +在位于 `/etc/resolv.conf` 的 `resolv.conf` 中添加任意公共 DNS 服务器。 + +``` +nameserver 8.8.8.8 +nameserver 8.8.4.4 +``` + +然后重启网络服务。 + +``` +systemctl restart NetworkManager +``` + +这就完成了静态 IP 的设置。你还可以使用 `ip addr` 命令检查 IP 详细信息。 + +### 总结 + +我希望本指南可以帮助你在最小化安装的服务器中设置网络、互联网和静态 IP。如果你有任何问题,请在评论区告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/setup-internet-minimal-install-server/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://linux.die.net/man/1/nmcli +[2]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmcli-device-status.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmtui-Select-options.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/06/Select-Interface-to-Edit.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmtui-Edit-Connection.jpg +[6]: https://www.debugpoint.com/2020/12/systemd-systemctl-service/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/06/setup-internet-minimal-server-CentOS-Rocky-Linux-RHEL.jpg \ No newline at end of file From 034f91cd9f9e181e6c0dbfc812db68026549f5a1 Mon Sep 17 00:00:00 2001 From: geekpi Date: Sun, 9 Oct 2022 08:42:18 +0800 Subject: [PATCH 137/170] translating --- ... Various Kinds of Packages in Linux at Once With Topgrade.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md b/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md index 41d25085c9..9768d989b6 100644 --- a/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md +++ b/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/topgrade/" [#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 1d1489a508999f5a5d702d0a4c0ee01d9f6a0a1b Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 02:53:41 +0100 Subject: [PATCH 138/170] translate --- ...Ubuntu MATE Experience on Debian Linux!.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 translated/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md diff --git a/translated/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md b/translated/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md new file mode 100644 index 0000000000..f193c900be --- /dev/null +++ b/translated/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md @@ -0,0 +1,87 @@ +[#]: subject: "Get Ready for Ubuntu MATE Experience on Debian Linux!" +[#]: via: "https://news.itsfoss.com/ubuntu-mate-debian/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "KevinZonda" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +准备好在 Debian Linux 上获得 Ubuntu MATE 的体验吧! +====== +Ubuntu MATE 的体验将在 2023 年进入 Debian 的 MATE 转变?从这里了解更多。 + +![准备好在 Debian Linux 上获得 Ubuntu MATE 的体验吧!][1] + +**Martin Wimpress**,Ubuntu MATE 的创始人与维护者之一,在 Ubuntu MATE 22.10 的测试版发布说明中提到了一些相当有趣的事情。 + +他的目标是将 Ubuntu MATE 的体验带到 Debian 🧐。 + +等等,你不是已经可以在 Debian 上安装 MATE 了吗? + +是的,但是怎样使用 Debian 上的所有现代工具获得与 Ubuntu MATE 类似的用户体验呢? + +### 将 Ubuntu MATE 的体验带入 Debian 的转变中 + +![][2] + +以下是 Martin 提到的内容: + +> 用最近的标准来说,Ubuntu MATE 22.10 是一个适度更新,专注与“提高生活质量”。而这个版本的 Ubuntu MATE 没有采用你通常期望的桶状 🪣 变化清单是有原因的,这是因为我一直在帮助将 Ubuntu MATE 的完整体验带到 Debian MATE 🧉。 + +这是很吸引人的东西。 + +**这是否意味着 Ubuntu MATE 未来不会有任何重大更新?** + +不,Ubuntu MATE 仍然会收到更新。 + +另外,马丁还澄清说,他并没有退出Ubuntu MATE的开发,并且将和往常一样进行。 + +然而,如果你正在寻找 Ubuntu MATE 的主要功能更新的长列表,你必须要等待一段时间。 + +他打算在 Debian 的 MATE 和 Ubuntu MATE 之间提供一致的体验。 + +Debian MATE 在用户中不那么受欢迎也就**不足为奇**了。主要是因为它不提供 Ubuntu MATE 那样的现代改进。 + +因此,他们的目标是为 Debian MATE 带来类似的体验,这将使现有用户能够使用 Debian 或 Ubuntu 作为基础。 + +**此外,**这种开发将使开发变得更容易: + +> 使 Debian 和 Ubuntu 中的 MATE 体验保持一致,使所有相关人员的维护变得更加容易。 + +**那么,我们是否可以期待与 Debian 上是否能和 Ubuntu MATE 22.10(Kinetic Kudu)非常相似?** + +![ubuntu mate 22.10 hud settings][5] + +大概是。但这需要时间。 +💡 +他们希望在 Debian 12 之上提供与 Debian 的 MATE 转变类似的体验。我们已经知道 Debian 12 计划于 2023 年发布。因此,有足够的时间等待它。 + +您可以期待将 MATE Tweak 和 [Ayatana Indicators][6] 等应用程序集成到 Debian 的 MATE 转变中。 + +这让我认为 Debian MATE 可以成为 Ubuntu MATE 用户寻求改变或想要尝试 MATE 的 Debian 风格的绝佳选择。 + +当然,这并不会让即将到来的 Ubuntu MATE 22.10 变得不那么令人兴奋。它仍将包括许多有价值的好东西;您可能想查看它的 [beta 版本说明][7] 以了解更多信息。 + +💬 *在了解了这一发展之后,您如何看待 Debian 未来的 MATE 转变?你会为此放弃 Ubuntu MATE 吗?让我知道你的想法!* + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-mate-debian/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-mate-comes-to-debian-mate.png +[2]: https://news.itsfoss.com/content/images/2022/10/homeworld_desktop-1024x576.png +[3]: https://itsfoss.com/debian-based-distros/ +[4]: https://itsfoss.com/debian-based-distros/ +[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10.png +[6]: https://ayatanaindicators.github.io/about/ +[7]: https://ubuntu-mate.org/blog/ubuntu-mate-kinetic-kudu-release-notes/ From 8cbd703b5e273bf27bafd662b6488488ffebc462 Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 02:53:47 +0100 Subject: [PATCH 139/170] delte --- ...Ubuntu MATE Experience on Debian Linux!.md | 87 ------------------- 1 file changed, 87 deletions(-) delete mode 100644 sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md diff --git a/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md b/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md deleted file mode 100644 index 04a974c3eb..0000000000 --- a/sources/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md +++ /dev/null @@ -1,87 +0,0 @@ -[#]: subject: "Get Ready for Ubuntu MATE Experience on Debian Linux!" -[#]: via: "https://news.itsfoss.com/ubuntu-mate-debian/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "KevinZonda" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Get Ready for Ubuntu MATE Experience on Debian Linux! -====== -Ubuntu MATE experience is coming to Debian's MATE spin in 2023? Find out more here. - -![Get Ready for Ubuntu MATE Experience on Debian Linux!][1] - -**Martin Wimpress**, one of the founders and maintainers of Ubuntu MATE, has mentioned something rather interesting in the beta release notes for Ubuntu MATE 22.10. - -He aims to bring the Ubuntu MATE experience to Debian 🧐 - -Wait, can't you already install MATE on Debian? - -Yes, but what about an akin user experience to Ubuntu MATE with all the modern tools on Debian? - -### Bringing Ubuntu MATE Experience to Debian's Spin - -![][2] - -Here's what Martin mentions: - -> Ubuntu MATE 22.10 is a modest update by recent standards and focused on “quality of life improvements”. And there is good reason why this release of Ubuntu MATE doesn’t feature the usual bucket 🪣 list of changes you’d typically expect, and that’s because I’ve been helping bring the full Ubuntu MATE experience to Debian MATE 🧉 - -That's something fascinating. - -**Does this mean there won't be any significant future updates to Ubuntu MATE?** - -No, Ubuntu MATE will still receive updates. - -Also, Martin has clarified that he is not stepping away from the development of Ubuntu MATE and will continue as usual. - -However, if you are looking for a long list of major feature updates to Ubuntu MATE, you must wait a while. - -He intends to provide a consistent experience across Debian's MATE spin and Ubuntu MATE. - -**It is no surprise** that Debian MATE is not as popular among users. Mainly because it does not offer the modern refinements, you get with Ubuntu MATE. - -Hence, they aim to bring in a similar experience to Debian MATE, which will enable existing users to use either Debian or Ubuntu as the base. - -**Furthermore,** this development will make things easier for the development: - -> Making the MATE experience in Debian and Ubuntu consistent makes maintenance easier for all involved. - -**So, can we expect something very similar to Ubuntu MATE 22.10 (Kinetic Kudu) on Debian?** - -![ubuntu mate 22.10 hud settings][5] - -Probably yes. But, it will take time. - -> 💡 They hope to provide a similar experience with Debian's MATE spin on top of Debian 12. We already know that Debian 12 has been slated for release in 2023. So, there is plenty of time to wait for it. - -You can expect apps such as MATE Tweak and [Ayatana Indicators][6] integrated into Debian's MATE spin. - -This makes me think that Debian MATE can be an excellent alternative for Ubuntu MATE users looking for a change or wanting to try the Debian flavor of MATE. - -Of course, this does not make the upcoming Ubuntu MATE 22.10 less exciting. It will still include numerous valuable goodies; you might want to check out its [beta release notes][7] to learn more. - -💬 *What do you think about Debian's future MATE spin after learning about this development? Would you ditch Ubuntu MATE for it? Let me know your thoughts!* - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/ubuntu-mate-debian/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-mate-comes-to-debian-mate.png -[2]: https://news.itsfoss.com/content/images/2022/10/homeworld_desktop-1024x576.png -[3]: https://itsfoss.com/debian-based-distros/ -[4]: https://itsfoss.com/debian-based-distros/ -[5]: https://news.itsfoss.com/content/images/2022/10/Ubuntu_MATE_22.10.png -[6]: https://ayatanaindicators.github.io/about/ -[7]: https://ubuntu-mate.org/blog/ubuntu-mate-kinetic-kudu-release-notes/ From 85b9aa72a2c95a7c490be691409459858c472f5c Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 03:10:09 +0100 Subject: [PATCH 140/170] translate --- ...ssues With Open Source In Today-s World.md | 44 ------------------- ...ssues With Open Source In Today-s World.md | 44 +++++++++++++++++++ 2 files changed, 44 insertions(+), 44 deletions(-) delete mode 100644 sources/talk/20221004 Security Issues With Open Source In Today-s World.md create mode 100644 translated/talk/20221004 Security Issues With Open Source In Today-s World.md diff --git a/sources/talk/20221004 Security Issues With Open Source In Today-s World.md b/sources/talk/20221004 Security Issues With Open Source In Today-s World.md deleted file mode 100644 index 7210740e92..0000000000 --- a/sources/talk/20221004 Security Issues With Open Source In Today-s World.md +++ /dev/null @@ -1,44 +0,0 @@ -[#]: subject: "Security Issues With Open Source In Today’s World" -[#]: via: "https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: "KevinZonda" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Security Issues With Open Source In Today’s World -====== -Open source may be the most viable option for most companies today but it comes with its own set of problems too. - -Many people support the use of open source software (OSS). After all, why would we keep trying to build code that addresses issues that have already been resolved by others? Why not share the information and progressively and iteratively enhance the current open source solutions? These egalitarian values, however perhaps fundamental to civilization in general, not to mention software, nonetheless include conflicts that have been a problem for millennia. - -The problem with open source software security is that just because anyone can view the source code doesn’t imply they will. There are extensively used open-source projects that are only being maintained by a limited number of engineers. These engineers are unable to provide their time and effort completely voluntarily since they also need to pay their bills. - -Even for more complex open source projects, this can be a problem. As an illustration, the Linux kernel project consists of more than 30 million lines of code, contains hundreds of flaws that need to be resolved, and has close to 2000 active developers. Each active developer has written more than 15,000 lines of code. - -According to a recent research from the Linux Foundation, an application has an average of 5.1 significant vulnerabilities that are still open, and 41% of enterprises lack confidence in the security of their open source software. And to make matters worse, only 49% of businesses have an open source security policy. - -Even if open source software has a security flaw, that does not guarantee that it will be fixed. The survey revealed that it presently takes 97.8 days on average to repair a vulnerability, leaving businesses using that software vulnerable to assaults for several months. This is the sometimes overlooked aspect of open source software security: just as the good men can look for faults and vulnerabilities in the code to repair them, the bad guys can look for the same bugs to exploit them. - -It is a long shot to rely solely on a volunteer community to find vulnerabilities, report them, and fix them. While you continue to benefit from open source’s broader advantages, paying someone to examine the security of your open source solutions can help close this gap. - -Since OSS updates and patches must be implemented to secure systems, this requirement can bring unique difficulties. Updating your mission-critical software could result in functionality loss and/or unplanned downtime if your solution depends on a certain software version. When a situation is business-critical, it may be more elegant to hire a specialist to backport the patch and maintain a version for longer than the larger community is willing to. - -The open source community frequently uses the phrase “It’s open source, go change it!” and it emphasises a crucial point: It is unreasonable and unsustainable to expect good security levels for nothing while others invest their time, effort, or money in the project. - -Either contribute to open source as it was intended, improve the code and publish it for others, or hire professionals to manage the OSS code and debug it as necessary are options. However, the industry cannot afford to contribute nothing at all. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed diff --git a/translated/talk/20221004 Security Issues With Open Source In Today-s World.md b/translated/talk/20221004 Security Issues With Open Source In Today-s World.md new file mode 100644 index 0000000000..a6093dd178 --- /dev/null +++ b/translated/talk/20221004 Security Issues With Open Source In Today-s World.md @@ -0,0 +1,44 @@ +[#]: subject: "Security Issues With Open Source In Today’s World" +[#]: via: "https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "KevinZonda" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +当今世界的开源安全问题 +====== +开放源代码可能是当今大多数公司最可行的选择,但它也伴随着自己的问题。 + +许多人支持使用开放源代码软件(OSS)。毕竟,我们为什么要不断地尝试构建代码来解决别人已经解决过的问题?为什么不分享信息并逐步和迭代地增强当前的开源解决方案呢?这些平等主义的价值观,可能通常来说其对整个文明的非常重要,更不用说软件了,但还是包括了几千年来一直存在的冲突。 + +开源软件安全的问题在于,任何人都可以查看源代码,但这并不意味着他们会这么做。有一些广泛使用的开源项目仅由数量有限的工程师维护。这些工程师无法完全自愿地提供时间和精力,因为他们也需要支付他们的账单。 + +即使对于更复杂的开源项目,这也是一个问题。举个例子,Linux 内核项目由 3000 多万行代码组成,包含数百个需要解决的缺陷,并有近 2000 名活跃的开发者。每个活跃的开发者都写了超过 15000 行的代码。 + +根据 Linux 基金会最近的一项研究,一个应用程序平均有 5.1 个重大漏洞仍未解决,41% 的企业对其开源软件的安全性缺乏信心。而更糟糕的是,只有 49% 的企业拥有开源安全策略。 + +即使开源软件有安全漏洞,这也不能保证它能被修复。调查显示,目前修复一个漏洞平均需要 97.8 天,使使用该软件的企业在几个月内容易受到攻击。这就是开源软件安全有时被忽视的地方:就像好人可以寻找代码中的错误和漏洞来修复它们一样,坏人也可以寻找同样的漏洞来利用它们。 + +仅仅依靠一个志愿者社区来发现漏洞、报告漏洞和修复漏洞是一个漫长的过程。在你继续受益于开源的广泛优势的同时,花钱请人检查你的开源解决方案的安全性可以帮助弥补这个问题。 + +由于必须安装开放源码软件的更新和补丁必须以保证系统的安全,这一要求会带来独特的困难。如果你的解决方案依赖于某个软件版本,更新你的关键任务软件可能会导致功能损失和/或计划外的停机。当情况对业务至关重要时,聘请专家来回传补丁并维护一个时间更长的版本可能比让大型社区愿意去做更加优雅。 + +开源社区经常使用的一句话是:“这是开源的,去改变它吧!”它强调了一个关键点:当别人在项目中投入时间、精力或金钱的时候,期望白白得到良好的安全水平是不合理的,也是不可持续的。 + +要么按原定计划为开放源码做出贡献,改进代码并为他人发布,要么聘请专业人士管理开放源码代码并在必要时进行调试,这些都是选择。然而,这个行业无法承担完全不做贡献。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed From f756118821d61799aa7ef95e524e386b59f393d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KevinZ=C3=B8nda?= <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 03:42:23 +0100 Subject: [PATCH 141/170] Update 20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md --- ...u Pro Now Gives You 10 Years of Security Updates for Free.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md b/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md index 4815815e0f..43b3c3626f 100644 --- a/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md +++ b/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/ubuntu-pro-free/" [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "KevinZonda" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 898c580dbaa16677768a77eaede3cf09dd54e00b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KevinZ=C3=B8nda?= <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 03:43:54 +0100 Subject: [PATCH 142/170] Update 20221006 Google AI Unveils A New Open Source Library for Array Storage.md --- ...le AI Unveils A New Open Source Library for Array Storage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md b/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md index 3095eeb5f3..a6f543d128 100644 --- a/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md +++ b/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md @@ -2,7 +2,7 @@ [#]: via: "https://www.opensourceforu.com/2022/10/google-ai-unveils-a-new-open-source-library-for-array-storage/" [#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "KevinZonda" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From 15c2faf304a0c14f7af7f3276c7704cf2ca68b1b Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 9 Oct 2022 12:06:03 +0800 Subject: [PATCH 143/170] RP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @KevinZonda https://linux.cn/article-15119-1.html 恭喜升级为二星贡献者 --- ...Ubuntu MATE Experience on Debian Linux!.md | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) rename {translated/news => published}/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md (62%) diff --git a/translated/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md b/published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md similarity index 62% rename from translated/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md rename to published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md index f193c900be..83f6fe513b 100644 --- a/translated/news/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md +++ b/published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md @@ -3,17 +3,18 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "KevinZonda" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15119-1.html" 准备好在 Debian Linux 上获得 Ubuntu MATE 的体验吧! ====== -Ubuntu MATE 的体验将在 2023 年进入 Debian 的 MATE 转变?从这里了解更多。 + +> Ubuntu MATE 的体验将在 2023 年进入 Debian 的 MATE 版中?从这里了解更多。 ![准备好在 Debian Linux 上获得 Ubuntu MATE 的体验吧!][1] -**Martin Wimpress**,Ubuntu MATE 的创始人与维护者之一,在 Ubuntu MATE 22.10 的测试版发布说明中提到了一些相当有趣的事情。 +Ubuntu MATE 的创始人与维护者之一 **Martin Wimpress**,在 Ubuntu MATE 22.10 的测试版发布说明中提到了一些相当有趣的事情。 他的目标是将 Ubuntu MATE 的体验带到 Debian 🧐。 @@ -21,7 +22,7 @@ Ubuntu MATE 的体验将在 2023 年进入 Debian 的 MATE 转变?从这里了 是的,但是怎样使用 Debian 上的所有现代工具获得与 Ubuntu MATE 类似的用户体验呢? -### 将 Ubuntu MATE 的体验带入 Debian 的转变中 +### 将 Ubuntu MATE 的体验带入 Debian 的版本中 ![][2] @@ -35,17 +36,17 @@ Ubuntu MATE 的体验将在 2023 年进入 Debian 的 MATE 转变?从这里了 不,Ubuntu MATE 仍然会收到更新。 -另外,马丁还澄清说,他并没有退出Ubuntu MATE的开发,并且将和往常一样进行。 +另外,Martin 还澄清说,他并没有退出 Ubuntu MATE 的开发,并且将和往常一样进行。 -然而,如果你正在寻找 Ubuntu MATE 的主要功能更新的长列表,你必须要等待一段时间。 +然而,如果你想看看 Ubuntu MATE 的主要功能更新的长列表,你必须要等待一段时间。 -他打算在 Debian 的 MATE 和 Ubuntu MATE 之间提供一致的体验。 +他打算在 Debian MATE 和 Ubuntu MATE 之间提供一致的体验。 -Debian MATE 在用户中不那么受欢迎也就**不足为奇**了。主要是因为它不提供 Ubuntu MATE 那样的现代改进。 +Debian MATE 在用户中不那么受欢迎并**不足为奇**。主要是因为它不提供 Ubuntu MATE 那样的现代改进。 -因此,他们的目标是为 Debian MATE 带来类似的体验,这将使现有用户能够使用 Debian 或 Ubuntu 作为基础。 +因此,他们的目标是为 Debian MATE 带来类似的体验,这将使现有用户既可以使用 Debian 也可以使用 Ubuntu。 -**此外,**这种开发将使开发变得更容易: +**此外,**这将使开发变得更容易: > 使 Debian 和 Ubuntu 中的 MATE 体验保持一致,使所有相关人员的维护变得更加容易。 @@ -54,16 +55,16 @@ Debian MATE 在用户中不那么受欢迎也就**不足为奇**了。主要是 ![ubuntu mate 22.10 hud settings][5] 大概是。但这需要时间。 -💡 -他们希望在 Debian 12 之上提供与 Debian 的 MATE 转变类似的体验。我们已经知道 Debian 12 计划于 2023 年发布。因此,有足够的时间等待它。 -您可以期待将 MATE Tweak 和 [Ayatana Indicators][6] 等应用程序集成到 Debian 的 MATE 转变中。 +> 💡 他们希望在 Debian 12 的 Debian MATE 上提供类似的体验。我们已经知道 Debian 12 计划于 2023 年发布。因此,有足够的时间等待它。 -这让我认为 Debian MATE 可以成为 Ubuntu MATE 用户寻求改变或想要尝试 MATE 的 Debian 风格的绝佳选择。 +你可以期待将 MATE Tweak 和 [Ayatana Indicators][6] 等应用程序集成到 Debian MATE 中。 -当然,这并不会让即将到来的 Ubuntu MATE 22.10 变得不那么令人兴奋。它仍将包括许多有价值的好东西;您可能想查看它的 [beta 版本说明][7] 以了解更多信息。 +这让我认为 Debian MATE 可以成为 Ubuntu MATE 用户寻求改变或想要尝试 Debian 的MATE 风格的绝佳选择。 -💬 *在了解了这一发展之后,您如何看待 Debian 未来的 MATE 转变?你会为此放弃 Ubuntu MATE 吗?让我知道你的想法!* +当然,这并不会让即将到来的 Ubuntu MATE 22.10 变得不那么令人兴奋。它仍将包括许多有价值的好东西;你可能想查看它的 [beta 版本说明][7] 以了解更多信息。 + +💬 *在了解了这一发展之后,你如何看待 Debian 未来的 MATE 版本?你会为此放弃 Ubuntu MATE 吗?让我知道你的想法!* -------------------------------------------------------------------------------- @@ -71,8 +72,8 @@ via: https://news.itsfoss.com/ubuntu-mate-debian/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[KevinZonda](https://github.com/KevinZonda) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 1548fa6a6748266c73ecb935dee8c9bf90036d70 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 9 Oct 2022 12:08:12 +0800 Subject: [PATCH 144/170] R --- ...003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md b/published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md index 83f6fe513b..a01dc1f6de 100644 --- a/published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md +++ b/published/20221003 Get Ready for Ubuntu MATE Experience on Debian Linux!.md @@ -46,7 +46,7 @@ Debian MATE 在用户中不那么受欢迎并**不足为奇**。主要是因为 因此,他们的目标是为 Debian MATE 带来类似的体验,这将使现有用户既可以使用 Debian 也可以使用 Ubuntu。 -**此外,**这将使开发变得更容易: +**此外,** 这将使开发变得更容易: > 使 Debian 和 Ubuntu 中的 MATE 体验保持一致,使所有相关人员的维护变得更加容易。 From 648054fb6395ee7546908b3b95394e162335748d Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 06:27:34 +0100 Subject: [PATCH 145/170] translate --- ...w Open Source Library for Array Storage.md | 38 ------------------- ...w Open Source Library for Array Storage.md | 38 +++++++++++++++++++ 2 files changed, 38 insertions(+), 38 deletions(-) delete mode 100644 sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md create mode 100644 translated/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md diff --git a/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md b/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md deleted file mode 100644 index a6f543d128..0000000000 --- a/sources/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md +++ /dev/null @@ -1,38 +0,0 @@ -[#]: subject: "Google AI Unveils A New Open Source Library for Array Storage" -[#]: via: "https://www.opensourceforu.com/2022/10/google-ai-unveils-a-new-open-source-library-for-array-storage/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: "KevinZonda" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Google AI Unveils A New Open Source Library for Array Storage -====== -*TensorStore, a High-Performance Open Source Library for Array Storage, has been introduced by Google AI.* - -The open source C++ and Python framework TensorStore, developed by Google, aims to accelerate the design for reading and writing huge multidimensional arrays. Multidimensional datasets that cover a single large coordinate system are commonly used in contemporary computer science and machine learning applications. These datasets are challenging to work with because customers frequently wish to conduct investigations involving numerous workstations operating in parallel and may receive and output data at unpredictable intervals and varied scales. - -Google Research developed TensorStore, a library that provides users with access to an API that can manage huge datasets without the requirement for sophisticated hardware, to address issues with data storage and manipulation. Numerous storage systems, including local and network filesystems, Google Cloud Storage, and others are supported by this library. - -To load and work with enormous arrays of data, TensorStore provides a simple Python API. Any arbitrary big underlying datasets can be loaded and updated without having to store the complete dataset in memory because no actual data is read or kept in memory until the precise slice is required. - -This is made possible by the indexing and manipulation grammar, which is quite similar to the syntax used for NumPy operations. Along with virtual views, broadcasting, alignment, and other sophisticated indexing features like data type conversion, downsampling, and haphazardly created arrays, TensorStore also supports these. - -Additionally, TensorStore includes an asynchronous API that enables read or write operations to go concurrently. While performing other duties, a software can perform configurable in-memory caching, which reduces the need to deal with a slower storage system when accessing frequently used data. - -Large numerical datasets demand a lot of processing power to examine and analyse. The usual method for accomplishing this is via parallelizing tasks among a sizable number of CPU or accelerator cores scattered across many devices. The ability to analyse individual datasets in parallel while retaining excellent speed has been a key goal of TensorStore. PaLM, brain mapping, and other complex large-scale machine learning models are some examples of TensorStore application cases. - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/10/google-ai-unveils-a-new-open-source-library-for-array-storage/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed diff --git a/translated/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md b/translated/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md new file mode 100644 index 0000000000..ed6ffc4cf0 --- /dev/null +++ b/translated/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md @@ -0,0 +1,38 @@ +[#]: subject: "Google AI Unveils A New Open Source Library for Array Storage" +[#]: via: "https://www.opensourceforu.com/2022/10/google-ai-unveils-a-new-open-source-library-for-array-storage/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "KevinZonda" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +谷歌 AI 推出新的阵列存储开源库 +====== +*TensorStore,一个用于阵列存储的高性能开源库,已被谷歌 AI 创造。* + +谷歌开发的开源 C++ 和 Python 框架 TensorStore 旨在加速读写大型多维数组的设计。覆盖单个大型坐标系的多维数据集通常用于当代计算机科学和机器学习应用程序中。使用这些数据集具有挑战性,因为客户经常希望进行涉及多个工作站并行操作的调查,并且可能会以不可预测的间隔和不同的规模接收和输出数据。 + +谷歌研究院开发了 TensorStore,这是一个为用户提供 API 访问权限的库,该 API 无需复杂的硬件即可管理庞大的数据集,以解决数据存储和操作问题。该库支持许多存储系统,包括本地和网络文件系统、Google Cloud Storage 等。 + +为了加载和处理大量数据,TensorStore 提供了一个简单的 Python API。任何大型基础数据集都可以加载和更新,而无需将完整的数据集存储在内存中,因为在需要精确切片之前不会读取或保存实际数据。 + +这是通过索引和操作语法实现的,这与用于 NumPy 操作的语法非常相似。除了虚拟视图、广播、对齐和其他复杂的索引功能,TensorStore 还支持,如数据类型转换、降低取样和随意创建的数组这些功能。 + +此外,TensorStore 包含一个异步 API,可以同时进行读取或写入操作。在执行其他工作时,软件可以执行可配置的内存缓存,从而减少在访问常用数据时处理较慢存储系统的需要。 + +大型数值数据集需要大量的处理能力来检查和分析。实现这一点的常用方法是在分散在许多设备上的大量 CPU 或加速器内核之间并行化任务。在保持出色速度的同时并行分析单个数据集的能力一直是 TensorStore 的关键目标。 PaLM、脑图和其他复杂的大规模机器学习模型是 TensorStore 应用案例的一些例子。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/google-ai-unveils-a-new-open-source-library-for-array-storage/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed From 0c716d99769c1c81b4ef4a8d9f408f9831c7eb85 Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 06:36:47 +0100 Subject: [PATCH 146/170] trans u pro --- ...u 10 Years of Security Updates for Free.md | 80 ------------------- ...u 10 Years of Security Updates for Free.md | 80 +++++++++++++++++++ 2 files changed, 80 insertions(+), 80 deletions(-) delete mode 100644 sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md create mode 100644 translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md diff --git a/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md b/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md deleted file mode 100644 index 43b3c3626f..0000000000 --- a/sources/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md +++ /dev/null @@ -1,80 +0,0 @@ -[#]: subject: "Ubuntu Pro Now Gives You 10 Years of Security Updates for Free" -[#]: via: "https://news.itsfoss.com/ubuntu-pro-free/" -[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" -[#]: collector: "lkxed" -[#]: translator: "KevinZonda" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Ubuntu Pro Now Gives You 10 Years of Security Updates for Free -====== -A free Ubuntu Pro plan for everyone to get 10 years of security updates. This is fantastic news. - -![Ubuntu Pro Now Gives You 10 Years of Security Updates for Free][1] - -Canonical has introduced a free tier to Ubuntu Pro which is aimed at personal use and small-scale deployments. - -**Ubuntu Pro** subscription (formerly known as Ubuntu Advantage) was originally offered to enterprises for providing them with extended security maintenance updates to Ubuntu LTS releases for an extra 5 years of updates. - -The free tier has been made available in public beta. - -### Ubuntu Pro for Personal and Data Centers - -![Canonical launches Ubuntu Pro beta][2] - -Currently available as a beta release, the free tier of Ubuntu Pro can be used by individual users or small-scale data centers for a maximum number of five machines. - -With this launch, CEO of Canonical, Mark Shuttleworth said: - -> Since we first launched Ubuntu LTS, with five years free security coverage for the main OS, our enterprise customers have asked us to cover more and more of the wider open-source landscape under private commercial agreements. Today, we are excited to offer the benefits of all of that work, free of charge, to anyone in the world, with a free personal Ubuntu Pro subscription - -The main advantage of Ubuntu Pro over the standard distribution, are the constant security patches. - -![ubuntu pro benefits][3] - -**This is an incredibly good news for users who want stability on their systems without losing out on security updates.** - -The security maintenance updates are pushed out on a regular basis, especially when a new CVE (Common Vulnerabilities and Exposures) is found. - -Users can take advantage of [Livepatch][4] to apply security patches without shutting down their systems. This is included with the Ubuntu Pro subscription. - -Small businesses and individuals can also make use of various tools required for compliance management, support for compliance standards such as PCI-DSS, HIPAA, FedRAMP and as part of Ubuntu Pro subscription. - -**So, more incentives to use Ubuntu for individuals and businesses?** - -> 💡 If you have up to five machines to work with, Ubuntu Pro's free personal tier should be a no-nonsense option to pick over other platforms. - -With the personal Ubuntu Pro plan small-scale users can now take advantage of the 10-year security coverage (*5 Year LTS updates + 5 Year Extended Security Maintenance updates*), **which includes support for an additional 23,000 packages.** - -The launch of this free tier of the Ubuntu Pro subscription can help [Canonical][5] attract more users to use Ubuntu, which is a good thing for Linux adoption among computer users. - -You just have to sign up for a personal Ubuntu Pro subscription on their [official website][6]. - -For more details, check out the [official announcement][7]. - -[Sign up for Ubuntu Pro][8] - -💬 *Do you think you will be opting for the free personal Ubuntu Pro subscription? Or, do you think you will be upgrading to a new LTS release every 5 years?* - --------------------------------------------------------------------------------- - -via: https://news.itsfoss.com/ubuntu-pro-free/ - -作者:[Sourav Rudra][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://news.itsfoss.com/author/sourav/ -[b]: https://github.com/lkxed -[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-pro.jpg -[2]: https://youtu.be/qJL42AsfG6Q -[3]: https://news.itsfoss.com/content/images/2022/10/ubuntu-pro-benefits.png -[4]: https://ubuntu.com/security/livepatch -[5]: https://canonical.com/ -[6]: https://ubuntu.com/pro -[7]: https://ubuntu.com//blog/ubuntu-pro-beta-release -[8]: https://ubuntu.com/pro diff --git a/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md b/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md new file mode 100644 index 0000000000..6232ae14dc --- /dev/null +++ b/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md @@ -0,0 +1,80 @@ +[#]: subject: "Ubuntu Pro Now Gives You 10 Years of Security Updates for Free" +[#]: via: "https://news.itsfoss.com/ubuntu-pro-free/" +[#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" +[#]: collector: "lkxed" +[#]: translator: "KevinZonda" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Ubuntu Pro 现在免费为你提供 10 年的安全更新 +====== +一个免费的 Ubuntu Pro 计划,每个人都可以获得 10 年的安全更新。 这是个好消息。 + +![Ubuntu Pro Now Gives You 10 Years of Security Updates for Free][1] + +Canonical 为 Ubuntu Pro 引入了一个免费计价层,该层针对个人使用和小规模部署。 + +**Ubuntu Pro** 订阅(以前称为 Ubuntu Advantage)最初是为企业提供的,用于为他们提供 Ubuntu LTS 版本的扩展安全维护更新,额外更新 5 年。 + +免费计价层已在公共测试版中提供。 + +### 对于个人与数据中心的 Ubuntu Pro + +![Canonical 启动 Ubuntu Pro beta][2] + +目前作为测试版提供,Ubuntu Pro 的免费计价层可供个人用户或小型数据中心使用,最多可容纳五台机器。 + +随着此次发布,Canonical 首席执行官 Mark Shuttleworth 表示: + +> 自从我们首次推出 Ubuntu LTS 以来,主操作系统免费提供五年的安全保障,我们的企业客户要求我们根据私人商业协议覆盖越来越广泛的开源领域。今天,我们很高兴通过免费的个人 Ubuntu Pro 订阅免费向世界上的任何人提供! + +与标准发行版相比,Ubuntu Pro 的主要优势在于不断提供安全补丁。 + +![ubuntu pro 好处][3] + +**对于希望系统稳定而又不会丢失安全更新的用户来说,这是一个难以置信的好消息。** + +安全维护更新会定期推出,尤其是在发现新的 CVE(常见漏洞和暴露)时。 + +用户可以利用 [Livepatch][4] 来应用安全补丁,而无需关闭他们的系统。 这包含在 Ubuntu Pro 订阅中。 + +小型企业和个人还可以使用合规管理所需的各种工具,支持 PCI-DSS、HIPAA、FedRAMP 等合规标准,并作为 Ubuntu Pro 订阅的一部分。 + +**那么,个人和企业使用 Ubuntu 的更多激励措施?** + +> 💡 如果你最多有五台机器要用,Ubuntu Pro 的免费个人层应该是一个不折不扣正确的选择,而不是其他平台。 + +借助个人 Ubuntu Pro 计划,小规模用户现在可以享受 10 年安全保障(*5 年 LTS 更新 + 5 年扩展安全维护更新*),**其中包括对额外 23,000 个软件包的支持。** + +这个免费的 Ubuntu Pro 订阅层的推出可以帮助 [Canonical][5] 吸引更多用户使用 Ubuntu,这对于计算机用户采用 Linux 来说是一件好事。 + +您只需在他们的 [官方网站][6] 上注册个人 Ubuntu Pro 订阅。 + +更多详情,请查看[官方公告][7]。 + +[注册 Ubuntu Pro][8] + +💬 *你认为你会选择免费的个人 Ubuntu Pro 订阅吗? 或者,你认为你会每 5 年升级到新的 LTS 版本吗?* + +-------------------------------------------------------------------------------- + +via: https://news.itsfoss.com/ubuntu-pro-free/ + +作者:[Sourav Rudra][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://news.itsfoss.com/author/sourav/ +[b]: https://github.com/lkxed +[1]: https://news.itsfoss.com/content/images/size/w1200/2022/10/ubuntu-pro.jpg +[2]: https://youtu.be/qJL42AsfG6Q +[3]: https://news.itsfoss.com/content/images/2022/10/ubuntu-pro-benefits.png +[4]: https://ubuntu.com/security/livepatch +[5]: https://canonical.com/ +[6]: https://ubuntu.com/pro +[7]: https://ubuntu.com//blog/ubuntu-pro-beta-release +[8]: https://ubuntu.com/pro From a628c13786c22656b71bc23e169982a4f6e0ade5 Mon Sep 17 00:00:00 2001 From: KevinZonda <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 06:37:14 +0100 Subject: [PATCH 147/170] fix --- ...u Pro Now Gives You 10 Years of Security Updates for Free.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md b/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md index 6232ae14dc..cce54ce7df 100644 --- a/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md +++ b/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md @@ -11,7 +11,7 @@ Ubuntu Pro 现在免费为你提供 10 年的安全更新 ====== 一个免费的 Ubuntu Pro 计划,每个人都可以获得 10 年的安全更新。 这是个好消息。 -![Ubuntu Pro Now Gives You 10 Years of Security Updates for Free][1] +![Ubuntu Pro 现在免费为你提供 10 年的安全更新][1] Canonical 为 Ubuntu Pro 引入了一个免费计价层,该层针对个人使用和小规模部署。 From 4f57dfee463630c316137618aac899b48b8036cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KevinZ=C3=B8nda?= <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 06:42:29 +0100 Subject: [PATCH 148/170] Update 20220609 SSL Certificates- Make the Right Choice.md --- .../talk/20220609 SSL Certificates- Make the Right Choice.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20220609 SSL Certificates- Make the Right Choice.md b/sources/talk/20220609 SSL Certificates- Make the Right Choice.md index e2ade3d02d..2d6d4eed87 100644 --- a/sources/talk/20220609 SSL Certificates- Make the Right Choice.md +++ b/sources/talk/20220609 SSL Certificates- Make the Right Choice.md @@ -2,7 +2,7 @@ [#]: via: "https://www.opensourceforu.com/2022/06/ssl-certificates-make-the-right-choice/" [#]: author: "Jitendra Bhojwani https://www.opensourceforu.com/author/jitendra-bhojwani/" [#]: collector: "lkxed" -[#]: translator: "lightchaserhy" +[#]: translator: "KevinZonda" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ca38d9fd014b4f90023ae4a27c843325e73ea8f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KevinZ=C3=B8nda?= <33132228+KevinZonda@users.noreply.github.com> Date: Sun, 9 Oct 2022 06:46:05 +0100 Subject: [PATCH 149/170] Update 20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md --- ...ched Ubuntu for Manjaro- Here-s What I Think After a Week.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md b/sources/talk/20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md index 948d479519..ba9a2cf4d2 100644 --- a/sources/talk/20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md +++ b/sources/talk/20220423 I Ditched Ubuntu for Manjaro- Here-s What I Think After a Week.md @@ -2,7 +2,7 @@ [#]: via: "https://news.itsfoss.com/manjaro-linux-experience/" [#]: author: "Ankush Das https://news.itsfoss.com/author/ankush/" [#]: collector: "lujun9972" -[#]: translator: " " +[#]: translator: "KevinZonda" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From a57fc1b27aa3fb214f0abac8b22dffc7d5bba9d9 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 9 Oct 2022 16:41:02 +0800 Subject: [PATCH 150/170] RP @KevinZonda https://linux.cn/article-15120-1.html --- ...u 10 Years of Security Updates for Free.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) rename {translated/news => published}/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md (71%) diff --git a/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md b/published/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md similarity index 71% rename from translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md rename to published/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md index cce54ce7df..e15b80f9e8 100644 --- a/translated/news/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md +++ b/published/20221006 Ubuntu Pro Now Gives You 10 Years of Security Updates for Free.md @@ -3,21 +3,22 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "KevinZonda" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15120-1.html" Ubuntu Pro 现在免费为你提供 10 年的安全更新 ====== -一个免费的 Ubuntu Pro 计划,每个人都可以获得 10 年的安全更新。 这是个好消息。 + +> 好消息:一个免费的 Ubuntu Pro 计划,每个人都可以获得 10 年的安全更新。 ![Ubuntu Pro 现在免费为你提供 10 年的安全更新][1] Canonical 为 Ubuntu Pro 引入了一个免费计价层,该层针对个人使用和小规模部署。 -**Ubuntu Pro** 订阅(以前称为 Ubuntu Advantage)最初是为企业提供的,用于为他们提供 Ubuntu LTS 版本的扩展安全维护更新,额外更新 5 年。 +**Ubuntu Pro** 订阅(以前称为 “Ubuntu Advantage”)最初是为企业提供的,用于为他们额外提供 5 年的 Ubuntu LTS 版本的扩展安全维护更新。 -免费计价层已在公共测试版中提供。 +该免费计价层已在公共测试版中提供。 ### 对于个人与数据中心的 Ubuntu Pro @@ -27,7 +28,7 @@ Canonical 为 Ubuntu Pro 引入了一个免费计价层,该层针对个人使 随着此次发布,Canonical 首席执行官 Mark Shuttleworth 表示: -> 自从我们首次推出 Ubuntu LTS 以来,主操作系统免费提供五年的安全保障,我们的企业客户要求我们根据私人商业协议覆盖越来越广泛的开源领域。今天,我们很高兴通过免费的个人 Ubuntu Pro 订阅免费向世界上的任何人提供! +> 自从我们首次推出 Ubuntu LTS 以来,并为这个主要的操作系统免费提供五年的安全保障,我们的企业客户要求我们在私人商业协议下覆盖越来越广泛的开源领域。今天,我们很高兴通过免费的个人 Ubuntu Pro 订阅免费向世界上的任何人提供! 与标准发行版相比,Ubuntu Pro 的主要优势在于不断提供安全补丁。 @@ -37,7 +38,7 @@ Canonical 为 Ubuntu Pro 引入了一个免费计价层,该层针对个人使 安全维护更新会定期推出,尤其是在发现新的 CVE(常见漏洞和暴露)时。 -用户可以利用 [Livepatch][4] 来应用安全补丁,而无需关闭他们的系统。 这包含在 Ubuntu Pro 订阅中。 +用户可以利用 [Livepatch][4] 来应用安全补丁,而无需关闭他们的系统。这包含在 Ubuntu Pro 订阅中。 小型企业和个人还可以使用合规管理所需的各种工具,支持 PCI-DSS、HIPAA、FedRAMP 等合规标准,并作为 Ubuntu Pro 订阅的一部分。 @@ -49,13 +50,13 @@ Canonical 为 Ubuntu Pro 引入了一个免费计价层,该层针对个人使 这个免费的 Ubuntu Pro 订阅层的推出可以帮助 [Canonical][5] 吸引更多用户使用 Ubuntu,这对于计算机用户采用 Linux 来说是一件好事。 -您只需在他们的 [官方网站][6] 上注册个人 Ubuntu Pro 订阅。 +你只需在他们的 [官方网站][6] 上注册个人 Ubuntu Pro 订阅。 更多详情,请查看[官方公告][7]。 -[注册 Ubuntu Pro][8] +> **[注册 Ubuntu Pro][8]** -💬 *你认为你会选择免费的个人 Ubuntu Pro 订阅吗? 或者,你认为你会每 5 年升级到新的 LTS 版本吗?* +💬 *你会考虑选择免费的个人 Ubuntu Pro 订阅吗? 或者,你认为你会每 5 年升级到新的 LTS 版本吗?* -------------------------------------------------------------------------------- @@ -63,8 +64,8 @@ via: https://news.itsfoss.com/ubuntu-pro-free/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[KevinZonda](https://github.com/KevinZonda) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 78cef9621eb444aaacf3d95e79c77150f66e94c0 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Sun, 9 Oct 2022 17:11:24 +0800 Subject: [PATCH 151/170] RP @FYJNEVERFOLLOWS https://linux.cn/article-15121-1.html --- ...15 A beginner-s guide to load balancing.md | 83 +++++++++++++++++++ ...15 A beginner-s guide to load balancing.md | 75 ----------------- 2 files changed, 83 insertions(+), 75 deletions(-) create mode 100644 published/20210415 A beginner-s guide to load balancing.md delete mode 100644 translated/tech/20210415 A beginner-s guide to load balancing.md diff --git a/published/20210415 A beginner-s guide to load balancing.md b/published/20210415 A beginner-s guide to load balancing.md new file mode 100644 index 0000000000..1a464283a6 --- /dev/null +++ b/published/20210415 A beginner-s guide to load balancing.md @@ -0,0 +1,83 @@ +[#]: subject: (A beginner's guide to load balancing) +[#]: via: (https://opensource.com/article/21/4/load-balancing) +[#]: author: (Seth Kenlon https://opensource.com/users/seth) +[#]: collector: (lujun9972) +[#]: translator: (FYJNEVERFOLLOWS) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-15121-1.html) + +负载均衡的初学者指南 +====== + +> 负载均衡就是将资源分配到某一时刻最需要它的地方。 + +![](https://img.linux.net.cn/data/attachment/album/202210/09/171034wvrqq5qqxkjcv5nv.jpg) + +当个人电脑刚开始发展的时候,一个家庭可能只有一台(或更少)的电脑。孩子们白天玩电脑游戏,家长们晚上在业务支撑系统上做会计、编程,或者漫游。然而,想象一下今天一个只有一台电脑的家庭,你可以预想到这样会产生什么样的冲突。每个人都想使用电脑,而只有一副键盘和鼠标。 + +随着计算机变得越来越普遍,IT 行业或多或少也出现了同样的情况。对服务和服务器的需求已经增长到了会因为用量过大而停机的程度。幸运的是,我们现在有了负载均衡的概念来帮助我们处理需求。 + +### 负载均衡是什么? + +负载均衡是一个通用术语,指的是为了确保高效分配所管理的资源而做的事情。对于 Web 服务器的系统管理员来说,负载均衡通常意味着确保 Web 服务器软件(例如 [Nginx][2])配置了足够的工作节点来处理激增的访客。换言之,如果一个网站突然变得非常受欢迎,其访问者在几分钟内增加了四倍,那么运行服务器的软件必须能够响应每个访问者,并不能让任何访问者发现服务质量下降。对于简单的网站,这就像修改一行配置选项一样简单,但对于具有动态内容的复杂站点,每个用户都有多个数据库查询,这可能是一个严重的问题。 + +这个问题本应随着云计算的发展而解决,但当 Web 应用程序遇到意外激增时,无法扩展也不是不可能。 + +在进行负载均衡时,需要记住的重要一点是,*高效地*分配资源并不一定意味着*平均地*分配资源。并非所有任务都在任何时候都需要所有的可用资源。一个智能的负载均衡策略仅在需要资源时才为用户和任务提供资源。这通常是应用程序开发人员的领域,而不是 IT 基础架构的责任。异步应用程序对于确保离开计算机休息的用户不占用服务器上的宝贵资源至关重要。 + +### 负载均衡是怎么工作的? + +负载均衡通过在多个计算节点上分配工作负载来避免瓶颈。这些节点可能是数据中心中的物理服务器、云环境中的容器、用于边缘计算而战略性放置的服务器、复杂应用程序框架中的独立 Java 虚拟机(JVM),或在单个 Linux 服务器上运行的守护进程。 + +这个想法是把一个大问题分成几个小任务,并把每个任务分配给一台专用计算机。例如,对于一个要求用户登录的网站,该网站可能托管在服务器 A 上,而登录页面和所有随附的身份验证查询都托管在服务器 B 上。这样,新用户登录帐户时就不会占用其它使用该站点的用户的资源。 + +#### 云计算负载均衡 + +云计算使用 [容器][3],因此通常没有单独的物理服务器来处理不同的任务(实际上,有许多单独的服务器,但它们被聚集在一起作为一个计算“大脑”)。相反,“容器荚pod” 是由几个容器创建的。当一个容器荚由于其用户或任务负载而开始耗尽资源时,会生成一个相同的容器荚。容器荚共享存储和网络资源,每个容器荚在创建时被分配给一个计算节点。可以根据负载需要创建或销毁容器荚,这样无论有多少用户,用户都可以体验到一致的服务质量。 + +#### 边缘计算 + +[边缘计算][4] 在负载均衡时考虑到了现实世界。云计算自然是一个分布式系统,但实际上,云计算的节点通常集中在几个数据中心。用户离运行云计算的数据中心越远,他们为获得最佳服务所必须克服的物理障碍就越多。即使有光纤连接和适当的负载均衡,位于 3000 英里外的服务器的响应时间也可能比仅仅 300 英里外的响应时间长。 + +边缘计算将计算节点带到云计算的“边缘”,试图弥合地理鸿沟,为云计算形成一种卫星网络,因此它也在良好的负载均衡工作中发挥了作用。 + +### 什么是负载均衡算法? + +有许多负载均衡策略,它们的复杂性取决于所涉及的技术和需求。负载均衡不必复杂,而且从一开始就负载均衡很重要,即使在使用 [Kubernetes][5] 和 [Keepalived][6] 这样的专用软件时也是如此。 + +当你可以设计应用程序,自己为它采取简单的预防措施时,不要依赖容器来均衡负载。如果你从一开始就将应用程序设计为模块化和临时性的,那么你将受益于通过巧妙的网络设计、容器编排和其他未来技术带来的负载均衡机会。 + +可以指导应用程序开发人员或网络工程师工作的一些流行算法包括: + + * 按顺序将任务分配给服务器(这通常被称为轮询调度)。 + * 将任务分配给当前最不繁忙的服务器。 + * 将任务分配给具有响应最快的服务器。 + * 随机分配任务。 + +举个例子,在分配特别复杂的任务时,可以组合或加权这些原则以分配到组中最强大的服务器。通常使用 [编排][7],这样管理员就不必为负载均衡寻找完美的算法或策略,尽管有时需要由管理员选择使用哪种负载均衡方案组合。 + +### 预料意料之外 + +负载均衡实际上并不是要确保在整个网络中均匀使用所有资源。负载均衡实际上是确保即使发生意外情况也能提供可靠的用户体验。良好的基础设施可以承受计算机崩溃、应用程序过载、网络流量冲击和用户错误。思考你的服务如何才能具有弹性,并从头开始相应地设计负载均衡策略。 + +-------------------------------------------------------------------------------- + +via: https://opensource.com/article/21/4/load-balancing + +作者:[Seth Kenlon][a] +选题:[lujun9972][b] +译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://opensource.com/users/seth +[b]: https://github.com/lujun9972 +[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/water-stone-balance-eight-8.png?itok=1aht_V5V (eight stones balancing) +[2]: https://opensource.com/business/15/4/nginx-open-source-platform +[3]: https://opensource.com/resources/what-are-linux-containers +[4]: https://opensource.com/article/18/5/edge-computing +[5]: https://opensource.com/resources/what-is-kubernetes +[6]: https://www.redhat.com/sysadmin/keepalived-basics +[7]: https://opensource.com/article/20/11/orchestration-vs-automation diff --git a/translated/tech/20210415 A beginner-s guide to load balancing.md b/translated/tech/20210415 A beginner-s guide to load balancing.md deleted file mode 100644 index 2005627b09..0000000000 --- a/translated/tech/20210415 A beginner-s guide to load balancing.md +++ /dev/null @@ -1,75 +0,0 @@ -[#]: subject: (A beginner's guide to load balancing) -[#]: via: (https://opensource.com/article/21/4/load-balancing) -[#]: author: (Seth Kenlon https://opensource.com/users/seth) -[#]: collector: (lujun9972) -[#]: translator: (FYJNEVERFOLLOWS) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) - -负载均衡的初学者指南 -====== -负载均衡就是将资源分配到某一时刻最需要它的地方。 -![eight stones balancing][1] - -当个人电脑刚开始发展的时候,一个家庭可能只有一台(或更少)的电脑。孩子们白天玩电脑游戏,家长们晚上在业务支撑系统上做会计、编程,或者漫游。然而,想象一下今天一个只有一台电脑的家庭,你可以预想到这样会产生什么样的冲突。每个人都同时想使用电脑,而且没有足够的键盘和鼠标让每个人都能分到。 - -随着计算机变得越来越普遍,IT 行业或多或少也出现了同样的情况。对服务和服务器的需求已经增长到了会因为过度使用而停滞不前的程度。幸运的是,我们现在有了负载均衡的概念来帮助我们处理需求。 - -### 负载均衡是什么? -负载均衡是一个通用术语,指的是为了确保高效分配所管理的资源而做的任何事情。对于 web 服务器的系统管理员来说,负载均衡通常意味着确保 web 服务器软件(例如 [Nginx][2])配置了足够的工作节点来处理高峰时刻的来访者。换言之,如果一个网站突然变得非常受欢迎,其访问者在几分钟内增加了四倍,那么运行服务器的软件必须能够响应每个访问者,并不能让任何访问者发现服务质量下降。对于简单网址,这就像修改一行配置选项一样简单,但对于具有动态内容的复杂站点,每个用户都有多个数据库查询,这可能是一个严重的问题。 - -这个问题本应通过云计算解决,但当 web 应用程序遇到意外激增时,它可能会无法扩展。 - -在进行负载均衡时,需要记住的重要一点是,*高效地*分配资源并不一定意味着*公平地*分配资源。并非所有任务都在任何时候都需要所有可用资源。一个智能的负载均衡策略仅在需要资源时才为用户和任务提供资源。这通常是应用程序开发人员的领域,而不是 IT 基础架构的责任。异步应用程序对于确保离开计算机休息的用户不会占用服务器上的宝贵资源至关重要。 - -### 负载均衡是怎么工作的? -负载均衡通过跨计算节点分配工作负载来避免瓶颈。这些节点可能是数据中心中的物理服务器、云中的容器、用于边缘计算的战略性放置的服务器、复杂应用程序框架中的独立 Java 虚拟机(JVM),或在单个 Linux 服务器上运行的守护进程。 - -这个想法是把一个大问题分成几个小任务,并把每个任务分配给一台专用计算机。例如,对于要求用户登录的网站,该网站可能托管在服务器 A 上,而登录页面和所有随附的身份验证查找都托管在服务器 B 上。这样,新用户登录一个帐户时不会从正在使用该站点的其他用户那里窃取资源。 - -#### 云负载均衡 -云计算使用 [容器][3],因此通常没有单独的物理服务器来处理不同的任务(实际上,有许多单独的服务器,但它们被聚集在一起作为一个计算“大脑”)。相反,"pod" 是由几个容器创建的。当一个pod 由于其用户或任务负载而开始耗尽资源时,会生成一个相同的 pod。Pod 共享存储和网络资源,每个 pod 在创建时被分配给一个计算节点。可以根据负载需要创建或销毁 Pod,这样无论有多少用户,用户都可以体验到一致的服务质量。 - -#### 边缘计算 - -[边缘计算][4] 在负载均衡时考虑现实世界。云自然是一个分布式系统,但实际上,云的节点通常集中在几个数据中心。用户离运行云的数据中心越远,他们为获得最佳服务所必须克服的物理障碍就越多。即使有光纤连接和适当的负载均衡,位于 3000 英里外的服务器的响应时间也可能比仅 300 英里外的响应时间长。 - -边缘计算将计算节点带到云的“边缘”,试图弥合地理鸿沟,为云形成一种卫星网络,因此它也在良好的负载均衡工作中发挥了作用。 - -### 什么是负载均衡算法? -有许多负载均衡策略,它们的复杂性取决于所涉及的技术和需求。负载均衡不必复杂,而且从一开始就负载均衡很重要,即使在使用 [Kubernetes][5] 和 [Keepalived][6] 这样的专用软件时也是如此。 - -当你可以设计应用程序为它自己采取简单的预防措施时,不要依赖容器来均衡负载。如果你从一开始就将应用程序设计为模块化和临时性的,那么你将受益于通过巧妙的网络设计、容器编排和其他未来技术带来的负载均衡机会。 - -可以指导应用程序开发人员或网络工程师工作的一些流行算法包括: - * 按顺序将任务分配给服务器(这通常被称为轮流调度)。 - * 将任务分配给当前最不繁忙的服务器。 - * 将任务分配给具有最佳响应时间的服务器。 - * 随机分配任务。 - -举个例子,在分配特别复杂的任务时,可以组合或加权这些原则以支持组中最强大的服务器。通常使用 [Orchestration][7],这样管理员就不必为负载均衡寻找完美的算法或策略,尽管有时需要由管理员选择使用哪种负载均衡方案组合。 - -### 预料意料之外 -负载均衡实际上并不是要确保在整个网络中均匀使用所有资源。负载均衡实际上是确保即使发生意外情况也能提供可靠的用户体验。良好的基础设施可以承受计算机崩溃、应用程序过载、网络流量冲击和用户错误。思考你的服务如何具有弹性,并从头开始相应地设计负载均衡策略。 - --------------------------------------------------------------------------------- - -via: https://opensource.com/article/21/4/load-balancing - -作者:[Seth Kenlon][a] -选题:[lujun9972][b] -译者:[FYJNEVERFOLLOWS](https://github.com/FYJNEVERFOLLOWS) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://opensource.com/users/seth -[b]: https://github.com/lujun9972 -[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/water-stone-balance-eight-8.png?itok=1aht_V5V (eight stones balancing) -[2]: https://opensource.com/business/15/4/nginx-open-source-platform -[3]: https://opensource.com/resources/what-are-linux-containers -[4]: https://opensource.com/article/18/5/edge-computing -[5]: https://opensource.com/resources/what-is-kubernetes -[6]: https://www.redhat.com/sysadmin/keepalived-basics -[7]: https://opensource.com/article/20/11/orchestration-vs-automation From caf30857b2b32b2dd86ec846729e4da4861b3a22 Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 9 Oct 2022 21:51:14 +0800 Subject: [PATCH 152/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221008=20How=20to=20Use=20Raspberry=20Pi=20via=20VNC?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0221008 How to Use Raspberry Pi via VNC.md | 155 ++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 sources/tech/20221008 How to Use Raspberry Pi via VNC.md diff --git a/sources/tech/20221008 How to Use Raspberry Pi via VNC.md b/sources/tech/20221008 How to Use Raspberry Pi via VNC.md new file mode 100644 index 0000000000..49a67573a1 --- /dev/null +++ b/sources/tech/20221008 How to Use Raspberry Pi via VNC.md @@ -0,0 +1,155 @@ +[#]: subject: "How to Use Raspberry Pi via VNC" +[#]: via: "https://itsfoss.com/vnc-raspberry-pi/" +[#]: author: "Pratham Patel https://itsfoss.com/author/pratham/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Use Raspberry Pi via VNC +====== +Building a project where you need to access the Raspberry Pi remotely? + +You can [enable SSH on the Pi][1] and access it remotely via a terminal from another system. + +However, not everyone is comfortable with the terminal and commands. + +An alternative is to access the Raspberry Pi via VNC. This way, you create a remote connection to the Pi and use it graphically like it was connected to your monitor and keyboard. + +![controlling raspberry pi with vnc][2] + +Of course, such a connection may lag a little depending on the Raspberry Pi system configuration and network speed. + +But at least you get to access it graphically remotely. + +It consists of these steps: + +* Enable VNC from settings in Raspberry Pi +* Use a VNC client on the remote computer from where you want to access your Pi (on the same subnetwork) +* (optionally) Setup complicated VNC configuration or use paid option of Real VNC to access the Pi over the internet + +Let me show you how to remote into the Raspberry Pi using the VNC software. But first, a quick + +### What is VNC? + +The term VNC stands for **Virtual Network Computing**. Think of it as SSH but with GUI. It lets you remote into a computer on a network and allows you to control it using the normal GUI as if you’re physically using it.**VNC is equivalent to the TeamViewer** sort of application. + +In our case, VNC will help us control the Raspberry Pi over the network, but as if the mouse, keyboard and display were physically attached to the Raspberry Pi. VNC is not limited to being used on PCs. You can control your Raspberry Pi from a phone or a tablet as well! + +**There are several VNC software available. I am going to use RealVNC here. It’s (probably) a proprietary solution from the original creators of the VNC protocol.** + +### Step1: Enable VNC on Raspberry Pi + +Usually, Raspberry Pi OS should already have the required packages installed. However, you can ensure that by installing them again. + +``` +sudo apt install realvnc-vnc-server realvnc-vnc-viewer +``` + +Once you have the necessary package, proceed to enable the VNC service. + +There are two ways of enabling the VNC service; using the GUI or using the raspi-config CLI tool. I’ll discuss both. + +#### Method 1: Using the GUI + +This is the easiest way to enable the VNC service. The steps to do so are as follows (for the default Raspberry Pi OS): + +1. From the top bar, select Menu > Preferences > Raspberry Pi Configuration. +2. In the application view, go to the Interfaces tab. +3. Make sure that the VNC service is set to Enabled. + +![Screenshot of Raspberry Pi Configuration tool with VNC enabled][3] + +#### Method 2: Using the ‘raspi-config’ tool + +The ‘raspi-config’ tool is a lifesaver on the Raspberry Pi. It has all various knobs that you can tweak to achieve your desirable configuration. + +To enable the VNC service, execute the following command in your terminal: + +``` +sudo raspi-config +``` + +This will start the raspi-config tool in your terminal. Go to **Interfacing Options** and find the option that says **VNC** and enable it. + +![raspi config][4] + +Done! You now have set your Raspberry Pi as your VNC server. + +### Step 2: Connecting to the Raspberry Pi (over LAN) + +You enabled the VNC server on Raspberry Pi. Let’s connect to it. + +#### Get the Raspberry Pi’s IP address + +There are several ways to get Raspberry Pi’s IP address. You can check your router for all devices; or if you are already SSH-ed into the Raspberry Pi, it is best to use the ‘hostname’ command like so: + +``` +hostname -I +``` + +Running the ‘hostname’ command will give you the IP address assigned to the Raspberry Pi. + +Please note that if your Raspberry Pi does not get assigned a static IP address by your router, it might change down the road. + +On my network, the Raspberry Pi got ‘192.168.11.4’ as its IP address. So, this is what I will be using. Yours will be different. + +#### Get RealVNC Client + +Just like SSH needs a server and client software, VNC needs a client too. You can visit RealVNC’s website to download the client respective to the OS on your PC/phone/tablet. + +![Download RealVNC Viewer][5] + +[Download RealVNC Viewer][5a] + +Once the installer is downloaded, install it using the standard method most appropriate to your operating system and launch the RealVNC Client. + +#### Connect to the Raspberry Pi + +Once you have the RealVNC Client installed, open it. You will have an address bar on the top (major UI redesign notwithstanding). Please enter the IP address of the Raspberry Pi here. + +Once you enter the Raspberry Pi’s IP address in the top address bar, you will be asked for a username and password. In here, use the credentials that you use to log into the Raspberry Pi itself — the ones used for SSH as well. + +![RealVNC auth dialog][6] + +My username and password are ‘pi’ and ‘raspberry’ respectively. So, I will use these credentials to log in. + +Your computer should connect to the Raspberry Pi over a VNC session. Congratulations! :) + +### Optional: Connecting to the Raspberry Pi (over the internet) + +You just learned to connect to Raspberry Pi on the same network, but what if you are not home and want to connect to the device from the internet? + +You don’t need to remember any IP address or modify your firewall or router configuration. RealVNC handles it all using your RealVNC account. + +The downside to this is that you **need a paid account**. When writing this article, the cheapest subscription available is US $3.39 per month (billed annually). + +If you are okay with yet another subscription and do need to access the Raspberry Pi over the Internet frequently, this subscription should be worth it. + +### Conclusion + +I use SSH to connect to my Raspberry Pi remotely. Using VNC could also be a good choice if you need the comfort of the GUI. This works without much effort if the devices are on the same subnetwork. + +I hope you like this quick tutorial helpful in accessing your Raspberry Pi using VNC. Let me know if you have questions and I’ll try my best to help you out. + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/vnc-raspberry-pi/ + +作者:[Pratham Patel][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/pratham/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/ssh-into-raspberry/ +[2]: https://itsfoss.com/wp-content/uploads/2022/10/controlling-raspberry-pi-with-vnc.png +[3]: https://itsfoss.com/wp-content/uploads/2022/08/vnc-01.webp +[4]: https://itsfoss.com/wp-content/uploads/2022/10/raspi-config.png +[5]: https://itsfoss.com/wp-content/uploads/2022/10/download-realvnc-viewer.png +[5a]: https://itsfoss.com/vnc-raspberry-pi/ +[6]: https://itsfoss.com/wp-content/uploads/2022/08/vnc-02.webp From 901f6418ad693be880283de8c8d125db061dc4bf Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 9 Oct 2022 21:52:35 +0800 Subject: [PATCH 153/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221008=20Make=20KDE=20Control=20Centre=20Look=20Like?= =?UTF-8?q?=20macOS=20with=20this=20Widget.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Centre Look Like macOS with this Widget.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 sources/tech/20221008 Make KDE Control Centre Look Like macOS with this Widget.md diff --git a/sources/tech/20221008 Make KDE Control Centre Look Like macOS with this Widget.md b/sources/tech/20221008 Make KDE Control Centre Look Like macOS with this Widget.md new file mode 100644 index 0000000000..5a598051f3 --- /dev/null +++ b/sources/tech/20221008 Make KDE Control Centre Look Like macOS with this Widget.md @@ -0,0 +1,75 @@ +[#]: subject: "Make KDE Control Centre Look Like macOS with this Widget" +[#]: via: "https://www.debugpoint.com/macos-like-kde-control-centre/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Make KDE Control Centre Look Like macOS with this Widget +====== +A new KDE desktop widget arrives to revamp your KDE Plasma’s system tray (or Control Centre) to make it look like macOS. + +**A new KDE desktop widget arrives to revamp your KDE Plasma’s system tray (or Control Centre) to make it look like macOS.** + +**Note**: This is a beta version of the widget. So, use it with caution. + +The system tray is where you get most of the notifications, the status of your system and additional menu items for various desktop activities. + +Recently, the tray menu has been a hot topic. GNOME 43 recently revamped its decade-old design to a new pill-shaped quick intuitive settings. + +In the KDE Plasma desktop, the default system tray menu may not feel appealing from a look standpoint. Although it is rich in functionalities such as you can get access to all necessary system features and tweaks from here. + +However, thanks to KDE’s customization capabilities, a new desktop widget is available now to give a macOS-like system tray menu. + +### New Widget: Control Centre for KDE + +Named “Control Centre”, the widget is currently in BETA and under development. + +However, you can still install it on KDE Plasma desktops in various distros such as Kubuntu, KDE Neon, Arch with KDE, Fedora KDE edition, etc. + +Here’s how it looks. + +![Full desktop look with new widget][1] + +Installation is simple. + +* Right click on the KDE Plasma desktop, and select `Add Widgets`. +* Then click on `Get More Widgets > Download more Plasma widgets` and search for “Control Centre”. Hit `Install` to install it. + +![Installing the Control Centre Widget][2] + +* After installation, right-click on the small arrow in the default tray panel and click Add Widgets. Select the “Control Centre” from the list. +* Once it is available in the Panel, drag it to any place you want via “Enter Edit Mode”. + +As of publishing this, there any only the below options available. Such as quick launchers for Settings, Network, and Night mode. Also available is a banner for currently playing media (via desktop or browser-based players) is also available with volume control. + +![Control Center – Zoomed view][3] + +Although, the widget may not look good with the default KDE’s Breeze theme. However, looks fantastic with any available macOS Plasma Global theme, such as the WhiteSur theme (which I used in the above screenshots). + +I hope many new features are planned for the future of this macOS, like Control Centre. It looks promising. + +Learn more about this widget in the [KDE Store][4] Or on [GitHub][5]. + +Cheers. + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/macos-like-kde-control-centre/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/wp-content/uploads/2022/10/Full-desktop-look-with-new-widget.jpg +[2]: https://www.debugpoint.com/wp-content/uploads/2022/10/Installing-the-Control-Centre-Widget.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2022/10/Control-Center-Zoomed-view.jpg +[4]: https://www.pling.com/p/1916655/ +[5]: https://github.com/Prayag2/kde_controlcentre From 19932307921262a6681ba8a00bdfcf3ab02b701c Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 9 Oct 2022 21:53:30 +0800 Subject: [PATCH 154/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221009=20Best=20Whiteboard=20Applications=20for=20Li?= =?UTF-8?q?nux=20Systems.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...iteboard Applications for Linux Systems.md | 260 ++++++++++++++++++ 1 file changed, 260 insertions(+) create mode 100644 sources/tech/20221009 Best Whiteboard Applications for Linux Systems.md diff --git a/sources/tech/20221009 Best Whiteboard Applications for Linux Systems.md b/sources/tech/20221009 Best Whiteboard Applications for Linux Systems.md new file mode 100644 index 0000000000..67233c91a3 --- /dev/null +++ b/sources/tech/20221009 Best Whiteboard Applications for Linux Systems.md @@ -0,0 +1,260 @@ +[#]: subject: "Best Whiteboard Applications for Linux Systems" +[#]: via: "https://www.debugpoint.com/top-whiteboard-applications-linux/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +Best Whiteboard Applications for Linux Systems +====== +We will show you a couple of whiteboard applications for Linux systems. I am sure these are going to be super beneficial for you. Read on. + +In general, a digital whiteboard is a tool that contains a large interactive display in the form of a whiteboard. Some examples of whiteboard devices are – Tab, large-screen mobile phones, touch-screen laptops, and surface displays. + +If an instructor uses a whiteboard, you can draw, write or manipulate elements on those device screens using a touch-sensitive pen, stylus, finger or mouse. That means you can drag, click, erase, draw – do everything on the whiteboard that can be done on a piece of paper using a pen. + +But to do all those, you need software that supports all those functionalities. That means bridging the gap between your touch and the display. + +Now, there are many commercial applications available for this work. But we will talk about some of the free and open-source whiteboard applications in this article that are available for Linux Systems. + +### Best Whiteboard Applications for Linux Systems + +#### 1. Xournal++ + +The first application we feature is [Xournal++][1]. In my opinion, this is the best app on this list. It’s pretty solid and has been here for some time. + +Xournal++ allows you to write, draw, and do everything you usually do on paper. It supports handwriting, a custom pen with highlighter, an eraser, etc. The support for Layers, multi-page features, add external images, add audio are a few to mention among its great list of features. + +This application support almost all pressure-sensitive tablets, including Wacom, Huion, and XP-Pen. I tested it on a touchpad laptop, and it works with minor settings changes. So, you can start using any touch-sensitive device. + +It is written in C++ and GTK3. + +![Xournal++ Whiteboard Application for Linux][2] + +For Linux systems, this is how you can install it. It is free and available for Linux, macOS and Windows as well. A BETA copy is also available if you want to try it out on mobile. + +**How to Install** + +This application is available as AppImage, Snap, Flatpak and deb packages. Also available as PPA for Ubuntu/Debian-based systems. + +Also, dedicated packages for Fedora, SUSE and Arch are available. Head over to the below link to grab your preferred executable format. + +[Download Xournal++][3] + +**More information** + +* [Home page][4] +* [Documentation][5] +* [Source Code][6] + +#### 2. OpenBoard + +The next one we would like to highlight is [OpenBoard][7]. This simple whiteboard drawing application is easy to use and doesn’t get in your way with too many options. + +This one is perfect for beginners and junior students who take notes from online classes. + +OpenBoard is loaded with features. Such as colours, brushes, texts, simple drawing shapes, page support, etc. This app is built using Qt technology. + +![OpenBoard][8] + +**How to Install** + +This application is only available for Ubuntu as a stand-alone deb package. You can download it from the below link. + +[Download OpenBoard][9] + +**More Information** + +* [Home Page][10] +* [Documentation][11] +* [Source Code][12] + +#### 3. Scrivano + +Scrivano is a newly launched whiteboard app based on Qt technology. Its motto is “easy of use” while taking notes and other drawing activities while functionally efficient. + +It comes with some unique features such as “Snap to grid”, creating custom stickers, fill strokes, laser-like options and many more. + +In addition, you can import and annotate PDFs in this tool with various features. + +Here are some of the noteworthy features. + +Learn more about Scrivano in our [official review of this app][13]. + +![Stickers in Scrivano][14] + +You can [set up your system for Flatpak with Flathub][15] and then hit the below button to install it via [Flathub][16]. + +[Download and Install Scrivano][17] + +**More information** + +* [Scrivano review][18] +* [Home page][19] + +#### 4. Notelab + +[NoteLab][20] is one of the decade-old oldest whiteboard applications. It is a free and open-source application with a vast set of features. So you can understand how stable and popular this application is. + +Here are some of its features: + +* This app supports all popular image formats as an export option. For example, SVG, PNG, JPG, BMP, etc. +* Configuration option for pen and paper customization +* Built-in memory manager for custom allocation of memory used by NoteLab. +* Paper has several rule formats, such as broad rule, college rule, and graph paper. +* All standard drawing tools. +* You can resize, move, delete, change colour, and perform other operations in any note section. + +![NoteLab][21] + +However, this is a Java application and distributed as a .jar file. So you need the Java runtime for it to work. You can refer to our guide to installing Java or JRE in Linux systems by following the links. + +* [How to install Java/JRE in Ubuntu-based systems][22] +* [How to install Java/JRE in Arch Linux][23] + +**How to Install** + +NoteLab comes with a standalone executable .jar file, which you can download from SourceForge via the below link. Remember, you need JRE to run this application. + +[Download NoteLab][24] + +**More Information** + +* [Home Page][25] +* [Documentation][26] + +#### 5. Rnote + +The third app we want to highlight is called [Rnote][27]. Rnote is an excellent application for taking handwritten notes via touch devices. This application is vector image-based and helps to draw and annotate pictures and PDFs. It brings native .rnote file format with import/export options for png, jpeg, SVG and PDF. + +One of the cool features of Rnote is that it supports Xournal++ file format support (the first app in this list), making it a must-have tool. + +Built using GTK4 and Rust, Rnote is perfect for your GNOME desktop and all types of Linux systems. + +This application is currently under development, and keep that in mind while using it. + +![Rnote - Whiteboard Application for Linux based on GTK4 and Rust][28] + +**How to Install** + +This application is available as a Flatpak package. You can set up Flatpak for your Linux system using [this guide][29] and then click on the below button to install. + +[Install Rnote][30] + +**More Information** + +[Home page and Source code][31] + +#### 6. Lorien + +[Lorien][32] is a perfect digital notebook software for your ideation sessions where you can create notes with its various tools. Lorien is a cross-platform, free, open-source “infinite canvas drawing/note-taking” app based on Godot Game Engine. This app is a perfect fit for taking quick notes for brainstorming sessions. + +The toolbox is pretty standard, with a Freehand brush, eraser, line tool and selection tool. You can move or delete a selected section of your brushstrokes – that act as a collection of points and renders at runtime. + +![Lorien Whiteboard Application for Linux][33] + +**How to Install** + +The installation is not required to use Lorien. A self-contained executable is available from the link below (download the tar file). Once downloaded, extract the files and double-click to run. + +[Download Lorien][34] + +**More Information** + +[Home Page and Source Code][35] + +#### 7. Rainbow Board + +The Rainbow Board is a free and open-source whiteboard application based on Electron and React. In general, people do not like Electron apps due to their performance and bulky nature. But as we are listing the apps in this category, I thought it’s worth mentioning this one. + +It has a standard canvas to draw that supports touch and stylus support. The toolbox includes Brush sizes, colours, fill colours, fonts, and undo & redo actions. You can export your drawing as a PNG or SVG file. + +![Rainbow Board Whiteboard application for Linux][36] + +**How to Install** + +This application is available as Snap, Flatpak and a standalone deb installer. You can download them from the page in the below link. + +[Download Rainbow Board][37] + +**More Information** + +* [Home page][38] +* [Source code][39] + +### Honourable Mentions + +The last two drawing applications I want to mention here are Vectr and Ecxalidraw. These are web-based whiteboard drawing applications. I am putting them in a separate section because they are not desktop applications. + +So, if you are reluctant to install another app; Or use a school or work system where you do not have permission to install, you can open the web browser and use these. Here is their web address. + +[Vectr][40][Ecxalidraw][41] + +### Closing Notes + +There you go, with some modern-day whiteboard [drawing][42] applications for Linux and other operating systems. Many of you are probably taking notes in pen and paper for your online sessions or classes due to Pandemic and work-from-home situations. I am sure these will help you in your study work. + +Try these out, and you will definitely find the one best suitable for you. Let me know your comments or feedback about this list in the message box below. + +Cheers. + +*[Image credit – respective app owners. Feature image credit – unsplash][43]* + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/top-whiteboard-applications-linux/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://xournalpp.github.io/ +[2]: https://www.debugpoint.com/wp-content/uploads/2022/02/Xournal-Whiteboard-Application-for-Linux-1024x576.jpg +[3]: https://xournalpp.github.io/installation/linux/ +[4]: https://xournalpp.github.io/ +[5]: https://xournalpp.github.io/guide/overview/ +[6]: https://github.com/xournalpp/xournalpp/ +[7]: https://openboard.ch/ +[8]: https://www.debugpoint.com/wp-content/uploads/2022/02/OpenBoard.jpg +[9]: https://openboard.ch/download.en.html +[10]: https://openboard.ch/ +[11]: https://openboard.ch/support.html +[12]: https://github.com/OpenBoard-org/OpenBoard +[13]: https://www.debugpoint.com/scrivano/ +[14]: https://www.debugpoint.com/wp-content/uploads/2022/08/Stickers-in-Scrivano.jpg +[15]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[16]: https://flathub.org/apps/details/com.github.scrivanolabs.scrivano +[17]: https://dl.flathub.org/repo/appstream/com.github.scrivanolabs.scrivano.flatpakref +[18]: https://www.debugpoint.com/scrivano/ +[19]: https://scrivanolabs.github.io/ +[20]: http://java-notelab.sourceforge.net/ +[21]: https://www.debugpoint.com/wp-content/uploads/2022/02/NoteLab.jpg +[22]: https://www.debugpoint.com/2016/05/how-to-install-java-jre-jdk-on-ubuntu-linux-mint/ +[23]: https://www.debugpoint.com/2021/02/install-java-arch/ +[24]: https://sourceforge.net/projects/java-notelab/files/NoteLab/ +[25]: http://java-notelab.sourceforge.net/ +[26]: http://java-notelab.sourceforge.net/features.html +[27]: https://github.com/flxzt/rnote +[28]: https://www.debugpoint.com/wp-content/uploads/2022/02/Rnote-Whiteboard-Application-for-Linux-based-on-GTK4-and-Rust-1024x576.jpg +[29]: https://flatpak.org/setup/ +[30]: https://dl.flathub.org/repo/appstream/com.github.flxzt.rnote.flatpakref +[31]: https://github.com/flxzt/rnote +[32]: https://github.com/mbrlabs/Lorien +[33]: https://www.debugpoint.com/wp-content/uploads/2022/02/Lorien-Whiteboard-Application-for-Linux.jpg +[34]: https://github.com/mbrlabs/Lorien/releases +[35]: https://github.com/mbrlabs/Lorien +[36]: https://www.debugpoint.com/wp-content/uploads/2022/02/Rainbow-Board-Whiteboard-application-for-Linux-1024x560.jpg +[37]: https://www.electronjs.org/apps/rainbow-board +[38]: https://harshkhandeparkar.github.io/rainbow-board/ +[39]: https://github.com/HarshKhandeparkar/rainbow-board +[40]: https://vectr.com/ +[41]: https://excalidraw.com/ +[42]: https://www.debugpoint.com/tag/digital-drawing +[43]: https://unsplash.com/photos/doTjbfxrmRw From d54ce423ef0dc93067088558e8381db47659ffa3 Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 9 Oct 2022 21:54:14 +0800 Subject: [PATCH 155/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221009=205=20Great=20Subtitle=20Editors=20in=20Linux?= =?UTF-8?q?=20Systems.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Great Subtitle Editors in Linux Systems.md | 243 ++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 sources/tech/20221009 5 Great Subtitle Editors in Linux Systems.md diff --git a/sources/tech/20221009 5 Great Subtitle Editors in Linux Systems.md b/sources/tech/20221009 5 Great Subtitle Editors in Linux Systems.md new file mode 100644 index 0000000000..1409adb731 --- /dev/null +++ b/sources/tech/20221009 5 Great Subtitle Editors in Linux Systems.md @@ -0,0 +1,243 @@ +[#]: subject: "5 Great Subtitle Editors in Linux Systems" +[#]: via: "https://www.debugpoint.com/3-great-subtitle-editors-in-linux-systems/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +5 Great Subtitle Editors in Linux Systems +====== +In this article, I will talk about free and open-source subtitle editors for Linux systems. + +With the advancement of technology, AI and ML, subtitle editors are not that much in demand. Because AI-ML models can generate subtitles on the fly. For example, most popular streaming platforms, such as YouTube, can automatically auto-generated subtitles on LIVE or recorded media. + +There are few subtitle editors in the Linux world; those are available, for some of the development is already stopped (e.g. Aegisub) and become obsolete. + +Here are some of the subtitle editors for Linux systems – that are still in use. + +### Subtitle Editors for Ubuntu and other Linux + +#### 1. Gaupol Subtitle Editor + +Gaupol is a subtitle editor for text-based files. It helps to create subtitles, edit texts, and time the subtitles to match the video. The simple UI is based on the GTK+ toolkit and is easy to use, and helps bulk subtitle processing of multiple subtitle files. Gaupol is open-sourced (see source link below) and can run on all Unix-like OSes. + +Gaupol includes a separately installable, user-interface-independent, general-purpose Python package, “aeidon”, for reading, writing, and manipulating text-based subtitle files. + +Gaupol is released under the GNU General Public License (GPL). + +#### How to install Gaupol + +##### Ubuntu, Mint, Debian, elementary, Fedora + +Gaupol comes with a Flatpak package that can run in any Linux distribution. You can download the Flatpak package from the below link. Make sure your [set up your system for Flatpak using Flathub][1] before installing. + +[Download Gaupol][2] + +#### Screenshots + +![gaupol; Image Credit: gaupol][3] + +#### Links + +* Website: [gaupol][4] +* Download for other Linux distributions: [download][5] +* Source: [GitHub][6] +* Bug Report: [gaupol bug reports][7] + +#### 2. Subtitle Composer + +The Subtitle Composer is a video subtitle editor that supports basic and advanced editing operations. It comes with a wide range of features which makes it a complete subtitle editor. Some of the noteworthy features includes speech recognition from audio or video file, translations, live preview, sync and many more. + +Installing Subtitle Composer is easy via Flatpak. [Set up your system as Flatpak for Flathub][8] and then hit the isntall button this page. + +[Download and Install Subtitle Composer][9] + +This app perhapes the best subtitle editor in this list. + +You can learn more about it in the [home page.][10] + +![Subtitle Composer][11] + +#### 3. Subtitle Editor + +Subtitle Editor is a GTK+3 tool to edit subtitles for GNU/Linux/*BSD. It can be used for new subtitles or as a tool to transform, edit, correct and refine existing subtitles. This program also shows sound waves, making synchronising subtitles to voices easier. + +Subtitle Editor is free software released under the GNU General Public License (GPL3). + +#### Feature Highlights + +* Multiple document interface +* Video player integrated into the main window (based on GStreamer) +* Can play preview with an external video player (using MPlayer or other) +* Can be used for timing +* Generate and display a waveform +* Generate and display keyframes +* Can be used for translating +* Shows subtitles over the video +* Style Editor +* Spell checking +* Text correction (Space around punctuation, capitalize, empty subtitle …) +* Errors checking (Overlapping, too short or long duration …) +* Framerate conversion +* Edit times and frames +* Scale subtitles +* Split or joint subtitles +* Edit text and adjust the time (start, end) +* Find and replace (Support regular expressions) +* Sort subtitles +* Typewriter effect +* Lots of timing and editing tools + +#### Supported File Formats + +* Adobe Encore DVD +* Advanced SubStation Alpha +* Burnt-in timecode (BITC) +* MicroDVD +* MPL2 +* MPsub (MPlayer subtitle) +* SBV +* Spruce STL +* SubRip +* Sub Station Alpha +* SubViewer 2.0 +* Timed Text Authoring Format (TTAF) + +#### How to install Subtitle Editor + +##### Ubuntu, Mint, Debian, elementary, Fedora + +There is no executable installer available yet. Download the tar file from the below link[subtitleeditor][12] + +Extract the files. Run the below commands from the extracted directory to compile from the source: + +``` +./configure +make +sudo make install +``` + +#### Screenshots + +![SubtitleEditor; Image Credit: subtitleeditor][13] + +#### Links + +* Website: [subtitleeditor][14] +* Download for other Linux distributions: [download][15] +* Source: [subtitle editor source][16] + +#### 4. GNOME Subtitles + +Gnome Subtitles is a subtitle editor for the GNOME desktop. It supports the most common text-based subtitle formats, video previewing, timings synchronization and subtitle translation. + +#### Feature Highlights + +* Synchronize using the video by setting two or more correct times (sync points) +* Auto-adjust timings based on two correct times/sync points +* Shift subtitles by a specified delay (can be based on the video) +* Convert between framerates +* Apply a reaction delay +* Shortcuts for quick synchronization +* Playback the videos showing subtitles with formatting +* Drag-and-drop files +* Can be used for timings synchronization +* Fast and slow-motion playback +* Subtitle translation support +* Merge and split subtitle lines +* Supports formatting while editing subtitles +* Spell checking support +* Edit subtitle headers +* Find and Replace supports regular expressions +* Multi-level undo/redo +* Drag-and-drop files +* Character coding and subtitle format auto-detection (on file open) +* Relaxed subtitle parsing to read subtitles that contain errors +* Support for more than 20 subtitle file formats + +#### How to install GNOME Subtitles + +##### Ubuntu, Mint, Debian, elementary + +Run the below commands from the terminal and enter the password when prompted. + +``` +sudo add-apt-repository ppa:pedrocastro/ppa +sudo apt-get update +sudo apt-get install gnome-subtitles +``` + +#### Screenshots + +![GnomeSubtitles; Imae Credit: GnomeSubtitle][17] + +#### Links + +* Website: [gnome subtitle][18] +* Download for other Linux distributions: [download][19] + +#### 5. Subtitled + +[Subtitled][20] is a modern subtitle editor that is full of features. Using this, you can create new subtitles, transcribe them, and edit them as well. It supports popular SRT format along with SSA, TTML, SBV, DFXP, VTT, XML, SCC, and SAMI as well. + +![Introducing a new subtitle editor - Subtitld][21] + +It is available as a snap application at the moment. If you are using Ubuntu, you can easily search in Software and install it from [this link][22]. + +And the same installation applies to all snap-supported Linux distributions. If you are a terminal-savvy person, you can install using the below. + +It is also cross-platform, and a Windows build is available. Download from [here][23]. + +##### Links + +* [Home page][24] +* [bug reports @GitLab][25] + +### Wrapping Up + +I hope this list of five subtitle editors in Linux systems can help you with your use case. The above list is current, and all of them are in active development as of publishing this version. + +Do let me know if you know any other subtitle editor which is not on this list. + +*Some image credits: Respective app owner* + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/3-great-subtitle-editors-in-linux-systems/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[2]: https://flathub.org/apps/details/io.otsaloma.gaupol +[3]: https://www.debugpoint.com/wp-content/uploads/2015/08/gaupol.png +[4]: https://otsaloma.io/gaupol/ +[5]: https://repology.org/project/gaupol/versions +[6]: https://github.com/otsaloma/gaupol +[7]: https://github.com/otsaloma/gaupol +[8]: https://www.debugpoint.com/how-to-install-flatpak-apps-ubuntu-linux/ +[9]: https://flathub.org/apps/details/org.kde.subtitlecomposer +[10]: https://subtitlecomposer.kde.org/ +[11]: https://www.debugpoint.com/wp-content/uploads/2015/08/Subtitle-Composer.jpg +[12]: https://github.com/kitone/subtitleeditor/releases +[13]: https://www.debugpoint.com/wp-content/uploads/2015/08/SubtitleEditor.png +[14]: http://kitone.github.io/subtitleeditor/ +[15]: https://github.com/kitone/subtitleeditor/releases +[16]: https://github.com/kitone/subtitleeditor +[17]: https://www.debugpoint.com/wp-content/uploads/2015/08/GnomeSubtitles.png +[18]: http://gnome-subtitles.sourceforge.net/ +[19]: https://gnomesubtitles.org/download +[20]: https://subtitld.jonata.org/ +[21]: https://youtu.be/nMvB21YjwAU +[22]: https://snapcraft.io/subtitld +[23]: https://subtitld.jonata.org/#download +[24]: https://subtitld.jonata.org/ +[25]: https://gitlab.com/jonata/subtitld/-/issues From 94faf478edc59d94f696e580214908c6a773d71b Mon Sep 17 00:00:00 2001 From: lkxed Date: Sun, 9 Oct 2022 21:54:54 +0800 Subject: [PATCH 156/170] =?UTF-8?q?[=E6=89=8B=E5=8A=A8=E9=80=89=E9=A2=98][?= =?UTF-8?q?tech]:=2020221008=20How=20to=20Create=20LVM=20Partition=20Step-?= =?UTF-8?q?by-Step=20in=20Linux.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ate LVM Partition Step-by-Step in Linux.md | 216 ++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 sources/tech/20221008 How to Create LVM Partition Step-by-Step in Linux.md diff --git a/sources/tech/20221008 How to Create LVM Partition Step-by-Step in Linux.md b/sources/tech/20221008 How to Create LVM Partition Step-by-Step in Linux.md new file mode 100644 index 0000000000..5d658c3ca9 --- /dev/null +++ b/sources/tech/20221008 How to Create LVM Partition Step-by-Step in Linux.md @@ -0,0 +1,216 @@ +[#]: subject: "How to Create LVM Partition Step-by-Step in Linux" +[#]: via: "https://www.linuxtechi.com/how-to-create-lvm-partition-in-linux/" +[#]: author: "James Kiarie https://www.linuxtechi.com/author/james/" +[#]: collector: "lkxed" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +How to Create LVM Partition Step-by-Step in Linux +====== +In this guide, we will cover how to create lvm partition step-by-step in Linux. + +LVM stands for Logical Volume Management, it is the recommended way to manage disk or storage on Linux systems specially for servers. One of the main advantages of LVM partition is that we can extend its size online without any downtime. LVM partition can also be reduced but it is not recommended. + +For the demo purpose, I have attached 15GB disk to my Ubuntu 22.04 system, we will create LVM partition on this disk from the command line. + +##### Prerequisites + +* Raw disk attached to Linux system +* Local User with Sudo rights +* Pre-Installed  lvm2 package + +Without further ado, let’s deep dive into the steps. + +### Step 1) Identify new attached raw disk + +Login to your system, open the terminal and run following dmesg command, + +``` +$ sudo dmesg | grep -i sd +``` + +In the output, look for new disk attached of size 15GB, + +![dmesg-command-new-attached-disk-linux][1] + +Alternate way to identify new attached raw disk is via fdisk command, + +``` +$ sudo fdisk -l | grep -i /dev/sd +``` + +Output, + +![fdisk-command-output-new-disk][2] + +From output above, it is confirmed that new attached disk is ‘/dev/sdb’ + +### Step 2) Create PV (Physical Volume) + +Before start creating pv on disk /dev/sdb, make sure lvm2 package is installed. In case it is not installed, then run following command, + +``` +$ sudo apt install lvm2     // On Ubuntu / Debian +$ sudo dnf install lvm2    // on RHEL / CentOS +``` + +Run following pvcreate command to create pv on disk /dev/sdb, + +``` +$ sudo pvcreate /dev/sdb +  Physical volume "/dev/sdb" successfully created. +$ +``` + +To verify pv status run, + +``` +$ sudo pvs /dev/sdb +Or +$ sudo pvdisplay /dev/sdb +``` + +![pvdisplay-command-output-linux][3] + +### Step 3) Create VG (Volume Group) + +To create a volume group, we will use vgcreate command. Creating VG means adding pv to the volume group. + +Syntax : + +``` +$ sudo vgcreare   +``` + +In our case, command would be, + +``` +$ sudo vgcreate volgrp01 /dev/sdb +  Volume group "volgrp01" successfully created +$ +``` + +Run following commands to verify the status of vg (volgrp01) + +``` +$ sudo vgs volgrp01 +Or +$ sudo vgdisplay volgrp01 +``` + +Output of above commands, + +![vgs-command-output-linux][4] + +Above output confirms that volume group (volgrp01) of size 15 GiB is created successful and size of one physical extend (PE) is 4 MB. PE size can be changed while creating vg. + +### Step 4) Create LV (Logical Volume) + + +Lvcreate command is used to create LV from the VG. Syntax of lvcreate command would look like below, + +``` +$ sudo lvcreate -L -n    +``` + +In our case, following command will be used to create lv of size 14 GB + +``` +$ sudo lvcreate -L 14G -n lv01 volgrp01 +  Logical volume "lv01" created. +$ +``` + +Validate the status of lv, run + +``` +$ sudo lvs /dev/volgrp01/lv01 +or +$ sudo lvdisplay /dev/volgrp01/lv01 +``` + +Output, + +![lvs-command-output-linux][5] + +Output above shows that LV (lv01) has been created successfully of size 14 GiB. + +### Step 5) Format LVM Partition + +Use mkfs command to format the lvm partition. In our case lvm partition is /dev/volgrp01/lv01 + +Note:  We can format the partition either ext4 or xfs, so choose the file system type according to your setup and requirement. + +Run following command to format LVM partition as ext4 file system. + +``` +$ sudo mkfs.ext4 /dev/volgrp01/lv01 +``` + +![mkfs-ext4-filesystem-lvm][6] + +Execute beneath command to format the lvm partition with xfs file system, + +``` +$ sudo mkfs.xfs /dev/volgrp01/lv01 +``` + +To use above formatted partition, we must mount it on some folder. So, let’s create a folder /mnt/data + +``` +$ sudo mkdir /mnt/data +``` + +Now run mount command to mount it on /mnt/data folder, + +``` +$ sudo mount /dev/volgrp01/lv01 /mnt/data/ +$ df -Th /mnt/data/ +Filesystem                Type  Size  Used Avail Use% Mounted on +/dev/mapper/volgrp01-lv01 ext4   14G   24K   13G   1% /mnt/data +$ +``` + +Try to create some dummy file, run following commands, + +``` +$ cd /mnt/data/ +$ echo "testing lvm partition" | sudo tee  dummy.txt +$ cat dummy.txt +testing lvm partition +$ +$ sudo rm -f  dummy.txt +``` + +Perfect, above commands output confirm that we can access lvm partition. + +To mount above lvm partition permanently, add its entries in fstab file using following echo command, + +``` +$ echo '/dev/volgrp01/lv01  /mnt/data  ext4  defaults 0 0' | sudo  tee -a /etc/fstab +$ sudo mount -a +``` + +That’s all from this guide, thanks for the reading. Kindly do post your queries and feedback in below comments section. + +-------------------------------------------------------------------------------- + +via: https://www.linuxtechi.com/how-to-create-lvm-partition-in-linux/ + +作者:[James Kiarie][a] +选题:[lkxed][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.linuxtechi.com/author/james/ +[b]: https://github.com/lkxed +[1]: https://www.linuxtechi.com/wp-content/uploads/2022/10/dmesg-command-new-attached-disk-linux.png +[2]: https://www.linuxtechi.com/wp-content/uploads/2022/10/fdisk-command-output-new-disk.png +[3]: https://www.linuxtechi.com/wp-content/uploads/2022/10/pvdisplay-command-output-linux.png +[4]: https://www.linuxtechi.com/wp-content/uploads/2022/10/vgs-command-output-linux.png +[5]: https://www.linuxtechi.com/wp-content/uploads/2022/10/lvs-command-output-linux.png +[6]: https://www.linuxtechi.com/wp-content/uploads/2022/10/mkfs-ext4-filesystem-lvm.png From f09a0620de3777feaec41cbcb76991d270f1b736 Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Sun, 9 Oct 2022 14:58:23 -0400 Subject: [PATCH 157/170] =?UTF-8?q?[=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90]?= =?UTF-8?q?=20[news]=2020221006=20A=20New=20Open=20Source=20Vulkan=20Drive?= =?UTF-8?q?r=20for=20NVIDIA=20Graphics=20is=20Ready=20to=20Test!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...r for NVIDIA Graphics is Ready to Test!.md | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md b/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md index 1bbad1cbd5..6856469292 100644 --- a/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md +++ b/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md @@ -7,65 +7,65 @@ [#]: publisher: " " [#]: url: " " -A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test! +一个全新的用于 NVIDIA 显卡的开源 Vulkan 驱动已经准备好测试了! ====== -A new open-source driver is in the making for NVIDIA graphics! Some good progress here... +为 NVIDIA 显卡开发的一个全新的开源驱动正在开发中!这里有一些好的进展…… -![A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!][1] +![一个全新的用于 NVIDIA 显卡的开源 Vulkan 驱动已经准备好测试了!][1] -**NVK** is a new open-source Vulkan driver for NVIDIA Graphics hardware and aims to be the new go-to graphics driver. +**NVK** 是一个全新的用于 NVIDIA 显卡的开源 Vulkan 驱动,它的目标是成为新的主流显卡驱动。 -This was made possible in part due to Nvidia releasing open-source GPU kernel modules for its data center GPUs and consumer cards (GTX/RTX). +这成为可能的部分原因是因为 Nvidia 开源了数据中心 GPU 和消费级 GPU(GTX/RTX)的 GPU 内核模块。 -[NVIDIA Takes a Big Step to Improve its GPU Experience on Linux][2] +[NVIDIA 在改善其 GPU 在 Linux 上的体验方面迈出了重要的一步][2] -It has enabled developers to improve open-source drivers and enable more features than what was possible before. +它使开发人员能够改进开源驱动程序并启用比以前更多的功能。 -Let's take a look at what NVK has to offer. +让我们来看看 NVK 可以提供什么。 -### New NVK Open-Source Driver for NVIDIA GPU +### 适用于 NVIDIA GPU 的新 NVK 开源驱动程序 -**Jason Ekstrand** (engineer at Collabora) and a few others from Red Hat have been writing the code for NVK for the past few months. +**Jason Ekstrand**(Collabora 的工程师)和 Red Hat 的其他人已经在过去几个月里编写了 NVK 的代码。 -They could take advantage of the unified firmware BLOBs that Turing GPUs offer, and built on top of it with Vulkan support. +他们可以利用 Turing 显卡提供的统一固件 BLOB,然后在其上构建 Vulkan 支持。 -**But, open-source nouveau drivers exist, right?** +**但是,nouveau 开源驱动程序已经存在了,对吗?** -NVK is very different from the nouveau drivers, as it has been written from scratch. +NVK 与其他的 nouveau 驱动非常不同,因为它是从头开始编写的。 -Nouveau, a major open-source driver suite for Nvidia GPUs has fallen into disrepair, and trying to build on it is a task not many can take up. +noiveau,一个重要的 Nvidia 显卡的开源驱动程序,已经年久失修了,试图在它的基础上构建是一个很多人都无法承担的任务。 -Of course, skillful engineers worked on it, but lack of corporate backing and contributors affected its evolution. +当然,它是由有很多才华的工程师开发的,但是缺乏公司的支持和贡献者的影响了它的发展。 -**NVK aims to get over those while focusing on support for GPUs of the Turing series and later to start with.** +**NVK 旨在克服这些问题,同时专注于对 Turing 系列及更高版本 GPU 的支持。** -Support for older GPUs such as Kepler, Maxwell, and Pascal might not come to NVK that easily, because of how the kernel is being developed. It might have a hard dependency on the new kernel, resulting in support for newer GPUs only. +由于内核的开发方式,对于 Kepler、Maxwell 和 Pascal 等较旧的 GPU 的支持可能不会很容易地加入 NVK。它可能会对新内核有一个很大的依赖,从而只支持较新的 GPU。 -Also, the nouveau kernel interface not playing nice with Vulkan and hindering support for older GPUs. +同时,nouveau 内核接口与 Vulkan 不兼容,阻碍了对较旧 GPU 的支持。 -But, there is still scope for further testing, which can result in support for older GPUs with NVK. +但是,仍然有进一步测试的空间,这可能会让 NVK 可以支持较旧的 GPU。 -Of course, with more community contributions, NVK can be improved with additional features and GPU support. +当然,随着更多的社区贡献,NVK 可以通过增加额外的功能和 GPU 支持来改进。 -### How To Try It Out? +### 如何尝试它? -NVK is currently available in a very alpha-build state, with many features missing and under constant development. +NVK 目前处于非常初级的状态,有很多功能缺失,并且正在不断开发中。 -**So, it is not yet ready for all kinds of users to get a hands on it.** +**所以,它还不适合让所有类型的用户尝试。** -You can still try it out by pulling and building it from the nvk/main branch from the [nouveau/mesa project][4] on freedesktop.org. +你还是可以通过拉取 freedesktop.org 上的 [nouveau/mesa 项目][4] 的 nvk/main 分支并构建它来尝试它。 -If you want, you can also contribute to the development of NVK by heading over to the [nvk/main branch][5] of the same. +如果你想的话,你也可以通过贡献到同一个 [nvk/main 分支][5] 来帮助 NVK 的开发。 -For more technical info, you can refer to the [official announcement][6]. +对于更多的技术信息,你可以参考 [官方公告][6]。 -### Future Potential +### 未来潜力 -NVK has a lot of potential, especially compared to the aging [nouveau][7] graphics driver suite. +NVK 有很多潜力,尤其是与老化的 [nouveau][7] 图形驱动套件相比。 -This can lead to a proper successor of nouveau and a mainstream open-source Nvidia graphics driver suite for Linux with a lot of functionality on offer. +这可以为 nouveau 带来一个合适的继承者,同时为 Linux 提供一个带有很多功能的,主流的开源 Nvidia 图形驱动套件。 -💬 *What are your thoughts on this? Do you think this will finally achieve what nouveau drivers failed to?* +💬 *你对此有什么看法?你认为这最终能够实现 nouveau 驱动程序所未能实现的吗?* -------------------------------------------------------------------------------- From 70e489cf8851f4a9c0740f9b5e25aeae462dfbf3 Mon Sep 17 00:00:00 2001 From: Cubik65536 Date: Sun, 9 Oct 2022 14:58:46 -0400 Subject: [PATCH 158/170] =?UTF-8?q?[=E7=A7=BB=E5=8A=A8=E7=BF=BB=E8=AF=91]?= =?UTF-8?q?=20[news]=2020221006=20A=20New=20Open=20Source=20Vulkan=20Drive?= =?UTF-8?q?r=20for=20NVIDIA=20Graphics=20is=20Ready=20to=20Test!.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md (100%) diff --git a/sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md b/translated/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md similarity index 100% rename from sources/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md rename to translated/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md From 8540bd595d1c575f2ec074cd7d5f71315a5bdd08 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 10 Oct 2022 08:37:19 +0800 Subject: [PATCH 159/170] translated --- ...icture in Picture Mode in Brave Browser.md | 101 ------------------ ...icture in Picture Mode in Brave Browser.md | 100 +++++++++++++++++ 2 files changed, 100 insertions(+), 101 deletions(-) delete mode 100644 sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md create mode 100644 translated/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md diff --git a/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md b/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md deleted file mode 100644 index fa87f754b7..0000000000 --- a/sources/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md +++ /dev/null @@ -1,101 +0,0 @@ -[#]: subject: "How to Use Picture in Picture Mode in Brave Browser" -[#]: via: "https://itsfoss.com/picture-in-picture-brave/" -[#]: author: "Abhishek Prakash https://itsfoss.com/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -How to Use Picture in Picture Mode in Brave Browser -====== - -Brave is an excellent Chrome-like and yet [Chrome alternative web browser][1]. - -[Firefox and Brave][2] are two browsers I like using on my Linux system. Both have different advantages. - -There is one thing that Firefox does better than Brave and it is the picture-in-picture (PIP) mode that works on YouTube, Netflix and most streaming sites. - -Brave too has picture-in-picture mode but it’s so hidden that you feel like there is no PIP support at all. - -The built-in picture-in-picture works on some websites (like YouTube) but may not work on others (like Prime Video). Worry not! you can use a dedicated extension for that. - -Let me show both methods in this tutorial. - -### Method 1: Use double right click on the video - -**The trick is to do two right clicks one after another and you should see the option Picture in Picture mode.** - -Let me show this by an example. Play a YouTube video in Brave. Now right-click on the video. You - -![Move the cursor slightly away from the context menu after the first right click][3] - -Do another right click. It should be on the video but not on the previous context menu. Just someplace else on the video. - -Now you should see another context menu with the Picture in picture option. - -![You should see the Picture in picture option in the second right click][4] - -Select the Picture in picture and the video will pop out in its own window. You can move it anywhere in the browser. - -![Picture-in-picture mode in Brave browser][5] - -You can also keep it playing anywhere on the screen while you use some other application. - -![Brave playing picture in picture mode][6] - -You can resize the pop-up window as per your liking in the recent Brave versions. - -I don’t understand why Brave has it hidden like this. Why not give it prominence? - -Anyway, this works on websites like YouTube but may not work on Prime videos. If you want that, you can install an extension. - -### Method 2: Use Picture-in-Picture extension - -There is an official plugin from Google that allows you to get the Picture-in-Picture feature in Google Chrome. Since Brave is based on Chromium, you can use the same extension in Brave. - -[Picture-in-Picture Extension][7] - -Go to the extension page and **hit the Add to Brave button**. - -![Add Picture-in-Picture Extension to Brave][8] - -When you click on that, it gives you the option to add the extension. - -![Add the extension][9] - -Once you have added the extension, you should see it in the top right corner of the browser. - -![Using Picture in Picture Extension][10] - -When you are playing a video, click on the extension and the video should pop out. - -### Were you able to enable PIP mode in Brave? - -Picture in Picture mode has become an essential feature for casual streaming consumption. I find it strange that Brave and other browsers haven’t paid enough attention to it. Firefox handles it excellently. - -I hope this quick little tip helped you to get the PIP experience in Brave browser. Which of the two methods do you prefer? Right-click or the extension? - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/picture-in-picture-brave/ - -作者:[Abhishek Prakash][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/ -[b]: https://github.com/lkxed -[1]: https://itsfoss.com/open-source-browsers-linux/ -[2]: https://itsfoss.com/brave-vs-firefox/ -[3]: https://itsfoss.com/wp-content/uploads/2022/09/getting-picture-in-picture-in-brave-1.png -[4]: https://itsfoss.com/wp-content/uploads/2022/09/getting-picture-in-picture-in-brave-2.webp -[5]: https://itsfoss.com/wp-content/uploads/2022/09/brave-picture-in-picture-youtube.webp -[6]: https://itsfoss.com/wp-content/uploads/2022/09/brave-playing-picture-in-picture-mode-on-screen.webp -[7]: https://chrome.google.com/webstore/detail/picture-in-picture-extens/hkgfoiooedgoejojocmhlaklaeopbecg/related?hl=en-US -[8]: https://itsfoss.com/wp-content/uploads/2022/09/picture-in-picture-extension-google-chrome-web.png -[9]: https://itsfoss.com/wp-content/uploads/2022/09/add-picture-in-picture-extension-to-brave.webp -[10]: https://itsfoss.com/wp-content/uploads/2022/09/picture-in-picture-extension.png diff --git a/translated/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md b/translated/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md new file mode 100644 index 0000000000..42d02d4ef2 --- /dev/null +++ b/translated/tech/20220929 How to Use Picture in Picture Mode in Brave Browser.md @@ -0,0 +1,100 @@ +[#]: subject: "How to Use Picture in Picture Mode in Brave Browser" +[#]: via: "https://itsfoss.com/picture-in-picture-brave/" +[#]: author: "Abhishek Prakash https://itsfoss.com/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +如何在 Brave 浏览器中使用画中画模式 +====== +Brave 是一款出色的类似于 Chrome, 但可[替代 Chrome 的网络浏览器][1]。 + +[Firefox 和 Brave][2] 是我喜欢在 Linux 系统上使用的两种浏览器。两者都有不同的优势。 + +Firefox 比 Brave 做得更好的一件事就是画中画 (PIP) 模式,它适用于 YouTube、Netflix 和大多数流媒体网站。 + +Brave 也有画中画模式,但它是如此隐藏,以至于你觉得根本没有 PIP 支持。 + +内置画中画适用于某些网站(如 YouTube),但可能不适用于其他网站(如 Prime Video)。不用担心!你可以为此使用专用扩展。 + +让我在本教程中展示这两种方法。 + +### 方法 1:在视频上双击右键 + +**技巧是依次单击两次右键,你应该会看到画中画模式选项。** + +让我通过一个例子来说明这一点。在 Brave 中播放 YouTube 视频。现在右键单击视频。 + +![第一次右键单击后将光标从上下文菜单稍微移开][3] + +再次右键单击。它应该在视频上,但不在上一个上下文菜单上。就在视频的其他地方。 + +现在你应该看到另一个带有画中画选项的上下文菜单。 + +![你应该在第二次右键单击中看到画中画选项][4] + +选择画中画,视频将从窗口中弹出。你可以将其移动到浏览器中的任何位置。 + +![Brave 浏览器画中画模式][5] + +当你使用其他应用时,你还可以让它在屏幕上的任何位置播放。 + +![Brave 在画中画模式中播放影片][6] + +在最近的 Brave 版本中,您可以根据自己的喜好调整弹出窗口的大小。 + +我不明白为什么 Brave 把它隐藏成这样。为什么不突出它? + +无论如何,这适用于 YouTube 等网站,但可能不适用于 Prime 视频。如果你愿意,你可以安装一个扩展。 + +### 方法 2:使用画中画扩展 + +Google 提供了一个官方插件,可让你在 Google Chrome 中获得画中画功能。由于 Brave 基于 Chromium,你可以在 Brave 中使用相同的扩展。 + +[画中画扩展][7] + +进入扩展页面并**点击 Add to Brave 按钮**。 + +![为 Brave 添加画中画扩展][8] + +当你单击它时,它会提示添加扩展的选项。 + +![添加扩展][9] + +添加扩展后,你应该会在浏览器的右上角看到它。 + +![使用画中画扩展][10] + +播放视频时,单击扩展名,视频应该会弹出。 + +### 你能在 Brave 中启用 PIP 模式吗? + +画中画模式已成为休闲流媒体消费的必备功能。我觉得奇怪的是,Brave 和其他浏览器没有足够重视它。 Firefox 处理得很好。 + +我希望这个快速的小技巧可以帮助你在 Brave 浏览器中获得 PIP 体验。你更喜欢这两种方法中的哪一种?右键单击还是扩展? + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/picture-in-picture-brave/ + +作者:[Abhishek Prakash][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/ +[b]: https://github.com/lkxed +[1]: https://itsfoss.com/open-source-browsers-linux/ +[2]: https://itsfoss.com/brave-vs-firefox/ +[3]: https://itsfoss.com/wp-content/uploads/2022/09/getting-picture-in-picture-in-brave-1.png +[4]: https://itsfoss.com/wp-content/uploads/2022/09/getting-picture-in-picture-in-brave-2.webp +[5]: https://itsfoss.com/wp-content/uploads/2022/09/brave-picture-in-picture-youtube.webp +[6]: https://itsfoss.com/wp-content/uploads/2022/09/brave-playing-picture-in-picture-mode-on-screen.webp +[7]: https://chrome.google.com/webstore/detail/picture-in-picture-extens/hkgfoiooedgoejojocmhlaklaeopbecg/related?hl=en-US +[8]: https://itsfoss.com/wp-content/uploads/2022/09/picture-in-picture-extension-google-chrome-web.png +[9]: https://itsfoss.com/wp-content/uploads/2022/09/add-picture-in-picture-extension-to-brave.webp +[10]: https://itsfoss.com/wp-content/uploads/2022/09/picture-in-picture-extension.png From 2dfb298baea04fb42a2cb7cc5597bc9679723368 Mon Sep 17 00:00:00 2001 From: geekpi Date: Mon, 10 Oct 2022 08:39:55 +0800 Subject: [PATCH 160/170] translating --- ...002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md b/sources/tech/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md index b33ab5a851..24a1b9ea37 100644 --- a/sources/tech/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md +++ b/sources/tech/20221002 How to Enable RPM Fusion Repo in Fedora, CentOS, RHEL.md @@ -2,7 +2,7 @@ [#]: via: "https://www.debugpoint.com/enable-rpm-fusion-fedora-rhel-centos/" [#]: author: "Arindam https://www.debugpoint.com/author/admin1/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From ca5938be6c285429b8c760161752162763098c03 Mon Sep 17 00:00:00 2001 From: MareDevi Date: Mon, 10 Oct 2022 10:01:40 +0800 Subject: [PATCH 161/170] =?UTF-8?q?=E7=94=B3=E9=A2=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... The story behind Joplin, the open source note-taking app.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20220926 The story behind Joplin, the open source note-taking app.md b/sources/talk/20220926 The story behind Joplin, the open source note-taking app.md index 5cb0562ce8..ab229e6dba 100644 --- a/sources/talk/20220926 The story behind Joplin, the open source note-taking app.md +++ b/sources/talk/20220926 The story behind Joplin, the open source note-taking app.md @@ -2,7 +2,7 @@ [#]: via: "https://opensource.com/article/22/9/joplin-interview" [#]: author: "Richard Chambers https://opensource.com/users/20i" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "MareDevi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From e0f7fc359cfeddb9d8e38292b51fea206c0da37d Mon Sep 17 00:00:00 2001 From: chai001125 <94744119+chai001125@users.noreply.github.com> Date: Mon, 10 Oct 2022 10:37:34 +0800 Subject: [PATCH 162/170] Update 20220906 Advantages and Disadvantages of Using Linux.md --- .../20220906 Advantages and Disadvantages of Using Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/talk/20220906 Advantages and Disadvantages of Using Linux.md b/sources/talk/20220906 Advantages and Disadvantages of Using Linux.md index d185cf6594..dd8ee7114d 100644 --- a/sources/talk/20220906 Advantages and Disadvantages of Using Linux.md +++ b/sources/talk/20220906 Advantages and Disadvantages of Using Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://itsfoss.com/advantages-linux/" [#]: author: "Ankush Das https://itsfoss.com/author/ankush/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "chai001125" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From f3821b8b5c6bd106c2ce83a40284b8b07dce65fb Mon Sep 17 00:00:00 2001 From: Donkey Date: Mon, 10 Oct 2022 11:14:51 +0800 Subject: [PATCH 163/170] translated --- ...22 5 Git configurations I make on Linux.md | 61 ++++++++++--------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/sources/tech/20220922 5 Git configurations I make on Linux.md b/sources/tech/20220922 5 Git configurations I make on Linux.md index 5f5d2a73de..350552939a 100644 --- a/sources/tech/20220922 5 Git configurations I make on Linux.md +++ b/sources/tech/20220922 5 Git configurations I make on Linux.md @@ -7,21 +7,21 @@ [#]: publisher: " " [#]: url: " " -5 Git configurations I make on Linux +我在 Linux 中使用的 5 个 Git 配置 ====== -This is a simple guide to quickly get started working with Git and a few of its many configuration options. +这份简要指南能够帮助你快速开始使用 Git,以及配置一些选项。 ![Linux keys on the keyboard for a desktop computer][1] -Setting up Git on Linux is simple, but here are the five things I do to get the perfect configuration: +在 Linux 中设置 Git 十分简单,但为了获得完美的配置,我做了以下五件事: -1. [Create global configuration][2] -2. [Set default name][3] -3. [Set default email address][4] -4. [Set default branch name][5] -5. [Set default editor][6] +1. [创建全局配置][2] +2. [设置默认名称][3] +3. [设置默认邮箱地址][4] +4. [设置默认分支名称][5] +5. [设置默认编辑器][6] -I manage my code, shell scripts, and documentation versioning using Git. This means that for each new project I start, the first step is to create a directory for its content and make it into a Git repository: +我使用 Git 管理我的代码、命令行脚本以及文档版本。这意味着每次我开始一项新的任务,首先我需要创建一个文件目录并将其添加到 Git 库中: ``` $ mkdir newproject @@ -29,18 +29,18 @@ $ cd newproject $ git init ``` -There are certain general settings that I always want. Not many, but enough that I don't want to have to repeat the configuration each time. I like to take advantage of the *global* configuration capability of Git. +有一些我一直想要的常规设置。不多,但可以避免我每次都进行配置。我喜欢利用 Git 的 *全局* 配置功能。 -Git offers the `git config` command for manual configuration but this is a lot of work with certain caveats. For example, a common item to set is your email address. You can set it by running `git config user.email` followed by your email address. However, this will only take effect if you are in an existing Git directory: +Git 提供了进行手动配置的 `git config` 命令,但这有一些注意事项。例如,通常你会设置邮箱地址。你可以通过运行 `git config user.email 你的邮件地址` 命令进行设置。然而,这只会在你当前所在的 Git 目录下起作用。 ``` $ git config user.email alan@opensource.com fatal: not in a git directory ``` -Plus, when this command is run within a Git repository, it only configures that specific one. The process must be repeated for new repositories. I can avoid this repetition by setting it globally. The *--global* option will instruct Git to write the email address to the global configuration file; `~/.gitconfig`, even creating it if necessary: +此外,当这个命令在 Git 仓库中运行时,它只会配置特定的一个。在新的仓库中,你不得不重复这个步骤。我可以通过全局配置来避免重复。选项 *--global* 会指示 Git 将邮箱地址写入全局配置 `~/.gitconfig` 文件中,甚至在必要时会创建它: -> Remember, the tilde (~) character represents your home directory. In my case that is /home/alan. +> 请记住,波浪线(~) 代表你的 `home` 文件夹。在我的电脑中它是 `/home/alan`。 ``` $ git config --global user.email alan@opensource.com @@ -49,17 +49,17 @@ $ cat ~/.gitconfig         email = alan@opensource.com ``` -The downside here is if you have a large list of preferred settings, you will have a lot of commands to enter. This is time-consuming and prone to human error. Git provides an even more efficient and convenient way to directly edit your global configuration file—that is the first item on my list! +这里的缺点是,如果你有大量偏好设置,需要输入很多命令,这将花费大量时间并且很容易出错。Git 提供了更加快捷有效的方式,可以直接编辑你的全局配置文件——这是我列表中的第一项! -### 1. Create global configuration +### 1. 创建全局配置 -If you have just started using Git, you may not have this file at all. Not to worry, let's skip the searching and get started. Just use the `--edit` option: +如果你刚开始使用 Git,或许你还没有该文件。不用担心,让我们直接开始。只需要用 `--edit` 选项: ``` $ git config --global --edit ``` -If no file is found, Git will generate one with the following content and open it in your shell environment's default editor: +如果没有该文件,Git 将会创建一个包含以下内容的新文件,并使用你终端的默认编辑器打开它: ``` # This is Git's per-user configuration file. @@ -73,19 +73,19 @@ If no file is found, Git will generate one with the following content and open i "~/.gitconfig" 5L, 155B                                     1,1           All ``` -Now that we have opened the editor and Git has created the global configuration file behind the scenes, we can continue with the rest of the settings. +现在我们已经打开了编辑器,并且 Git 已经在后台创建了全局配置文件,我们可以继续接下来的设置。 -### 2. Set default name +### 2. 设置默认名称 -Name is the first directive in the file, so let's start with that. The command line to set mine is `git config --global user.name "Alan Formy-Duval"`. Instead of running this command, just edit the *name* directive in the configuration file: +名称是该文件中的首要条目,让我们先从它开始。用命令行设置我的名称是 `git config --global user.name "Alan Formy-Duval"`。只需要在配置文件中编辑 *name* 条目就行,而不是在命令行中运行命令: ``` name = Alan Formy-Duval ``` -### 3. Set default email address +### 3. 设置默认邮箱地址 -The email address is the second directive, so let's update it. By default, Git uses your system-provided name and email address. If this is incorrect or you prefer something different, you can specify it in the configuration file. In fact, if you have not configured them, Git will let you know with a friendly message the first time you commit: +邮箱地址是第二个条目,让我们添加它。默认情况下,Git 使用你的系统提供的名称和邮箱地址。如果不正确或者你想要更改,你可以在配置文件中具体说明。事实上,如果你没有配置这些,Git 在你第一次提交时会友好的提示你: ``` Committer: Alan @@ -93,17 +93,18 @@ Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate.... ``` -The command line to set mine is`git config --global user.email`**["alan@opensource.com"][7]**. Instead, edit the *email* directive in the configuration file and provide your preferred address: +在命令行中运行 `git config --global user.email`**["alan@opensource.com"][7]** 会设置好我的邮箱。同样,我们在配置文件中编辑 *email* 条目,提供你的邮箱地址: ``` email = alan@opensource.com ``` -The last two settings that I like to set are the default branch name and the default editor. These directives will need to be added while you are still in the editor. -### 4. Set default branch name +我喜欢设置的最后两个设置是默认分支名称和默认编辑器。当你仍在编辑器中时,需要添加这些指令。 -There is currently a trend to move away from the usage of the word *master* as the default branch name. As a matter of fact, Git will highlight this trend with a friendly message upon initialization of a new repository: +### 4. 设置默认分支名称 + +目前有一种趋势,即不再使用 *master* 作为默认分支名称。事实上,在新存储库初始化时,Git 将通过友好的消息提示更改默认分支名称: ``` $ git init @@ -114,23 +115,23 @@ hint: hint:   git config --global init.defaultBranch ``` -This directive, named *defaultBranch*, needs to be located in a new section named *init*. It is now generally accepted that many coders use the word *main* for their default branch. This is what I like to use. Add this section followed by the directive to the configuration: +这个名为 *defaultBranch* 的指令需要位于一个名为 *init* 的新部分中。现在普遍接受的是,许多程序员使用 *main* 这个词作为他们的默认分支。这是我喜欢使用的。将此部分后跟指令添加到配置中: ``` [init]             defaultBranch = main ``` -### 5. Set default editor +### 5. 设置默认编辑器 -The fifth setting that I like to set is the default editor. This refers to the editor that Git will present for typing your commit message each time you commit changes to your repository. Everyone has a preference whether it is [nano][8], [emacs][9], [vi][10], or something else. I'm happy with vi. So, to set your editor, add a *core* section that includes the *editor* directive: +第五个设置是,设置默认的编辑器。这是指 Git 将使用的编辑器,用于在你每次将更改提交到存储库时输入你的提交消息。不论是 [nano][8]、[emacs][9]、[vi][10] 还是其他编辑器,每个人都有他喜欢的。我喜欢用 vi。添加 *core* 部分,并设置 *editor* 指令为你喜欢的编辑器。 ``` [core]             editor = vi ``` -That's the last one. Exit the editor. Git saves the global configuration file in your home directory. If you run the editing command again, you will see all of the content. Notice that the configuration file is a plain text file, so it can also be viewed using text tools such as the [cat command][11]. This is how mine appears: +这是最后一项。退出编辑器。Git 在 *home* 目录下保存全局配置文件。如果你再次运行编辑命令,将会看到所有内容。要知道。配置文件是明文存储的文本文件,因此它可以很容易使用文本工具查看,如 [cat][11] 命令。这是我的配置文件内容: ``` $ cat ~/.gitconfig From 46098e29199602458aeaded90b6b0509bdeef5f4 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 10 Oct 2022 15:22:36 +0800 Subject: [PATCH 164/170] RP @Cubik65536 https://linux.cn/article-15124-1.html --- ...r for NVIDIA Graphics is Ready to Test!.md | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) rename {translated/news => published}/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md (64%) diff --git a/translated/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md b/published/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md similarity index 64% rename from translated/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md rename to published/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md index 6856469292..92f45b6741 100644 --- a/translated/news/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md +++ b/published/20221006 A New Open Source Vulkan Driver for NVIDIA Graphics is Ready to Test!.md @@ -3,43 +3,44 @@ [#]: author: "Sourav Rudra https://news.itsfoss.com/author/sourav/" [#]: collector: "lkxed" [#]: translator: "Cubik65536" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15124-1.html" -一个全新的用于 NVIDIA 显卡的开源 Vulkan 驱动已经准备好测试了! +一个全新的用于英伟达显卡的开源 Vulkan 驱动已经准备好测试了! ====== -为 NVIDIA 显卡开发的一个全新的开源驱动正在开发中!这里有一些好的进展…… -![一个全新的用于 NVIDIA 显卡的开源 Vulkan 驱动已经准备好测试了!][1] +> 为英伟达显卡开发的一个全新的开源驱动正在开发中!这里有一些好的进展…… -**NVK** 是一个全新的用于 NVIDIA 显卡的开源 Vulkan 驱动,它的目标是成为新的主流显卡驱动。 +![一个全新的用于英伟达显卡的开源 Vulkan 驱动已经准备好测试了!][1] -这成为可能的部分原因是因为 Nvidia 开源了数据中心 GPU 和消费级 GPU(GTX/RTX)的 GPU 内核模块。 +**NVK** 是一个全新的用于英伟达显卡的开源 Vulkan 驱动,它的目标是成为新的主流显卡驱动。 -[NVIDIA 在改善其 GPU 在 Linux 上的体验方面迈出了重要的一步][2] +这成为可能的部分原因是因为英伟达开源了数据中心 GPU 和消费级 GPU(GTX/RTX)的 GPU 内核模块。 + +> **[英伟达在改善其 GPU 在 Linux 上的体验方面迈出了重要的一步][2]** 它使开发人员能够改进开源驱动程序并启用比以前更多的功能。 让我们来看看 NVK 可以提供什么。 -### 适用于 NVIDIA GPU 的新 NVK 开源驱动程序 +### 新的适用于英伟达 GPU 的 NVK 开源驱动程序 **Jason Ekstrand**(Collabora 的工程师)和 Red Hat 的其他人已经在过去几个月里编写了 NVK 的代码。 -他们可以利用 Turing 显卡提供的统一固件 BLOB,然后在其上构建 Vulkan 支持。 +他们可以利用 Turing 系列显卡提供的统一固件 BLOB,然后在其上构建 Vulkan 支持。 -**但是,nouveau 开源驱动程序已经存在了,对吗?** +**但是,不是已经有了 nouveau 开源驱动程序了吗?** NVK 与其他的 nouveau 驱动非常不同,因为它是从头开始编写的。 -noiveau,一个重要的 Nvidia 显卡的开源驱动程序,已经年久失修了,试图在它的基础上构建是一个很多人都无法承担的任务。 +nouveau 是一个主要的英伟达显卡的开源驱动程序,已经年久失修了,试图在它的基础上构建是一个很多人都无法承担的任务。 当然,它是由有很多才华的工程师开发的,但是缺乏公司的支持和贡献者的影响了它的发展。 **NVK 旨在克服这些问题,同时专注于对 Turing 系列及更高版本 GPU 的支持。** -由于内核的开发方式,对于 Kepler、Maxwell 和 Pascal 等较旧的 GPU 的支持可能不会很容易地加入 NVK。它可能会对新内核有一个很大的依赖,从而只支持较新的 GPU。 +由于内核的开发方式,对于 Kepler、Maxwell 和 Pascal 等较旧的 GPU 的支持可能不会很容易地加入 NVK。它也许极大地依赖于新内核,从而只支持较新的 GPU。 同时,nouveau 内核接口与 Vulkan 不兼容,阻碍了对较旧 GPU 的支持。 @@ -49,13 +50,13 @@ noiveau,一个重要的 Nvidia 显卡的开源驱动程序,已经年久失 ### 如何尝试它? -NVK 目前处于非常初级的状态,有很多功能缺失,并且正在不断开发中。 +NVK 目前处于非常初级的状态,有很多功能缺失,并且正在持续开发中。 **所以,它还不适合让所有类型的用户尝试。** 你还是可以通过拉取 freedesktop.org 上的 [nouveau/mesa 项目][4] 的 nvk/main 分支并构建它来尝试它。 -如果你想的话,你也可以通过贡献到同一个 [nvk/main 分支][5] 来帮助 NVK 的开发。 +如果你想的话,你也可以通过贡献到该项目下的 [nvk/main 分支][5] 来帮助 NVK 的开发。 对于更多的技术信息,你可以参考 [官方公告][6]。 @@ -63,7 +64,7 @@ NVK 目前处于非常初级的状态,有很多功能缺失,并且正在不 NVK 有很多潜力,尤其是与老化的 [nouveau][7] 图形驱动套件相比。 -这可以为 nouveau 带来一个合适的继承者,同时为 Linux 提供一个带有很多功能的,主流的开源 Nvidia 图形驱动套件。 +这可以为 nouveau 带来一个合适的继承者,同时为 Linux 提供一个带有很多功能的、主流的开源英伟达图形驱动套件。 💬 *你对此有什么看法?你认为这最终能够实现 nouveau 驱动程序所未能实现的吗?* @@ -74,7 +75,7 @@ via: https://news.itsfoss.com/nvidia-nvk/ 作者:[Sourav Rudra][a] 选题:[lkxed][b] 译者:[Cubik65536](https://github.com/Cubik65536) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 00fad845b9c6c07704dd3c3cb65627e41ffc7611 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 10 Oct 2022 16:10:25 +0800 Subject: [PATCH 165/170] RP @KevinZonda https://linux.cn/article-15125-1.html --- ...ssues With Open Source In Today-s World.md | 47 +++++++++++++++++++ ...ssues With Open Source In Today-s World.md | 44 ----------------- 2 files changed, 47 insertions(+), 44 deletions(-) create mode 100644 published/20221004 Security Issues With Open Source In Today-s World.md delete mode 100644 translated/talk/20221004 Security Issues With Open Source In Today-s World.md diff --git a/published/20221004 Security Issues With Open Source In Today-s World.md b/published/20221004 Security Issues With Open Source In Today-s World.md new file mode 100644 index 0000000000..80ca7226c6 --- /dev/null +++ b/published/20221004 Security Issues With Open Source In Today-s World.md @@ -0,0 +1,47 @@ +[#]: subject: "Security Issues With Open Source In Today’s World" +[#]: via: "https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/" +[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" +[#]: collector: "lkxed" +[#]: translator: "KevinZonda" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15125-1.html" + +当今世界的开源安全问题 +====== + +![](https://img.linux.net.cn/data/attachment/album/202210/10/160918vmfxmsm4bnwi0nb4.jpg) + +> 开源代码可能是当今大多数公司最可行的选择,但它也伴随着自己的问题。 + +许多人支持使用 开源软件open source software(OSS)。毕竟,我们为什么要不断地尝试构建代码来解决别人已经解决过的问题?为什么不分享信息并逐步和迭代地增强当前的开源解决方案呢?这些平等主义价值观egalitarian values,可能是整个文明的根本,更不用说软件了,但还是包含了几千年来一直存在的冲突。 + +开源软件安全的问题在于,尽管任何人都可以查看源代码,但这并不意味着他们会这么做。有一些广泛使用的开源项目仅由数量有限的工程师维护。这些工程师无法完全自愿地提供时间和精力,因为他们也需要支付他们的账单。 + +即使对于更复杂的开源项目,这也是一个问题。举个例子,Linux 内核项目由 3000 多万行代码组成,包含数百个需要解决的缺陷,并有近 2000 名活跃的开发者。每个活跃的开发者都写了超过 15000 行的代码。 + +根据 Linux 基金会最近的一项研究,一个应用程序平均有 5.1 个重大漏洞仍未解决,41% 的企业对其开源软件的安全性缺乏信心。而更糟糕的是,只有 49% 的企业拥有开源安全策略。 + +即使开源软件有安全漏洞,这也不能保证它能被修复。调查显示,目前修复一个漏洞平均需要 97.8 天,使使用该软件的企业在几个月内容易受到攻击。这就是开源软件安全有时被忽视的地方:就像好人可以寻找代码中的错误和漏洞来修复它们一样,坏人也可以寻找同样的漏洞来利用它们。 + +仅仅依靠志愿者社区来发现漏洞、报告漏洞和修复漏洞是一个漫长的过程。在你继续受益于开源的广泛优势的同时,花钱请人检查你的开源解决方案的安全性可以帮助弥补这个问题。 + +由于必须部署开源软件的更新和补丁以保证系统的安全,这一要求会带来独特的困难。如果你的解决方案依赖于某个软件版本,更新你的关键任务软件可能会导致功能损失和/或计划外的停机。当情况对业务至关重要时,聘请专家来回传补丁并维护一个时间更长的版本可能比让大型社区愿意去做更加优雅。 + +开源社区经常使用的一句话是:“这是开源的,去改变它吧!”它强调了一个关键点:当别人在项目中投入时间、精力或金钱的时候,期望白白得到良好的安全水平是不合理的,也是不可持续的。 + +要么按原定计划为开源做出贡献,改进代码并为他人发布,要么聘请专业人士管理开源代码并在必要时进行调试,这些都是选择。然而,这个行业无法承担完全不做贡献。 + +-------------------------------------------------------------------------------- + +via: https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/ + +作者:[Laveesh Kocher][a] +选题:[lkxed][b] +译者:[KevinZonda](https://github.com/KevinZonda) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.opensourceforu.com/author/laveesh-kocher/ +[b]: https://github.com/lkxed diff --git a/translated/talk/20221004 Security Issues With Open Source In Today-s World.md b/translated/talk/20221004 Security Issues With Open Source In Today-s World.md deleted file mode 100644 index a6093dd178..0000000000 --- a/translated/talk/20221004 Security Issues With Open Source In Today-s World.md +++ /dev/null @@ -1,44 +0,0 @@ -[#]: subject: "Security Issues With Open Source In Today’s World" -[#]: via: "https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/" -[#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" -[#]: collector: "lkxed" -[#]: translator: "KevinZonda" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -当今世界的开源安全问题 -====== -开放源代码可能是当今大多数公司最可行的选择,但它也伴随着自己的问题。 - -许多人支持使用开放源代码软件(OSS)。毕竟,我们为什么要不断地尝试构建代码来解决别人已经解决过的问题?为什么不分享信息并逐步和迭代地增强当前的开源解决方案呢?这些平等主义的价值观,可能通常来说其对整个文明的非常重要,更不用说软件了,但还是包括了几千年来一直存在的冲突。 - -开源软件安全的问题在于,任何人都可以查看源代码,但这并不意味着他们会这么做。有一些广泛使用的开源项目仅由数量有限的工程师维护。这些工程师无法完全自愿地提供时间和精力,因为他们也需要支付他们的账单。 - -即使对于更复杂的开源项目,这也是一个问题。举个例子,Linux 内核项目由 3000 多万行代码组成,包含数百个需要解决的缺陷,并有近 2000 名活跃的开发者。每个活跃的开发者都写了超过 15000 行的代码。 - -根据 Linux 基金会最近的一项研究,一个应用程序平均有 5.1 个重大漏洞仍未解决,41% 的企业对其开源软件的安全性缺乏信心。而更糟糕的是,只有 49% 的企业拥有开源安全策略。 - -即使开源软件有安全漏洞,这也不能保证它能被修复。调查显示,目前修复一个漏洞平均需要 97.8 天,使使用该软件的企业在几个月内容易受到攻击。这就是开源软件安全有时被忽视的地方:就像好人可以寻找代码中的错误和漏洞来修复它们一样,坏人也可以寻找同样的漏洞来利用它们。 - -仅仅依靠一个志愿者社区来发现漏洞、报告漏洞和修复漏洞是一个漫长的过程。在你继续受益于开源的广泛优势的同时,花钱请人检查你的开源解决方案的安全性可以帮助弥补这个问题。 - -由于必须安装开放源码软件的更新和补丁必须以保证系统的安全,这一要求会带来独特的困难。如果你的解决方案依赖于某个软件版本,更新你的关键任务软件可能会导致功能损失和/或计划外的停机。当情况对业务至关重要时,聘请专家来回传补丁并维护一个时间更长的版本可能比让大型社区愿意去做更加优雅。 - -开源社区经常使用的一句话是:“这是开源的,去改变它吧!”它强调了一个关键点:当别人在项目中投入时间、精力或金钱的时候,期望白白得到良好的安全水平是不合理的,也是不可持续的。 - -要么按原定计划为开放源码做出贡献,改进代码并为他人发布,要么聘请专业人士管理开放源码代码并在必要时进行调试,这些都是选择。然而,这个行业无法承担完全不做贡献。 - --------------------------------------------------------------------------------- - -via: https://www.opensourceforu.com/2022/10/security-issues-with-open-source-in-todays-world/ - -作者:[Laveesh Kocher][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.opensourceforu.com/author/laveesh-kocher/ -[b]: https://github.com/lkxed From b5d4d9049b044662677c79d62b1c8b0bb7beece9 Mon Sep 17 00:00:00 2001 From: Donkey Date: Mon, 10 Oct 2022 16:24:55 +0800 Subject: [PATCH 166/170] mv dir --- .../tech/20220922 5 Git configurations I make on Linux.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20220922 5 Git configurations I make on Linux.md (100%) diff --git a/sources/tech/20220922 5 Git configurations I make on Linux.md b/translated/tech/20220922 5 Git configurations I make on Linux.md similarity index 100% rename from sources/tech/20220922 5 Git configurations I make on Linux.md rename to translated/tech/20220922 5 Git configurations I make on Linux.md From 8e4593a2ff8a06a2292ff8482548221dd4ed616c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Mon, 10 Oct 2022 16:26:18 +0800 Subject: [PATCH 167/170] RP @geekpi https://linux.cn/article-15126-1.html --- ...ntOS, RHEL, Rocky Linux Minimal Install.md | 127 ++++++++++++++++++ ...ntOS, RHEL, Rocky Linux Minimal Install.md | 123 ----------------- 2 files changed, 127 insertions(+), 123 deletions(-) create mode 100644 published/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md delete mode 100644 translated/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md diff --git a/published/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md b/published/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md new file mode 100644 index 0000000000..2e9ef8aafe --- /dev/null +++ b/published/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md @@ -0,0 +1,127 @@ +[#]: subject: "How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install" +[#]: via: "https://www.debugpoint.com/setup-internet-minimal-install-server/" +[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15126-1.html" + +如何在最小安装的 CentOS、RHEL、Rocky Linux 中设置互联网 +====== + +![](https://img.linux.net.cn/data/attachment/album/202210/10/162428grhkhtayzt4cdh5k.jpg) + +> 在最小安装的服务器中设置互联网或网络非常容易。本指南将解释如何在最小安装的 CentOS、RHEL 和 Rocky Linux 中设置互联网或网络。 + +当你安装了任何服务器发行版的最小安装环境,你将没有任何 GUI 或桌面环境来设置你的网络或互联网。因此,当你只能访问终端时,了解如何设置互联网非常重要。NetworkManager 工具提供了必要的工具,辅以 systemd 服务来完成这项工作。以下是方法。 + +### 在最小安装的 CentOS、RHEL、Rocky Linux 中设置互联网 + +在你完成了服务器的安装后,启动进入服务器终端。理想情况下,你会看到一个终端提示符。使用 root 或管理员账户登录。 + +首先,尝试使用 [nmcli][1] 检查网络接口的状态和详细信息。`nmcli` 是用于控制 NetworkManager 服务的命令行工具。使用以下命令进行检查。 + +``` +nmcli device status +``` + +这将显示设备名称、状态等。 + +![nmcli device status][2] + +运行工具 `nmtui` 来配置网络接口。 + +`nmtui` 是 NetworkManager 工具的一部分,它为你提供了一个友好的用户界面来配置网络。 + +这是 `NetworkManager-tui` 包的一部分,在你完成最小服务器安装后默认安装。 + +``` +nmtui +``` + +单击 nmtui 窗口中的“编辑连接Edit a connection”。 + +![nmtui - 选择选项][3] + +选择接口名称 + +![选择要编辑的接口][4] + +在“编辑连接Edit Connection”窗口中,为 IPv4 和 IPv6 选择“自动Automatic”选项。并选择“自动连接Automatically Connect”。完成后按 “OK”。 + +![nmtui - 编辑连接][5] + +使用以下命令通过 [systemd systemctl][6] 重启 NetworkManager 服务。 + +``` +systemctl restart NetworkManager +``` + +如果一切顺利,你可以在最小安装的 CentOS、RHEL 和 Rocky Linux 服务器中连接到网络和互联网。前提是你的网络有互联网连接。你可以使用 `ping` 来验证它是否正常工作。 + +![设置最小化服务器互联网 - CentOS Rocky Linux RHEL][7] + +### 附加技巧:在最小化服务器中设置静态 IP + +当你将网络配置设置为自动时,接口会在你连接到互联网时动态分配 IP。在你设置局域网的某些情况下,你可能希望将静态 IP 分配给你的网络接口。这非常容易。 + +打开你的网络配置脚本。将 `ens3` 改为为你自己的设备名。 + +``` +vi /etc/sysconfig/network-scripts/ifcfg-ens3 +``` + +在上面的文件中,使用 `IPADDR` 属性添加所需的 IP 地址。保存文件。 + +``` +IPADDR=192.168.0.55 +``` + +在 `/etc/sysconfig/network` 中为你的网络添加网关。 + +``` +NETWORKING=yes +HOSTNAME=debugpoint +GATEWAY=10.1.1.1 +``` + +在 `/etc/resolv.conf` 中添加任意公共 DNS 服务器。 + +``` +nameserver 8.8.8.8 +nameserver 8.8.4.4 +``` + +然后重启网络服务。 + +``` +systemctl restart NetworkManager +``` + +这就完成了静态 IP 的设置。你还可以使用 `ip addr` 命令检查 IP 详细信息。 + +### 总结 + +我希望本指南可以帮助你在最小化安装的服务器中设置网络、互联网和静态 IP。如果你有任何问题,请在评论区告诉我。 + +-------------------------------------------------------------------------------- + +via: https://www.debugpoint.com/setup-internet-minimal-install-server/ + +作者:[Arindam][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://www.debugpoint.com/author/admin1/ +[b]: https://github.com/lkxed +[1]: https://linux.die.net/man/1/nmcli +[2]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmcli-device-status.jpg +[3]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmtui-Select-options.jpg +[4]: https://www.debugpoint.com/wp-content/uploads/2021/06/Select-Interface-to-Edit.jpg +[5]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmtui-Edit-Connection.jpg +[6]: https://www.debugpoint.com/2020/12/systemd-systemctl-service/ +[7]: https://www.debugpoint.com/wp-content/uploads/2021/06/setup-internet-minimal-server-CentOS-Rocky-Linux-RHEL.jpg \ No newline at end of file diff --git a/translated/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md b/translated/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md deleted file mode 100644 index 24ee414960..0000000000 --- a/translated/tech/20220926 How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install.md +++ /dev/null @@ -1,123 +0,0 @@ -[#]: subject: "How to Setup Internet in CentOS, RHEL, Rocky Linux Minimal Install" -[#]: via: "https://www.debugpoint.com/setup-internet-minimal-install-server/" -[#]: author: "Arindam https://www.debugpoint.com/author/admin1/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -如何在 CentOS、RHEL、Rocky Linux 最小安装中设置互联网 -====== -在最小的服务器安装中设置互联网或网络非常容易。本指南将解释如何在 CentOS、RHEL 和 Rocky Linux 最小安装中设置互联网或网络。 - - -当你安装了任何服务器发行版的最小安装,你将没有任何 GUI 或桌面环境来设置你的网络或互联网。因此,当你只能访问终端时,了解如何设置互联网非常重要。 NetworkManager 工具提供了必要的工具和 systemd 服务来完成这项工作。以下是方法。 - -### 在 CentOS、RHEL、Rocky Linux 最小安装中设置互联网 - -* 在你完成了服务器的安装后,启动进入服务器终端。理想情况下,你会看到一个终端。使用 root 或管理员账户登录。 - -* 首先,尝试使用 [nmcli][1] 检查网络接口的状态和详细信息。 `nmcli` 是用于控制 NetworkManager 服务的命令行工具。使用以下命令进行检查。 - -``` -nmcli device status -``` - -这将显示设备名称、状态等。 - -![nmcli device status][2] - -* 运行工具 `nmtui` 来配置网络接口。 -* nmtui 是 NetworkManager 工具的一部分,它为你提供了一个友好的用户界面来配置网络。 -* 这是 `NetworkManager-tui` 包的一部分,在你完成最小服务器安装后默认安装。 - -``` -nmtui -``` - -* 单击 nmtui 窗口中的编辑连接。 - -![nmtui - 选择选项][3] - -* 选择接口名称 - -![选择要编辑的接口][4] - -* 在编辑连接窗口中,为 IPv4 和 IPv6 选择自动。并选择自动连接。完成后按 OK。 - -![nmtui - 编辑连接][5] - -* 使用以下命令通过 [systemd systemctl][6] 重启 NetworkManager 服务。 - -``` -systemctl restart NetworkManager -``` - -* 如果一切顺利,你可以在最小安装的 CentOS、RHEL 和 Rocky Linux 服务器中连接到网络和互联网。前提是你的网络有互联网连接。你可以使用 ping 来验证它是否正常工作。 - -![设置最小化服务器互联网 - CentOS Rocky Linux RHEL][7] - -### 附加技巧:在最小化服务器中设置静态 IP - -当你将网络配置设置为自动时,接口会在你连接到互联网时动态分配 IP。在你设置局域网 (LAN) 的某些情况下,你可能希望将静态 IP 分配给你的网络接口。这非常容易。 - -打开你的网络配置脚本。将高亮部分设置为你自己的设备。 - -``` -vi /etc/sysconfig/network-scripts/ifcfg-ens3 -``` - -在上面的文件中,使用 IPADDR 属性添加所需的 IP 地址。保存文件。 - -``` -IPADDR=192.168.0.55 -``` - -在 `/etc/sysconfig/network` 中为你的网络添加网关。 - -``` -NETWORKING=yes -HOSTNAME=debugpoint -GATEWAY=10.1.1.1 -``` - -在位于 `/etc/resolv.conf` 的 `resolv.conf` 中添加任意公共 DNS 服务器。 - -``` -nameserver 8.8.8.8 -nameserver 8.8.4.4 -``` - -然后重启网络服务。 - -``` -systemctl restart NetworkManager -``` - -这就完成了静态 IP 的设置。你还可以使用 `ip addr` 命令检查 IP 详细信息。 - -### 总结 - -我希望本指南可以帮助你在最小化安装的服务器中设置网络、互联网和静态 IP。如果你有任何问题,请在评论区告诉我。 - --------------------------------------------------------------------------------- - -via: https://www.debugpoint.com/setup-internet-minimal-install-server/ - -作者:[Arindam][a] -选题:[lkxed][b] -译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://www.debugpoint.com/author/admin1/ -[b]: https://github.com/lkxed -[1]: https://linux.die.net/man/1/nmcli -[2]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmcli-device-status.jpg -[3]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmtui-Select-options.jpg -[4]: https://www.debugpoint.com/wp-content/uploads/2021/06/Select-Interface-to-Edit.jpg -[5]: https://www.debugpoint.com/wp-content/uploads/2021/06/nmtui-Edit-Connection.jpg -[6]: https://www.debugpoint.com/2020/12/systemd-systemctl-service/ -[7]: https://www.debugpoint.com/wp-content/uploads/2021/06/setup-internet-minimal-server-CentOS-Rocky-Linux-RHEL.jpg \ No newline at end of file From c6d319a018f2c0654665b470210bbc5705df69d8 Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 11 Oct 2022 08:37:21 +0800 Subject: [PATCH 168/170] translated --- ...Packages in Linux at Once With Topgrade.md | 149 ------------------ ...Packages in Linux at Once With Topgrade.md | 149 ++++++++++++++++++ 2 files changed, 149 insertions(+), 149 deletions(-) delete mode 100644 sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md create mode 100644 translated/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md diff --git a/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md b/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md deleted file mode 100644 index 9768d989b6..0000000000 --- a/sources/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md +++ /dev/null @@ -1,149 +0,0 @@ -[#]: subject: "Upgrade Various Kinds of Packages in Linux at Once With Topgrade" -[#]: via: "https://itsfoss.com/topgrade/" -[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" -[#]: collector: "lkxed" -[#]: translator: "geekpi" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " - -Upgrade Various Kinds of Packages in Linux at Once With Topgrade -====== -Updating a Linux system is not that complicated, is it? After all, to update Ubuntu like distros, you just have to use apt update && apt upgrade. - -That would have been the case if all the packages had been installed through a single package manager. - -But that’s not the case anymore. You have the classic apt/dnf/pacman and then come snap, flatpak, appimages. It doesn’t end here. You may also install applications using PIP (for Python) and Cargo (for Rust). - -Use node? The npm packages need to be updated separately. Oh My Zsh? Needs to be updated separately. [Plugins in Vim][1], Atom etc may also not be covered by apt/dnf/pacman. - -Do you see the problem now? And this is the kind of problem a new tool called topgrade aims to solve. - -### Topgrade: A single utility to take care of all kinds of updates - -This [topgrade][2] is a CLI utility and it detects which tools you use and then runs the appropriate commands to update them. - -![topgrade disable system][3] - -Apart from the usual Linux package managers, it can detect and update brew, cargo, PIP, pihole, Vim and Emacs plugins, R packages etc. You can see the list of supported packages on [its wiki page][4]. - -##### Key Features of Topgrade: - -* Ability to update packages from different package managers, including firmware! -* You do have control over how you want to update packages. -* Extremely customizable. -* Ability to have an overview even before updating packages. - -So without wasting any time, let’s jump to the installation. - -### Install Topgrade in Linux using Cargo - -The installation process is quite straightforward as I’m going to use the cargo package manager. - -We already have a [detailed guide with multiple methods for setting up a cargo package manager][5] So I’m going to make it quick by using Ubuntu in my example. - -So let’s start with some dependencies and installation of cargo in the least extensive way: - -``` -sudo apt install cargo libssl-dev pkg-config -``` - -Once the cargo has been installed, utilize the given command to install topgrade: - -``` -cargo install topgrade -``` - -And it will throw a warning as given: - -![cargo error][6] - -Where you just have to add the path of cargo to run binaries. This can be done through given command where you’ve to change `sagar` with your username: - -``` -echo 'export PATH=$PATH:/home/sagar/.cargo/bin' >> /home/sagar/.bashrc -``` - -Now, reboot your system and topgrade is ready to use. But wait, we need to install another package that will update cargo to get the most recent packages. - -``` -cargo install cargo-update -``` - -And we’re done with installation. - -### Using Topgrade - -Using topgrade is extremely easy. Use a single command and that’s it: - -``` -topgrade -``` - -![][7] - -But this won’t give you any control apart from system packages but as I mentioned, you can blacklist the repo that you don’t want to get updated. - -#### Exclude package managers and repositories from Topgrade - -Let’s suppose I want to exclude snaps and packages downloaded from the default package manager, so my command would be: - -``` -topgrade --disable snap system -``` - -![topgrade disable snap system][8] - -For making a permanent change, you’d have to make a few changes in its config file which can be accessed through the given command: - -``` -topgrade --edit-config -``` - -For this example, I discluded snaps and default system repo: - -![configuring topgrade][9] - -#### Dry run topgrade - -Having an estimation of outdated packages that will be updated is always a good idea and I find this most useful option from the entire catalog of topgrade. - -You just have to use topgrade with `-n` option and it will generate a summary of outdated packages. - -``` -topgrade -n -``` - -![summery of topgrade][10] - -A neat way of checking packages that need to be updated. - -### Final Words - -After using Topgrade for a few weeks, it became an integral part of my Linux arsenal. Like most other Linux users, I was only updating packages through my default package manager. Python and Rust packages were ignored completely. Thanks to topgrade, my system is updated completely now. - -I understand that this is not a tool everyone would want to use. What about you? Willing to give it a try? - --------------------------------------------------------------------------------- - -via: https://itsfoss.com/topgrade/ - -作者:[Sagar Sharma][a] -选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 - -[a]: https://itsfoss.com/author/sagar/ -[b]: https://github.com/lkxed -[1]: https://linuxhandbook.com/install-vim-plugins/ -[2]: https://github.com/r-darwish/topgrade -[3]: https://itsfoss.com/wp-content/uploads/2022/09/topgrade-disable-system.png -[4]: https://github.com/r-darwish/topgrade/wiki/Step-list -[5]: https://itsfoss.com/install-rust-cargo-ubuntu-linux/ -[6]: https://itsfoss.com/wp-content/uploads/2022/09/cargo-error.png -[7]: https://itsfoss.com/wp-content/uploads/2022/10/topgrade.mp4 -[8]: https://itsfoss.com/wp-content/uploads/2022/09/topgrade-disable-snap-system.png -[9]: https://itsfoss.com/wp-content/uploads/2022/09/configuring-topgrade-1.png -[10]: https://itsfoss.com/wp-content/uploads/2022/09/summery-of-topgrade.png diff --git a/translated/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md b/translated/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md new file mode 100644 index 0000000000..ac5c634e60 --- /dev/null +++ b/translated/tech/20221006 Upgrade Various Kinds of Packages in Linux at Once With Topgrade.md @@ -0,0 +1,149 @@ +[#]: subject: "Upgrade Various Kinds of Packages in Linux at Once With Topgrade" +[#]: via: "https://itsfoss.com/topgrade/" +[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/" +[#]: collector: "lkxed" +[#]: translator: "geekpi" +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +使用 Topgrade 一次升级 Linux 中的各种软件包 +====== +更新 Linux 系统并没有那么复杂,不是吗?毕竟,要像发行版一样更新 Ubuntu,你只需要使用 apt update 和 apt upgrade。 + +如果所有的包都是通过一个包管理器安装的,就会是这样。 + +但现在情况不再如此。你有经典的 apt/dnf/pacman,还有 snap、flatpak、appimages。不止于此,你还可以使用 PIP(用于 Python)和 Cargo(用于 Rust)安装应用。 + +使用 node? npm 包需要单独更新。Oh My Zsh?需要单独更新。[Vim 中的插件][1]、Atom 等也可能不被 apt/dnf/pacman 覆盖。 + +你现在看到问题了吗?这就是名为 topgrade 的新工具旨在解决的问题。 + +### Topgrade:处理各种更新的单一程序 + +[topgrade][2] 是一个 CLI 程序,它会检测你使用的工具,然后运行适当的命令来更新它们。 + +![topgrade disable system][3] + +除了通常的 Linux 包管理器,它还可以检测和更新 brew、cargo、PIP、pihole、Vim 和 Emacs 插件、R 软件包等。你可以在 [wiki 页面][4]上查看支持的包列表。 + +##### Topgrade 的主要特点: + +* 能够从不同的包管理器更新包,包括固件! +* 你可以控制更新包的方式。 +* 高度可定制。 +* 能够在更新包之前进行概览 + +所以不要浪费任何时间,让我们跳到安装。 + +### 使用 Cargo 在 Linux 中安装 Topgrade + +安装过程非常简单,因为我将使用 cargo 包管理器。 + +我们已经有了[详细指南,其中包含设置 cargo 包管理器的多种方法][5]。所以我将在我的示例中使用 Ubuntu 来快速完成。 + +因此,让我们以最少方式安装依赖项以及 cargo: + +``` +sudo apt install cargo libssl-dev pkg-config +``` + +安装 cargo 后,使用给定的命令安装 topgrade: + +``` +cargo install topgrade +``` + +它会抛出一个警告: + +![cargo error][6] + +你只需添加 cargo 路径即可运行二进制文件。这可以通过给定的命令来完成,你需要使用你的用户名替换 `sagar`: + +``` +echo 'export PATH=$PATH:/home/sagar/.cargo/bin' >> /home/sagar/.bashrc +``` + +现在,重启系统,topgrade 就可以使用了。但是等等,我们需要安装另一个包来更新 cargo 以获取最新的包。 + +``` +cargo install cargo-update +``` + +这样我们完成了安装。 + +### 使用 Topgrade + +使用 topgrade 非常简单。使用一个命令,就是这样: + +``` +topgrade +``` + +![][7] + +但这不会给你除了系统包之外的任何控制,但正如我所提到的,你可以将不想更新的仓库列入黑名单。 + +#### 从 Topgrade 中排除包管理器和仓库 + +假设我想排除 snap 和从默认包管理器下载的包,所以我的命令是: + +``` +topgrade --disable snap system +``` + +![topgrade disable snap system][8] + +要进行永久更改,你必须在其配置文件中进行一些更改,这些更改可以通过给定的命令访问: + +``` +topgrade --edit-config +``` + +对于此示例,我排除了 snap 和默认系统仓库: + +![configuring topgrade][9] + +#### 试运行 topgrade + +评估将要更新的过时软件包总是一个好主意,我从 topgrade 的整个目录中找到了这个最有用的选项。 + +你只需使用带有 `-n` 选项的 topgrade,它就会生成过期软件包的摘要。 + +``` +topgrade -n +``` + +![summery of topgrade][10] + +检查需要更新的软件包的一种简洁方法。 + +### 最后的话 + +在使用 Topgrade 几周后,它成为了我的 Linux 武器库中不可或缺的一部分。 像大多数其他 Linux 用户一样,我只是通过我的默认包管理器更新包。 Python 和 Rust 包被完全忽略了。 感谢 topgrade,我的系统现在完全更新了。 + +我知道这不是每个人都想使用的工具。 那你呢? 愿意试一试吗? + +-------------------------------------------------------------------------------- + +via: https://itsfoss.com/topgrade/ + +作者:[Sagar Sharma][a] +选题:[lkxed][b] +译者:[geekpi](https://github.com/geekpi) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://itsfoss.com/author/sagar/ +[b]: https://github.com/lkxed +[1]: https://linuxhandbook.com/install-vim-plugins/ +[2]: https://github.com/r-darwish/topgrade +[3]: https://itsfoss.com/wp-content/uploads/2022/09/topgrade-disable-system.png +[4]: https://github.com/r-darwish/topgrade/wiki/Step-list +[5]: https://itsfoss.com/install-rust-cargo-ubuntu-linux/ +[6]: https://itsfoss.com/wp-content/uploads/2022/09/cargo-error.png +[7]: https://itsfoss.com/wp-content/uploads/2022/10/topgrade.mp4 +[8]: https://itsfoss.com/wp-content/uploads/2022/09/topgrade-disable-snap-system.png +[9]: https://itsfoss.com/wp-content/uploads/2022/09/configuring-topgrade-1.png +[10]: https://itsfoss.com/wp-content/uploads/2022/09/summery-of-topgrade.png From 0f4d54cb0da8af4fbb051f5916d0c579ff6040ba Mon Sep 17 00:00:00 2001 From: geekpi Date: Tue, 11 Oct 2022 08:41:38 +0800 Subject: [PATCH 169/170] translating --- ...0221008 How to Create LVM Partition Step-by-Step in Linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20221008 How to Create LVM Partition Step-by-Step in Linux.md b/sources/tech/20221008 How to Create LVM Partition Step-by-Step in Linux.md index 5d658c3ca9..687aff9624 100644 --- a/sources/tech/20221008 How to Create LVM Partition Step-by-Step in Linux.md +++ b/sources/tech/20221008 How to Create LVM Partition Step-by-Step in Linux.md @@ -2,7 +2,7 @@ [#]: via: "https://www.linuxtechi.com/how-to-create-lvm-partition-in-linux/" [#]: author: "James Kiarie https://www.linuxtechi.com/author/james/" [#]: collector: "lkxed" -[#]: translator: " " +[#]: translator: "geekpi" [#]: reviewer: " " [#]: publisher: " " [#]: url: " " From cb2331fb385b65d800230ddc1018c926e873165c Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Tue, 11 Oct 2022 10:19:45 +0800 Subject: [PATCH 170/170] RP @KevinZonda https://linux.cn/article-15128-1.html --- ...w Open Source Library for Array Storage.md | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) rename {translated/news => published}/20221006 Google AI Unveils A New Open Source Library for Array Storage.md (52%) diff --git a/translated/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md b/published/20221006 Google AI Unveils A New Open Source Library for Array Storage.md similarity index 52% rename from translated/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md rename to published/20221006 Google AI Unveils A New Open Source Library for Array Storage.md index ed6ffc4cf0..b754707239 100644 --- a/translated/news/20221006 Google AI Unveils A New Open Source Library for Array Storage.md +++ b/published/20221006 Google AI Unveils A New Open Source Library for Array Storage.md @@ -3,23 +3,26 @@ [#]: author: "Laveesh Kocher https://www.opensourceforu.com/author/laveesh-kocher/" [#]: collector: "lkxed" [#]: translator: "KevinZonda" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-15128-1.html" -谷歌 AI 推出新的阵列存储开源库 +谷歌 AI 推出新的数组存储开源库 ====== -*TensorStore,一个用于阵列存储的高性能开源库,已被谷歌 AI 创造。* -谷歌开发的开源 C++ 和 Python 框架 TensorStore 旨在加速读写大型多维数组的设计。覆盖单个大型坐标系的多维数据集通常用于当代计算机科学和机器学习应用程序中。使用这些数据集具有挑战性,因为客户经常希望进行涉及多个工作站并行操作的调查,并且可能会以不可预测的间隔和不同的规模接收和输出数据。 +![](https://www.opensourceforu.com/wp-content/uploads/2022/10/google3-1068x559.jpg) -谷歌研究院开发了 TensorStore,这是一个为用户提供 API 访问权限的库,该 API 无需复杂的硬件即可管理庞大的数据集,以解决数据存储和操作问题。该库支持许多存储系统,包括本地和网络文件系统、Google Cloud Storage 等。 +> 谷歌 AI 引入了一个用于数组存储的高性能开源库 TensorStore。 -为了加载和处理大量数据,TensorStore 提供了一个简单的 Python API。任何大型基础数据集都可以加载和更新,而无需将完整的数据集存储在内存中,因为在需要精确切片之前不会读取或保存实际数据。 +谷歌开发的开源 C++ 和 Python 框架 TensorStore 旨在加速大型多维数组的读写设计。覆盖单一大型坐标系的多维数据集通常用于当代计算机科学和机器学习应用程序中。使用这些数据集具有挑战性,因为客户经常希望进行涉及多个工作站并行操作的调查,并且可能会以不可预测的间隔和不同的规模接收和输出数据。 -这是通过索引和操作语法实现的,这与用于 NumPy 操作的语法非常相似。除了虚拟视图、广播、对齐和其他复杂的索引功能,TensorStore 还支持,如数据类型转换、降低取样和随意创建的数组这些功能。 +谷歌研究院开发了 TensorStore,该库为用户提供了一个可以管理巨大数据集的 API,而无需复杂的硬件,以解决数据存储和操作问题。该库支持许多存储系统,包括本地和网络文件系统、谷歌云存储等。 -此外,TensorStore 包含一个异步 API,可以同时进行读取或写入操作。在执行其他工作时,软件可以执行可配置的内存缓存,从而减少在访问常用数据时处理较慢存储系统的需要。 +为了加载和处理大量数据,TensorStore 提供了一个简单的 Python API。任何任意大小的基础数据集都可以加载和更新,而无需将数据集完整存储在内存中,因为在需要精确切片之前不需要在内存中读取或保存实际数据。 + +这是通过索引和操作语法实现的,它与 NumPy 操作的语法非常相似。除了虚拟视图、广播、对齐和其他复杂的索引功能,TensorStore 还支持如数据类型转换、降低取样和随意创建的数组这些功能。 + +此外,TensorStore 包含一个异步 API,可以并发进行读取或写入操作。在执行其他工作时,软件可以进行内存缓存处理(可配置),从而减少在访问常用数据时处理较慢存储系统的需要。 大型数值数据集需要大量的处理能力来检查和分析。实现这一点的常用方法是在分散在许多设备上的大量 CPU 或加速器内核之间并行化任务。在保持出色速度的同时并行分析单个数据集的能力一直是 TensorStore 的关键目标。 PaLM、脑图和其他复杂的大规模机器学习模型是 TensorStore 应用案例的一些例子。 @@ -29,8 +32,8 @@ via: https://www.opensourceforu.com/2022/10/google-ai-unveils-a-new-open-source- 作者:[Laveesh Kocher][a] 选题:[lkxed][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[KevinZonda](https://github.com/KevinZonda) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出