mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-13 22:30:37 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
188ce89a0f
@ -1,29 +1,32 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (HankChow)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-12049-1.html)
|
||||
[#]: subject: (Run Kubernetes on a Raspberry Pi with k3s)
|
||||
[#]: via: (https://opensource.com/article/20/3/kubernetes-raspberry-pi-k3s)
|
||||
[#]: author: (Lee Carpenter https://opensource.com/users/carpie)
|
||||
|
||||
使用 K3s 在树莓派上运行 Kubernetes 集群
|
||||
======
|
||||
> 跟随接下来的介绍,自己搭建一个三节点的 Kubernetes 集群。
|
||||
|
||||
![A ship wheel with someone steering][1]
|
||||
> 跟随接下来的介绍,自己搭建一个三节点的 Kubernetes 集群。
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202003/29/121559p44e3dfrerf3zver.jpg)
|
||||
|
||||
我对在树莓派上搭建 [Kubernetes][2] 集群已经感兴趣很长时间了,只要照着网上的教程,我可以在由三个树莓派组成的集群中搭建一套 Kubernetes 并正常运行。但在这种情况下,主节点上的内存和 CPU 资源捉襟见肘,执行 Kubernetes 任务的时候往往性能不佳,想要升级 Kubernetes 就更不可能了。
|
||||
|
||||
这个时候,我发现了 [K3s][3] 这个项目。K3s 誉为可用于资源受限环境下的轻量级 Kubernetes,它还针对 ARM 处理器做出了优化,这让 Kubernetes 集群可以在树莓派上运行得更好。在下文中,我们将会使用 K3s 来创建一个 Kubernetes 集群。
|
||||
这个时候,我非常激动地发现了 [K3s][3] 这个项目。K3s 被誉为在可用于资源受限环境下的轻量级 Kubernetes,它还针对 ARM 处理器做出了优化,这让 Kubernetes 集群可以在树莓派上运行得更好。在下文中,我们将会使用 K3s 来创建一个 Kubernetes 集群。
|
||||
|
||||
- [video](https://youtu.be/6PqxJhV-t1s)
|
||||
|
||||
### 准备
|
||||
|
||||
要按照本文介绍的方式创建 Kubernetes 集群,首先需要准备:
|
||||
|
||||
* 至少一个树莓派(包括 SD 卡和电源)
|
||||
* 网线
|
||||
* 将所有树莓派连接到一起的交换机或路由器
|
||||
* 至少一个树莓派(包括 SD 卡和电源)
|
||||
* 网线
|
||||
* 将所有树莓派连接到一起的交换机或路由器
|
||||
|
||||
我们会通过在线安装的方式安装 K3s,因此还需要可以连接到互联网。
|
||||
|
||||
@ -35,7 +38,6 @@
|
||||
|
||||
为了不需要通过 IP 来引用某一个节点,我们将每个节点的主机名记录到 PC 的 `/etc/hosts` 文件当中:
|
||||
|
||||
|
||||
```
|
||||
echo -e "192.168.0.50\tkmaster" | sudo tee -a /etc/hosts
|
||||
echo -e "192.168.0.51\tknode1" | sudo tee -a /etc/hosts
|
||||
@ -48,20 +50,17 @@ echo -e "192.168.0.52\tknode2" | sudo tee -a /etc/hosts
|
||||
|
||||
在主节点上安装 Raspbian 完成后,启动树莓派并通过 `ssh` 连接上去:
|
||||
|
||||
|
||||
```
|
||||
ssh pi@kmaster
|
||||
```
|
||||
|
||||
执行以下命令安装 K3s:
|
||||
|
||||
在主节点上执行以下命令安装 K3s:
|
||||
|
||||
```
|
||||
curl -sfL https://get.k3s.io | sh -
|
||||
```
|
||||
|
||||
等到命令跑完以后,一个单节点集群就已经运行起来了。还在这个树莓派上执行:
|
||||
|
||||
等到命令跑完以后,一个单节点集群就已经运行起来了。让我们检查一下,还在这个树莓派上执行:
|
||||
|
||||
```
|
||||
sudo kubectl get nodes
|
||||
@ -69,7 +68,6 @@ sudo kubectl get nodes
|
||||
|
||||
就会看到这样的输出:
|
||||
|
||||
|
||||
```
|
||||
NAME STATUS ROLES AGE VERSION
|
||||
kmaster Ready master 2m13s v1.14.3-k3s.1
|
||||
@ -77,8 +75,7 @@ kmaster Ready master 2m13s v1.14.3-k3s.1
|
||||
|
||||
### 获取<ruby>连接令牌<rt>join token</rt></ruby>
|
||||
|
||||
之后我们需要部署工作节点。在工作节点上安装 K3s 的时候,会需要用到连接令牌,它放置在主节点的文件系统上。首先把连接令牌打印出来保存以便后续使用:
|
||||
|
||||
之后我们需要部署工作节点。在工作节点上安装 K3s 的时候,会需要用到连接令牌,它放置在主节点的文件系统上。首先把连接令牌保存出来以便后续使用:
|
||||
|
||||
```
|
||||
sudo cat /var/lib/rancher/k3s/server/node-token
|
||||
@ -90,17 +87,15 @@ sudo cat /var/lib/rancher/k3s/server/node-token
|
||||
|
||||
启动主机名为 `knode1` 的树莓派,通过 `ssh` 连接上去:
|
||||
|
||||
|
||||
```
|
||||
ssh pi@knode1
|
||||
```
|
||||
|
||||
在这个树莓派上,安装 K3s 的过程和之前差不多,但需要另外加上一些参数,表示它是一个工作节点,需要连接到一个已有的集群上:
|
||||
|
||||
|
||||
```
|
||||
curl -sfL <http://get.k3s.io> | K3S_URL=<https://192.168.0.50:6443> \
|
||||
K3S_TOKEN=<刚才保存下来的连接令牌> sh -
|
||||
curl -sfL http://get.k3s.io | K3S_URL=https://192.168.0.50:6443 \
|
||||
K3S_TOKEN=刚才保存下来的连接令牌 sh -
|
||||
```
|
||||
|
||||
`K3S_TOKEN` 的值需要替换成刚才保存下来的实际的连接令牌。完成之后,在主机名为 `knode2` 的树莓派上重复这个安装过程。
|
||||
@ -109,20 +104,17 @@ K3S_TOKEN=<刚才保存下来的连接令牌> sh -
|
||||
|
||||
现在如果我们想要查看或者更改集群,都必须 `ssh` 到集群的主节点才能使用 `kubectl`,这是比较麻烦的。因此我们会将 `kubectl` 放到 PC 上使用。首先,在主节点上获取一些必要的配置信息,`ssh` 到 `kmaster` 上执行:
|
||||
|
||||
|
||||
```
|
||||
sudo cat /etc/rancher/k3s/k3s.yaml
|
||||
```
|
||||
|
||||
复制上面命令的输出,创建一个目录用来放置配置文件:
|
||||
|
||||
复制上面命令的输出,然后在你的 PC 上创建一个目录用来放置配置文件:
|
||||
|
||||
```
|
||||
mkdir ~/.kube
|
||||
```
|
||||
|
||||
将复制好的内容写入到 `~/.kube/config` 文件中,然后将
|
||||
|
||||
将复制好的内容写入到 `~/.kube/config` 文件中,然后编辑该文件,将
|
||||
|
||||
```
|
||||
server: https://localhost:6443
|
||||
@ -130,26 +122,22 @@ server: https://localhost:6443
|
||||
|
||||
改为
|
||||
|
||||
|
||||
```
|
||||
server: https://kmaster:6443
|
||||
```
|
||||
|
||||
出于安全考虑,只对自己保留这个配置文件的读写权限:
|
||||
|
||||
|
||||
```
|
||||
chmod 600 ~/.kube/config
|
||||
```
|
||||
|
||||
如果 PC 上还没有安装 `kubectl` 的话,就可以开始安装了。Kubernetes 官方网站上有各种平台安装 `kubectl` 的[方法说明][5],我使用的是 Ubuntu 的衍生版 Linux Mint,所以我的安装方法是这样的:
|
||||
|
||||
|
||||
```
|
||||
sudo apt update && sudo apt install -y apt-transport-https
|
||||
curl -s <https://packages.cloud.google.com/apt/doc/apt-key.gpg> | sudo apt-key add -
|
||||
echo "deb <https://apt.kubernetes.io/> kubernetes-xenial main" | \
|
||||
sudo tee -a /etc/apt/sources.list.d/kubernetes.list
|
||||
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
|
||||
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
|
||||
sudo apt update && sudo apt install kubectl
|
||||
```
|
||||
|
||||
@ -157,14 +145,12 @@ sudo apt update && sudo apt install kubectl
|
||||
|
||||
现在在 PC 上就可以查看 Kubernetes 集群了:
|
||||
|
||||
|
||||
```
|
||||
kubectl get nodes
|
||||
```
|
||||
|
||||
输出大概会是这样:
|
||||
|
||||
|
||||
```
|
||||
NAME STATUS ROLES AGE VERSION
|
||||
kmaster Ready master 12m v1.14.3-k3s.1
|
||||
@ -176,11 +162,10 @@ knode1 Ready worker 103s v1.14.3-k3s.1
|
||||
|
||||
### K3s 的彩蛋
|
||||
|
||||
如果执行 `kubectl get pods --all-namespaces`,就会看到其它服务的一些 pod,比如 [Traefik][6]。Traefik 在这里起到是反向代理和负载均衡器的作用,它可以让流量从单个入口进入集群后引导到集群中的各个服务。Kubernetes 支持这种机制,但 Kubernetes 本身不提供这个功能,因此 Traefik 是一个不错的选择,K3s 安装后立即可用的优点也得益于此。
|
||||
如果执行 `kubectl get pods --all-namespaces`,就会看到其它服务的一些 Pod,比如 [Traefik][6]。Traefik 在这里起到是反向代理和负载均衡器的作用,它可以让流量从单个入口进入集群后引导到集群中的各个服务。Kubernetes 支持这种机制,但 Kubernetes 本身不提供这个功能,因此 Traefik 是一个不错的选择,K3s 安装后立即可用的优点也得益于此。
|
||||
|
||||
在后续的文章中,我们会继续探讨 Traefik 在 Kubernetes ingress 中的应用,以及在集群中部署其它组件。敬请关注。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/kubernetes-raspberry-pi-k3s
|
||||
@ -188,7 +173,7 @@ via: https://opensource.com/article/20/3/kubernetes-raspberry-pi-k3s
|
||||
作者:[Lee Carpenter][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[HankChow](https://github.com/HankChow)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,36 +1,38 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-12048-1.html)
|
||||
[#]: subject: (4 Markdown tools for the Linux command line)
|
||||
[#]: via: (https://opensource.com/article/20/3/markdown-apps-linux-command-line)
|
||||
[#]: author: (Scott Nesbitt https://opensource.com/users/scottnesbitt)
|
||||
|
||||
4 个 Linux 命令行下的 Markdown 工具
|
||||
======
|
||||
命令行 Markdown 工具快速、强大、灵活。以下是 4 个值得试一下的工具。
|
||||
![A person working.][1]
|
||||
|
||||
在处理 [Markdown][2] 格式的文件时,命令行工具会占据主导地位。它们轻巧、快速、强大、灵活,它们大多数都遵循 Unix 哲学只做好一件事。
|
||||
> 命令行 Markdown 工具快速、强大、灵活。以下是 4 个值得试一下的工具。
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202003/29/112110pbd22dku6b2g6ku6.jpg)
|
||||
|
||||
(在 Linux 上)在处理 [Markdown][2] 格式的文件时,命令行工具会占据主导地位。它们轻巧、快速、强大、灵活,它们大多数都遵循 Unix 哲学只做好一件事。
|
||||
|
||||
看一下这四个程序,它们可以帮助你在命令行中更有效地处理 Markdown 文件。
|
||||
|
||||
### mdless
|
||||
|
||||
如果你使用过一段时间的 Linux 命令行,那么你可能对名为 [less][3] 的文本查看器很熟悉。当然,你可以使用 less 查看 Markdown 文件,但结果有点枯燥。如何在终端中查看 Markdown 文件效果更好一点?来使用 [mdless][4]。
|
||||
如果你使用过一段时间的 Linux 命令行,那么你可能对名为 [less][3] 的文本查看器很熟悉。当然,你可以使用 `less` 查看 Markdown 文件,但结果有点枯燥。如何在终端中查看 Markdown 文件效果更好一点?来使用 [mdless][4]。
|
||||
|
||||
![mdless][5]
|
||||
|
||||
你可以使用键盘上的箭头键四处移动,并且 mdless 提供了很好的搜索功能。
|
||||
你可以使用键盘上的箭头键四处移动,并且 `mdless` 提供了很好的搜索功能。
|
||||
|
||||
mdless 不仅会显示文本,而且还会渲染标题、粗体和斜体等格式。它还可以显示表格并语法高亮代码块。你还可以创建一个或多个主题文件来[定制][6] mdless 的外观。
|
||||
`mdless` 不仅会显示文本,而且还会渲染标题、粗体和斜体等格式。它还可以显示表格并语法高亮代码块。你还可以创建一个或多个主题文件来[定制][6] `mdless` 的外观。
|
||||
|
||||
### Markdown lint 工具
|
||||
|
||||
你在快速输入时会犯错误。如果你在使用 Markdown(或其他任何标记语言)时丢失了一些格式,那么在将文件转换为另一种格式时可能会有问题。
|
||||
|
||||
程序员通常使用名为 _linter_ 的工具来检查语法是否正确。你可以使用 [Markdown lint 工具][7]对 Markdown 执行相同的操作。
|
||||
程序员通常使用名为 linter 的工具来检查语法是否正确。你可以使用 [Markdown lint 工具][7]对 Markdown 执行相同的操作。
|
||||
|
||||
在你对 Markdown 文件运行该工具时,它会根据[规则集][8]检查格式。这些规则控制着文档的结构,包括标题级别的顺序、不正确的缩进和间距、代码块问题、文件中存在 HTML 等等。
|
||||
|
||||
@ -40,25 +42,25 @@ mdless 不仅会显示文本,而且还会渲染标题、粗体和斜体等格
|
||||
|
||||
### mdmerge
|
||||
|
||||
合并任何类型的文件可能会很痛苦。例如,我在整理一本电子书。它是一篇文章集,最初发布在我的[每周邮件][10]中。这些文章都放在单独的文件中,作为受虐狂,我以凌乱,手动的方式将它们组合在一起。
|
||||
合并任何类型的文件可能会很痛苦。例如,我在整理一本电子书。它是一篇文章集,最初发布在我的[每周邮件][10]中。这些文章都放在单独的文件中,作为受虐狂,我以凌乱、手动的方式将它们组合在一起。
|
||||
|
||||
我希望在开始项目之前就了解了 [mdmerge][11]。这样我可以节省很多时间和精力。
|
||||
我希望在开始这个项目之前就知道 [mdmerge][11]。这样我可以节省很多时间和精力。
|
||||
|
||||
mdmerge,你可能已经从名称中猜到了它的作用,它将两个或多个 Markdown 文件合并为一个文件。你无需在命令行中输入文件名。相反,你可以将它们添加到名为 book.txt 的文件中,并将其用作 mdmerge 的输入文件。
|
||||
`mdmerge`,你可能已经从名称中猜到了它的作用,它将两个或多个 Markdown 文件合并为一个文件。你无需在命令行中输入文件名。相反,你可以将它们添加到名为 `book.txt` 的文件中,并将其用作 `mdmerge` 的输入文件。
|
||||
|
||||
这并不是 mdmerge 能做的一切。你可以添加对另一个文档的引用(使用 Markdown 格式引用或一段源代码),然后将其放入主文档中。这样一来,你就可以创建针对特定受众定制的[主文档] [12]。
|
||||
这并不是 `mdmerge` 能做的一切。你可以添加对另一个文档的引用(使用 Markdown 格式引用或一段源代码),然后将其放入主文档中。这样一来,你就可以创建针对特定受众定制的[主文档][12]。
|
||||
|
||||
mdmerge 不会是你一直使用的程序之一。当你需要时,你会很高兴硬盘上有它。
|
||||
`mdmerge` 不会是你经常使用的程序。但当你需要时,你会很高兴硬盘上有它。
|
||||
|
||||
### bashblog
|
||||
|
||||
[bashblog][13] 并不是严格上的 Markdown 工具。它获取 Markdown 文件,并使用它们来构建简单的博客或网站。你可以将 bashblog 视为[静态站点生成器][14],但是它没有很多脆弱的依赖关系。一切几乎都在一个不到 50KB 的 shell 脚本中。
|
||||
严格说 [bashblog][13] 并不是 Markdown 工具。它获取 Markdown 文件,并使用它们来构建简单的博客或网站。你可以将 bashblog 视为[静态站点生成器][14],但是它没有很多脆弱的依赖关系。一切几乎都在一个不到 50KB 的 shell 脚本中。
|
||||
|
||||
要使用 bashblog,只需在计算机上安装 Markdown 处理器即可。在此,你可以编辑 Shell 脚本添加有关博客的信息,例如标题、名字、社交媒体链接等。然后运行脚本。之后会在默认文本编辑器中新建一篇文章。开始输入。
|
||||
要使用 bashblog,只需在计算机上安装 Markdown 处理器即可。在此,你可以编辑 Shell 脚本添加有关博客的信息,例如标题、名字、社交媒体链接等。然后运行该脚本。之后会在默认文本编辑器中新建一篇文章。开始输入。
|
||||
|
||||
保存文章后,你可以发布它或将其另存为草稿。如果你选择发布文章,那么 bashblog 会将你的博客、文章和所有内容生成为一组 HTML 文件,你可以将它们上传到 Web 服务器。
|
||||
|
||||
它开箱即用,你的博客会平淡无奇,但可以使用。你可以根据自己喜好编辑站点的 CSS 文件来改变外观。
|
||||
它开箱即用,你的博客或许会平淡无奇,但可以使用。你可以根据自己喜好编辑站点的 CSS 文件来改变外观。
|
||||
|
||||
![bashblog][15]
|
||||
|
||||
@ -66,12 +68,12 @@ mdmerge 不会是你一直使用的程序之一。当你需要时,你会很高
|
||||
|
||||
当然,Panddoc 是一个非常强大的工具,可以将 Markdown 文件转换为其他标记语言。但是,在命令行上使用 Markdown 要比 Pandoc 多。
|
||||
|
||||
如果你需要 Pandoc 修复,请查看我们在 Opensource.com 上发布的文章:
|
||||
如果你需要 Pandoc,请查看我们发布的文章:
|
||||
|
||||
* [使用 Pandoc 在命令行中转换文件][16]
|
||||
* [使用 Pandoc 将你的书变成网站和 ePub] [17]
|
||||
* [如何使用 Pandoc 生成论文] [18]
|
||||
* [使用 Pandoc 将 Markdown 文件转换为 word 文档] [19]
|
||||
* [在命令行使用 Pandoc 进行文件转换][16]
|
||||
* [使用 Pandoc 将你的书转换成网页和电子书][17]
|
||||
* [用 Pandoc 生成一篇调研论文][18]
|
||||
* [使用 pandoc 将 Markdown 转换为格式化文档][19]
|
||||
|
||||
|
||||
|
||||
@ -82,7 +84,7 @@ via: https://opensource.com/article/20/3/markdown-apps-linux-command-line
|
||||
作者:[Scott Nesbitt][a]
|
||||
选题:[lujun9972][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/) 荣誉推出
|
||||
|
||||
@ -103,7 +105,7 @@ via: https://opensource.com/article/20/3/markdown-apps-linux-command-line
|
||||
[13]: https://github.com/cfenollosa/bashblog
|
||||
[14]: https://en.wikipedia.org/wiki/Web_template_system#Static_site_generators
|
||||
[15]: https://opensource.com/sites/default/files/uploads/bashblog.png (bashblog)
|
||||
[16]: https://opensource.com/article/18/9/intro-pandoc
|
||||
[17]: https://opensource.com/article/18/10/book-to-website-epub-using-pandoc
|
||||
[18]: https://opensource.com/article/18/9/pandoc-research-paper
|
||||
[19]: https://opensource.com/article/19/5/convert-markdown-to-word-pandoc
|
||||
[16]: https://linux.cn/article-10228-1.html
|
||||
[17]: https://linux.cn/article-10287-1.html
|
||||
[18]: https://linux.cn/article-10179-1.html
|
||||
[19]: https://linux.cn/article-11160-1.html
|
@ -1,45 +1,48 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (wxy)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-12047-1.html)
|
||||
[#]: subject: (7 open hardware projects working to solve COVID-19)
|
||||
[#]: via: (https://opensource.com/article/20/3/open-hardware-covid19)
|
||||
[#]: author: (Harris Kenny https://opensource.com/users/harriskenny)
|
||||
|
||||
应对新冠病毒事件的 7 个开放硬件项目
|
||||
应对新冠病毒的 7 个开源硬件项目
|
||||
======
|
||||
> 开放硬件解决方案可以为抵御新型冠状病毒的传播和痛苦做出贡献。
|
||||
|
||||
![open on blue background with heartbeat symbol][1]
|
||||
> 开源硬件解决方案可以为抵御新型冠状病毒的传播和痛苦做出贡献。
|
||||
|
||||
开源[硬件][2]运动长期以来一直主张维修权的重要性,完全拥有所购买的技术,并能够像音乐一样重新组合和复制组件。因此,在这个充满挑战的时期内,开放硬件为由冠状病毒大流行引起的一些问题提供了一些答案。
|
||||
![](https://img.linux.net.cn/data/attachment/album/202003/29/103909f50gm91z22twuv23.jpg)
|
||||
|
||||
开源[硬件][2]运动长期以来一直主张维修权的重要性,完全拥有所购买的技术,并能够像音乐一样重新组合和复制部件。因此,在这个充满挑战的时期内,开源硬件为由冠状病毒大流行引起的一些问题提供了一些答案。
|
||||
|
||||
### 背景概述
|
||||
|
||||
首先,全球的硬件开发人员正在努力使用开源解决供应链中的弱点,在过去 30 年中,这种理念推动了新软件技术的大量涌现。过去在硬件运动方面的成功,如 [RepRap Project][3],[Open Source Ecology][4] 和 [Open Source Beehives][5],证明了这一点是可以做到的。
|
||||
首先,全球的硬件开发人员正在努力使用开源解决供应链中的弱点,在过去 30 年中,这种理念推动了新软件技术的大量涌现。过去在硬件运动方面的成功,如 [RepRap Project][3]、[Open Source Ecology][4] 和 [Open Source Beehives][5],证明了这一点是可以做到的。
|
||||
|
||||
对使用 3D 打印和其他技术按需制造安全设备的替换零件和按需生产的创作者的兴趣日益增加。例如,香港理工大学实验室为医院工作人员提供 [3D 打印面罩][6]。意大利初创公司 Isinnova 与米兰 FabLab 合作,为受重灾的意大利北部提供用于呼吸机的 [3D 打印替换阀][7]。公司们还发布了设计以适应我们的物理接触,例如 Materialise 的 [3D 打印免提开门器] [8]。这些更换零件和解决问题的示例是一个很好的起点,为挽救生命做出了努力。
|
||||
对于使用 3D 打印和其他技术按需生产安全设备和按需制造它的替换零件,创客们的兴趣日益增加。例如,香港理工大学实验室为医院工作人员提供 [3D 打印面罩][6]。意大利初创公司 Isinnova 与米兰 FabLab 合作,为受重灾的意大利北部提供用于呼吸机的 [3D 打印替换阀][7]。公司们还发布了设计以适应我们的物理接触需求,例如 Materialise 的 [3D 打印免提开门器][8]。这些更换零件和解决问题的示例是一个很好的起点,为挽救生命做出了努力。
|
||||
|
||||
另一种传统的硬件技术正在加速发展:缝纫。法新社报道说,全球急需口罩,来自世界卫生组织的指导也指明了其重要性。随着一次性口罩要优先供给于医护人员,捷克共和国的人们[开始缝制自己的口罩][9]。(重复使用的口罩确实会带来细菌问题。)Facebook 小组“捷克缝制口罩”开始在他们的国家解决这个问题,成千上万的成员开始用起了他们的家用缝纫机。
|
||||
|
||||
开源硬件设备和机械项目也越来越受欢迎。首先,有一些测试性设备具备高精度且功能强大。其次,在没有其他选择方案的情况下,有一些医疗设备可以归类为现场级(最好)。这些项目将在下面详细概述。
|
||||
开源硬件设备和机械项目也越来越受欢迎。首先,有一些测试性设备具备高精度且功能强大。其次,在没有其他选择方案的情况下,有一些医疗设备(顶多)可以归类为现场级。这些项目将在下面详细概述。
|
||||
|
||||
为了解更多信息,我与总部位于芝加哥的 [Tapster Robotics][10] 的创始人兼首席执行官 Jason Huggins 进行了交谈。Tapster Robotics 使用 3 D打印、计算机数控(CNC)加工和 [Arduino][11] 等开放式电子产品设计和制造台式机器人。他兼具技术知识和工业能力,具有很高的影响力。他想投入自己公司的资源来帮助这场斗争。
|
||||
为了解更多信息,我与总部位于芝加哥的 [Tapster Robotics][10] 的创始人兼首席执行官 Jason Huggins 进行了交谈。Tapster Robotics 使用 3D 打印、计算机数控(CNC)加工和 [Arduino][11] 等开源电子产品设计和制造台式机器人。他兼具技术知识和工业能力,具有很高的影响力。他想投入自己公司的资源来帮助这场斗争。
|
||||
|
||||
“基本上,我们现在正处于第二次世界大战的动员时刻。即使我不是医生,我们仍然应该遵循希波克拉底誓言。无论我做什么,我都不想让问题变得更糟,” Huggins 解释。他认为:“作为对策,世卫组织执行主任 Michael Ryan 博士发表了这样的评论:‘速度胜过完美’。”
|
||||
“基本上,我们现在正处于第二次世界大战的动员时刻。即使我不是医生,我们仍然应该遵循希波克拉底誓言。无论我做什么,我都不想让问题变得更糟”,Huggins 解释,他认为:“作为对策,世卫组织执行主任 Michael Ryan 博士发表了这样的评论:‘速度胜过完美’。”
|
||||
|
||||
> 哇
|
||||
> 哇!
|
||||
>
|
||||
> 这个人是疾病传播的全球权威。如果您是领导者(无论以何种身份),请注意。如果不是,也请注意。 [pic.twitter.com/bFogaekehM][12]
|
||||
> 这个人是疾病传播的全球权威。如果您是领导者(无论以何种身份),请注意。如果不是,也请注意。
|
||||
>
|
||||
> [pic.twitter.com/bFogaekehM][12]
|
||||
>
|
||||
> — Jim RichardsSh🎙wgram(@JIMrichards1010)[2020 年 3 月 15 日][13]
|
||||
|
||||
Huggins 在应需提供方面具有丰富的经验。他的努力有助于 [Healthcare.gov][14] 在挑战性的最初启动后得以扩展。他还创建了软件行业标准的测试框架 Selenium 和 Appium。有了这一经验,他的建议非常值得考虑。
|
||||
|
||||
我还与 [Tyson Law][15] 的西雅图律师 Mark Tyson 进行了交谈,他与初创公司和小型企业合作。他在快速发展的行业中与敏捷公司合作有着直接的经验。在阐述整个问题时,Tyson 说到:
|
||||
我还与 [Tyson Law][15] 的西雅图律师 Mark Tyson 进行了交谈,他的合作对象是初创公司和小型企业。他在快速发展的行业中与敏捷公司合作有着直接的经验。在阐述整个问题时,Tyson 说到:
|
||||
|
||||
> 《<ruby>善良的撒玛利亚人法<rt>Good Samaritan law</rt></ruby>》保护志愿者(即“好撒玛利亚人”)免于因其决定在紧急情况下提供援助而承担责任。尽管这些法律的具体内容因州而异,但它们具有共同的公共政策依据:即鼓励旁观者帮助遇到紧急情况的其他人。可以想象,除了传统的把车祸的受害者从伤害中拉出来之外,这种理论依据可以证明在不太传统的环境中应用这类法律的合理性。
|
||||
> 《<ruby>善良的撒玛利亚人法<rt>Good Samaritan law</rt></ruby>》保护志愿者(即“好撒玛利亚人”)免于因其在紧急情况下提供援助的决定而承担责任。尽管这些法律的具体内容因州而异,但它们具有共同的公共政策依据:即鼓励旁观者帮助遇到紧急情况的其他人。可以想象,除了传统的把车祸的受害者从伤害中拉出来之外,这种理论依据可以证明在不太传统的环境中应用这类法律的合理性。
|
||||
|
||||
对于这种特定情况,Tyson 指出:
|
||||
|
||||
@ -49,17 +52,17 @@ Tyson 明白情况的紧迫性和严重性。使用合同的这种选择并不
|
||||
|
||||
综上所述,让我们探索正在使用或正在开发中的项目(可能很快就可以部署)。
|
||||
|
||||
### 7 个与新冠病毒对抗的开放硬件项目
|
||||
### 7 个与新冠病毒对抗的开源硬件项目
|
||||
|
||||
#### Opentrons
|
||||
|
||||
[Opentrons][16] 的开源实验室自动化平台由一套开源硬件、经过验证的实验室器具、消耗品、试剂和工作站组成。Opentrons 表示,其产品可以“在下订单后几天内每天自动进行多达 2400 个测试”的系统,可以极大地帮助提高[新冠病毒测试规模][17]。它计划在 7 月 1 日之前提升多达 100 万个测试样本。
|
||||
[Opentrons][16] 的开源实验室自动化平台由一套开源硬件、经过验证的实验室器具、消耗品、试剂和工作站组成。Opentrons 表示,其产品可以“在下订单后几天内每天自动进行多达 2400 个测试”的系统,可以极大地帮助提高[新冠病毒测试规模][17]。它计划在 7 月 1 日之前提升到多达 100 万个测试样本。
|
||||
|
||||
![Opentrons roadmap graphic][18]
|
||||
|
||||
*来自 Opentrons [网站][17],版权所有*
|
||||
|
||||
该公司已经在与联邦和地方政府机构合作,以确定其系统是否可以在[紧急使用授权][19]下用于临床诊断。 Opentrons 在 [Apache 2.0 许可证][20]下共享。我最初是从与该项目有联系的生物学家 Kristin Ellis 斯那里得知它的。
|
||||
该公司已经在与联邦和地方政府机构合作,以确定其系统是否可以在[紧急使用授权][19]下用于临床诊断。 Opentrons 在 [Apache 2.0 许可证][20]下共享。我最初是从与该项目有联系的生物学家 Kristin Ellis 那里得知它的。
|
||||
|
||||
#### Chai 的 Open qPCR
|
||||
|
||||
@ -67,17 +70,17 @@ Chai 的 [Open qPCR][21] 设备使用[聚合酶链反应][22](PCR)快速检
|
||||
|
||||
#### OpenPCR
|
||||
|
||||
[OpenPCR][25] 是 Chai Open qPCR 的创建者 Josh Perfetto 和 Jessie Ho 的 PCR 测试设备套件。与以前的项目相比,这更像是一种 DIY 开源设备,但它具有相同的使用场景:使用环境测试来识别野外冠状病毒。正如该项目页面所指出的那样,“能够检测这些病原体的传统实时 PCR 机通常花费超过 30,000 美元,而且不适合在现场使用。”由于 OpenPCR 是用户构建的工具包,并且在 [GPLv3.0 许可证][26]下共享,因此该设备旨在使分子诊断的访问大众化。
|
||||
[OpenPCR][25] 是 Chai Open qPCR 的创建者 Josh Perfetto 和 Jessie Ho 的 PCR 测试设备套件。与他们的前一个项目相比,这更像是一种 DIY 开源设备,但它具有相同的使用场景:使用环境测试来识别野外冠状病毒。正如该项目页面所指出的那样,“能够检测这些病原体的传统实时 PCR 设备通常花费超过 30,000 美元,而且不适合在现场使用。”由于 OpenPCR 是用户构建的工具包,并且在 [GPLv3.0 许可证][26]下共享,因此该设备旨在使分子诊断的访问大众化。
|
||||
|
||||
![OpenPCR][27]
|
||||
|
||||
*来自 OpenPCR [网站][25],版权所有*
|
||||
|
||||
而且,就像任何优秀的开源项目一样,它也有一个衍生产品!瑞士的 [GaudiLabs][29] 推出的 [WildOpenPCR][28] 也以 [GPLv3.0 许可证][30]共享。
|
||||
而且,就像任何优秀的开源项目一样,它也有一个衍生产品!瑞士的 [Gaudi Labs][29] 推出的 [WildOpenPCR][28] 也以 [GPLv3.0 许可证][30]共享。
|
||||
|
||||
#### PocketPCR
|
||||
|
||||
Gaudi Labs 的 [PocketPCR][31] 热循环仪可通过升高和降低小试管中液体的温度来激活生物反应。它可以通过简单的 USB 电源适配器供电,该适配器可以绑定到设备上,也可以单独使用,不需要计算机或智能手机时可使用预设参数。
|
||||
Gaudi Labs 的 [PocketPCR][31] 热循环仪可通过升高和降低小试管中液体的温度来激活生物反应。它可以通过简单的 USB 电源适配器供电,该适配器可以绑定到设备上,也可以单独使用,不使用计算机或智能手机时可使用预设参数。
|
||||
|
||||
![PocketPCR][32]
|
||||
|
||||
@ -87,7 +90,7 @@ Gaudi Labs 的 [PocketPCR][31] 热循环仪可通过升高和降低小试管中
|
||||
|
||||
#### Open Lung 低资源呼吸机
|
||||
|
||||
[Open Lung 低资源呼吸机][34]是一种快速部署的呼吸机,它以[气囊阀罩][35](BVM)(也称为 Ambu 气囊)为核心组件。Ambu 气囊已批量生产,经过认证,体积小,机械简单,并且适用于侵入性导管和口罩。 OPEN LUNG 呼吸机使用微电子技术来感测和控制气压和流量,以实现半自主运行。
|
||||
[Open Lung 低资源呼吸机][34]是一种快速部署的呼吸机,它以[气囊阀罩][35](BVM)(也称为 Ambu 气囊)为核心组件。Ambu 气囊已批量生产,经过认证,体积小,机械简单,并且适用于侵入性导管和口罩。 Open Lung 呼吸机使用微电子技术来感测和控制气压和流量,以实现半自主运行。
|
||||
|
||||
![Open Lung ventilator][36]
|
||||
|
||||
@ -101,27 +104,27 @@ Gaudi Labs 的 [PocketPCR][31] 热循环仪可通过升高和降低小试管中
|
||||
|
||||
#### Folding at Home
|
||||
|
||||
[Folding at Home][40] 是一个分布式计算项目,用于模拟蛋白质动力学,包括蛋白质折叠的过程以及与多种疾病有关的蛋白质运动。这是一个面向公民科学家、研究人员和志愿者的行动呼吁,类似于退役的 [SETI@Home 项目][41]中在家中使用计算机来运行解码计算。如果你是具备强大计算机硬件功能的技术人员,那么这个项目适合你。
|
||||
[Folding at Home][40] 是一个分布式计算项目,用于模拟蛋白质动力学,包括蛋白质折叠的过程以及与多种疾病有关的蛋白质运动。这是一个面向公民科学家、研究人员和志愿者的行动呼吁,类似于退役的 [SETI@Home 项目][41]使用家中的计算机来运行解码计算。如果你是具备强大计算机硬件功能的技术人员,那么这个项目适合你。
|
||||
|
||||
![Markov state model][42]
|
||||
|
||||
*Vincent Voelz,CC BY-SA 3.0*
|
||||
|
||||
Folding at Home 项目使用马尔可夫状态模型(如上所示)来建模蛋白质可能采取的形状和折叠途径,以寻找新的治疗机会。你可以在华盛顿大学生物物理学家 Greg Bowman 的帖子“[它是如何运作的以及如何提供帮助][43]”中找到有关该项目的更多信息。
|
||||
Folding at Home 项目使用马尔可夫状态模型(如上所示)来建模蛋白质可能采取的形状和折叠途径,以寻找新的治疗机会。你可以在华盛顿大学生物物理学家 Greg Bowman 的帖子《[它是如何运作的以及如何提供帮助][43]》中找到有关该项目的更多信息。
|
||||
|
||||
该项目涉及来自许多国家(包括香港、克罗地亚、瑞典和美国)的财团的学术实验室、贡献者和公司赞助者。 在 [GitHub][45] 上,[在混合了 GPL 和专有许可证][44]下可以共享,并且可以在 Windows、macOS 和 GNU/Linux(例如 Debian、Ubuntu、Mint、RHEL、CentOS、Fedora)。
|
||||
该项目涉及来自许多国家(包括香港、克罗地亚、瑞典和美国)的财团的学术实验室、贡献者和公司赞助者。 在 [GitHub][45] 上,[在混合了 GPL 和专有许可证][44]下共享,并且可以在 Windows、macOS 和 GNU/Linux(例如 Debian、Ubuntu、Mint、RHEL、CentOS、Fedora)。
|
||||
|
||||
### 许多其他有趣的项目
|
||||
|
||||
这些项目只是在开放硬件领域中解决或治疗新冠病毒活动中的一小部分。在研究本文时,我发现了其他值得探索的项目,例如:
|
||||
这些项目只是在开源硬件领域中解决或治疗新冠病毒活动中的一小部分。在研究本文时,我发现了其他值得探索的项目,例如:
|
||||
|
||||
* Coronavirus Tech Handbook 提供的[开源呼吸机、氧气浓缩器等][46]
|
||||
* 来自 ProjectOpenAir 的 [有用的工程][47]
|
||||
* Hackaday 上的[开源呼吸机黑客马拉松][48]
|
||||
* 约翰·霍普金斯急诊医学住院医师 Julian Botta 的[简单开源机械呼吸机规范][49]
|
||||
* [与冠状病毒有关的网络钓鱼、恶意软件和随机软件正在增加][50],作者:Shannon Morse
|
||||
* [将低成本的 CPAP 鼓风机转换为基本通风机][51],作者: jcl5m1
|
||||
* [A.I.R.E. 论坛上关于开放呼吸器和风扇的讨论][52](西班牙语)
|
||||
* [将低成本的 CPAP 鼓风机转换为基本呼吸机][51],作者: jcl5m1
|
||||
* [A.I.R.E. 论坛上关于开源呼吸器和风扇的讨论][52](西班牙语)
|
||||
* [关于新冠病毒的开源医疗硬件的特殊问题][53],作者:Elsevier HardwareX
|
||||
|
||||
这些项目遍布全球,而这种全球合作正是我们所需要的,因为病毒无视国界。新冠病毒大流行在不同时期以不同方式影响国家,因此我们需要一种分布式方法。
|
||||
@ -132,7 +135,7 @@ Folding at Home 项目使用马尔可夫状态模型(如上所示)来建模
|
||||
|
||||
*OSHdata,CC BY-SA 4.0 国际版*
|
||||
|
||||
如果你有兴趣加入这场与全球开源硬件开发人员的对话,请加入[Open Hardware Summit Discord][56]服 务器,并通过专用渠道进行有关新冠病毒的讨论。你在这里可以找到机器人专家、设计师、艺术家、固件和机械工程师、学生、研究人员以及其他共同为这场战争而战的人。希望可以看到你。
|
||||
如果你有兴趣加入这场与全球开源硬件开发人员的对话,请加入[开源硬件峰会的 Discord][56] 服务器,并通过专用渠道进行有关新冠病毒的讨论。你在这里可以找到机器人专家、设计师、艺术家、固件和机械工程师、学生、研究人员以及其他共同为这场战争而战的人。希望可以看到你。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -141,7 +144,7 @@ via: https://opensource.com/article/20/3/open-hardware-covid19
|
||||
作者:[Harris Kenny][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,70 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (npm joins GitHub, building operators in Kubernetes, and more industry trends)
|
||||
[#]: via: (https://opensource.com/article/20/3/npm-github-operators-kubernetes-industry-trends)
|
||||
[#]: author: (Tim Hildred https://opensource.com/users/thildred)
|
||||
|
||||
npm joins GitHub, building operators in Kubernetes, and more industry trends
|
||||
======
|
||||
A weekly look at open source community and industry trends.
|
||||
![Person standing in front of a giant computer screen with numbers, data][1]
|
||||
|
||||
As part of my role as a senior product marketing manager at an enterprise software company with an open source development model, I publish a regular update about open source community, market, and industry trends for product marketers, managers, and other influencers. Here are five of my and their favorite articles from that update.
|
||||
|
||||
## [npm is joining GitHub][2]
|
||||
|
||||
> Looking further ahead, we’ll integrate GitHub and npm to improve the security of the open source software supply chain, and enable you to trace a change from a GitHub pull request to the npm package version that fixed it. Open source security is an important global issue, and with the recent launch of the [GitHub Security Lab][3] and GitHub’s built-in [security advisories][4], we are well-positioned to make a difference. In addition, [GitHub Sponsors][5] has already paid out millions of dollars to open source contributors, and we’re excited to explore tasteful ways to extend it to the npm ecosystem.
|
||||
|
||||
**The impact**: Open source supply chain security is a big problem that probably needs a lot more resources thrown at it.
|
||||
|
||||
## [Why and how to build operators in Kubernetes][6]
|
||||
|
||||
> For cluster administrators managing large clusters, this proliferation of development methodologies and management interfaces can be problematic. The class of applications that Operators were developed to manage are almost always part of a larger application stack, with dependencies between them. If we have a lot of Operators written in different ways running on our clusters, how can we ensure they will interoperate with each other, and how do we validate and test them?
|
||||
|
||||
**The impact**: This illustrates two cool things about open source. First, the alternating waves of innovation and consolidation. Second, the empowering of affected parties to address their own challenges.
|
||||
|
||||
## [Automation for improved security frameworks][7]
|
||||
|
||||
> In recent years we’ve seen the posts of CIO and CTO elevated to boardroom level, with senior figures in IT now influencing corporate strategy. Due to a heightened awareness of cybersecurity, it won’t be long before the board looks to CSO and CISO executives for strategic direction.
|
||||
|
||||
**The impact**: This statement has gotten truer over the last several weeks. More activity is being pushed online than ever before; keeping that activity secure is integral to making it all profitable. Security people need to be able to say "no" at the highest possible level.
|
||||
|
||||
## [Interoperability of open source tools: The emergence of interfaces][8]
|
||||
|
||||
> Being non-opinionated about the adoption of specific technologies and the methodologies of distributing its primitive resources, were the main axes of Kubernetes evolution. Additionally, the proliferation of solutions from multiple vendors played an instrumental role in the emergence of interfaces and it served as the engine for further development and innovation.
|
||||
|
||||
**The impact**: Kubernetes may be the only large-scale open source project where competition is hot. Even still, competitors need to be able to work together and interfaces are the points that separate collaboration and competition.
|
||||
|
||||
## [Do you operate OpenStack? Take this survey.][9]
|
||||
|
||||
> Direct feedback from the individuals and organizations operating OpenStack helps the upstream development community know what features to prioritize and which bugs to fix first, among other important learnings on how the software is being used. Each of the official project teams has the opportunity to add a question to the survey as well as review anonymized data and trends to further influence their roadmaps.
|
||||
|
||||
**The impact**: Not every community participant can or will provide feedback on bug reports or feature requests. In that case, it is important to provide multiple ways to get feedback and meet users where they are.
|
||||
|
||||
_I hope you enjoyed this list and come back next week for more open source community, market, and industry trends._
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/npm-github-operators-kubernetes-industry-trends
|
||||
|
||||
作者:[Tim Hildred][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://opensource.com/users/thildred
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/data_metrics_analytics_desktop_laptop.png?itok=9QXd7AUr (Person standing in front of a giant computer screen with numbers, data)
|
||||
[2]: https://github.blog/2020-03-16-npm-is-joining-github/
|
||||
[3]: https://securitylab.github.com
|
||||
[4]: https://help.github.com/en/github/managing-security-vulnerabilities/creating-a-security-advisory
|
||||
[5]: https://github.com/sponsors
|
||||
[6]: https://devops.com/day-2-for-the-operator-ecosystem/
|
||||
[7]: https://www.infosecurity-magazine.com/opinions/automation-governance-culture/
|
||||
[8]: https://medium.com/@kgamanji/interoperability-of-open-source-tools-the-emergence-of-interfaces-f3b7a90891e4
|
||||
[9]: https://superuser.openstack.org/articles/operate-openstack-take-the-survey-heres-why-it-matters/
|
@ -0,0 +1,55 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (COVID-19 vs. Raspberry Pi: Researchers bring IoT technology to disease detection)
|
||||
[#]: via: (https://www.networkworld.com/article/3534101/covid-19-vs-raspberry-pi-researchers-bring-iot-technology-to-disease-detection.html)
|
||||
[#]: author: (Jon Gold https://www.networkworld.com/author/Jon-Gold/)
|
||||
|
||||
COVID-19 vs. Raspberry Pi: Researchers bring IoT technology to disease detection
|
||||
======
|
||||
Researchers from UMass say that a Raspberry Pi edge device can help identify flu-like symptoms in crowds, broadening the range of tools that can be used to track the spread of disease.
|
||||
[Bill Oxford / Raspberry Pi / Modified by IDG Comm.][1] [(CC0)][2]
|
||||
|
||||
An [IoT][3] device that tracks coughing and crowd size in real time could become a useful tool for identifying the presence of flu-like symptoms among large groups of people, according to a team of researchers at UMass Amherst.
|
||||
|
||||
FluSense, as the researchers call it, is about the size of a dictionary. It contains a cheap microphone array, a thermal sensor, a Raspberry Pi and an Intel Movidius 2 neural computing engine. The idea is to use AI at the edge to classify audio samples and identify the number of people in a room at any given time.
|
||||
|
||||
[[Get regularly scheduled insights by signing up for Network World newsletters.]][4]
|
||||
|
||||
Since the system can distinguish coughing from other types of non-speech audio, correlating coughing with the size of a given crowd could give a useful index of how many people are likely to be experiencing flu-like symptoms.
|
||||
|
||||
A test run between December 2018 and July 2019 saw FluSense installed in four waiting rooms at UMass’ University Health Services clinic, and the researchers said that they were able to “strongly” correlate the system’s results with clinical testing for influenza and other illnesses with similar symptoms.
|
||||
|
||||
And bigger plans for FluSense are afoot, according to the paper’s lead author, Ph.D student Forsad Al Hossain and his co-author and adviser, assistant professor Tauhidur Rahman.
|
||||
|
||||
“[C]urrently we are planning to deploy the FluSense system in several large public spaces (e.g., large cafeteria, classroom, dormitories, gymnasium, auditorium) to capture syndromic signals from a broad range of people who live in a certain town or city,” they said. “We are also looking for funding to run a large-scale multi-city trial. In the meantime, we are also diversifying our sensing capability by extending FluSense’s capability to capture more syndromic signals (e.g., recently we added sneeze sensing capability to FluSense). We definitely see a significant level of commercialization potential in this line of research.”
|
||||
|
||||
FluSense is particularly interesting from a technical perspective because all of the meaningful processing work is done locally, via the Intel neural computing engine and Raspberry Pi. Symptom information is sent wirelessly to the lab for collation, of course, but the heavy lifting is accomplished at the edge. Al Hossain and Rahman were quick to emphasize that the device doesn’t collect personally identifiable information – the emphasis is on aggregating data in a given setting, rather than identifying sickness in any single patient – and everything it does collect is heavily encrypted, making it a minimal privacy concern.
|
||||
|
||||
The key point of FluSense, according to the researchers, is to think of it as a health surveillance tool, rather than a piece of diagnostic equipment. Al Hossain and Rahman said that it has several important advantages over other health surveillance techniques, particularly those based on Internet tracking, like Google Flu Trend and Twitter.
|
||||
|
||||
“FluSense is not easily influenced by public health campaigns or advertisements. Also, the contactless nature of this sensor is ideal to capture syndromic signals passively from different geographical locations and different socioeconomic groups (including underprivileged who may not have access to healthcare and may not go to a doctor/clinic,” they said.
|
||||
|
||||
Join the Network World communities on [Facebook][5] and [LinkedIn][6] to comment on topics that are top of mind.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3534101/covid-19-vs-raspberry-pi-researchers-bring-iot-technology-to-disease-detection.html
|
||||
|
||||
作者:[Jon Gold][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://www.networkworld.com/author/Jon-Gold/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://unsplash.com/photos/tR0PPLuN6Pw
|
||||
[2]: https://creativecommons.org/publicdomain/zero/1.0/
|
||||
[3]: https://www.networkworld.com/article/3207535/what-is-iot-the-internet-of-things-explained.html
|
||||
[4]: https://www.networkworld.com/newsletters/signup.html
|
||||
[5]: https://www.facebook.com/NetworkWorld/
|
||||
[6]: https://www.linkedin.com/company/network-world
|
104
sources/talk/20200325 The coming together of SD-WAN and AIOps.md
Normal file
104
sources/talk/20200325 The coming together of SD-WAN and AIOps.md
Normal file
@ -0,0 +1,104 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (The coming together of SD-WAN and AIOps)
|
||||
[#]: via: (https://www.networkworld.com/article/3533437/the-coming-together-of-aiops-and-sd-wan.html)
|
||||
[#]: author: (Zeus Kerravala https://www.networkworld.com/author/Zeus-Kerravala/)
|
||||
|
||||
The coming together of SD-WAN and AIOps
|
||||
======
|
||||
SD-WAN delivers cost and resiliency benefits. Infusing AI into SD-WAN takes things further, enabling automated operations and business agility.
|
||||
kohb / Getty Images
|
||||
|
||||
Software-defined wide-area networking ([SD-WAN][1]) and AIOps are both red-hot technologies. SD-WANs increase application availability, reduce costs and in some cases improve performance. AIOps infuses machine learning into IT operations to increase the level of automation. This reduces errors and enables businesses to make changes at digital speeds. Most think of these as separate technologies, but the two are on a collision course and will give rise to what I'm calling the AI-WAN.
|
||||
|
||||
### SD-WAN not a panacea for all network woes
|
||||
|
||||
SD-WAN is the biggest leap forward in networking since… well, the actual WAN. But many solutions still rely on manual configurations. SD-WANs certainly increase application resiliency, lower telecommunications costs, and often increase application performance, but they are more complicated than traditional WANs. Initial setup can be a challenge, but the bigger issue is ongoing operations. Manually tweaking and tuning the network to adapt to business changes can be time consuming and error-prone. A solution is needed to bring better automation to SD-WANs.
|
||||
|
||||
**READ MORE:** [How AI can improve network capacity planning][2]
|
||||
|
||||
Enter AI-WAN. Much like a self-driving car, an AI-WAN can make decisions based on different rules and adapt to changes faster than people can. Self-driving cars continually monitor road conditions, speed limits and other factors to determine what changes to make. Similarly, a self-driving network can monitor, correct, defend, and analyze with minimal to no human involvement. This is done through automation capabilities powered by AI, obviating the need for people to get involved.
|
||||
|
||||
Make no mistake, manual operations will hold businesses back from reaching their full potential. An interesting data point from my research is that it takes enterprises an average of four months to make changes across a network. That's because maintaining legacy networks and fixing glitches takes too much time. One ZK Research study found 30% of engineers spend at least one day a week doing nothing but troubleshooting problems. SD-WANs can improve these metrics, but there's still a heavy people burden.
|
||||
|
||||
With growing data challenges businesses face as they migrate to the cloud, they simply can't afford to wait that long. Instead of being afraid of AI taking over jobs, businesses should embrace it. AI can remove human error—which is the largest cause of unplanned network downtime—and help businesses focus on higher-level tasks instead.
|
||||
|
||||
### AI-WAN will transform network operations
|
||||
|
||||
So how will the evolution of SD-WAN into AI-WAN transform network management and operations? Administrators can use their time to focus on strategic initiatives instead of fixing problems. Another data point from ZK Research is that 90% of the time taken to fix a problem is spent identifying the source. Now that applications reside in the cloud and run on mobile devices, identifying the source of a problem has gotten harder. AI-WANs have the ability to spot even the smallest anomaly, even if it hasn't yet begun to impact business.
|
||||
|
||||
SD-WANs are fundamentally designed so that all routing rules are managed centrally by administrators and can be transmitted across a network. AI-WAN takes it a step further and enables administrators to anticipate problems before they happen through fault prediction. It may even adjust network glitches on its own before users are affected, thus improving network performance.
|
||||
|
||||
[][3]
|
||||
|
||||
A self-driving car knows the rules of the road—where the blind spots are, how to synch with traffic signals, and which safety measures to take—using AI software, real-time data from IoT sensors, cameras, and much more. Similarly, a self-driving network knows the higher-level rules and can prevent administrators from making mistakes, such as allowing applications in countries where certain actions are banned.
|
||||
|
||||
Security is another concern. Everything from mobile devices to Internet of Things (IoT) to cloud computing is creating multiple new entry points and shifting resources to the network edge. This puts businesses at a security risk, as they struggle to respond to changes quickly.
|
||||
|
||||
Businesses can miss security gaps created by users, with hundreds of software-as-a-service (SaaS) apps being used at the same time without IT's knowledge. Older networking technologies cannot support SaaS and cloud services, while SD-WANs can. But simply deploying an SD-WAN is not enough to protect a network. Security shouldn't be an afterthought in an SD-WAN deployment, but part of it from the get-go.
|
||||
|
||||
Increasingly, vendors are bundling AI-based analytics with SD-WAN solutions to boost network security. Such solutions use AI to analyze how certain events impact the network, application performance, and security. Then, they create intelligent recommendations for any network changes, such as unauthorized use of SaaS apps.
|
||||
|
||||
Going back to the autonomous car analogy, AI-WANs are designed to keep roads clear and accident-free. They enable smarter networks that can adapt quickly to changing conditions and self-heal if necessary. With the growing demands of cloud computing and SaaS apps, intelligent networks are the future and forward-thinking businesses are already in the driver’s seat.
|
||||
|
||||
### AI-WAN exists today and will explode in the future
|
||||
|
||||
AI-WAN may seem futuristic, but there are a number of vendors that are delivering it or in the process of bringing solutions to market. Managed service provider Masergy, for example, recently introduced [AIOps for SD-WAN][4] to deliver autonomous networking and has the most complete offering.
|
||||
|
||||
Open System, another managed service provider, [snapped up cloud-based Sqooba][5] to add AIOps to its strong network and security services. Keeping with the M&A theme, VMware recently [acquired AIOps vendor Nyansa][6] and rolled it into its VeloCloud SD-WAN group. That move gives VMware similar capabilities to [Aruba Networks][7], which initially applied AI to WiFi troubleshooting but is now bringing it to its SD-Branch offering. [Cisco][8] is another networking vendor with an AIOps story, although it's trying to apply it network-wide, not just with the WAN.
|
||||
|
||||
Over time, I expect every SD-WAN or SASE vendor to bring AIOps into the fold, shifting the focus away from connectivity to automated operations.
|
||||
|
||||
**Learn more about SD-WAN**
|
||||
|
||||
* [Top 10 underused SD-WAN features][9]
|
||||
* [SD-WAN: The inside scoop from real-world deployments][10]
|
||||
* [5 reasons to choose a managed SD-WAN and 5 reasons to think twice][11]
|
||||
* [10 essential SD-WAN considerations][12]
|
||||
* [SD-WAN: What is it and why you’ll use it one day][13]
|
||||
* [SD-WAN deployment options: DIY vs. cloud managed][14]
|
||||
* [How SD-WAN can improve your security strategy][15]
|
||||
* [10 hot SD-WAN startups to watch][16]
|
||||
* [How SD-WAN saves $1.2M over 5 years for a radiology firm][17]
|
||||
* [SD-WAN creates new security challenges][18]
|
||||
|
||||
|
||||
|
||||
Join the Network World communities on [Facebook][19] and [LinkedIn][20] to comment on topics that are top of mind.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3533437/the-coming-together-of-aiops-and-sd-wan.html
|
||||
|
||||
作者:[Zeus Kerravala][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://www.networkworld.com/author/Zeus-Kerravala/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.networkworld.com/article/3031279/sd-wan-what-it-is-and-why-you-ll-use-it-one-day.html
|
||||
[2]: https://www.networkworld.com/article/3338100/using-ai-to-improve-network-capacity-planning-what-you-need-to-know.html
|
||||
[3]: https://www.networkworld.com/blog/itaas-and-the-corporate-storage-technology/?utm_source=IDG&utm_medium=promotions&utm_campaign=HPE22140&utm_content=sidebar (ITAAS and Corporate Storage Strategy)
|
||||
[4]: https://techcrunch.com/2020/03/19/nvidia-makes-its-gpu-powered-genome-sequencing-tool-available-free-to-those-studying-covid-19/?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAAMI6we4H-fTz2mf5g-l6IP27C1O-V-u6EiQuJ5QzVnlrrPU04iS0fhyrZo5U8q5rAk5I9uVW5PQYKHX8ziMdWrFBxhBP7f__JshmAGevyu4Z5zm98nDnC6nEdIekjVX4RPPmF9Q_PImcQ0opZy6JukS-DZA62tHI9R7D1Q2JAog7
|
||||
[5]: https://open-systems.com/press-release/open-systems-acquires-sqooba
|
||||
[6]: https://www.vmware.com/company/acquisitions/nyansa.html
|
||||
[7]: https://blogs.arubanetworks.com/solutions/ai-doing-more-with-less-in-2020-and-beyond/
|
||||
[8]: https://www.cisco.com/c/en/us/products/cloud-systems-management/crosswork-network-automation/service-centric-approach-to-aiops.html#~overview
|
||||
[9]: https://www.networkworld.com/article/3518992/top-10-underused-sd-wan-features.html
|
||||
[10]: https://www.networkworld.com/article/3316568/sd-wan/sd-wan-the-inside-scoop-from-real-world-deployments.html
|
||||
[11]: https://www.networkworld.com/article/3431080/5-reasons-to-choose-a-managed-sd-wan-and-5-reasons-to-think-twice.html
|
||||
[12]: https://www.networkworld.com/article/3355138/sd-wan-10-essential-considerations.html
|
||||
[13]: https://www.networkworld.com/article/3031279/sd-wan/sd-wan-what-it-is-and-why-you-ll-use-it-one-day.html
|
||||
[14]: https://www.networkworld.com/article/3243701/wide-area-networking/sd-wan-deployment-options-diy-vs-cloud-managed.html
|
||||
[15]: https://www.networkworld.com/article/3336483/how-sd-wan-can-improve-your-security-strategy.html
|
||||
[16]: https://www.networkworld.com/article/3284367/sd-wan/10-hot-sd-wan-startups-to-watch.html
|
||||
[17]: https://www.networkworld.com/article/3255291/lan-wan/sd-wan-helps-radiology-firm-cut-costs-scale-bandwidth.html
|
||||
[18]: https://www.networkworld.com/article/3336155/sd-wan-creates-new-security-challenges.html
|
||||
[19]: https://www.facebook.com/NetworkWorld/
|
||||
[20]: https://www.linkedin.com/company/network-world
|
@ -0,0 +1,119 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (ROLLING UPDATE: The impact of COVID-19 on public networks and security)
|
||||
[#]: via: (https://www.networkworld.com/article/3534037/rolling-update-the-impact-of-covid-19-on-public-networks-and-security.html)
|
||||
[#]: author: (Michael Cooney https://www.networkworld.com/author/Michael-Cooney/)
|
||||
|
||||
ROLLING UPDATE: The impact of COVID-19 on public networks and security
|
||||
======
|
||||
Network World updates the latest coronavirus-related networking news
|
||||
Ig0rZh / Getty Images
|
||||
|
||||
_As the coronavirus spreads, public and private companies as well as government entities are requiring employees to work from home, putting unforeseen strain on all manner of networking technologies and causing bandwidth and security concerns. What follows is a round-up of news and traffic updates that Network World will update as needed to help keep up with the ever-changing situation. Check back frequently!_
|
||||
|
||||
**UPDATE 3.27**
|
||||
|
||||
Broadband watchers at [BroadbandNow][1] say users in most of the cities it analyzed are experiencing normal network conditions, suggesting that ISP’s (and their networks) are holding up to the shifting demand. In a March 25 [post][2] the firm wrote: “Encouragingly, many of the areas hit hardest by the spread of the coronavirus are holding up to increased network demand. Cities like Los Angeles, Chicago, Brooklyn, and San Francisco have all experienced little or no disruption. New York City, now the epicenter of the virus in the U.S., has seen a 24% dip out of its previous ten-week range. However, with a new median speed of nearly 52 Mbps, home connections still appear to be holding up overall.”
|
||||
|
||||
**[ Also see [What to consider when deploying a next generation firewall][3]. | Get regularly scheduled insights by [signing up for Network World newsletters][4]. ]**
|
||||
|
||||
Other BroadbandNow findings included:
|
||||
|
||||
* Eighty eight (44%) of the 200 cities it analyzed experienced some degree of network degradation over the past week compared to the 10 weeks prior. However, only 27 (13.5%) cities experienced dips of 20% below range or greater.
|
||||
* Seattle download speeds have continued to hold up over the past week, while New York City’s speeds have fallen out of range by 24%. Both cities are currently heavily affected by the coronavirus pandemic.
|
||||
* Three cities – Austin, Texas, Winston Salem, N.C., and Oxnard, Calif. – have experienced significant degradations, falling out of their 10-week range by more than 40%.
|
||||
|
||||
|
||||
|
||||
Cisco’s Talos threat-intelligence arm [wrote][5] on March 26 about the COVID security threat noting what it called three broad categories of attacks leveraging COVID with known advanced persistent threat participation in: [Malware and phishing campaigns][6] using COVID-themed lures; attacks against organizations that carry out research and other work related to COVID; and fraud and disinformation. From an enterprise security perspective, Talos recommended:
|
||||
|
||||
* Remote access: Do not expose Remote Desktop Protocol (RDP) to the internet. Use secure VPN connections with multi-factor authentication schemes. Network access control packages can be used to ensure that systems attempting to remotely connect to the corporate environment meet a minimum set of security standards such as anti-malware protection, patch levels, etc,. prior to granting them access to corporate resources. Continually identify and remediate access-policy violations.
|
||||
* Identity Management: Protect critical and public-facing applications with multi-factor authentication and supporting corporate policies. Verify that remote-account and access-termination capabilities work as intended in a remote environment.
|
||||
* Endpoint Control: Because many people may be working from home networks, endpoint visibility, protection, and mitigation is now more important than ever. Consider whether remediation and reimaging capabilities will work as intended in a remote environment. Encrypt devices where possible, and add this check to your NAC solution as a gate for connectivity. Another simple method of protecting endpoints is via DNS, such as with [Cisco’s] Umbrella, by blocking the resolution of malicious domains before the host has a chance to make a connection.
|
||||
|
||||
|
||||
|
||||
In an [FAQ][7] about the impact of COVID-19 on fulfilling customer hardware orders, VMware stated: “Some VMware SD-WAN hardware appliances are on backorder as a result of supply chain issues. As a result, we are extending the option to update existing orders with different appliances where inventory is more readily available. Customers may contact a special email hotline with questions related to backordered appliances. Please send an email to [sd-wan-hotline@vmware.com][8] with your questions and include the order number, urgent quantities, and contact information. We will do our best to respond within 48 hours.”
|
||||
|
||||
Cisco said it has been analyzing traffic statistics with major carriers across Asia, Europe, and the Americas, and its data shows that typically, the most congested point in the network occurs at inter-provider peering points, Jonathan Davidson, senior vice president and general manager of Cisco's Mass-Scale Infrastructure Group wrote in a [blog][9] on March 26. “However, the traffic exchanged at these bottlenecks is only a part of the total internet traffic, meaning reports on traffic may be higher overall as private peering and local destinations also contribute to more traffic growth.”
|
||||
|
||||
[][10]
|
||||
|
||||
“Our analysis at these locations shows an increase in traffic of 10% to 33% over normal levels. In every country, traffic spiked with the decision to shut down non-essential businesses and keep people at home. Since then, traffic has remained stable or has experienced a slight uptick over the days that followed,” Davidson stated.
|
||||
|
||||
He said that traffic during peak hours from 6 p.m. and 10 p.m. has increased slightly, but is not the primary driver for the overall inrease. Busy hours have extended to 9 a.m. 10 p.m., although the new busy-hour (9 a.m. to 6 p.m.) traffic is still below the traditional peak hours. "Service providers are certainly paying attention to these changes, but they are not yet a dire concern, as most networks are designed for growth. Current capacities are utilized more over the course of the entire day,” he wrote.
|
||||
|
||||
Spanish multinational telecommunications company [Telefonica][11]’ said IP networks are experiencing traffic increases of close to 40% while mobile voice use is up about 50% and data is up 25%. In general, traffic through IP networks has experienced increases of nearly 40% while mobile use has increased by about 50% for voice and 25% for data. Likewise, traffic from instant-messaging tools such as Whatsapp has increased fivefold in recent days.
|
||||
|
||||
**UPDATE: 3.26**
|
||||
|
||||
* Week over week (ending March 23) [Ookla][12] says it has started to see a degradation of mobile and fixed-broadband performance worldwide. More detail on specific locations is available below. Comparing the week of March 16 to the week of March 9, mean download speed over mobile and fixed broadband decreased in Canada and the U.S. while both remained relatively flat in Mexico.
|
||||
* What is the impact of the coronavirus on corporate network planning? Depends on how long the work-from-home mandate goes on really. Tom Nolle, president of CIMI Corp. [takes an interesting look at the situation][13] saying the shutdown “could eventually produce a major uptick for SD-WAN services, particularly in [managed service provider] Businesses would be much more likely to embark on an SD-WAN VPN adventure that didn’t involve purchase/licensing, favoring a service approach in general, and in particular one with a fairly short contract period.”
|
||||
* Statistics from VPN provider [NordVPN][14] show the growth of VPN usage across the globe. For example, the company said the US has experienced a 65.93% growth in the use of business VPNs since March 11. It reported that mass remote working has contributed towards a rise in desktop (94.09%) and mobile app (0.39%) usage among Americans. Globally, NordVPN teams has seen a 165% spike in the use of business VPNs and business VPN usage in Netherlands (240.49%), Canada (206.29%) and Austria (207.86%) has skyrocketed beyond 200%. Italy has had the most modest growth in business VPN usage at just 10.57%.
|
||||
|
||||
|
||||
|
||||
**UPDATE: 3. 25**:
|
||||
|
||||
* According to [Atlas VPN][15] user data, VPN usage in the US increased by 124% during the last two weeks. VPN usage in the country increased by 71% between March 16 and 22 alone. Atlas said it measured how much traffic traveled through its servers during that period compared to March 9 to 15. The data came from the company's 53,000 weekly users.
|
||||
* Verizon [reports][16] that voice usage, long declining in the age of texting, chat and social media, is up 25% in the last week. The network report shows the primary driver is accessing conference calls. In addition, people are talking longer on mobile devices with wireless voice usage notching a 10% increase and calls lasting 15% longer.
|
||||
* AT&T also [reported][17] increased calling, especially Wi-Fi calling, up 88% on March 22 versus a normal Sunday. It says that consumer home voice calls were up 74% more than an average Sunday; traffic from Netflix dipped after all-time highs on Friday and Saturday; and data traffic due to heavy video streaming between its network and peered networks tied record highs. AT&T said it has deployed portable cell nodes to bolster coverage supporting FirstNet customers in Indiana, Connecticut, New Jersey, California and New York.
|
||||
* Microsoft this week advised users of Office 365 it was throttling back some services:
|
||||
* **OneNote: ** OneNote in Teams will be read-only for commercial tenants, excluding EDU. Users can go to OneNote for the web for editing. Download size and sync frequency of file attachments has been changed. You can find details on these and other OneNote related updates as <http://aka.ms/notesupdates>.
|
||||
* **SharePoint:** We are rescheduling specific backend operations to regional evening and weekend business hours. Impacted capabilities include migration, DLP and delays in file management after uploading a new file, video or image. Reduced video resolution for playback videos.
|
||||
* **Stream:** People timeline has been disabled for newly uploaded videos. Pre-existing videos will not be impacted. Meeting recording video resolution adjusted to 720p.
|
||||
|
||||
|
||||
|
||||
**RELATED COVID-19 NEWS:**
|
||||
|
||||
* Security vendor [Check Point’s Threat Intelligence][18] says that Since January 2020, there have been over 4,000 coronavirus-related domains registered globally. Out of these websites, 3% were found to be malicious and an additional 5% are suspicious. Coronavirus- related domains are 50% more likely to be malicious than other domains registered at the same period, and also higher than recent seasonal themes such as Valentine’s day.
|
||||
* [Orange][19] an IT and communications **services** company aid that has increased its network capacity and upgraded its service platforms. These measures allow it to support the ongoing exponential increase in needs and uses. The number of users connecting to their company's network remotely has already increased by 700% among its customers. It has also doubled the capacity for simultaneous connections on its platforms. The use of remote collaboration solutions such as video conferencing has also risen massively with usage increasing by between 20% to 100%.
|
||||
* Verizon said it has seen a 34% increase in VPN traffic from March 10 to 17. It has also seen a 75% increase in gaming traffic and web traffic increased by just under 20% in that time period according to Verizon.
|
||||
* One week after the CDC declaration of the virus as a pandemic, data analytics and broadband vendor OpenVault wrote on March 19 that:
|
||||
* Subscribers’ average usage during the 9 am-to-5 pm daypart has risen to 6.3 GB, 41.4% higher than the January figure of 4.4 GB.
|
||||
* During the same period, peak hours (6 pm–11 pm) usage has risen 17.2% from 5.0 GB per subscriber in January to 5.87 GB in March.
|
||||
* Overall daily usage has grown from 12.19 GB to 15.46 GB, an increase of 26.8%.
|
||||
* Based on the current rate of growth, OpenVault projected that consumption for March will reach nearly 400 GB per subscriber, an increase of almost 11% over the previous monthly record of 361 GB, established in January of this year. In addition, OpenVault projects a new coronavirus-influenced run rate of 460 GB per subscriber per month going forward.
|
||||
|
||||
|
||||
|
||||
Join the Network World communities on [Facebook][20] and [LinkedIn][21] to comment on topics that are top of mind.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3534037/rolling-update-the-impact-of-covid-19-on-public-networks-and-security.html
|
||||
|
||||
作者:[Michael Cooney][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://www.networkworld.com/author/Michael-Cooney/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://broadbandnow.com/
|
||||
[2]: https://broadbandnow.com/report/internet-speed-analysis-march-15th-21st/
|
||||
[3]: https://www.networkworld.com/article/3236448/lan-wan/what-to-consider-when-deploying-a-next-generation-firewall.html
|
||||
[4]: https://www.networkworld.com/newsletters/signup.html
|
||||
[5]: https://blog.talosintelligence.com/2020/03/covid-19-pandemic-threats.html
|
||||
[6]: https://blog.talosintelligence.com/2020/02/coronavirus-themed-malware.html
|
||||
[7]: https://www.vmware.com/company/news/updates/vmware-response-covid-19.html?mid=31381&eid=CVMW2000048242496
|
||||
[8]: mailto:sd-wan-hotline@vmware.com
|
||||
[9]: https://blogs.cisco.com/news/global-traffic-spikes-no-panic-at-the-cisco
|
||||
[10]: https://www.networkworld.com/blog/itaas-and-the-corporate-storage-technology/?utm_source=IDG&utm_medium=promotions&utm_campaign=HPE22140&utm_content=sidebar (ITAAS and Corporate Storage Strategy)
|
||||
[11]: https://www.telefonica.com/en/web/press-office/-/telefonica-announces-measures-related-to-covid-19
|
||||
[12]: https://downdetector.com/?utm_campaign=Ookla%20Insights%20Blog%20Subscription&utm_source=hs_email&utm_medium=email&utm_content=85202785&_hsenc=p2ANqtz--Nj93d_eQyJpsqxrPJyNPtTiMBWBQU984psLyalw51K61e4d1WODareMF5NWFriHY2Uzw3WF7rF-2vSfH5cR53Jg3K5Q&_hsmi=85202785
|
||||
[13]: https://blog.cimicorp.com/?p=4068
|
||||
[14]: https://nordvpnteams.com/
|
||||
[15]: https://atlasvpn.com/blog/lockdowns-and-panic-leads-to-a-124-surge-in-vpn-usage-in-the-us/
|
||||
[16]: https://www.verizon.com/about/news/update-verizon-serve-customers-covid-19
|
||||
[17]: https://about.att.com/pages/COVID-19.html
|
||||
[18]: https://blog.checkpoint.com/2020/03/05/update-coronavirus-themed-domains-50-more-likely-to-be-malicious-than-other-domains/
|
||||
[19]: https://www.orange.com/en/Press-Room/press-releases/press-releases-2020/Orange-is-mobilised-to-ensure-continuity-of-service-for-all-customers-in-France-and-around-the-world
|
||||
[20]: https://www.facebook.com/NetworkWorld/
|
||||
[21]: https://www.linkedin.com/company/network-world
|
@ -0,0 +1,108 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (6 tricks for developing a work from home schedule)
|
||||
[#]: via: (https://opensource.com/article/20/3/work-from-home)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
6 tricks for developing a work from home schedule
|
||||
======
|
||||
Stay flexible, embrace change, and think of the transition to your home
|
||||
office as an opportunity to create a healthier WFH experience.
|
||||
![Working from home at a laptop][1]
|
||||
|
||||
When you start working from home, one of the first things you might have noticed is that there almost no outside influences on your schedule.
|
||||
|
||||
You probably have meetings—some over [team chat][2] and others over [video][3]— that you have to attend, but otherwise, there's nothing requiring you to do anything at any specific time. What you find out pretty quickly, though, is that there's an invisible influence that sneaks up on you: deadlines.
|
||||
|
||||
This lack of structure fosters procrastination, sometimes willful and other times aimless, followed by frantic sprints to get something done. Learning to mitigate that, along with all the distractions working from home might offer, is often the hardest part of your home-based work.
|
||||
|
||||
Here are a few ways to build in that structure for yourself do you don't end up feeling like you are falling behind.
|
||||
|
||||
### You have always had your own schedule
|
||||
|
||||
Everybody reacts to schedules differently. For some people, schedules offer guidance and comfort. For others, schedules are rigid and oppressive.
|
||||
|
||||
An office space generally provides focus. There might be plenty of distractions at the office, but you usually find a good stretch of time at some point during your day when you can get a big chunk of work done. Even in an office, though, each person actually keeps their own schedule. Your colleague might arrive early in the day, happily completing a day's work in an empty office before anyone else arrives and then spending the rest of the day doing menial tasks and socializing. Another colleague might arrive late and leave early, maximizing time spent in the office for actual work. Still others follow a steady pace throughout the day.
|
||||
|
||||
As you're settling into a WFH routine, take notes, either mentally or physically, on what seems to work well for you. If you like formalized systems, then build a schedule for yourself after a week or two, based on what you've been doing naturally. If there's something that isn't working for you, then drop it from your schedule.
|
||||
|
||||
Once you've found a good rhythm for yourself, you can manage your day with a [to-do list][4] like [todo.txt][5], or if you prefer sledgehammers (or you actually manage a department), you can try a [project management][6] application.
|
||||
|
||||
### Treat yourself as a new hire
|
||||
|
||||
For the first week or two at home, you may find it helpful to treat yourself (and your remote team) as a new hire. Instead of trying to mimic or impose the same schedule you kept at the office or at school, take time to monitor your own activity. It takes time for your body and mind to establish new and comfortable habits, and if you're the kind of person who wanders into a routine, then you need to give yourself time to discover what those habits are.
|
||||
|
||||
For instance, if you're consistently finding that you do your best work right after breakfast, then relegate menial tasks, like responding to email, reviewing tasks, or triaging bug reports, to the early morning, and make sure you have a big task set up for after breakfast. If you're having a hard time maintaining focus, then make time for morning tea so you can relax, reassess your workload, and plan your next step. Be curious about yourself like a manager would be for a brand new employee. Adjust accordingly.
|
||||
|
||||
### There is no guilt to being interrupted at home
|
||||
|
||||
Not everything on your schedule is under your control. If you have children too young for school, or if children are home from school, then their schedules take precedence.
|
||||
|
||||
It's a perceived benefit of working from home that your schedule is more flexible than at an office, but with that assumption, there can sometimes come a little to a lot of guilt. You might feel you're not working "enough" because you have to stop to wake up and feed children, or because you want to take a few play breaks every now and again.
|
||||
|
||||
That's mostly illusory, though, and here is how to think about it. If you swap out "children" for "manager," you might remember some times at the office where your "real" work was interrupted because you had to entertain upper management with sparkly presentations, or complete piles of paperwork for HR, or decompress by chatting with colleagues by the water cooler.
|
||||
|
||||
Your work from home is really no different. There are plenty of distractions, and they're only a problem if you fail to acknowledge and work around them.
|
||||
|
||||
### Making the choice to move beyond the 9-to-5
|
||||
|
||||
Unlike at the office, you're not forced into a rigid and dated 9-to-5 structure. If your day has to start at 7am, contains a lot of breaks, and doesn't end until 7pm, then that's alright. The essential part is to define that as your schedule for yourself (once you've established it as a schedule that works for you; remember to give yourself a few weeks to get a feel for what your schedule actually "wants" to be). Pick your start and end times, establish break times with your housemates, whether they're children, spouses, pets, or roommates/friends. Work when you're supposed to be working, and don't work when you're not scheduled to work. For most of us, colleagues don't need to know exactly when you are online as long as you're available when you're needed. In that case, your hours are your own. If the team is the kind that needs to know, run it by them.
|
||||
|
||||
### Don't forget time for yourself
|
||||
|
||||
It's important to at least establish times you stop thinking about work, no matter what. If you've got a very young child who's not given to staying on any schedule, then you might have to stay more flexible than most. Still, give yourself permission to actively be inactive. Do something you enjoy, even if it feels unproductive. It's normal to spend some idle time at the office to think or intentionally not think. Working from home deserves the same space. If anything, it's even more important as you establish working hours. The goal is to recognize when you're at home and when you're at work.
|
||||
|
||||
Finding stuff to do at work is relatively easy, but sometimes finding things to do to relax can be hard. If you have children, you can collaborate with them using Scratch for [drawing beautiful art][7], [programming video games][8], or even [robotics][9]. For the times you're not necessarily looking to collaborate and need your little one to do some exploration of their own, there are some [great open source alternatives to Minecraft][10], too. If you're interested in getting away from the screen, though, you might try some [Arduino][11] or [Seeeduino][12] gardening projects. Start with some programming, and end up outside in the garden!
|
||||
|
||||
### Choose to see change as exciting
|
||||
|
||||
Some say humans don't generally love change and that we're primarily creatures of habit, so moving from an office into a home office can be upsetting. And yet, invariably, we've shown that change can be exciting and even good.
|
||||
|
||||
Use this thought experiment to remember how much you love change. Would you willingly revert to technology from even two years ago? How about five, or ten?
|
||||
|
||||
If we can embrace change in technology and be uninterested in reverting back, why not embrace change elsewhere?
|
||||
|
||||
When you work from home, you have the opportunity to be willing to explore change. If you find that a meeting time doesn't work for your schedule, mention it to your team. It may not work for them, either, and moving it to a different day could mean making room for a work sprint that knocks out a good chunk of your work for the week. If you find that a tool isn't working out for you, find a different one.
|
||||
|
||||
In fact, some of the most productive people are constantly evaluating new applications and new methods of working. They're constantly learning new things, developing new skills. They don't do this because they need the new skill, at least not by the letter of their work contract, but learning new things often reveals a surprising applicability to something they do need.
|
||||
|
||||
Need some examples? Tinkering with a Raspberry Pi for fun could result in a home server running [useful apps][13] to help you stay informed. [Learning][14] how to [write in Markdown][15] could introduce you to a new and more efficient workflow than you ever knew possible. Setting up a [computer with Linux][16] could reveal a new world of open source software that changes the way you approach problems, and improves the methods you use to solve them. The possibilities are limitless, but if you don't know where to start, you can browse through some of our articles or [cheat sheets][17] for ideas and tips.
|
||||
|
||||
### Working from home is a new opportunity
|
||||
|
||||
The habits we've built up around work aren't always healthy or efficient or fun. If you're starting to work from home, though, it's a chance to reinvent what work means for you. Keep the lines of [communication open][18] with your colleagues, embrace new ideas and the potential of change, and discover how you can be more productive by enjoying yourself and the place you call home (and **$HOME**).
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/work-from-home
|
||||
|
||||
作者:[Seth Kenlon][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://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/wfh_work_home_laptop_work.png?itok=VFwToeMy (Working from home at a laptop)
|
||||
[2]: https://opensource.com/alternatives/slack
|
||||
[3]: https://opensource.com/alternatives/skype
|
||||
[4]: https://opensource.com/article/19/9/to-do-list-managers-linux
|
||||
[5]: https://opensource.com/article/20/1/open-source-to-do-list
|
||||
[6]: https://opensource.com/article/18/2/agile-project-management-tools
|
||||
[7]: https://opensource.com/article/19/9/drawing-vectors-scratch-3
|
||||
[8]: https://opensource.com/article/18/4/designing-game-scratch-open-jam
|
||||
[9]: https://opensource.com/education/13/8/student-programming-scratch-and-finch
|
||||
[10]: https://opensource.com/alternatives/minecraft
|
||||
[11]: https://opensource.com/article/17/3/arduino-garden-projects
|
||||
[12]: https://opensource.com/article/19/12/seeeduino-nano-review
|
||||
[13]: https://opensource.com/article/20/2/newsboat
|
||||
[14]: https://opensource.com/article/19/9/introduction-markdown
|
||||
[15]: https://opensource.com/article/18/11/markdown-editors
|
||||
[16]: https://opensource.com/article/19/9/found-linux-video-gaming
|
||||
[17]: https://opensource.com/article/20/1/cheat-sheets-guides
|
||||
[18]: https://opensource.com/article/20/3/open-source-working-home
|
@ -0,0 +1,56 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (3 open source tools for sticking to a budget)
|
||||
[#]: via: (https://opensource.com/article/20/3/open-source-budget)
|
||||
[#]: author: (Lauren Pritchett https://opensource.com/users/lauren-pritchett)
|
||||
|
||||
3 open source tools for sticking to a budget
|
||||
======
|
||||
Find the right solution for you in this roundup of open source budgeting
|
||||
tools. Plus, learn about an open source tax preparation software.
|
||||
![A dollar sign in a network][1]
|
||||
|
||||
In light of changing economical times in many countries around the world right now, you may find yourself wanting to revamp or improve your financial situation and your understanding of it. Or, perhaps one of your New Year's resolutions was to start budgeting? You are not alone.
|
||||
|
||||
The best way to stick to that resolution is to keep track of the money you are spending and making on a regular basis. The problem is, many popular personal finance apps out there are proprietary. Are you looking for an open source alternative to Quicken, Mint, or You Need a Budget? Whether you are new to open source software or new to budgeting in general, one of these tools will suit your needs and comfort level.
|
||||
|
||||
### LibreOffice Calc
|
||||
|
||||
I recommend using LibreOffice Calc to any open source newcomer who wants to start budgeting. If you've used proprietary spreadsheets like Google Sheets or Microsoft Excel, the LibreOffice Calc template will be very familiar. In this [budgeting tutorial][2], author Jess Weichler has done a lot of the work for you by including a handy, downloadable template. The template already has expense categories like utility bills, groceries, dining out, and more, but you have the freedom to customize it to your lifestyle. In a second article, she shows you how to [create your own templates][3].
|
||||
|
||||
### HomeBank
|
||||
|
||||
HomeBank is another great option for open source users of all levels. HomeBank is free, yet it has plenty of analysis and transaction features like its proprietary counterparts. In fact, you can export and import Quicken files to HomeBank, which makes transitioning to this open source app a breeze. Finally, you can use a tool to help you make wise decisions about your money without spending more money. Learn how to get started in Jessica Cherry's [tutorial][4].
|
||||
|
||||
### GnuCash
|
||||
|
||||
Like the other budgeting tools mentioned here, GnuCash can be used on Windows, macOS, and Linux. There is a slew of documentation available, but our very own Don Watkins guides you through the steps of setting up GnuCash on Linux in [this tutorial][5]. Not only is GnuCash a great option for taking control of your personal finances, but it also has features like invoicing to help you manage your small business.
|
||||
|
||||
### Bonus: OpenTaxSolver
|
||||
|
||||
The dreaded tax season can be a stressful time for many Americans. Many folks purchase TurboTax or use an accountant or tax service to do their taxes. Contrary to popular belief, open source tax preparation software exists! Author Jessica Cherry did the belaboring research and introduces our readers to OpenTaxSolver in [this article][6]. To use OpenTaxSolver successfully, you'll need keen attention to detail, but you won't have to worry about doing the complicated math.
|
||||
|
||||
Which open source budgeting app will you try? Do you have a favorite tool that I didn't mention in this list? Share your thoughts in the comments.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/open-source-budget
|
||||
|
||||
作者:[Lauren Pritchett][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://opensource.com/users/lauren-pritchett
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/osdc_whitehurst_money.png?itok=ls-SOzM0 (A dollar sign in a network)
|
||||
[2]: https://opensource.com/article/20/3/libreoffice-open-source-budget
|
||||
[3]: https://opensource.com/article/20/3/libreoffice-templates
|
||||
[4]: https://opensource.com/article/20/2/open-source-homebank
|
||||
[5]: https://opensource.com/article/20/2/gnucash
|
||||
[6]: https://opensource.com/article/20/2/open-source-taxes
|
234
sources/tech/20200326 How to detect outdated Kubernetes APIs.md
Normal file
234
sources/tech/20200326 How to detect outdated Kubernetes APIs.md
Normal file
@ -0,0 +1,234 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How to detect outdated Kubernetes APIs)
|
||||
[#]: via: (https://opensource.com/article/20/3/deprek8)
|
||||
[#]: author: (Tyler Auerbeck https://opensource.com/users/tylerauerbeck)
|
||||
|
||||
How to detect outdated Kubernetes APIs
|
||||
======
|
||||
Deprek8 and Conftest alert you about deprecated APIs that threaten to
|
||||
slip into your codebase.
|
||||
![Ship captain sailing the Kubernetes seas][1]
|
||||
|
||||
Recently, deprecated APIs have been wreaking havoc on everyone's [Kubernetes][2] manifests. Why is this happening?!? It's because the objects that we've come to know and love are moving on to their new homes. And it's not like this happened overnight. Deprecation warnings have been in place for quite a few releases now. We've all just been lazy and thought the day would never come. Well, _it's here_!
|
||||
|
||||
So, maybe it caught up to us this time. But we'll be prepared next time, right?!? Yeah, that's what we said last time. But what if we could put something in place that makes sure that this doesn't happen?
|
||||
|
||||
### What is Deprek8?
|
||||
|
||||
[Deprek8][3] is a set of [Open Policy Agent][4] (OPA) policies that allow you to check your repository for deprecated API versions. These policies offer a way to provide warnings and errors when something is in the process of being or has already been deprecated. But **Deprek8** is just a set of policies that define what to watch for. How do you actually actively use these policies in order to monitor for deprecations?
|
||||
|
||||
There are a number of ways and tools that can do this; one way is to use the OPA Deprek8 policy.
|
||||
|
||||
### What is the OPA Deprek8 policy?
|
||||
|
||||
OPA is "an open source, general-purpose policy engine that enables unified, context-aware policy enforcement." In other words, OPA provides a means of establishing and enforcing a set of policies based upon a policy file. The policies are defined in a file (or set of files) using the [Rego query language][5]. This use case won't necessarily rely on the OPA application, but more specifically, it uses this query language to do the heavy lifting. By using Rego, you can check whether various manifests match certain criteria and then either warn or error them out based on your definition. For example, in Kubernetes 1.16, the Deployment object can no longer be served from the **extensions/v1beta1 apiVersion**. So in your .rego file, you could have something like:
|
||||
|
||||
|
||||
```
|
||||
_deny = msg {
|
||||
resources := ["Deployment"]
|
||||
input.apiVersion == "extensions/v1beta1"
|
||||
input.kind == resources[_]
|
||||
msg := sprintf("%s/%s: API extensions/v1beta1 for %s is no longer served by default, use apps/v1 instead.", [input.kind, input.metadata.name, input.kind])
|
||||
}
|
||||
```
|
||||
|
||||
This would alert that you have a deprecated manifest and print a message like:
|
||||
|
||||
> Deployment/myDeployment: API extensions/v1beta1 for Deployment is no longer served by default, use apps/v1 instead.
|
||||
|
||||
That's great! This is exactly what you need in order to avoid having old manifests lying around. But these are just the policies; you need something that will check these policies and put them into action.
|
||||
|
||||
### Conftest
|
||||
|
||||
This is where [Conftest][6] comes in. Conftest is a utility that allows you to put Rego policies into action against any number of configuration files. According to the repo, Conftest currently supports:
|
||||
|
||||
|
||||
```
|
||||
- YAML
|
||||
- JSON
|
||||
- INI
|
||||
- TOML
|
||||
- HOCON
|
||||
- HCL
|
||||
- CUE
|
||||
- Dockerfile
|
||||
- HCL2 (Experimental)
|
||||
- EDN
|
||||
- VCL
|
||||
- XML
|
||||
```
|
||||
|
||||
It has some fairly strict defaults (i.e., expecting policy files to be in certain locations), but they can be overridden with the appropriate flags if you have a layout that you prefer. If you want to know more about those specifics, please consult the [documentation][7] in the repository.
|
||||
|
||||
For example, you can run any policy file on Conftest with a command like:
|
||||
|
||||
|
||||
```
|
||||
`helm template --set podSecurityPolicy.enabled=true --set server.ingress.enabled=true . | conftest -p mypolicy.rego -`
|
||||
```
|
||||
|
||||
This would generate the appropriate output from a Helm template and pipe it directly to the Conftest utility. Conftest inspects that output against any policies defined in the **mypolicy.rego** file and then gives any appropriate warnings or errors for objects that match against those policies. You can, of course, swap out any templating tooling of your choice, or you can feed specific files directly to the Conftest tool.
|
||||
|
||||
So now you have the tools to set your policies and enforce them against your configuration files. But how do you tie these two things together? Better yet: How do you automate this process to continuously monitor the codebase to make sure you never fall behind the deprecation line again?
|
||||
|
||||
### Using Git to run checks
|
||||
|
||||
There are many methods and tools to run checks against code. By adding similar steps to your continuous integration (CI) tooling (e.g., Jenkins, Tekton, etc.), you can accomplish the same goal. In this very basic use case, I used [GitHub Actions][8], a new feature of GitHub repositories.
|
||||
|
||||
GitHub Actions allows you to automate your entire workflow, so you don't have to sit in front of your keyboard and hack all of this together. With Actions, you can string together any number of steps into a workflow (or multiple workflows) by either rolling your own Actions if you're doing something custom or, in most cases, using something that already exists in the [Marketplace][9]. Luckily, others have provided Actions to do the things you need to do for this example, so you can lean on the community's expertise to pull your workflow together.
|
||||
|
||||
As described in the steps above, the workflow looks something like:
|
||||
|
||||
1. Retrieve the Deprek8 policy you need and store it somewhere for later use.
|
||||
2. Run Conftest against the appropriate files/charts with the policy file you grabbed in step 1.
|
||||
|
||||
|
||||
|
||||
What does this boil down to? Well, all you really need to do is to use curl to pull your policy file and then run it through Conftest after pointing to your code, using the [curl][10] and [Conftest][11] Actions. Since these Actions already exist, you don't need to write any custom code! And as I'm sure you can tell by the names, they allow you to run the associated commands without having to do any custom work to pre-process anything or pull down any binaries.
|
||||
|
||||
Now that you have the Actions you need to use, how do you pull them together? This is where your workflow comes into play. While Actions are the pieces of code that get things done, they're useless without a way to string them together so that they can be triggered by some event. A GitHub Action workflow will look something like this:
|
||||
|
||||
|
||||
```
|
||||
name: Some Awesome Workflow Name
|
||||
on: An Event That Triggers Our Workflow
|
||||
jobs:
|
||||
awesome-job-name:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: awesome-step-name
|
||||
uses: someorg/someaction@version
|
||||
with:
|
||||
args: some args that I might pass to someaction
|
||||
```
|
||||
|
||||
Now you have a workflow that has multiple steps, can be triggered by a specific GitHub event, and can be passed a set of parameters (if that is applicable to that specific Action). This example is _extremely basic_. But luckily, the workflow you're trying to put together is equally simple. This shouldn't be taken as a comprehensive example of a GitHub Action, as there are many more complicated (and elegant) things you can do. If you're interested in learning more, take a look at the [GitHub Actions documentation][12].
|
||||
|
||||
Now that you have an idea of what a workflow looks like and know what Actions you're interested in using, take a run at plugging the two together. For this example, you want to make sure that whenever your code is updated, it's checked to make sure it's not using any deprecated APIs.
|
||||
|
||||
First, rig up your workflow with some names and the events that you want to trigger off of. Give your workflow and job a useful name that will help you identify it (and what it does).
|
||||
|
||||
|
||||
```
|
||||
name: API Deprecation Check
|
||||
on: pull_request, push
|
||||
jobs:
|
||||
deprecation-check:
|
||||
```
|
||||
|
||||
Next, you need to tell your workflow that you want to trigger these Actions based on any **pull_request** or **push** that happens to this repository because these are the two main events that get new code into a repository. You can do this by utilizing the **on** keyword.
|
||||
|
||||
|
||||
```
|
||||
name: API Deprecation Check
|
||||
on: pull_request, push
|
||||
jobs:
|
||||
deprecation-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
```
|
||||
|
||||
Then, add where you want these Actions to run and how the Action can get the code. You can tell the Action where to run by using the **runs-on** keyword. You have a few options here: Windows, Mac, or Ubuntu. In most cases, using Ubuntu is fine, as you'll frequently rely on Actions that run inside their own container (versus running on the base OS that you define here). It's also very important to understand that an Action does not check out code by default. When you need to do something that interacts with your code, make sure to use the Action **actions/checkout**. When this is included, your code will be available within your Action, and you can pass that through to the next step in your workflow.
|
||||
|
||||
|
||||
```
|
||||
name: API Deprecation Check
|
||||
on: pull_request, push
|
||||
name: API Deprecation Check
|
||||
jobs:
|
||||
deprecation-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: curl
|
||||
uses: wei/curl@master
|
||||
with:
|
||||
args: <https://raw.githubusercontent.com/naquada/deprek8/master/policy/deprek8.rego> > /github/home/deprek8.rego
|
||||
```
|
||||
|
||||
Now that your code is checked out, you can start preparing to do something with it. As mentioned, before you can check code for deprecations, you first need the file that contains the policies that you want to check for, so just retrieve the file using the **curl** Action. This is a fairly straightforward Action, in that it accepts whatever parameters you would normally pass into the curl command. If you were doing something more complicated, this is where you could pass in things like specific HTTP Actions, headers, etc. However, in this case, you're just trying to retrieve a file, so the only thing you need to pass to your Action is the URL you want to retrieve (in this case, the one that contains your raw policy file) and then tell it where you want to write that file. In this case, you're going to have it write to **/github/home**. Why? It's because this filesystem persists between steps and will allow you to use the policy file within this next step.
|
||||
|
||||
|
||||
```
|
||||
name: API Deprecation Check
|
||||
on: pull_request, push
|
||||
jobs:
|
||||
deprecation-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: curl
|
||||
uses: wei/curl@master
|
||||
with:
|
||||
args: <https://raw.githubusercontent.com/naquada/deprek8/master/policy/deprek8.rego> > /github/home/deprek8.rego
|
||||
- name: Check helm chart for deprecation
|
||||
uses: instrumenta/conftest-action/helm@master
|
||||
with:
|
||||
chart: nginx-test
|
||||
policy: /github/home/deprek8.rego
|
||||
```
|
||||
|
||||
Now that you have your policy file, it's just a matter of running it against the code via **conftest**. Similar to the **curl** Action, the **conftest** Action just expects a series of parameters to understand how it should run against the code. In the example above, it runs against a Helm chart, but it can run against a specific file (or set of files) by changing the **uses** value to **instrumenta/[conftest-action@master][13]**. Just point to the path where your chart sits in the repository and then provide the path to your policy file (specified in the previous step). Once you have all of this together, you have a complete workflow. But what does this look like (assuming there's some bad code in your Helm chart)? To find out, take a look at the [example repository][14].
|
||||
|
||||
In the Nginx Helm chart, you'll notice that one of the templates is a [statefulset][15]. You may also notice that the apiVersion the StatefulSet is using is **apps/v1beta1**. This API was deprecated in Kubernetes 1.16 and is now hosted in **apps/v1**. So when your GitHub Actions workflow runs, it should detect this issue and serve an error like:
|
||||
|
||||
|
||||
```
|
||||
FAIL - StatefulSetf/web: API apps/v1beta1 is no longer served by default, use apps/v1 instead.
|
||||
Error: plugin "conftest" exited with error
|
||||
##[error]Docker run failed with exit code 1
|
||||
```
|
||||
|
||||
The Action indicates there is something wrong and then fails the rest of the Action. You can see the [full workflow][16] if you are interested.
|
||||
|
||||
### Wrapping up
|
||||
|
||||
This workflow will save some future heartache by alerting you to any deprecated APIs that slip into your codebase. To be clear, this is an _alerting_ mechanism. This won't prevent you from merging bad code into your codebase. But, as long as you pay attention, you should be completely aware prior to (or just after) merging problematic code.
|
||||
|
||||
Where do you go from here? Well, there are a few things to keep in mind. Currently, Deprek8 is up to date as of Kubernetes 1.16. If you're interested in more recent versions, I'm sure Deprek8 would be happy to accept your [pull request][3].
|
||||
|
||||
The other shortcoming of this method is that the **conftest** and GitHub Actions are a bit limited in that they only allow you to point at specific files or a single chart at a time. What if you want to point at multiple directories of manifests or have multiple charts inside your repository? Currently, the only way to get around that is to either list out every single file you're interested in (in the case of having multiple charts) or have multiple steps inside your workflow. Other scenarios could become problematic, like other templating engines that require some custom logic to pair the parameters and template files together. But a simple workaround for that could be to have a step in your workflow that pulls down Conftest along with a tiny inline script to loop through some of this. I'm sure there are more elegant solutions (and if you come up with one, I'm sure these projects would be more than happy to take a look at your PR).
|
||||
|
||||
Regardless, you now have a mechanism that should allow you to sleep a bit easier when checking in your code! And hopefully, this method will help you build even more robust workflows to protect your code.
|
||||
|
||||
* * *
|
||||
|
||||
_This was originally published in [Tyler Auerbeck's GitHub repository][17] and is reposted, with edits, with permission._
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/deprek8
|
||||
|
||||
作者:[Tyler Auerbeck][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://opensource.com/users/tylerauerbeck
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/ship_captain_devops_kubernetes_steer.png?itok=LAHfIpek (Ship captain sailing the Kubernetes seas)
|
||||
[2]: https://opensource.com/resources/what-is-kubernetes
|
||||
[3]: https://github.com/naquada/deprek8
|
||||
[4]: https://github.com/open-policy-agent/opa
|
||||
[5]: https://blog.openpolicyagent.org/opas-full-stack-policy-language-caeaadb1e077
|
||||
[6]: https://github.com/instrumenta/conftest
|
||||
[7]: https://github.com/instrumenta/conftest/tree/master/docs
|
||||
[8]: https://github.com/features/actions
|
||||
[9]: https://github.com/marketplace?type=actions
|
||||
[10]: https://github.com/marketplace/actions/github-action-for-curl
|
||||
[11]: https://github.com/instrumenta/conftest-action
|
||||
[12]: https://help.github.com/en/actions
|
||||
[13]: mailto:conftest-action@master
|
||||
[14]: https://github.com/tylerauerbeck/deprek8-example
|
||||
[15]: https://raw.githubusercontent.com/tylerauerbeck/deprek8-example/master/nginx-test/templates/statefulset.yaml
|
||||
[16]: https://github.com/tylerauerbeck/deprek8-example/runs/426774566?check_suite_focus=true
|
||||
[17]: https://github.com/tylerauerbeck/writing/blob/master/opa/deprek8.md
|
@ -0,0 +1,146 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Tricks for getting around your Linux file system)
|
||||
[#]: via: (https://www.networkworld.com/article/3533421/tricks-for-getting-around-your-linux-file-system.html)
|
||||
[#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/)
|
||||
|
||||
Tricks for getting around your Linux file system
|
||||
======
|
||||
The cd command is probably one of the first 10 that any Linux user learns, but it's not the only way to navigate the Linux file system.Here are some other ways.
|
||||
Thinkstock
|
||||
|
||||
Whether you're moving around the file system, looking for files or trying to move into important directories, Linux can provide a lot of help. In this post, we'll look at a number of tricks to make moving around the file system and both finding and using commands that you need a little easier.
|
||||
|
||||
### Adding to your $PATH
|
||||
|
||||
One of the easiest and most useful ways to ensure that you don't have to invest a lot of time into finding commands on a Linux system is to add the proper directories to your $PATH variable. The order of directories that you add to your $PATH variable is, however, very important. They determine the order in which the system will look through the directories to find the command to run -- stopping when it finds the first match.
|
||||
|
||||
You might, for example, want to put your home directory first so that, if you create a script that has the same name as some other executable, it will be the one that you end up running whenever you type its name.
|
||||
|
||||
[RELATED: Linux hardening: a 15-step checklist for a secure Linux server][1]
|
||||
|
||||
To add your home directory to your $PATH variable, you could do this:
|
||||
|
||||
```
|
||||
$ export PATH=~:$PATH
|
||||
```
|
||||
|
||||
The **~** character represents your home directory.
|
||||
|
||||
If you keep your scripts in your bin directory, this would work for you:
|
||||
|
||||
```
|
||||
$ export PATH=~/bin:$PATH
|
||||
```
|
||||
|
||||
You can then run a script located in your home directory like this:
|
||||
|
||||
[][2]
|
||||
|
||||
```
|
||||
$ myscript
|
||||
Good morning, you just ran /home/myacct/bin/myscript
|
||||
```
|
||||
|
||||
**IMPORTANT:** The commands shown above _add_ to your search path because $PATH (the current path) is included. They don't override it. Your search path should be configured in your **.bashrc** file, and any changes you intend to be permanent should be added there as well.
|
||||
|
||||
### Using symbolic links
|
||||
|
||||
Symbolic links provide an easy and obvious way to record the location of directories that you might need to use often. If you manage content for a web site, for example, you might want to get your account to "remember" where the web files are located by creating a link like this:
|
||||
|
||||
```
|
||||
ln -s /var/www/html www
|
||||
```
|
||||
|
||||
The order of the arguments is critical. The first (/var/www/html) is the target and the second is the name of the link that you will be creating. If you're not currently located in your home directory, the following command would do the same thing:
|
||||
|
||||
```
|
||||
ln -s /var/www/html ~/www
|
||||
```
|
||||
|
||||
After setting this up, you can use "cd www" to get to **/var/www/html**.
|
||||
|
||||
### Using shopt
|
||||
|
||||
The **shopt** command also provides a way to make moving to a different directory a bit easier. When you employ **shopt'**s **autocd** option, you can go to a directory simply by typing its name. For example:
|
||||
|
||||
```
|
||||
$ shopt -s autocd
|
||||
$ www
|
||||
cd -- www
|
||||
/home/myacct/www
|
||||
$ pwd -P
|
||||
/var/www/html
|
||||
|
||||
$ ~/bin
|
||||
cd -- /home/myacct/bin
|
||||
$ pwd
|
||||
/home/myacct/bin
|
||||
```
|
||||
|
||||
In the first set of commands above, the **shopt** command's **autocd** option is enabled. Typing **www** then invokes a "cd www" command. Because this symbolic link was created in one of the **ln** command examples above, this moves us to **/var/www/html**. The **pwd -P** command displays the actual location.
|
||||
|
||||
In the second set, typing **~/bin** invokes a **cd** into the **bin** directory in the user's home.
|
||||
|
||||
Note that the **autocd** behavior will _not_ kick in when what you type is a command – even if it's also the name of a directory.
|
||||
|
||||
The **shopt** command is a bash builtin and has a lot of options. This one just means that you don't have to type "cd" before the name of each directory you want to move into.
|
||||
|
||||
To see **shopt**'s other options, just type "shopt".
|
||||
|
||||
### Using $CDPATH
|
||||
|
||||
Probably one of the most useful tricks for moving into particular directories is adding the paths that you want to be able to move into easily to your **$CDPATH**. This creates a list of directories that will be moved into by typing only a portion of the full path names.
|
||||
|
||||
There is one aspect of this that may be just a little tricky. Your **$CDPATH** needs to include the directories that _contain_ the directories that you want to move into, not the directories themselves.
|
||||
|
||||
For example, say that you want to be able to move into the **/var/www/html** directory simply by typing "cd html" and into subdirectories in /var/log using only "cd" and the simple directory names. In this case, this **$CDPATH** would work:
|
||||
|
||||
```
|
||||
$ CDPATH=.:/var/log:/var/www
|
||||
```
|
||||
|
||||
Here's what you would see:
|
||||
|
||||
```
|
||||
$ cd journal
|
||||
/var/log/journal
|
||||
$ cd html
|
||||
/var/www/html
|
||||
```
|
||||
|
||||
Your **$CDPATH** kicks in when what you type is _not_ a full path. Then it looks down its list of directories in order to see if the directory you identified exists in one of them. Once it finds a match, it takes you there.
|
||||
|
||||
Keeping the "." at the beginning of your **$CDPATH** means that you can move into local directories without having to have them defined in the **$CDPATH**.
|
||||
|
||||
```
|
||||
$ export CDPATH=".:$CDPATH"
|
||||
$ Videos
|
||||
cd -- Videos
|
||||
/home/myacct/Videos
|
||||
```
|
||||
|
||||
It's not hard to move around the Linux file system, but you can save a few brain cells if you use some handy tricks for getting to various locations easily.
|
||||
|
||||
Join the Network World communities on [Facebook][3] and [LinkedIn][4] to comment on topics that are top of mind.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3533421/tricks-for-getting-around-your-linux-file-system.html
|
||||
|
||||
作者:[Sandra Henry-Stocker][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://www.networkworld.com/author/Sandra-Henry_Stocker/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.networkworld.com/article/3143050/linux/linux-hardening-a-15-step-checklist-for-a-secure-linux-server.html#tk.nww-fsb
|
||||
[2]: https://www.networkworld.com/blog/itaas-and-the-corporate-storage-technology/?utm_source=IDG&utm_medium=promotions&utm_campaign=HPE22140&utm_content=sidebar (ITAAS and Corporate Storage Strategy)
|
||||
[3]: https://www.facebook.com/NetworkWorld/
|
||||
[4]: https://www.linkedin.com/company/network-world
|
@ -0,0 +1,102 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Build a private chat server with a Raspberry Pi and Rocket.Chat)
|
||||
[#]: via: (https://opensource.com/article/20/3/raspberry-pi-rocketchat)
|
||||
[#]: author: (Giuseppe Cassibba https://opensource.com/users/peppe8o)
|
||||
|
||||
Build a private chat server with a Raspberry Pi and Rocket.Chat
|
||||
======
|
||||
Create your own truly private chat and messaging solution with these
|
||||
simple, cost-effective open source tools.
|
||||
![Chat via email][1]
|
||||
|
||||
The internet offers plenty of free messaging services. Applications like WhatsApp and Viber are part of our daily life and are the most common way we communicate with relatives and friends. But security awareness is increasing the demand for a truly private chat solution. Furthermore, messaging apps take up a lot of space in our devices, so an alternative chat channel could be useful to share media, info, and contacts with our friends.
|
||||
|
||||
Today we are going to see how to install a private chat and messaging server with a [Raspberry Pi][2] and Rocket.Chat.
|
||||
|
||||
### What is Rocket.Chat?
|
||||
|
||||
[Rocket.Chat][3] is an open source solution that provides an enhanced chat service. It includes collaboration tools like media sharing, screen sharing, and video/audio calling support.
|
||||
|
||||
It can be used both via browser or from apps available in all the main app stores (Google Play, App Store, etc.).
|
||||
|
||||
In addition to the community version, Rocket.Chat also offers Enterprise and Professional versions, including support and additional features.
|
||||
|
||||
### What we need
|
||||
|
||||
For this project, I’m going to use a cheaper Raspberry Pi 3 model A+. RPI 3 models B and B+, and RPI 4 model B should also work in the same way.
|
||||
|
||||
I also suggest a performing SD card, because Rocket.Chat can put a heavy workload on our Raspberry Pi. As discussed in other articles, a performing SD card strongly improves Raspbian OS performance.
|
||||
|
||||
We’ll use a lite version of Raspbian with pre-configured WiFi access and SSH service, so ![][4] there will no need for keyboards or HDMI cables.
|
||||
|
||||
### Step-by-step procedure
|
||||
|
||||
Start by [installing the last version of Raspbian Buster Lite][5].
|
||||
|
||||
We’ll simplify Rocket.Chat installation by using [Snap][6]. Login via SSH and type from the terminal:
|
||||
|
||||
|
||||
```
|
||||
sudo apt-get update
|
||||
sudo apt-get upgrade
|
||||
```
|
||||
|
||||
Install Snap:
|
||||
|
||||
|
||||
```
|
||||
`sudo apt-get install snapd`
|
||||
```
|
||||
|
||||
For Snap installation, we need a system reboot to make it work:
|
||||
|
||||
|
||||
```
|
||||
`sudo reboot`
|
||||
```
|
||||
|
||||
Login again via SSH and install the Rocket.Chat server with the simple command:
|
||||
|
||||
|
||||
```
|
||||
`sudo snap install rocketchat-server`
|
||||
```
|
||||
|
||||
After installing from the terminal, please wait a while for Rocket.Chat to initialize its database and services. Have a cup of tea, and after a few minutes you should be able to reach with your browser the address http://<<YOUR_RPI_IP_ADDRESS>>:3000 and you should see the following:
|
||||
|
||||
![Rocket Chat setup wizard][7]
|
||||
|
||||
Complete the required forms, and everything should go fine. After four simple setup windows, you should reach the Rocket.Chat home page:
|
||||
|
||||
![Rocket Chat home page][8]
|
||||
|
||||
Enjoy!
|
||||
|
||||
_This article originally posted on [peppe8o.com][9], reposted with permission._
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/raspberry-pi-rocketchat
|
||||
|
||||
作者:[Giuseppe Cassibba][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://opensource.com/users/peppe8o
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/email_chat_communication_message.png?itok=LKjiLnQu (Chat via email)
|
||||
[2]: https://opensource.com/resources/raspberry-pi
|
||||
[3]: https://rocket.chat/
|
||||
[4]: https://ir-na.amazon-adsystem.com/e/ir?t=peppe8o0b-20&l=am2&o=1&a=B07KKBCXLY
|
||||
[5]: https://peppe8o.com/2019/07/install-raspbian-buster-lite-in-your-raspberry-pi/
|
||||
[6]: https://snapcraft.io/
|
||||
[7]: https://opensource.com/sites/default/files/uploads/rocket-chat-setup-wizard.jpg (Rocket Chat setup wizard)
|
||||
[8]: https://opensource.com/sites/default/files/uploads/rocket-chat-home.jpg (Rocket Chat home page)
|
||||
[9]: https://peppe8o.com/private-chat-and-messaging-server-with-raspberry-pi-and-rocket-chat/
|
@ -0,0 +1,107 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (HankChow)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (How open source software is fighting COVID-19)
|
||||
[#]: via: (https://opensource.com/article/20/3/open-source-software-covid19)
|
||||
[#]: author: (Jeff Stern https://opensource.com/users/jeffstern)
|
||||
|
||||
How open source software is fighting COVID-19
|
||||
======
|
||||
Learn about four of the thousands of open source projects combating the
|
||||
spread of coronavirus.
|
||||
![symbols showing healthcare][1]
|
||||
|
||||
Work is hard right now. COVID-19 makes it a challenge to stay focused and motivated. But it was cathartic for me to do some research into how the open source community is responding to the global pandemic.
|
||||
|
||||
Since the end of January, the community has contributed to [thousands of open source repositories][2] that mention coronavirus or COVID-19. These repositories consist of datasets, models, visualizations, web and mobile applications, and more, and the majority are written in JavaScript and Python.
|
||||
|
||||
Previously, we shared information about several [open hardware makers helping][3] to stop the spread and suffering caused by the coronavirus. Here, we're sharing four (of many) examples of how the open source software community is responding to coronavirus and COVID-19, with the goal of celebrating the creators and the overall impact the open source community is making on the world right now.
|
||||
|
||||
### 1\. CHIME by PennSignals
|
||||
|
||||
![CHIME by PennSignals][4]
|
||||
|
||||
COVID-19 Hospital Impact Model for Epidemics ([CHIME][5]) is an open source application built by data scientists at Penn Medicine at the University of Pennsylvania. The online tool allows hospitals to better understand the impact the virus will have on hospital demand.
|
||||
|
||||
Hospital leaders can use CHIME to "get more informed estimates of how many patients will need hospitalization, ICU beds, and mechanical ventilation over the coming days and weeks." A user can input how many patients are currently hospitalized and see, based on other variables, how demand might increase over the coming days.
|
||||
|
||||
CHIME is primarily built with Python and uses the [pandas][6] open source dependency for much of the underlying data-transformation number-crunching to generate the estimates. Pandas has a relatively robust team and is one of the most commonly used Python libraries for data analysis and, like all open source projects, is highly dependent on [users' support][7] for income.
|
||||
|
||||
### 2\. Real-time COVID-19 visualization by Locale.ai
|
||||
|
||||
![Locale.ai COVID-19 visualization][8]
|
||||
|
||||
Maps that track the number of cases help us visualize the relative scale and spread of COVID-19. [Locale.ai created an open source, interactive visualization][9] of all known cases of COVID-19. The map provides live updates with new data as it becomes available.
|
||||
|
||||
I find this project especially interesting because the data is retrieved via [an open source API][9] created by GitHub user ExpDev07 that queries [an open source dataset][10] from John Hopkins University. The John Hopkins dataset (an aggregate of more than a dozen other sources) is currently the most popular COVID19-related project on GitHub. This is the branching nature of open source at its finest!
|
||||
|
||||
Locale.ai built the visualization website using [Vue.js][11], a popular framework that allows web developers to create modern web apps. Vue.js was created and continues to be maintained by [Evan You][12], one of the few people who have made a full-time career as an open source maintainer.
|
||||
|
||||
### 3\. DXY-COVID-19-Crawler by BlankerL
|
||||
|
||||
![BlankerL DXY-COVID-19-Crawler][13]
|
||||
|
||||
[DXY-COVID-19-Crawler][14] was created in January and is one of the earliest responses from the open source community to COVID-19. When the virus was spreading primarily in China, the Chinese medical community was using a site called [DXY.cn][15] to report and track cases. To make the information more readily available and usable by others, GitHub user BlankerL wrote a web crawler to systematically collect data from the DXY.cn site and make it available via an API and data warehouse. That data has been used by academic researchers and others to examine trends and visualize the spread of the virus. So far, DXY-COVID-19-Crawler has been starred more than 1,300 times and forked nearly 300 times.
|
||||
|
||||
BlankerL wrote the web crawler using Python and a package called [Beautiful Soup][16]. Beautiful Soup is an application that allows Python developers to easily scrape information from websites. Beautiful Soup is maintained by Leonard Richardson, who also works full-time as a software architect.
|
||||
|
||||
### 4\. City of Tokyo's COVID-19 task force website
|
||||
|
||||
![City of Tokyo's COVID-19 Task Force site][17]
|
||||
|
||||
Many cities around the world have updated their websites with information for their residents about COVID-19. The Tokyo Metropolitan Government created a [comprehensive website][18] that "aims to allow Tokyo residents, companies with offices in Tokyo, and visitors to Tokyo to grasp the current situation and take measures and precautions accordingly."
|
||||
|
||||
Unlike many other cities, Tokyo decided to [open source its site][19]. The project boasts contributions by more than 180 different users, and [at least three other cities][20] in Japan (Nagano, Chiba, and Fukuoka City) remixed the site. The project is an example of how cities can better serve their citizens by building openly.
|
||||
|
||||
There's an incredible amount of open source technology powering Tokyo's open source website. Using the [Tidelift][21] application, I identified 1,365 dependencies used in the project. All of this complexity happens because 38 direct dependencies (i.e., dependencies the developers explicitly decided to use) have dependencies of their own. That said, maintainers of more than a thousand different open source dependencies (including [Nuxt.js][22], [Prettier][23], [Babel][24], [Ajv][25], and more) are in a small way responsible for helping Tokyo share information with their citizens.
|
||||
|
||||
![Dependencies in Tokyo's COVID-19 Task Force site][26]
|
||||
|
||||
### Other projects
|
||||
|
||||
There are [many other important projects][27] being built in the open in response to COVID-19. I am inspired by how the open source community is responding to this pandemic and leveraging other open source technologies to work quickly. The weeks ahead will be difficult, but I know we can continue to find motivation in the open source community.
|
||||
|
||||
If you are working on an open source project related to COVID-19, please share it in the comments so we can help spread the word.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/open-source-software-covid19
|
||||
|
||||
作者:[Jeff Stern][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://opensource.com/users/jeffstern
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/Medical%20costs.jpg?itok=ke57j6cs (symbols showing healthcare)
|
||||
[2]: https://github.com/search?q=coronavirus+OR+covid19
|
||||
[3]: https://opensource.com/article/20/3/open-hardware-covid19
|
||||
[4]: https://opensource.com/sites/default/files/uploads/chime_pennsignals.png (CHIME by PennSignals)
|
||||
[5]: http://penn-chime.phl.io/
|
||||
[6]: https://tidelift.com/subscription/pkg/pypi-pandas
|
||||
[7]: https://pandas.pydata.org/about/sponsors.html
|
||||
[8]: https://opensource.com/sites/default/files/uploads/locale-ai-visualization.png (Locale.ai COVID-19 visualization)
|
||||
[9]: https://github.com/localeai/covid19-live-visualization
|
||||
[10]: https://github.com/CSSEGISandData/COVID-19
|
||||
[11]: https://tidelift.com/subscription/pkg/npm-vue
|
||||
[12]: https://blog.tidelift.com/vuejs-evan-you-javascript-framework
|
||||
[13]: https://opensource.com/sites/default/files/uploads/dxy-covid-19-crawler.png (BlankerL DXY-COVID-19-Crawler)
|
||||
[14]: https://github.com/BlankerL/DXY-COVID-19-Crawler
|
||||
[15]: https://dxy.cn
|
||||
[16]: https://blog.tidelift.com/beautiful-soup-is-now-part-of-the-tidelift-subscription
|
||||
[17]: https://opensource.com/sites/default/files/uploads/tokyo-covid19-task-force.png (City of Tokyo's COVID-19 Task Force site)
|
||||
[18]: https://stopcovid19.metro.tokyo.lg.jp/en/
|
||||
[19]: https://github.com/tokyo-metropolitan-gov/covid19
|
||||
[20]: https://github.com/tokyo-metropolitan-gov/covid19/issues/1802
|
||||
[21]: https://tidelift.com/
|
||||
[22]: https://tidelift.com/subscription/pkg/npm-nuxt
|
||||
[23]: https://blog.tidelift.com/prettier-is-now-part-of-the-tidelift-subscriptions
|
||||
[24]: https://tidelift.com/subscription/pkg/npm-babel
|
||||
[25]: https://blog.tidelift.com/ajv-is-now-part-of-the-tidelift-subscription
|
||||
[26]: https://opensource.com/sites/default/files/uploads/tokyo-dependencies.png (Dependencies in Tokyo's COVID-19 Task Force site)
|
||||
[27]: https://github.com/soroushchehresa/awesome-coronavirus
|
@ -0,0 +1,82 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Open source fights against COVID-19, Google's new security tool written in Python, and more open source news)
|
||||
[#]: via: (https://opensource.com/article/20/3/news-march-28)
|
||||
[#]: author: (Scott Nesbitt https://opensource.com/users/scottnesbitt)
|
||||
|
||||
Open source fights against COVID-19, Google's new security tool written in Python, and more open source news
|
||||
======
|
||||
Catch up on the biggest open source headlines from the past two weeks.
|
||||
![][1]
|
||||
|
||||
In this edition of our open source news roundup, we take a look open source solutions for COVID-19, Google's new security tool, code cleanup software from Uber, and more!
|
||||
|
||||
### Using open source in the fight against COVID-19
|
||||
|
||||
When COVID-19 started its march around the world, open source [stepped up][2] to try to help stop it. That includes using open data to [create tracking dashboards and apps][3], designing ventilators, and developing protective gear.
|
||||
|
||||
Scientists at the University of Waterloo in Canada have teamed with artificial intelligence firm DarwinAI to create an open source tool "[to identify signs of Covid-19 in chest x-rays][4]." Called COVID-Net, it's neural network "that is particularly good at recognizing images." The dataset the researchers are using is [available on GitHub][5], which includes a link the software.
|
||||
|
||||
Additionally, many [open source hardware projects][6] are underway to expedite the search for a cure.
|
||||
|
||||
### Google releases tool to fight USB keystroke injection attacks
|
||||
|
||||
One of the sneakiest and potentially most malicious ways to hack a computer is a USB keystroke injection attack. Using a compromised USB device connected to a computer, a hacker can run commands without you even noticing. Google's making it easier for Linux users to fight back against these kinds of attacks by releasing [an open source detection tool][7].
|
||||
|
||||
Called USB Keystroke Injection Protection, the tool detects "if the keystrokes have been made without human involvement". It does that by measuring "the timing of keystrokes coming from connected USB devices." Sebastian Neuner of Google's Information Security Engineering Team said that while the USB Keystroke Injection Protection tool isn't the last word in defense against these kinds of attacks, but offers "another layer of protection and to defend a user sitting in front of their unlocked machine by them seeing the attack happening."
|
||||
|
||||
You can find the Python source code for the tool [on GitHub][8].
|
||||
|
||||
### Uber makes code deletion tool open source
|
||||
|
||||
As applications get bigger, they often contain code that's either no longer used or which is obsolete. That added code make software more difficult to maintain. To help solve the problem of quickly finding that redundant code, Uber recently [open sourced a tool called Pirhana][9].
|
||||
|
||||
Pirhana scans code for [feature flags][10], looking for ones that are no longer used. The software then deletes the unused flags from the code. At the moment, Pirhana works with software written in the Objective-C, Swift, and Java languages. Uber's developers hope the number of supported languages will increase "now that outside developers have an opportunity to contribute to the project."
|
||||
|
||||
You can grab [Pirhana's source code][11] from its repository on GitHub
|
||||
|
||||
#### In other news
|
||||
|
||||
* [Singapore government to open source contact-tracing protocol][12]
|
||||
* [European Commission to use open source messaging service Signal][13]
|
||||
* [Spanish software to computerize healthcare in Cameroon and India][14]
|
||||
* [ING Open-Sources Lion, Its White-Label Web Component Library][15]
|
||||
* [Open Source Goes Mainstream – How Sharing Is Shaping The Future Of Music][16]
|
||||
|
||||
|
||||
|
||||
Thanks, as always, to Opensource.com staff members and [Correspondents][17] for their help this week.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/3/news-march-28
|
||||
|
||||
作者:[Scott Nesbitt][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://opensource.com/users/scottnesbitt
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/weekly_news_roundup_tv.png?itok=tibLvjBd
|
||||
[2]: https://jaxenter.com/covid-19-open-source-170237.html
|
||||
[3]: https://opensource.com/article/20/3/open-source-software-covid19
|
||||
[4]: https://www.technologyreview.com/s/615399/coronavirus-neural-network-can-help-spot-covid-19-in-chest-x-ray-pneumonia/
|
||||
[5]: https://github.com/lindawangg/COVID-Net
|
||||
[6]: https://opensource.com/article/20/3/open-hardware-covid19
|
||||
[7]: https://www.zdnet.com/article/google-linux-systems-can-use-this-new-tool-against-usb-keystroke-injection-attacks/
|
||||
[8]: https://github.com/google/ukip
|
||||
[9]: https://siliconangle.com/2020/03/17/ubers-open-source-piranha-tool-hunts-redundant-application-code/
|
||||
[10]: https://en.wikipedia.org/wiki/Feature_toggle
|
||||
[11]: https://github.com/uber/piranha
|
||||
[12]: https://www.computerweekly.com/news/252480501/Singapore-government-to-open-source-contact-tracing-protocol
|
||||
[13]: https://joinup.ec.europa.eu/collection/open-source-observatory-osor/news/signal-messaging-service
|
||||
[14]: https://intallaght.ie/spanish-software-to-computerize-healthcare-in-cameroon-and-india/
|
||||
[15]: https://www.infoq.com/articles/ing-open-sources-lion-web-component/
|
||||
[16]: https://www.forbes.com/sites/andreazarczynski/2020/03/19/open-source-goes-mainstream--how-sharing-is-shaping-the-future-of-music/#9e1ca1290013
|
||||
[17]: https://opensource.com/correspondent-program
|
@ -0,0 +1,154 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Nextcloud: The Swiss Army Knife of Remote Working Tools)
|
||||
[#]: via: (https://itsfoss.com/nextcloud/)
|
||||
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
|
||||
|
||||
Nextcloud: The Swiss Army Knife of Remote Working Tools
|
||||
======
|
||||
|
||||
Remote working culture has been booming for past few years in coding, graphics and other IT related fields. But the recent [Coronavirus pandemic][1] has made it mandatory for the companies to work from home if it’s possible for them.
|
||||
|
||||
While there are tons of tools to help you and your organization in working from home, let me share one open source software that has the features of several such tools combined into one.
|
||||
|
||||
### Nextcloud Hub: A Suite of Essential Tools for Remote Collaboration
|
||||
|
||||
[Nextcloud][2] is an open source software that can be used to store files, photos and videos for personal usage like Dropbox. But it’s more than just a private [cloud service][3].
|
||||
|
||||
You can add more than one users in Nextcloud and turn it into a collaboration platform for editing files in real time, chat with users, manage calendars, assign and manage tasks and more.
|
||||
|
||||
This video gives a good overview of its main features:
|
||||
|
||||
[Subscribe to our YouTube channel for more Linux videos][4]
|
||||
|
||||
### Main Features of Nextcloud
|
||||
|
||||
Let me highlight the main features of Nextcloud:
|
||||
|
||||
#### Sync files and share
|
||||
|
||||
![Nextcloud Files][5]
|
||||
|
||||
You can create workspaces based on user groups and share files in those folders. Users can create private files and folders and share them with selected users internally or externally (if they are allowed to). You can lock files in read only mode as well.
|
||||
|
||||
It also has a very powerful search feature that lets you search files from their name or tags. You can comment on files to provide feedback.
|
||||
|
||||
Text files can be edited in real time thanks to its builtin markdown editor. You can use OnlyOffice or Collabora to allow editing of docs, spreadsheet and presentations in real time.
|
||||
|
||||
It also has version control for the files so that you can revert changes easily.
|
||||
|
||||
#### Text Chat, Audio Chat, Video Chat and Web Meetings
|
||||
|
||||
![Nextcloud Video Call][6]
|
||||
|
||||
With NextCloud Talk, you can interact with other users by text messaging, audio calls, video calls and group calls for web meetings. You can also take meeting minutes during the video calls and share your screen for presentations. There is also a mobile app to stay connected all the time.
|
||||
|
||||
You can also create Slack like channels (known as circles) to communicate between members concerned with a specific topic.
|
||||
|
||||
#### Calendar, Contacts & Mail
|
||||
|
||||
![Calendar Nextcloud][7]
|
||||
|
||||
You can manage all of your organization’s contact, divide them into groups based on departments.
|
||||
|
||||
With the calendar, you can see when someone is free or what meetings are taking place, like you do on Outlook.
|
||||
|
||||
You can also use the Mail feature and import the emails from other providers to use them inside Nextcloud interface.
|
||||
|
||||
#### Kanban project management with Deck
|
||||
|
||||
![][8]
|
||||
|
||||
Like Trello and Jira, you can create boards for various projects. You can create cards for each tasks, assign them to users and they can move it between the list based on the status of the task. It’s really up to you how you create boards to manage your projects in Kanban style.
|
||||
|
||||
#### Plenty of add-ons to get more out of Nextcloud
|
||||
|
||||
![Password Manager][9]
|
||||
|
||||
Nextcloud also has several add-ons (called apps). Some are developed by Nextcloud teams while some are from third-party developers. You may use them to extend the capability of Nextcloud.
|
||||
|
||||
For example, you can add a [Feedly style feed reader][10] and read news from various sources. Similarly, the [Paswords addon][11] lets you use Netxcloud as a password manager. You can even share common passwords with other Nextcloud users.
|
||||
|
||||
You can explore [all the apps on its website][12]. You’ll also notice the ratings of apps that will help you decide if you should use an app or not.
|
||||
|
||||
#### Many more features
|
||||
|
||||
Let me summarize all the features here:
|
||||
|
||||
* Open source software that lets you own your data on your own servers
|
||||
* Seamlessly edit office documents together with others
|
||||
* Communicate with other members of your organization and do audio and video calls and held web meetings
|
||||
* Calendar lets you book meetings, brings busy view for meetings and resource booking and more
|
||||
* Manage users locally or authenticate through LDAP / Active Directory, Kerberos and Shibboleth / SAML 2.0 and more
|
||||
* Secure data with powerful file access control, multi-layer encryption, machine-learning based authentication protection and advanced ransomware recovery capabilities
|
||||
* Access existing storage silos like FTP, Windows Network Drives, SharePoint, Object Storage and Samba shares seamlessly through Nextcloud.
|
||||
* Automation: Automatically turn documents in PDFs, send messages to chat rooms and more!
|
||||
* Built in ONLYOFFICE makes collaborative editing of Microsoft Office documents accessible to everyone
|
||||
* Users can install desktop and mobile apps or simply use it in web browser
|
||||
|
||||
|
||||
|
||||
### How to get Nextcloud
|
||||
|
||||
![][13]
|
||||
|
||||
NextCloud is free and open source software. You can download it and install it on your own server.
|
||||
|
||||
You can use cloud server providers like [Linode][14] or [DigitalOcean][15] that allow you to deploy a brand new Linux server within minutes. And then you can use Docker to install NextCloud. At It’s FOSS, we use [Linode][14] for our NextCloud instance.
|
||||
|
||||
If you don’t want to do that, you can [signup with one of the Nextcloud partners][16] that provide you with configured Nextcloud instance. Some providers also provide a few GB of free data to try it.
|
||||
|
||||
Nextcloud also has an [enterprise plan][17] where Nextcloud team itself handles everything for the users and provide premium support. You can check their pricing [here][18].
|
||||
|
||||
If you decide to use Nextcloud, you should refer to its documentation or community forum to explore all its features.
|
||||
|
||||
### Conclusion
|
||||
|
||||
At It’s FOSS, our entire team works remote. We have no centralized office anywhere and all of us work from our home. Initially we relied on non-open source tools like Slack, Google Drive etc but lately we are migrating to their open source alternatives.
|
||||
|
||||
Nextcloud is one of the first software we tried internally. It has features of Dropbox, Google Docs, [Slack][19], [Trello][20], Google Hangout all combined in one software.
|
||||
|
||||
NextCloud works for most part but we found it struggling with the video calls. I think that has to do with the fact that we have it installed on a server with 1 GB of RAM that also runs some other web services like [Ghost CMS][21]. We plan to move it to a server with better specs. We’ll see if that should address these issues.
|
||||
|
||||
Since the entire world is struggling with the Coronavirus pandemic, using a solution like Nextcloud could be helpful for you and your organization in working from home.
|
||||
|
||||
How are you coping during the Coronavirus lockdown? Like [Linus Torvalds’ advice on remote working][22], do you also have some suggestion to share with the rest of us? Please feel free to use the comment section.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/nextcloud/
|
||||
|
||||
作者:[Abhishek Prakash][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/abhishek/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://en.wikipedia.org/wiki/2019%E2%80%9320_coronavirus_pandemic
|
||||
[2]: https://nextcloud.com/
|
||||
[3]: https://itsfoss.com/cloud-services-linux/
|
||||
[4]: https://www.youtube.com/c/itsfoss?sub_confirmation=1
|
||||
[5]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/03/nextcloud_files.png?ssl=1
|
||||
[6]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/03/nextcloud_video_call.jpg?ssl=1
|
||||
[7]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/03/calendar_nextcloud.jpeg?ssl=1
|
||||
[8]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/03/nextcloud_kanban_project_management_app.jpeg?ssl=1
|
||||
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/03/passman.png?fit=800%2C389&ssl=1
|
||||
[10]: https://apps.nextcloud.com/apps/news
|
||||
[11]: https://apps.nextcloud.com/apps/passwords
|
||||
[12]: https://apps.nextcloud.com/
|
||||
[13]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/03/nextcloud-feature.jpg?ssl=1
|
||||
[14]: https://www.linode.com/?r=19db9d1ce8c1c91023c7afef87a28ce8c8c067bd
|
||||
[15]: https://m.do.co/c/d58840562553
|
||||
[16]: https://nextcloud.com/signup/
|
||||
[17]: https://nextcloud.com/enterprise/
|
||||
[18]: https://nextcloud.com/pricing/
|
||||
[19]: https://slack.com/
|
||||
[20]: https://trello.com/
|
||||
[21]: https://itsfoss.com/ghost-3-release/
|
||||
[22]: https://itsfoss.com/torvalds-remote-work-advice/
|
@ -0,0 +1,82 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Oracle Announces Java 14! How to Install it on Ubuntu Linux)
|
||||
[#]: via: (https://itsfoss.com/java-14-ubuntu/)
|
||||
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
|
||||
|
||||
Oracle Announces Java 14! How to Install it on Ubuntu Linux
|
||||
======
|
||||
|
||||
Recently, Oracle announced the general availability of Java 14 (or the Oracle JDK 14). If you are someone who wants to have the latest and greatest to experiment and develop stuff – you can try installing Java 14 on your Linux system.
|
||||
|
||||
Oracle JDK 14 (or simply Java 14) [release][1] includes a couple of new features if you’re interested to preview them. I’ve linked them below:
|
||||
|
||||
* [Pattern matching for instanceof][2]
|
||||
* [Records][3]
|
||||
* [Text Blocks][4]
|
||||
|
||||
|
||||
|
||||
In addition to the preview features, it packs in several improvements and additions. Quoting the press release, they mentioned the additional improvements as well:
|
||||
|
||||
> Additionally, the latest Java release adds Java language support for switch expressions, exposes new APIs for continuous monitoring of JDK Flight Recorder data, extends the availability of the low-latency Z Garbage Collector to macOS and Windows, and adds, in incubator modules, the packaging of self-contained Java applications and a new Foreign memory access API for safe, efficient access to memory outside of the Java heap.
|
||||
|
||||
Of course, if you want to dive into the exact details, you should check the [official announcement][1].
|
||||
|
||||
In this tutorial, I’ll show you the easy way to get Java 14 installed on your Ubuntu system. Read on.
|
||||
|
||||
**Note:** If you opt for Oracle Java 11 or above, you should learn about the new [Oracle Technology Network License Agreement][5] to know how it affects personal users, developers, and commercial organizations. Usually, these are free to use for development and testing – but not for production.
|
||||
|
||||
### How To Install Java 14 on Ubuntu Linux?
|
||||
|
||||
![][6]
|
||||
|
||||
For reference, I’ve successfully tried it on **Pop!_OS 19.10** where I had the **OpenJDK 11** installed as the default.
|
||||
|
||||
Here, we are going to use the Java 14 installer (originally based on WebUpd8 Java Package) by [Linux Uprising][7].
|
||||
|
||||
Simply enter the commands below in the terminal to get it installed:
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:linuxuprising/java
|
||||
sudo apt update
|
||||
sudo apt install oracle-java14-installer
|
||||
```
|
||||
|
||||
This should do the job. And, when it’s done, if you want to make it the default, you can type in the following command to do it:
|
||||
|
||||
```
|
||||
sudo apt install oracle-java14-set-default
|
||||
```
|
||||
|
||||
It is worth noting that this is only for Ubuntu-based distributions. If you want to install it on Debian and other Linux distributions, you can follow [Linux Uprising’s detailed guide][7] on installing Java 14 as well.
|
||||
|
||||
### Wrapping Up
|
||||
|
||||
Of course, while this is about the bleeding edge features – if you do not want to break things, you might want to hold on to Java 11. If you want to experiment while knowing the risks, go ahead and give it a try!
|
||||
|
||||
Feel free to let me know your thoughts on Java 14 in the comments below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/java-14-ubuntu/
|
||||
|
||||
作者:[Ankush Das][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/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.oracle.com/corporate/pressrelease/oracle-announces-java14-031720.html
|
||||
[2]: https://openjdk.java.net/jeps/305
|
||||
[3]: https://openjdk.java.net/jeps/359
|
||||
[4]: https://openjdk.java.net/jeps/368
|
||||
[5]: https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html
|
||||
[6]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/03/install-java-14-ubuntu.png?ssl=1
|
||||
[7]: https://www.linuxuprising.com/2020/03/how-to-install-oracle-java-14-jdk14-on.html
|
@ -0,0 +1,183 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (The Keyring Concept in Ubuntu: What is It and How to Use it?)
|
||||
[#]: via: (https://itsfoss.com/ubuntu-keyring/)
|
||||
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
|
||||
|
||||
The Keyring Concept in Ubuntu: What is It and How to Use it?
|
||||
======
|
||||
|
||||
If you use [automatic login in Ubuntu][1] or other Linux distributions, you might have come across a pop-up message of this sort:
|
||||
|
||||
**Enter password to unlock your login keyring
|
||||
The login keyring did not get unlocked when you logged into your computer.**
|
||||
|
||||
![Enter Password To Unlock Your Login Keyring Ubuntu][2]
|
||||
|
||||
It keeps on popping up several times before disappearing if you keep on clicking cancel. You may wonder why do you keep seeing this keyring message all the time?
|
||||
|
||||
Let me tell you something. It’s not an error. It’s a security feature.
|
||||
|
||||
Surprised? Let me explain the keyring concept in Linux.
|
||||
|
||||
### What is keyring in Linux and why is it used?
|
||||
|
||||
![][3]
|
||||
|
||||
Why do you use a keyring (also called [keychain][4]) in the real life? You use it to keep one or more keys grouped together so that they are easy to find and carry.
|
||||
|
||||
It’s the same concept in Linux. The keyring feature allows your system to group various passwords together and keep it one place.
|
||||
|
||||
Most desktop environments like GNOME, KDE, Xfce etc use an implementation of [gnome-keyring][5] to provide this keyring feature in Linux.
|
||||
|
||||
This keyring keeps your ssh keys, GPG keys and keys from applications that use this feature, like Chromium browser. By default, the **keyring is locked with a master password** which is often the login password of the account.
|
||||
|
||||
Every user on your system has its own keyring with (usually) the same password as that of the user account itself. When you login to your system with your password, your keyring is unlocked automatically with your account’s password.
|
||||
|
||||
The problem comes when you [switch to auto-login in Ubuntu][1]. This means that you login to the system without entering the password. In such case, your keyring is not unlocked automatically.
|
||||
|
||||
#### Keyring is a security feature
|
||||
|
||||
Remember I told you that the keyring was a security feature? Now imagine that on your Linux desktop, you are using auto-login. Anyone with access to your desktop can enter the system without password but you have no issues with that perhaps because you use it to browse internet only.
|
||||
|
||||
But if you use a browser like Chromium or [Google Chrome in Ubuntu][6], and use it to save your login-password for various websites, you have an issue on your hand. Anyone can use the browser and login to the websites for which you have saved password in your browser. That’s risky, isn’t it?
|
||||
|
||||
This is why when you try to use Chrome, it will ask you to unlock the keyring repeatedly. This ensures that only the person who knows the keyring’s password (i.e. the account password) can use the saved password in browser for logging in to their respective websites.
|
||||
|
||||
If you keep on cancelling the prompt for keyring unlock, it will eventually go away and let you use the browser. However, the saved password won’t be unlocked and you’ll see ‘sync paused’ in Chromium/Chrome browsers.
|
||||
|
||||
![Sync paused in Google Chrome][7]
|
||||
|
||||
#### If this keyring always exited, why you never saw it?
|
||||
|
||||
That’s a valid question if you have never seen this keyring thing in your Linux system.
|
||||
|
||||
If you never used automatic login (or changed your account’s password), you might not even have realized that this feature exists.
|
||||
|
||||
This is because when you login to your system with your password, your keyring is unlocked automatically with your account’s password.
|
||||
|
||||
Ubuntu (and other distributions) asks for password for common admin tasks like modifying users, installing new software etc irrespective of whether you auto login or not. But for regular tasks like using a browser, it doesn’t ask for password because keyring is already unlocked.
|
||||
|
||||
When you switch to automatic login, you don’t enter the password for login anymore. This means that the keyring is not unlocked and hence when you try to use a browser which uses the keyring feature, it will ask to unlock the keyring.
|
||||
|
||||
#### You can easily manage the keyring and passwords
|
||||
|
||||
Where is this keyring located? At the core, it’s a daemon (a program that runs automatically in the background).
|
||||
|
||||
Don’t worry. You don’t have to ‘fight the daemon’ in the terminal. Most desktop environments come with a graphical application that interacts with this daemon. On KDE, there is KDE Wallet, on GNOME and others, it’s called Password and Keys (originally known as [Seahorse][8]).
|
||||
|
||||
![Password And Keys App in Ubuntu][9]
|
||||
|
||||
You can use this GUI application to see what application use the keyring to manage/lock passwords.
|
||||
|
||||
As you can see, my system has the login keyring which is automatically created. There is also a keyrings for storing GPG and SSH keys. The [Certificates][10] is for keeping the certificates (like HTTPS certificates) issued by a certificate authority.
|
||||
|
||||
![Password and Keys application in Ubuntu][11]
|
||||
|
||||
You can also use this application to manually store passwords for website. For example, I created a new password-protected keyring called ‘Test’ and stored a password in this keyring manually.
|
||||
|
||||
This is slightly better than keeping a list of passwords in a text file. At least in this case your passwords can be viewed only when you unlock the keyring with password.
|
||||
|
||||
![Saving New Password Seahorse][12]
|
||||
|
||||
One potential problem here is that if you format your system, the manually saved passwords are definitely lost. Normally, you make backup of personal files, not of all the user specific data such as keyring files.
|
||||
|
||||
There is way to handle that. The keyring data is usually stored in ~/.local/share/keyrings directory. You can see all the keyrings here but you cannot see its content directly. If you remove the password of the keyring (I’ll show the steps in later section of this article), you can read the content of the keyring like a regular text file. You can copy this unlocked keyring file entirely and import it in the Password and Keys application on some other Linux computer (running this application).
|
||||
|
||||
So, let me summarize what you have learned so far:
|
||||
|
||||
* Most Linux has this ‘keyring feature’ installed and activated by default
|
||||
* Each user on a system has its own keyring
|
||||
* The keyring is normally locked with the account’s password
|
||||
* Keyring is unlocked automatically when you login with your password
|
||||
* For auto-login, the keyring is not unlocked and hence you are asked to unlock it when you try to use an application that uses keyring
|
||||
* Not all browsers or application use the keyring feature
|
||||
* There is a GUI application installed to interact with keyring
|
||||
* You can use the keyring to manually store passwords in encrypted format
|
||||
* You can change the keyring password on your own
|
||||
* You can export (by unlocking the keyring first) and import it on some other computer to get your manually saved passwords
|
||||
|
||||
|
||||
|
||||
### Change keyring password
|
||||
|
||||
Suppose you changed your account password. Now when you login, your system tries to unlock the keyring automatically using the new login password. But the keyring still uses the old login password.
|
||||
|
||||
In such a case, you can change the keyring password to the new login password so that the keyring gets unlocked automatically as soon as you login to your system.
|
||||
|
||||
Open the Password and Keys application from the menu:
|
||||
|
||||
![Look for Password and Keys app in the menu][9]
|
||||
|
||||
Now, right click on the Login keyring and click on Change Password:
|
||||
|
||||
![Change Keyring Password][13]
|
||||
|
||||
What if you don’t remember the old login password?
|
||||
|
||||
You probably know that it is [easy to reset forgotten password in Ubuntu][14]. The problem comes with the keyring in such cases. You changed the account password but you don’t remember the old account password that is still used by the keyring.
|
||||
|
||||
Now you cannot change it because you don’t know the old password. What to do now?
|
||||
|
||||
In such a case, you’ll have to remove the entire keyring itself. You can do that from the Passwords and Keys application:
|
||||
|
||||
![Delete Keyring Ubuntu][15]
|
||||
|
||||
It will ask for your confirmation:
|
||||
|
||||
![Delete Keyring][16]
|
||||
|
||||
Alternatively, you may also manually delete the keyring files in ~/.local/share/keyrings directory.
|
||||
|
||||
When the old keyring is removed and you try to use Chrome/Chromium, it will ask you to create new keyring.
|
||||
|
||||
![New Keyring Password][17]
|
||||
|
||||
You can use the new login password so that the keyring gets unlocked automatically.
|
||||
|
||||
### Disable keyring password
|
||||
|
||||
In cases where you want to use automatic login but don’t want to unlockk keyring manually, you may choose to disable the keyring with a workaround. Keep in mind that you are disabling a security feature so think twice before doing so.
|
||||
|
||||
The process is similar to changing keyring password. Open Password and Keys application and go on to change the keyring password.
|
||||
|
||||
The trick is that when it asks to change the password, don’t enter a new password and hit Continue instead. This will remove any password from the keyring.
|
||||
|
||||
![Disable Keyring password by not setting any password at all][18]
|
||||
|
||||
This way, the keyring will have no password and it remains unlocked all the time.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/ubuntu-keyring/
|
||||
|
||||
作者:[Abhishek Prakash][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/abhishek/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://itsfoss.com/ubuntu-automatic-logon/
|
||||
[2]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/03/enter-password-to-unlock-your-login-keyring-ubuntu.jpg?ssl=1
|
||||
[3]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/03/keyring-concept-ubuntu-1.png?ssl=1
|
||||
[4]: https://en.wikipedia.org/wiki/Keychain
|
||||
[5]: https://wiki.archlinux.org/index.php/GNOME/Keyring
|
||||
[6]: https://itsfoss.com/install-chrome-ubuntu/
|
||||
[7]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/03/sync-paused-keyring-ubuntu.jpg?ssl=1
|
||||
[8]: https://wiki.debian.org/Seahorse
|
||||
[9]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/03/password-and-keys-app-ubuntu.jpg?ssl=1
|
||||
[10]: https://help.ubuntu.com/lts/serverguide/certificates-and-security.html
|
||||
[11]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/03/keyring-pasword-ubuntu.png?ssl=1
|
||||
[12]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/03/saving-new-password-seahorse.png?ssl=1
|
||||
[13]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/03/change-keyring-password.png?ssl=1
|
||||
[14]: https://itsfoss.com/how-to-hack-ubuntu-password/
|
||||
[15]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/03/delete-keyring-ubuntu.jpg?ssl=1
|
||||
[16]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/03/delete-keyring.jpg?ssl=1
|
||||
[17]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/03/new-keyring-password.jpg?ssl=1
|
||||
[18]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/03/disable-keyring-password-ubuntu.png?ssl=1
|
@ -0,0 +1,96 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Turn Your Regular TV into a Smart TV With KDE Plasma Bigscreen)
|
||||
[#]: via: (https://itsfoss.com/kde-plasma-bigscreen/)
|
||||
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
|
||||
|
||||
Turn Your Regular TV into a Smart TV With KDE Plasma Bigscreen
|
||||
======
|
||||
|
||||
_**Brief: KDE’s upcoming Plasma Bigscreen project lets you use open source technologies to turn your regular TV into a smart one.**_
|
||||
|
||||
Smart TVs are the new normal these days. Mostly based on Android, these smart TVs let you play YouTube, Netflix, Spotify and other streaming services. You can even use voice commands to control your smart TV.
|
||||
|
||||
One major problem with these so-called [smart TVs are that they probably are spying on you][1]. Your data is being collected with or without your knowledge.
|
||||
|
||||
This is the problem KDE’s [Plasma Bigscreen project][2] is aiming to solve.
|
||||
|
||||
### Plasma Bigscreen: Make your TV smart with open source technologies
|
||||
|
||||
![][3]
|
||||
|
||||
You probably already know about the [KDE][4] project. It started as a Linux desktop environment project more than 20 years ago. The KDE project grew bigger and this is why they created Plasma desktop environment to make it clear that KDE is no more just “K Desktop Environment”.
|
||||
|
||||
The Plasma project itself is quite versatile. You can of course use it on your desktop Linux computer. [Plasma also has a mobile version][5] that you can run on Linux-based smartphones like [Librem5][6] and [PinePhone][7].
|
||||
|
||||
The Plasma Bigscreen is a new project from KDE that aims to provide interface and features similar to what Smart TVs provide.
|
||||
|
||||
All you need is a [single board computer like Raspberry Pi][8] and a TV with HDMI port. Install Plasma Bigscreen on your device and connect it to your TV.
|
||||
|
||||
### Plasma Bigscreen features: More than just a media server
|
||||
|
||||
![YouTube In Plasma Bigscreen][9]
|
||||
|
||||
Though it may look like one at the first glance, but Plasma Bigscreen is not like Kodi and other [media servers for Linux][10]. It’s more than that.
|
||||
|
||||
#### Control with your regular remote
|
||||
|
||||
You don’t need a new specialized remote control. Thanks to [CEC][11], you can use your regular TV remote control.
|
||||
|
||||
#### Voice control with open source Mycroft AI
|
||||
|
||||
Plasma Bigscreen takes advantage of the open source Mycroft AI project. With Mycroft built in to Bigscreen, you can use voice command to play content, check weather and control other aspects of your smart TV. You can further train this AI by teaching it new skills.
|
||||
|
||||
#### Traditional desktop applications
|
||||
|
||||
Plasma Bigscreen delivers not only media-rich applications, but also traditional desktop applications redesigned to fit the Bigscreen experience.
|
||||
|
||||
#### Free and open source software
|
||||
|
||||
The most important feature is that it is an open source project and it uses other open source technologies to give you the complete control over your data and your smart TV.
|
||||
|
||||
Since it is open source, I believe once it is released, there will be a few vendors providing it as a plug and play device.
|
||||
|
||||
### How to get Plasma Bigscreen?
|
||||
|
||||
Plasma Bigscreen is still in beta phase and there is no definite timeline for the stable release.
|
||||
|
||||
However, the beta version is also working good on devices like Raspberry Pi 4. Here’s a video by one of the developers working on this project.
|
||||
|
||||
[Subscribe to our YouTube channel for more Linux videos][12]
|
||||
|
||||
If you have a Raspberry Pi 4, you can [download Plasma Bigscreen][13] beta version from its official download page and follow the steps [here][14] to install it.
|
||||
|
||||
Personally, I am really excited about it. I am going to take out some time and try it on my [Raspberry Pi 4][15]. What about you? Do you think the project has potential? Will you give it a try?
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/kde-plasma-bigscreen/
|
||||
|
||||
作者:[Abhishek Prakash][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/abhishek/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://www.zdnet.com/article/fbi-warns-about-snoopy-smart-tvs-spying-on-you/
|
||||
[2]: https://plasma-bigscreen.org/
|
||||
[3]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/03/plasma-bigscreen-menu.jpg?ssl=1
|
||||
[4]: https://kde.org/
|
||||
[5]: https://itsfoss.com/kde-announces-plasma-mobile/
|
||||
[6]: https://itsfoss.com/librem-linux-phone/
|
||||
[7]: https://itsfoss.com/pinephone/
|
||||
[8]: https://itsfoss.com/raspberry-pi-alternatives/
|
||||
[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/03/youtube-in-plasma-bigscreen.jpg?ssl=1
|
||||
[10]: https://itsfoss.com/best-linux-media-server/
|
||||
[11]: http://libcec.pulse-eight.com/
|
||||
[12]: https://www.youtube.com/c/itsfoss?sub_confirmation=1
|
||||
[13]: https://plasma-bigscreen.org/#download-jumpto
|
||||
[14]: https://plasma-bigscreen.org/manual/
|
||||
[15]: https://itsfoss.com/raspberry-pi-4/
|
Loading…
Reference in New Issue
Block a user