Merge pull request #1 from LCTT/master

Update  from LCTT
This commit is contained in:
heguangzhi 2020-01-11 09:38:28 +08:00 committed by GitHub
commit a32847d8fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 875 additions and 444 deletions

View File

@ -1,18 +1,18 @@
[#]: collector: (lujun9972)
[#]: translator: (wxy)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-11768-1.html)
[#]: subject: (File sharing with Git)
[#]: via: (https://opensource.com/article/19/4/file-sharing-git)
[#]: author: (Seth Kenlon)
用 Git 共享文件
用 Git 共享文件
======
> SparkleShare 是一个开源的基于 GitDropbox 风格的文件共享应用程序。在我们的系列文章中了解有关 Git 鲜为人知的用法。
> SparkleShare 是一个开源的基于 GitDropbox 风格的文件共享应用程序。在我们的系列文章中了解有关 Git 鲜为人知的用法。
![][1]
![](https://img.linux.net.cn/data/attachment/album/202001/10/113645qb2ufvuu2ttimugv.png)
[Git][2] 是一个少有的能将如此多的现代计算封装到一个程序之中的应用程序,它可以用作许多其他应用程序的计算引擎。虽然它以跟踪软件开发中的源代码更改而闻名,但它还有许多其他用途,可以让你的生活更轻松、更有条理。在这个 Git 系列中,我们将分享七种鲜为人知的使用 Git 的方法。
@ -22,13 +22,13 @@
Git 的优点之一是它具有固有的分发能力。它可用来建立共享。即使你只是与自己网络上的其他计算机共享资源库Git 也会为从共享位置获取文件的行为带来透明性。
随着其界面的发展Git 变得非常简单。虽然因用户而异,他们坐下来完成一些工作时的共同点仅仅是 `git pull` 或稍微复杂一点的 `git pull && git checkout -b my-branch`。但是,对于某些人来说,将*命令输入*到他们的计算机中的做法完全是令人困惑或烦恼的。计算机旨在使生活变得轻松,计算机擅长重复性工作,因此有更简便的方法可以与 Git 共享文件。
随着其界面的发展Git 变得非常简单。虽然因用户而异,他们坐下来完成一些工作时的共同点仅仅是 `git pull` 或稍微复杂一点的 `git pull && git checkout -b my-branch`。但是,对于某些人来说,将*命令输入*到他们的计算机中的做法完全是令人困惑或烦恼的。计算机旨在使生活变得轻松,它擅长于重复性工作,因此有更简便的方法可以与 Git 共享文件。
### SparkleShare
[SparkleShare][3] 项目是一个基于 Git 的跨平台的开源的 Dropbox 式的文件共享应用程序。它通过将文件拖放到专门指定的 SparkleShare 目录中的简单操作,自动执行所有 Git 命令,触发添加、提交、推送和拉取过程。因为它基于 Git所以你可以获得基于差异diff的快速推送和拉取并且继承了 Git 版本控制和后端基础设施(如 Git 挂钩)的所有优点。它可以完全自托管,也可以将其与 [GitLab][4]、GitHub、Bitbucket 等 Git 托管服务一起使用。此外,由于它基本上只是一个 Git 的前端,因此你可以在可能没有 SparkleShare 客户端但有 Git 客户端的设备上访问 SparkleShare 中的文件。
[SparkleShare][3] 项目是一个基于 Git 的跨平台的开源的 Dropbox 式的文件共享应用程序。它通过将文件拖放到专门指定的 SparkleShare 目录中的简单操作,自动执行所有 Git 命令,触发添加、提交、推送和拉取过程。因为它基于 Git所以你可以获得基于差异diff的快速推送和拉取并且继承了 Git 版本控制和后端基础设施(如 Git 挂钩)的所有优点。它可以完全自托管,也可以将其与 [GitLab][4]、GitHub、Bitbucket 等 Git 托管服务一起使用。此外,由于它基本上只是一个 Git 的前端,因此你可以在可能没有 SparkleShare 客户端但有 Git 客户端的设备上访问 SparkleShare 中的文件。
正如你获得 Git 的所有好处一样,你也会受到所有常见的 Git 限制:使用 SparkleShare 存储数百张照片、音乐和视频是不切实际的,因为 Git 是为文本而设计和优化的。Git 当然可以存储二进制文件的大文件,但是因为它可以跟踪历史记录,因此一旦将文件添加到其中,几乎就不可能完全删除它。这在某种程度上限制了 SparkleShare 对某些人的实用性,但使其非常适合许多工作流程,包括 [日程安排][5]。
正如你获得 Git 的所有好处一样,你也会受到所有常见的 Git 限制:使用 SparkleShare 存储数百张照片、音乐和视频是不切实际的,因为 Git 是为文本而设计和优化的。Git 当然可以存储二进制文件的大文件,但是因为它可以跟踪历史记录,因此一旦将文件添加到其中,几乎就不可能完全删除它。这在某种程度上限制了 SparkleShare 对某些人的实用性,但使其非常适合许多工作流程,包括[日程安排][5]。
#### 安装 SparkleShare
@ -41,17 +41,17 @@ $ sudo flatpak install flathub org.sparkleshare.SparkleShare
### 创建一个 Git 存储库
SparkleShare 并不是软件即服务SaaS。你在计算机上运行 SparkleShare 与 Git 存储库进行通信,而 SparkleShare 并不存储你的数据。如果你还没有与文件夹同步的 Git 存储库,则必须在启动 SparkleShare 之前创建一个文件夹。你有三个选择:托管的 Git、自托管 Git 或自托管 SparkleShare。
SparkleShare 并不是软件即服务SaaS。你在计算机上运行 SparkleShare 与 Git 存储库进行通信,而 SparkleShare 并不存储你的数据。如果你还没有与文件夹同步的 Git 存储库,则必须在启动 SparkleShare 之前创建一个文件夹。你有三个选择:托管的 Git、自托管 Git 或自托管 SparkleShare。
#### 托管的 Git
#### 托管的 Git
SparkleShare 可以使用你可以访问的任何 Git 存储库进行存储因此如果你拥有或可在其中创建的GitLab 或任何其他托管服务的帐户,则它可以成为 SparkleShare 的后端。例如,开源 [Notabug.org][8] 服务是一个类似于 GitHub 和 GitLab 的 Git 托管服务,但其独特性足以证明 SparkleShare 的灵活性。根据用户界面的不同,不同的托管服务创建新存储库的方法也有所不同,但是所有主要存储库都遵循相同的通用模型。
SparkleShare 可以使用你能访问的任何 Git 存储库进行存储,因此,如果你拥有 GitLab 或任何其他托管服务的帐户(或创建一个),则它可以成为 SparkleShare 的后端。例如,开源 [Notabug.org][8] 服务是一个类似于 GitHub 和 GitLab 的 Git 托管服务,但其独特性足以证明 SparkleShare 的灵活性。根据用户界面的不同,不同的托管服务创建新存储库的方法也有所不同,但是所有主要存储库都遵循相同的通用模型。
首先,在托管服务中找到创建一个新项目或存储库的按钮,单击它以开始。然后逐步完成存储库的创建过程,为存储库提供名称、隐私级别(存储库通常默认为公共),以及是否使用 `README` 文件初始化存储库。无论你是否需要个 `README` 文件,请初始化建立一个。使用一个文件创立存储库不是绝对必要的,但是它会强制 Git 主机实例化存储库中的 `master` 分支,这有助于确保前端应用程序(例如 SparkleShare具有要提交并推送的分支。即使文件几乎空的 `README` 文件,也可以用来查看该文件以确认你已连接成功。
首先,在托管服务中找到创建新项目或存储库的按钮,单击它以开始。然后逐步完成存储库的创建过程,为存储库提供名称、隐私级别(存储库通常默认为公共),以及是否使用 `README` 文件初始化存储库。无论你是否需要个 `README` 文件,请初始化建立一个。使用一个文件来创建存储库不是绝对必要的,但是它会强制 Git 主机实例化存储库中的 `master` 分支,这有助于确保前端应用程序(例如 SparkleShare具有要提交并推送的分支。即使文件几乎空的 `README` 文件,也可以用来查看该文件以确认你已连接成功。
![Creating a Git repository][9]
创建存储库后,获取其用于 SSH 克隆的 URL。你可以像获取任何人从 Git 项目获得其 URL 一样获得此 URL导航至存储库页面并查找 “Clone” 按钮或字段。
创建存储库后,获取其用于 SSH 克隆的 URL。就像从 Git 项目获得其 URL 一样,你也可以获取此 URL导航至存储库页面并查找 “Clone” 按钮或字段。
![Cloning a URL on GitHub][10]
@ -63,7 +63,6 @@ SparkleShare 可以使用你可以访问的任何 Git 存储库进行存储,
这是 SparkleShare 用于获取数据的地址,因此请记下它。你的 Git 存储库现已配置好。
#### 自托管的 Git
你可以使用 SparkleShare 访问你有权访问的任何计算机上的 Git 存储库。除了一个 Git 裸存储库外,无需任何特殊设置。但是,如果你想将对 Git 存储库的访问权授予其他任何人,则应运行 [Gitolite][12] 之类的 Git 管理器或 SparkleShare 自己的 Dazzle 服务器来帮助你管理 SSH 密钥和帐户。至少,创建一个特定于 Git 的用户,以便有权访问你的 Git 存储库的用户不会自动获得对服务器其余部分的访问权限。
@ -99,21 +98,21 @@ $ dazzle create sparkly
### 配置 SparkleShare
首次启动 SparkleShare 时,系统会提示你配置要让 SparkleShare 用于存储的服务器。这个过程可能看起来像一个首次运行的安装向导,但实际上是在 SparkleShare 中设置新共享位置的通常过程。与许多共享驱动器应用程序不同,使用 SparkleShare 可以一次配置多个位置。你配置的第一个共享位置并不比你以后可以设置的任何共享位置重要,并且你也没有注册 SparkleShare 或任何其他服务。你只是将 SparkleShare 指向 Git 存储库,以便它知道如何使第一个 SparkleShare 文件夹保持同步。
首次启动 SparkleShare 时,系统会提示你配置 SparkleShare 用于存储的服务器。这个过程可能看起来像一个首次运行的安装向导,但实际上是在 SparkleShare 中设置新共享位置的通常过程。与许多共享驱动器应用程序不同,使用 SparkleShare 可以一次配置多个位置。你配置的第一个共享位置并不比你以后可以配置的任何共享位置更重要,并且你也不用注册 SparkleShare 或任何其他服务。你只是将 SparkleShare 指向 Git 存储库,以便它知道如何使第一个 SparkleShare 文件夹保持同步。
在第一个屏幕上给出一个身份SparkleShare 将在代表你进行的 Git 提交记录中使用这些信息。你可以使用任何内容,甚至可以不代表任何意义的伪造信息。它仅用于提交消息,如果你对审查 Git 后端进程没有兴趣,你可能甚至看不到它们。
在第一个屏幕上,给出一个身份信息SparkleShare 将在代表你进行的 Git 提交记录中使用这些信息。你可以使用任何内容,甚至可以使用不代表任何意义的伪造信息。它仅用于提交消息,如果你对审查 Git 后端进程没有兴趣,你可能甚至看不到它们。
下一个屏幕提示你选择主机类型。如果你使用的是 GitLab、GitHub、Planio 或 Bitbucket则可以选择一个适当的。否则请选择“自己的服务器”。
![Choosing a Sparkleshare host][14]
在此屏幕底部,必须输入 SSH 的克隆 URL。如果你是自托管的 Git则地址类似于 `<ssh://username@example.com>`,而远程路径是为此目的而创建的 Git 存储库的绝对路径。
在此屏幕底部,必须输入 SSH 的克隆 URL。如果你是自托管的 Git则地址类似于 `<ssh://username@example.com>`,而远程路径是为此目的而创建的 Git 存储库的绝对路径。
根据上面的自托管示例,我虚构的服务器的地址为 `ssh://git@example.com:22122``:22122` 表示非标准的 SSH 端口),远程路径为 `/home/git/sparkly.git`
根据上面的自托管示例,我虚构的服务器的地址为 `ssh://git@example.com:22122``:22122` 表示一个非标准的 SSH 端口),远程路径为 `/home/git/sparkly.git`
如果我改用 Notabug.org 帐户,则上例中的地址为 `ssh://git@notabug.org`,路径为 `seth/sparkly.git`
SparkleShare 首次尝试连接到主机时失败,因为你尚未将 SparkleShare 客户端 ID特定于 SparkleShare 应用程序的 SSH 密钥)复制到 Git 主机。这是预料之中的,所以不要取消该过程。将 SparkleShare 设置窗口保持打开状态,并从系统任务栏中的 SparkleShare 图标处获取客户端 ID。然后将客户端 ID 复制到剪贴板,以便可以将其添加到 Git 主机。
SparkleShare 首次尝试连接到主机时失败,因为你尚未将 SparkleShare 客户端 ID特定于 SparkleShare 应用程序的 SSH 密钥)复制到 Git 主机。这是预料之中的,所以不要取消该过程。将 SparkleShare 设置窗口保持打开状态,并从系统任务栏中的 SparkleShare 图标处获取客户端 ID。然后将客户端 ID 复制到剪贴板,以便可以将其添加到 Git 主机。
![Getting the client ID from Sparkleshare][16]
@ -127,7 +126,7 @@ SparkleShare 首次尝试连接到主机时将失败,因为你尚未将 Sparkl
#### 将你的客户端 ID 添加到自托管的 Git 帐户
SparkleShare 客户端 ID 只是一个 SSH 密钥,因此将其复制并粘贴到 Git 用户的 `~/.ssh/authorized_keys`文件中。
SparkleShare 客户端 ID 只是一个 SSH 密钥,因此将其复制并粘贴到 Git 用户的 `~/.ssh/authorized_keys` 文件中。
#### 使用 Dazzle 添加你的客户 ID
@ -153,7 +152,7 @@ $ dazzle link
#### 排除某些文件
由于 Git 从设计上就是要记住*一切*,因此你可能希望从记录中排除特定的文件类型。排除一些文件是有原因的。通过定义摆脱 SparkleShare 限制的文件可以避免意外复制大文件。你还可以为自己设计一种方案使你可以将存储在一个目录中的逻辑上属于同一文件例如MIDI 文件及其 .flac 导出文件),但是可以自己手动备份大文件,而同时让 SparkleShare 备份基于文本的文件。
由于 Git 从设计上就是要记住*一切*,因此你可能希望从记录中排除特定的文件类型。排除一些文件是有原因的。通过定义摆脱 SparkleShare 管理的文件,可以避免意外复制大文件。你还可以为自己设计一种方案,使你可以将存储在一个目录中的逻辑上属于同一文件例如MIDI 文件及其 .flac 导出文件),但是可以自己手动备份大文件,而同时让 SparkleShare 备份基于文本的文件。
如果在系统的文件管理器中看不到隐藏的文件,请显示它们。导航到你的 SparkleShare 文件夹,然后到代表你的存储库的目录,找到一个名为 `.gitignore` 的文件,然后在文本编辑器中将其打开。你可以在 `.gitignore` 中输入文件扩展名或文件名(每行一个),任何与你列出的文件匹配的文件都会被忽略(如文件名所示)。
@ -186,13 +185,13 @@ $RECYCLE.BIN/
*.cbz
```
你知道最经常遇到哪些文件类型,因此请集中精力处理最有可能潜入你的 SparkleShare 目录的文件。如果想稍微矫枉过正一些,可以在 Notabug.org 以及整个网上找到 `.gitignore` 文件的好集合。
你知道最经常遇到哪些文件类型,因此请集中精力处理最有可能潜入你的 SparkleShare 目录的文件。如果想稍微矫枉过正一些,可以在 Notabug.org 以及整个网上找到 `.gitignore` 文件的好集合。
通过将这些条目保存在 `.gitignore` 文件中,你可以将不需要发送到 Git 主机的大文件放在 SparkleShare 目录中SparkleShare 将完全忽略它们。当然,这意味着您需要确保它们可以备份或通过其他方式分发给你的 SparkleShare 合作者。
通过将这些条目保存在 `.gitignore` 文件中,你可以将不需要发送到 Git 主机的大文件放在 SparkleShare 目录中SparkleShare 将完全忽略它们。当然,这意味着你需要确保它们可以备份或通过其他方式分发给你的 SparkleShare 协作者。
### 自动化
[自动化][20] 是我们与计算机达成的默契之一计算机执行重复的、无聊的工作而我们人类要么不擅长做这些要么不擅长记忆这些。SparkleShare 是一种很好的、简单的自动执行例行数据分发的方法。无论如何,这并不适合每个 Git 存储库。它没有用于高级 Git 功能的接口它没有暂停按钮或手动管理的操作。没关系因为它的范围是有意限制的。SparkleShare 可以完成 SparkleShare 计划要做的事情,它做得很好,而且它是你无需关心的一个 Git 存储库。
[自动化][20] 是我们与计算机达成的默契之一计算机执行重复的、无聊的工作而我们人类要么不擅长做这些要么不擅长记忆这些。SparkleShare 是一种很好的、简单的自动执行例行数据分发的方法。但不管怎么说,这并不适合每个 Git 存储库。它没有用于高级 Git 功能的接口,它没有暂停按钮或手动管理的操作。没关系,因为它的使用范围是有意限制的。SparkleShare 可以完成计划要做的事情,它做得很好,而且它是你无需关心的一个 Git 存储库。
如果你想使用这种稳定的、看不见的自动化,请尝试一下 SparkleShare。
@ -203,7 +202,7 @@ via: https://opensource.com/article/19/4/file-sharing-git
作者:[Seth Kenlon][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/) 荣誉推出

View File

@ -0,0 +1,118 @@
[#]: collector: (lujun9972)
[#]: translator: (robsean)
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-11770-1.html)
[#]: subject: (App Highlight: Open Source Disk Partitioning Tool GParted)
[#]: via: (https://itsfoss.com/gparted/)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
应用推荐:开源磁盘分区工具 GParted
======
![](https://img.linux.net.cn/data/attachment/album/202001/10/220015lp58jjjt22xfppjj.jpg)
> GParted 是一个可用于 Linux 发行版的非常受欢迎且免费的分区编辑器。在这里,我们简要地介绍一下它提供的功能。
### GParted一个自由开源的图形化分区管理器
![][1]
GParted 无疑是 [Linux 下的最好的分区管理器][2]之一。用户界面非常简单而可以完成任务。
在某些情况下,你最终还是会使用 [GParted][3] 来修复或格式化你的 USB 驱动器。我有一个[在 Ubuntu 中使用“磁盘”应用程序不能格式化的 USB 磁盘][4],而这是 GParted 用来救援的地方。
所以,它是一个非常有用的工具,有很多出色的功能。让我为你们重点介绍一下。
> 警告!
>
> 进行磁盘分区是一件危险的工作。除非绝对必要,否则不要做。否则,你可能最终擦除了整个磁盘。
### GParted 的功能
从简单地格式化任务到重要的分区任务,你可以使用 GParted 做很多事。我将使用一些屏幕截图突出关键功能,以帮助你在安装它前进一步了解它。
#### 创建分区表
你可以为新磁盘创建一个新的分区表,也可以擦除你现存的磁盘内容来修改分区表。
![][5]
你能够选择 msdos、gpt、atari以及更多类型的分区表。
#### 创建、移动、标记、删除和修改分区表
你可以使用 GParted 中一系列选项来轻松地创建、标记、删除或修改分区表。
![][6]
当然,你必须要谨慎你要做的事情。
好的是GParted 可以确保你不能直接应用任何更改 —— 在你点击应用更改之前,它将排队你选择的操作/任务,并在你执行前最后再要求确认一次。
顶部的对号标记符号 `✓` 可以让你确认更改,然后你的更改才会生效。
这是分区可用选项的另一个屏幕截图:
![][7]
#### 尝试数据救援
除了编辑分区以外,你也可以试着使用“尝试数据救援”功能以[在 Linux 中恢复丢失的数据][8],如下面的屏幕截图所示。
![][9]
值得注意的是,默认情况下你没有安装此功能 —— 你只是能看到这个选项。因此,要使这个数据恢复功能可以正常工作,你必须使用下面的命令来单独地安装 gpart (在基于 Ubuntu/Debian 的发行版上)
```
sudo apt install gpart
```
除了所有这些关键功能以外,它支持各种存储设备和文件系统。你可以从其官方网站的[功能列表][10]中了解到更多信息。
### 在 Ubuntu 和其它 Linux 发行版上安装 GParted
你可能已经预安装了 GParted 。所以,务必核实一下。如果你尚未安装它,则可以进入软件中心安装它。
如果你想使用终端,简单地键入下面的命令:
```
sudo apt install gparted
```
如上所述,如果你想要使用数据恢复选项,除了安装 gparted 软件包外,还应该安装 gpart 软件包。
如果你使用的是其它 Linux 发行版,你可以在各自的软件管理器中找到它,或者直接查看[官方下载操作说明][11]。
- [下载 GParted][11]
### 总结
当涉及处理磁盘管理和分区时GParted 是一个非常有用且重要的工具。但是,因为显而易见的原因,当你使用它时,你必须要小心。
你尝试过 GParted 吗?你在 Linux 上使用的其它哪个分区工具?请在下面的评论中分享你的经验。
--------------------------------------------------------------------------------
via: https://itsfoss.com/gparted/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[robsean](https://github.com/robsean)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-screenshot.png?ssl=1
[2]: https://itsfoss.com/partition-managers-linux/
[3]: https://gparted.org/
[4]: https://itsfoss.com/format-usb-drive-sd-card-ubuntu/
[5]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-create-partition-table.png?ssl=1
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-modify-partitions.png?ssl=1
[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-partition-options.png?ssl=1
[8]: https://itsfoss.com/recover-deleted-files-linux/
[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-attempt-data-rescue-feature.png?ssl=1
[10]: https://gparted.org/features.php
[11]: https://gparted.org/download.php

View File

@ -1,32 +1,34 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-11771-1.html)
[#]: subject: (My Raspberry Pi retrospective: 6 projects and more)
[#]: via: (https://opensource.com/article/20/1/raspberry-pi-best)
[#]: author: (Anderson Silva https://opensource.com/users/ansilva)
我的树莓派回顾:不止 6 个项目
我的树莓派项目回顾
======
看看我在有趣的、有教育意义和有用的树莓派上做了什么。
![Raspberry Pi 4 board, posterized filter][1]
从历史和理论上讲,十年、一个世纪或一千年从十进制一那年的 1 月 1 日物业开始。例如20 世纪始于 1901 年 1 月 1 日,而不是 1900 年 1 月 1 日。原因很简单:现代日历中没有 0 年,因此这些时间段始于 1 年(使用公历)。但这不是我们在口语上和文化上指代时间段的方式。例如,当我们提到 80 年代的音乐或电影时,我们所说的是 1980 年至 1989 年
> 看看我在好玩、能学习、有用处的树莓派上做了些什么。
我可以说,最近过去的 21 世纪 10 年代是云计算、社交媒体、移动技术和物联网 IoT 的十年,这其中包括[树莓派][2]。最近,《时代》杂志将树莓派称为[过去十年中 10 个最佳小玩意][3]之一。我非常同意这点。
![](https://img.linux.net.cn/data/attachment/album/202001/11/091748wekfv77t5ux5zzv2.jpg)
最初的树莓派于 2012 年推出,我过了几年才使用上了它。但是从那以后,我在家中做了许多有趣的教育项目,甚至在 Opensource.com 中记录了一些。
无论是从历史上,还是从理论上讲,当时钟走到一个十年份第一年的 1 月 1 日的午夜 0 点时就开始了一个十年或一个世纪或一个千年纪元。例如20 世纪始于 1901 年 1 月 1 日,而不是 1900 年 1 月 1 日。原因很简单:现代日历中没有 0 年,因此这些时间段始于 1 年(使用公历)。但这不是我们在口语上和文化上指代时间段的方式。例如,当我们提到 80 年代的音乐或电影时,我们所说的是 1980 年至 1989 年。
我可以说,最近过去的 21 世纪 10 年代是云计算、社交媒体、移动技术和物联网IoT的十年这其中就包括[树莓派][2]。最近,《时代》杂志将树莓派称为[过去十年中 10 个最佳小玩意][3]之一。我非常同意这点。
树莓派最初的于 2012 年推出,我过了几年才使用上了它。不过从那以后,我在家中做了许多有趣的教育项目,还在 Opensource.com 中记录了一些。
### 圣诞灯三部曲
三年来,我写了三篇探讨如何使用树莓派和开源项目 LightShowPi 控制圣诞灯的文章。第一篇文章[_用树莓派创建你自己的音乐灯光秀_][4],是基础电子开发介绍和灯光秀的结合。第二篇文章,[_ 使用树莓派 SSH 进入你的圣诞树_][5],更深入地介绍了通过远程管理和电子按钮控制灯光的方法。三部曲的最后一章[_用树莓派设置假期心情_][6],回顾了上一年 LightShowPi 项目中引入的更改。
三年来,我写了三篇探讨如何使用树莓派和开源项目 LightShowPi 控制圣诞灯的文章。第一篇文章《[用树莓派创建你自己的音乐灯光秀][4]》,非常基础地介绍了电子开发介绍和灯光秀的结合。第二篇文章,《[使用树莓派 SSH 进入你的圣诞树][5]》,稍微深入地介绍了通过远程管理和电子按钮控制灯光的方法。三部曲的最后一章[用树莓派设置假期心情][6],回顾了上一年 LightShowPi 项目中引入的更改。
### DIY 项目
多年来,我已经将树莓派变成了几种有用的设备。有一次,我将树莓派变成了[带有 Pi MusicBox 音乐播放设备][7],它可以让你在 Web 界面中导入你喜欢的音乐流并在房间中播放。
多年来,我已经将树莓派变成了几种有用的设备。有一次,我将树莓派变成了 [Pi MusicBox 音乐播放设备][7],它可以让你在 Web 界面中导入你喜欢的音乐流并在房间中播放。
将树莓派做成[移动视频录制设备][8]是另一个 DIY 项目。它需要一些额外的硬件,例如触摸屏、Pi 摄像头和电池组,但是可以使用。这个设备的最大缺点之一是当时树莓派的可用内存很小。我认为如果我将它重新配置在具有 4GB 内存的树莓派 4 上,那么这款便携式摄像机的功能可能会更好。这可能是一个会在 2020 年重新项目。
将树莓派做成[移动视频录制设备][8]是另一个 DIY 项目。它需要一些额外的硬件,例如触摸屏、树莓派摄像头和电池组,但是它工作的很好。这个设备的最大缺点之一是当时树莓派的可用内存很小。我认为如果我将它重新配置在具有 4GB 内存的树莓派 4 上,那么这款便携式摄像机的功能可能会更好。这可能是一个会在 2020 年重新打造的项目。
我做的另一个小项目[客厅的数字时钟][9]使用了 Adafruit PiTFT 小屏幕。尽管这个项目很简单,但它可能是我使用时间最长的项目。那个时钟在我的电视机上呆了一年多,一天 24 小时不间断运行,直到屏幕烧坏为止。
@ -36,7 +38,7 @@
### 走向未来
在树莓派基金会中不认识任何人,因此我不了解任何它的路线图和未来计划。我可以(但我不会)推测品牌及其设备的未来,它们让世界各地这么多不同社会地位的人扩展他们对计算机科学、电子和开源开发的知识。我希望基金会的管理层能够忠于其愿景和使命,并继续为世界各地的人们提供价格合理的技术。
不认识树莓派基金会中的任何人,因此我不了解它的任何路线图和未来计划。我可以(但我不会)推测品牌及其设备的未来,它们让世界各地这么多不同社会地位的人扩展他们对计算机科学、电子和开源开发的知识。我希望基金会的管理层能够忠于其愿景和使命,并继续为世界各地的人们提供价格合理的技术。
21 世纪 10 年代过去了,那是多么甜蜜的十年。对我来说,它闻起来就像树莓派馅饼。
@ -47,7 +49,7 @@ via: https://opensource.com/article/20/1/raspberry-pi-best
作者:[Anderson Silva][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/) 荣誉推出

View File

@ -0,0 +1,82 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Dont Use ZFS on Linux: Linus Torvalds)
[#]: via: (https://itsfoss.com/linus-torvalds-zfs/)
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
Dont Use ZFS on Linux: Linus Torvalds
======
_“Dont use ZFS. Its that simple. It was always more of a buzzword than anything else, I feel, and the licensing issues just make it a non-starter for me.”_
This is what Linus Torvalds [said in a mailing list][1] to once again express his disliking for [ZFS filesystem][2] specially over its licensing.
To avoid unnecessary confusion, this is more intended for Linux distributions, kernel developers and maintainers rather than individual Linux users.
### Whats the licensing issue with ZFS and Linux kernel?
![][3]
ZFS was open sourced around 2003. This would have meant that Linux distributions start supporting ZFS. But that didnt really happen because of the complexity of [open source licenses][4].
ZFS is open source under [Common Development and Distribution License][5] (CDDL) 1.0 whereas Linux kernel is licensed under the GNU General Public License (GPL) 2.0.
These two open source licenses are not fully compatible with each other. As noted by [PCWorld][6], if ZFS with this license is included in the Linux kernel, this would mean that kernel+ZFS is a derivative work of the (original ZFS-less) Linux kernel.
### Torvalds doesnt trust Oracle
![][7]
While the whole derivative thing is a matter of debate for legal and licensing experts, Torvalds is skeptical of Oracle. Oracle has a history of suing enterprises for using its code. Remember [Oracle vs Android lawsuit over the use of Java][8]?
> Other people think it can be ok to merge ZFS code into the kernel and that the module interface makes it ok, and thats their decision. But considering Oracles litigious nature, and the questions over licensing, theres no way I can feel safe in ever doing so.
>
> And Im not at all interested in some “ZFS shim layer” thing either that some people seem to think would isolate the two projects. That adds no value to our side, and given Oracles interface copyright suits (see Java), I dont think its any real licensing win either.
Torvalds doesnt want Linux kernel to get into legal troubles with Oracle in future and hence he refuses to include ZFS in mainline kernel until Orcale provides a signed letter that a kernel with ZFS will be under GPL license.
> And honestly, there is no way I can merge any of the ZFS efforts until I get an official letter from Oracle that is signed by their main legal counsel or preferably by Larry Ellison himself that says that yes, its ok to do so and treat the end result as GPLd.
He is not stopping other (distributions) from using ZFS. But they are on their own.
> If somebody adds a kernel module like ZFS, they are on their own. I cant maintain it, and I can not be bound by other peoples kernel changes.
Canonical, Ubuntus parent company, has been too keen on ZFS. Their [legal department thinks that including ZFS in kernel doesnt make it a derivative work][9]. So they took their chances and now they provide an option to [use ZFS on root from Ubuntu 19.10][10].
### Torvalds is also not impressed with ZFS in general
![][11]
While some people drool over ZFS, Linus Torvalds is not that impressed with ZFS. He doesnt think its using ZFS is a good idea specially when it is not actively maintained by Oracle (after they open sourced it)
> The benchmarks Ive seen do not make ZFS look all that great. And as far as I can tell, it has no real maintenance behind it either any more, so from a long-term stability standpoint, why would you ever want to use it in the first place?
I am no legal expert but if there is even a slightest doubt, I would prefer staying away from ZFS. What do you think of the whole ZFS debate?
--------------------------------------------------------------------------------
via: https://itsfoss.com/linus-torvalds-zfs/
作者:[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.realworldtech.com/forum/?threadid=189711&curpostid=189841
[2]: https://itsfoss.com/what-is-zfs/
[3]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/dont_use_zfs_torvalds.jpg?ssl=1
[4]: https://itsfoss.com/open-source-licenses-explained/
[5]: https://opensource.org/licenses/CDDL-1.0
[6]: https://www.pcworld.com/article/3061924/ubuntu-1604s-support-for-the-zfs-file-system-may-violate-the-general-public-license.html
[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/linus-torvalds-zfs-quotes-1.jpg?ssl=1
[8]: https://itsfoss.com/oracle-google-dispute/
[9]: https://ubuntu.com/blog/zfs-licensing-and-linux
[10]: https://itsfoss.com/zfs-ubuntu/
[11]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/linus-torvalds-zfs-quotes-2.jpg?ssl=1

View File

@ -0,0 +1,171 @@
[#]: collector: (lujun9972)
[#]: translator: (MonkeyDEcho )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: subject: (5 Minimal Web Browsers for Linux)
[#]: via: (https://www.linux.com/blog/intro-to-linux/2018/11/5-minimal-web-browsers-linux)
[#]: author: (Jack Wallen https://www.linux.com/users/jlwallen)
[#]: url: ( )
5 Minimal Web Browsers for Linux
======
linux上的五种微型浏览器
======
![](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimal.jpg?itok=ifA0Y3pV)
There are so many reasons to enjoy the Linux desktop. One reason I often state up front is the almost unlimited number of choices to be found at almost every conceivable level. From how you interact with the operating system (via a desktop interface), to how daemons run, to what tools you use, you have a multitude of options.
有太多理由去选择使用linux系统。很重要的一个理由是我们可以按照我们自己的想法去选择想要的。从操作系统的交互方式桌面系统到守护系统的运行方式在到使用的工具你用更多的选择。
The same thing goes for web browsers. You can use anything from open source favorites, such as [Firefox][1] and [Chromium][2], or closed sourced industry darlings like [Vivaldi][3] and [Chrome][4]. Those options are full-fledged browsers with every possible bell and whistle youll ever need. For some, these feature-rich browsers are perfect for everyday needs.
web浏览器也是如此。你可以使用开源的[火狐][1][Chromium][2];或者未开源的[Vivaldi][3][Chrome][4]。这些功能强大的浏览器有你需要的各种功能。对于某些人,这些功能完备的浏览器是日常必需的。
There are those, however, who prefer using a web browser without all the frills. In fact, there are many reasons why you might prefer a minimal browser over a standard browser. For some, its about browser security, while others look at a web browser as a single-function tool (as opposed to a one-stop shop application). Still others might be running low-powered machines that cannot handle the requirements of, say, Firefox or Chrome. Regardless of the reason, Linux has you covered.
但是有些人更喜欢没有冗余功能的纯粹的浏览器。实际上有很多原因导致你会选择微型的浏览器而不选择上述功能完备的浏览器。对于某些人来说与浏览器的安全有关而有些人则将浏览器当作一种简单的工具而不是一站式商店应用程序还有一些可能运行在低功率的计算机上这些计算机无法满足火狐chrome浏览器的运行要求。无论出于何种原因在linux系统上都可以满足你的要求。
Lets take a look at five of the minimal browsers that can be installed on Linux. Ill be demonstrating these browsers on the Elementary OS platform, but each of these browsers are available to nearly every distribution in the known Linuxverse. Lets dive in.
让我们看一下可以在linux上安装运行的五种微型浏览器。我将在 Elementary 的操作系统平台上演示这些浏览器在已知的linux发型版中几乎每个版本都可以使用这些浏览器。让我们一起来看一下吧
### GNOME Web
GNOME Web (codename Epiphany, which means [“a usually sudden manifestation or perception of the essential nature or meaning of something”][5]) is the default web browser for Elementary OS, but it can be installed from the standard repositories. (Note, however, that the recommended installation of Epiphany is via Flatpak or Snap). If you choose to install via the standard package manager, issue a command such as sudo apt-get install epiphany-browser -y for successful installation.
GNOME web (Epiphany 含义:[顿悟][5])是Elementary系统默认的web浏览器也可以从标准存储库中安装。(注意,建议通过使用 Flatpak 或者 Snap 工具安装),如果你想选择标准软件包管理器进行安装,请执行 ```sudo apt-get install epiphany-browser -y``` 命令成功安装。
Epiphany uses the WebKit rendering engine, which is the same engine used in Apples Safari browser. Couple that rendering engine with the fact that Epiphany has very little in terms of bloat to get in the way, you will enjoy very fast page-rendering speeds. Epiphany development follows strict adherence to the following guidelines:
* Simplicity - Feature bloat and user interface clutter are considered evil.
* Standards compliance - No non-standard features will ever be introduced to the codebase.
* Software freedom - Epiphany will always be released under a license that respects freedom.
* Human interface - Epiphany follows the [GNOME Human Interface Guidelines][6].
* Minimal preferences - Preferences are only added when they make sense and after careful consideration.
* Target audience - Non-technical users are the primary target audience (which helps to define the types of features that are included).
GNOME Web is as clean and simple a web browser as youll find (Figure 1).
![GNOME Web][8]
Figure 1: The GNOME Web browser displaying a minimal amount of preferences for the user.
[Used with permission][9]
The GNOME Web manifesto reads:
A web browser is more than an application: it is a way of thinking, a way of seeing the world. Epiphany's principles are simplicity, standards compliance, and software freedom.
### Netsurf
The [Netsurf][10] minimal web browser opens almost faster than you can release the mouse button. Netsurf uses its own layout and rendering engine (designed completely from scratch), which is rather hit and miss in its rendering (Figure 2).
![](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_2.jpg?itok=KhGhIKlj)
Although you might find Netsurf to suffer from rendering issues on certain sites, understand the Hubbub HTML parser is following the work-in-progress HTML5 specification, so there will be issues popup now and then. To ease those rendering headaches, Netsurf does include HTTPS support, web page thumbnailing, URL completion, scale view, bookmarks, full-screen mode, keyboard shorts, and no particular GUI toolkit requirements. That last bit is important, especially when you switch from one desktop to another.
For those curious as to the requirements for Netsurf, the browser can run on a machine as slow as a 30Mhz ARM 6 computer with 16MB of RAM. Thats impressive, by todays standard.
### QupZilla
If youre looking for a minimal browser that uses the Qt Framework and the QtWebKit rendering engine, [QupZilla][11] might be exactly what youre looking for. QupZilla does include all the standard features and functions youd expect from a web browser, such as bookmarks, history, sidebar, tabs, RSS feeds, ad blocking, flash blocking, and CA Certificates management. Even with those features, QupZilla still manages to remain a very fast lightweight web browser. Other features include: Fast startup, speed dial homepage, built-in screenshot tool, browser themes, and more.
One feature that should appeal to average users is that QupZilla has a more standard preferences tools than found in many lightweight browsers (Figure 3). So, if going too far outside the lines isnt your style, but you still want something lighter weight, QupZilla is the browser for you.
![QupZilla][13]
Figure 3: The QupZilla preferences tool.
[Used with permission][9]
### Otter Browser
Otter Browser is a free, open source attempt to recreate the closed-source offerings found in the Opera Browser. Otter Browser uses the WebKit rendering engine and has an interface that should be immediately familiar with any user. Although lightweight, Otter Browser does include full-blown features such as:
* Passwords manager
* Add-on manager
* Content blocking
* Spell checking
* Customizable GUI
* URL completion
* Speed dial (Figure 4)
* Bookmarks and various related features
* Mouse gestures
* User style sheets
* Built-in Note tool
![Otter][15]
Figure 4: The Otter Browser Speed Dial tab.
[Used with permission][9]
Otter Browser can be run on nearly any Linux distribution from an [AppImage][16], so theres no installation required. Just download the AppImage file, give the file executable permissions (with the command chmod u+x otter-browser-*.AppImage), and then launch the app with the command ./otter-browser*.AppImage.
Otter Browser does an outstanding job of rendering websites and could function as your go-to minimal browser with ease.
### Lynx
Lets get really minimal. When I first started using Linux, back in 97, one of the web browsers I often turned to was a text-only take on the app called [Lynx][17]. It should come as no surprise that Lynx is still around and available for installation from the standard repositories. As you might expect, Lynx works from the terminal window and doesnt display pretty pictures or render much in the way of advanced features (Figure 5). In fact, Lynx is as bare-bones a browser as you will find available. Because of how bare-bones this web browser is, its not recommended for everyone. But if you happen to have a gui-less web server and you have a need to be able to read the occasional website, Lynx can be a real lifesaver.
![Lynx][19]
Figure 5: The Lynx browser rendering the Linux.com page.
[Used with permission][9]
I have also found Lynx an invaluable tool when troubleshooting certain aspects of a website (or if some feature on a website is preventing me from viewing the content in a regular browser). Another good reason to use Lynx is when you only want to view the content (and not the extraneous elements).
### Plenty More Where This Came From
There are plenty more minimal browsers than this. But the list presented here should get you started down the path of minimalism. One (or more) of these browsers are sure to fill that need, whether youre running it on a low-powered machine or not.
Learn more about Linux through the free ["Introduction to Linux" ][20]course from The Linux Foundation and edX.
--------------------------------------------------------------------------------
via: https://www.linux.com/blog/intro-to-linux/2018/11/5-minimal-web-browsers-linux
作者:[Jack Wallen][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.linux.com/users/jlwallen
[b]: https://github.com/lujun9972
[1]: https://www.mozilla.org/en-US/firefox/new/
[2]: https://www.chromium.org/
[3]: https://vivaldi.com/
[4]: https://www.google.com/chrome/
[5]: https://www.merriam-webster.com/dictionary/epiphany
[6]: https://developer.gnome.org/hig/stable/
[7]: /files/images/minimalbrowsers1jpg
[8]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_1.jpg?itok=Q7wZLF8B (GNOME Web)
[9]: /licenses/category/used-permission
[10]: https://www.netsurf-browser.org/
[11]: https://qupzilla.com/
[12]: /files/images/minimalbrowsers3jpg
[13]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_3.jpg?itok=O8iMALWO (QupZilla)
[14]: /files/images/minimalbrowsers4jpg
[15]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_4.jpg?itok=5bCa0z-e (Otter)
[16]: https://sourceforge.net/projects/otter-browser/files/
[17]: https://lynx.browser.org/
[18]: /files/images/minimalbrowsers5jpg
[19]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_5.jpg?itok=p_Lmiuxh (Lynx)
[20]: https://training.linuxfoundation.org/linux-courses/system-administration-training/introduction-to-linux

View File

@ -1,120 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (chen-ni)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Explained! Why Your Distribution Still Using an Outdated Linux Kernel?)
[#]: via: (https://itsfoss.com/why-distros-use-old-kernel/)
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
Explained! Why Your Distribution Still Using an Outdated Linux Kernel?
======
[Check your Linux kernel version][1]. Chances are that youll find that the kernel version your system is using has already reached end of life (EOL) as listed on Linux Kernel website.
End of life means a software wont get bug fixes and support anymore.
That poses some valid questions. Why is my Linux distribution using a kernel that has reached end of life? Is this not a security risk? Is my system safe?
Let me explain all these questions in this article.
Summary
The upstream kernel support and the your distributions kernel support are two different things.
For example, Linux kernel 4.15 might have reached end of life (as per the official Linux kernel website) but Ubuntu 18.04 LTS release will use it and maintain it till April 2023 by backporting security patches and bug fixes.
### Checking Linux kernel version and finding its end of life status
Lets first check the Linux kernel version on your system:
```
uname -r
```
I am using Ubuntu 18.04 here and it shows the Linux kernel version like this:
```
[email protected]:~$ uname -r
5.0.0-37-generic
```
Now, you may go to the official Linux kernel website and see what Linux kernels are still being supported. Its displayed on the homepage itself.
[Linux Kernel Official Website][2]
You should see a status like this:
![Linux Kernel Status][3]
If you dont see a kernel version listed on the homepage of kernel website, it means that specific version has reached end of life.
As you can see, kernel 5.0 is not listed here. It indicates that this kernel version is not being supported anymore. Actually, it [reached end of life in June 2019][4].
The life cycle of a Linux kernel doesnt follow a set pattern, unfortunately. Its NOT like a regular kernel stable release will be supported for X months and a long term support(LTS) kernel will be supported for Y years.
Based on the demand and requirements, there could be several LTS kernel versions with different EOL. You can find them along with their projected EOL on [this page][5].
Now comes the big question. Why is Ubuntu providing kernel 5.0 if the Linux kernel website shows that it has reached its end of life?
### Your distribution uses an EOL Linux kernel but thats Okay!
![][6]
Have you ever wondered why Ubuntu/Debian/Fedora etc are called Linux distributions? Its because they distribute the Linux kernel.
They have their own modification of the Linux kernel, they add the GUI elements (desktop environment, display server etc) and software and they make it available to their users.
In the typical workflow, a Linux distribution will choose a kernel to provide to its users. And then it will hold on to this kernel for months or years even after the kernel has reached end of life.
How is it safe then? Its because the _**distribution maintains the kernel by backporting all the important fixes to its kernel**_.
In other words, your Linux distribution makes sure that your Linux kernel is patched well and has all the bug fixes and important new features backported to it. There will be thousands of changes on top of the old outdated Linux kernel.
When the Linux kernel website says that a certain kernel version has reached EOL, it means that the core Linux kernel maintainers are not going to update/patch that kernel version anymore.
But at the same time, the developers at Debian/Ubuntu or other distributions work to keep the same old version alive by bringing the relevant changes from the newer kernel versions (being maintained by the core kernel team) to your distributions old kernel.
Bottom line is that even if it seems like your distribution is using an outdated Linux kernel, it is actually being well maintained and not really outdated.
### Should you use the latest stable kernel version?
![][7]
A new stable Linux kernel version is released every 2-3 months. And this makes many users wonder who they can get their hands on that new shiny thing.
To be frank, you should not do that unless you have a pretty good reason for it. Your distribution doesnt provide it to you. You cannot just use _sudo apt give-me-the-latest-stable-kernel_.
Now, manually [installing the mainline Linux kernel version][8] could be a challenge in itself. Even if you manage to install it, it is now up to you to make sure that this kernel is updated every time there is a bug fix. And when this new kernel reaches end of life, it becomes your responsibility to upgrade to the newer kernel version. It wont be handled with apt upgrade like regular [Ubuntu updates][9].
You should also keep in mind that your distribution also has drivers and patches which you may not be able to use if you switch to the mainline kernel.
As [Greg Kroah-Hartman][10] puts it, “_**the best kernel you can use is one that someone else supports**_“. And who can be better at this job then your Linux distribution!
I hope you have a better understanding on this topic and you wont panic the next time you find out that the kernel version your system is using has reached end of life.
I welcome your questions and suggestions. Please feel free to use the comment section.
--------------------------------------------------------------------------------
via: https://itsfoss.com/why-distros-use-old-kernel/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[chen-ni](https://github.com/chen-ni)
校对:[校对者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/find-which-kernel-version-is-running-in-ubuntu/
[2]: https://www.kernel.org/
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/12/linux-kernel-status.jpg?ssl=1
[4]: http://lkml.iu.edu/hypermail/linux/kernel/1906.0/02354.html
[5]: https://www.kernel.org/category/releases.html
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/12/Keep_Calm_and_Trust_Your_Distribution.png?ssl=1
[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/12/using_latest_kernel.png?ssl=1
[8]: https://wiki.ubuntu.com/Kernel/MainlineBuilds
[9]: https://itsfoss.com/update-ubuntu/
[10]: https://en.wikipedia.org/wiki/Greg_Kroah-Hartman

View File

@ -1,5 +1,5 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: translator: (robsean)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )

View File

@ -0,0 +1,105 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (5 ops hacks for sysadmins)
[#]: via: (https://opensource.com/article/20/1/ops-hacks-sysadmins)
[#]: author: (Stephen Bancroft https://opensource.com/users/stevereaver)
5 ops hacks for sysadmins
======
Five tools to help you find the source of your users' IT problems when
you don't know where to start.
![Wratchet set tools][1]
As a sysadmin, every day I am faced with problems I need to solve quickly because there are users and managers who expect things to run smoothly. In a large environment like the one I manage, it's nearly impossible to know all of the systems and products from end to end, so I have to use creative techniques to find the source of the problems and (hopefully) come up with solutions.
This has been my daily experience for well over 20 years, and I love it! Coming to work each day, I never quite know what will happen. So, I have a few quick and dirty tricks that I default to when a problem lands on my lap, but I don't know where to start.
_BUT WAIT!_ Before you jump straight onto the command line, spend some time talking to your users. Yes, it can be tedious, but they will have some good information for you. Keep in mind that users probably don't have as much experience as you have, and you will need to do some interpreting of whatever they say. Try to get a clear picture of what _is_ happening and what _should be_ happening, then describe the fault to yourself in technical language. Be aware that most users don't read what is on the screen in front of them; it's sad but true. Make sure you and the user are reading all of the text to gather as much information as possible. Once you have that together, jump onto the command line with these five tools.
### Telnet
I am starting with a classic. [Telnet][2] was the predecessor to SSH, and, in the olden days, it was used on Unix systems to connect to a remote terminal just like SSH does, but it was not encrypted. Telnet has a very neat and invaluable trick for diagnosing network connectivity issues: you can Telnet into TCP ports that are not reserved for it. To do so, use Telnet like you normally would, but add the TCP port onto the end (**telnet localhost 80,** for instance) to connect to a web server. This enables you to check a server to see if a service is running or if a firewall is blocking it. So, without having the application client or even a login for the application, you can check if the TCP port is responding. If you know how, sometimes you can elicit a response from the server by manually typing into the Telnet prompt and checking the response. Web servers and mail servers are two examples where you can do this.
![Getting a response from a webserver with Telnet][3]
### Tcpdump
The [tcpdump][4] tool lets you inspect what data is being transmitted on the network. Most network protocols are fairly simple and, if you combine tcpdump with a tool like [Wireshark][5], you will have a nice, easy way to browse the traffic that you have captured. In the example below, I am inspecting packets in the bottom window and connecting to TCP port 3260 in the top.
![Inspecting packets in real time with tcpdump][6]
This screenshot shows a real-world use of Wireshark to look at the iSCSI protocol; in this case, I was able to identify that there was a problem with the way our QNAP network-attached storage was configured.
![Using Wireshark to inspect a TCP session][7]
### find
The [find][8] command is simply the best tool if you don't know where to start. In its most simple form, you can use it to "find" files. For example, if I wanted to do a recursive search through all directories and get a list of the conf files, I could enter:
```
`find . -name '*.conf'.`
```
![find command output][9]
But one of find's hidden gems is that you can use it to execute a command against each item it finds. For example, if I wanted to get a long list of each file, I could enter:
```
`find . -name '*.conf' -exec ls -las {} \;`
```
![find command output][10]
Once you know this technique, you can use it in all sorts of creative ways to find, search, and execute programs in specific ways.
### strace
I was introduced to the concept of [strace][11] on Solaris, where it is called truss. It is still as useful today as it was all those years ago. strace allows you to inspect what a process is doing as it runs in real time. Using it is simple; just use the command **ps -ef** and find the process ID that you are interested in. Start strace with **strace -p &lt;pid&gt;**; this will start printing out a whole lot of stuff, which at first looks like junk. But if you look closer, you will see text that you recognize, such as words like **OPEN** and **CLOSE** and filenames. This can lead you in the right direction if you are trying to figure out why a program is not working.
### grep
Leaving the best for last: [grep][12]. This tool is so useful and powerful that I have trouble coming up with a succinct way to describe it. Put simply, it's a search tool, but the way it searches is what makes it so powerful. In problem analysis, I typically grep over a bunch of logs to search for something. A companion command called zgrep does the same thing with zipped files. In the following example, I used **zgrep /var/log/* bancroft** to grep across all the log files to see what I have been up to on the system. I used zgrep because there are zipped files in the directory.
![grep command output][13]
Another great way to use grep is for piping the output of other tools into it; this way, it can be used as a filter of sorts. In the following example, I listed the auth file and grepped for my login to see what I have been doing by using **cat auth.log |grep bancroft**. This can also be written as **grep bancroft auth.log**, but I used the pipe (**|**) to demonstrate the point.
![grep command output][14]
### Other tools to consider
You can do a lot more with these tools, but I hope this brief introduction gives you a window into how to use them to solve the nasty problems that come your way. Another tool worth your attention is [Nmap][15], which I did not include because it is so comprehensive that it needs an entire article (or more) to explain it. Finally, I recommend learning some white hat and hacking techniques; they can be very beneficial when trying to get to the bottom of a problem because they can help you collect information that can be crucial in decision making.
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/1/ops-hacks-sysadmins
作者:[Stephen Bancroft][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/stevereaver
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/tools_osyearbook2016_sysadmin_cc.png?itok=Y1AHCKI4 (Wratchet set tools)
[2]: https://en.wikipedia.org/wiki/Telnet
[3]: https://opensource.com/sites/default/files/uploads/telnet_1.png (Getting a response from a webserver with Telnet)
[4]: https://www.tcpdump.org/
[5]: https://www.wireshark.org/
[6]: https://opensource.com/sites/default/files/uploads/tcpdump_1.png (Inspecting packets in real time with tcpdump)
[7]: https://opensource.com/sites/default/files/uploads/tcpdump_2.png (Using Wireshark to inspect a TCP session)
[8]: https://en.wikipedia.org/wiki/Find_%28Unix%29
[9]: https://opensource.com/sites/default/files/uploads/find_1_0.png (find command output)
[10]: https://opensource.com/sites/default/files/uploads/find_2.png (find command output)
[11]: https://strace.io/
[12]: https://en.wikipedia.org/wiki/Grep
[13]: https://opensource.com/sites/default/files/uploads/grep_1.png (grep command output)
[14]: https://opensource.com/sites/default/files/uploads/grep_2.png (grep command output)
[15]: https://nmap.org/

View File

@ -0,0 +1,237 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (How I upgraded my CuBox open source music server)
[#]: via: (https://opensource.com/article/20/1/upgrade-cubox-open-source-music-server)
[#]: author: (Chris Hermansen https://opensource.com/users/clhermansen)
How I upgraded my CuBox open source music server
======
Our resident audiophile explains how he updated his CuBox music server
after more than five years of excellent use.
![open source music with piano keys background][1]
Back in early 2014, I purchased my first [ARM-based computer][2], a [SolidRun CuBox-i4][3]. My goal for the CuBox was to have a headless device (e.g., no display) that takes up minimal space in the audio equipment shelf, makes minimal noise, and serves music files to my digital-to-analog converter (DAC) and thus to the rest of the stereo. On paper, the CuBox was a perfect fit. It is fanless, works with various Linux distros, provides a separate [eSATA interface][4] for a locally mounted hard drive and therefore leaves the USB ports free for other stuff, provides a [TOSLINK port][5] for digital audio, uses a [MicroSD card][6] (by default, anyway) for the system installation and boot drive, and comes with 2GB of RAM and a reasonably fast [i.MX6q quad-core processor][7], all in an unobtrusive 5x5x5cm black plastic box.
And as luck would (sometimes) have it, those promises have mostly been kept. The box still runs and provides my family with a great deal of musical enjoyment. The attached hard drive contains about 275GB of music files—a bit over 7,500 FLAC files with some 300 or so MP3 files thrown in.
As our home music server, the CuBox runs a barebones Linux server distro with Music Player Daemon ([MPD][8]) as the music-serving software, sending digital data to the DAC via the [ALSA][9] with no software mixing, up- or down-sampling, or volume control on the server. Lately, I've found it convenient to run [lighttpd][10], a lightweight, simple-to-configure HTTP server, to provide cover images to the various MPD clients that we run in the house. (But now MPD provides that capability, so that convenience may soon go away.) For the user interfaces to play music, we use [Cantata][11] on the desktop and [MPD Remote][12] (caution: it may not be open source) on our Android phones to browse, select, and play music.
In 2017, I wrote about [my experiences using the CuBox][13]. I had tried [Voyage Linux][14], [Volumio][15], and [Archphile Linux][16], and had just moved to [Armbian][17], which at that time was based on Ubuntu 16.04 LTS (long term support). This fall, I decided it was time to upgrade the server, get the latest version of MPD, and deal with a few other bothersome details along the way.
### The upgrade
Given my generally great experience with Armbian, I decided to go there again for upgrade materials. There are two supported options: a Debian Buster-based server configuration and an Ubuntu 18.04 desktop configuration. Bearing in mind my desire to keep the system display-free and minimalist, I selected the Debian version.
![Armbian versions][18]
The download was trouble-free, and I soon had an install image in my Downloads folder. As before, I was impressed with the quality and "to the point" nature of the [Armbian documentation][19], which notes:
> Images shall only be written with Etcher on all platforms since, unlike other tools, Etcher validates burning results **saving you from corrupted SD card contents**.
This was my first experience using [Etcher][20], and I was duly impressed with its usability (yet another wonderful reason to use open source software). I inserted the resulting MicroSD card into the CuBox, connected the Ethernet cable, DAC, and eSATA drive, and powered it on. Soon, I could SSH into the CuBox to configure it. Talk about a painless experience! Here's what I see when I log into that machine using SSH:
![CuBox login][21]
In terms of configuration, I had the following objectives:
* Finish the initial configuration
* Configure static IP addressing for the wired networking connection
* Get the installed system up to date
* Disable the wireless
* Install and configure MPD
* Install and configure lighttpd
* Listen to some music!
I used the excellent [Armbian Config program][22] to carry out a bunch of these initial configuration tasks.
![Armbian-Config screen][23]
Choosing System presents this menu:
![Armbian-Config settings][24]
I used this to disable root login over SSH and enable password and public key authentication.
In the Network subsystem, I set static IP addressing (to conform to my home router settings), and in the Personal subsystem, I changed the time zone and hostname. I probably could have used the Software subsystem to run the initial update, but I chose to exit to the shell and use apt to finish up this initial configuration with:
```
sudo apt update
sudo apt upgrade
```
I also used apt to install MPD and lighttpd with:
```
`sudo apt install mpd lighttpd`
```
I had my previous MPD configuration file (**/etc/mpd.conf**); generally, I prefer to use these types of older files as guides to configure a new one, rather than just plunking the old one on top of the new. In the end, there weren't many changes to make; here are the differences between the old and new files:
```
clh@stereo:/etc$ diff mpd.conf.orig mpd.conf
85c85,86
&lt; bind_to_address               "localhost"
\---
&gt; #bind_to_address              "localhost"
&gt; bind_to_address               "192.168.1.21"
241c242,249
&lt;       name            "My ALSA Device"
\---
&gt;       name            "Drop Airist R2R"
&gt;       device          "hw:CARD=U20,DEV=0"
&gt;       mixer_type      "none"
&gt;       replay_gain_handler      "none"
&gt; #     name            "Schit Bifrost 4490"
&gt; #     device          "hw:CARD=S2,DEV=0"
&gt; #     mixer_type      "none"
&gt; #     replay_gain_handler      "none"
clh@stereo:/etc$
```
You can see that I have two DACs (just because), and the second is commented out (and not connected). Also, I had to change **bind_to_address** so that MPD will listen over the local area network.
As for lighttpd, I only had to change the **document-root**:
```
clh@stereo:/etc/lighttpd$ diff lighttpd.conf.orig lighttpd.conf
8c8,13
&lt; server.document-root        = "/var/www/html"
\---
&gt; # Used this config documentation
&gt; #<https://github.com/abarisain/dmix/wiki/Album-Art-on-your-LAN>
&gt; # which wasn't good - wrong user name, didn't need to add
&gt; # the mime config
&gt; # in the end just changed the document root.
&gt;
&gt; server.document-root        = "/var/lib/mpd/music/"
clh@stereo:/etc/lighttpd$
```
To get to the music files, I added the following line to **/etc/fstab**:
```
`/dev/sda1 /mnt/eSATA ext4 rw 0 0`
```
and created the mount point with:
```
`sudo mkdir /mnt/eSATA`
```
At this point, I mounted the external hard drive with:
```
`sudo mount /dev/sda1`
```
Finally, I linked MPD's configuration directory to the music with:
```
sudo rmdir /var/lib/mpd/music
sudo ln -s /mnt/eSATA/Music /var/lib/mpd/music
```
I used this approach because I'd rather not futz around with MPD's configuration more than I have to.
It's a good idea to check that the music files are owned by the correct MPD user ID. Do this with:
```
clh@stereo:~$ ls -ld /var/lib/mpd/music/* | head
drwxrwxrwx   5 mpd audio  4096 Jan 22  2017 /var/lib/mpd/music/Academy of St. Martin-in-the-Fields
drwxrwxrwx   3 mpd audio  4096 Jan 22  2017 /var/lib/mpd/music/Acantus
drwxrwxrwx   3 mpd audio  4096 Dec 13  2014 /var/lib/mpd/music/Afrikan_Sciences
drwxrwxrwx   5 mpd audio  4096 Sep 25  2016 /var/lib/mpd/music/Afro Celt Sound System
drwxrwxrwx   3 mpd audio  4096 Mar 11  2014 /var/lib/mpd/music/Agnes Obel
drwxrwxrwx   3 mpd audio  4096 Oct  9  2013 /var/lib/mpd/music/Alexander Malter, Dietmar Schwalke, Vladimir Spiakov, Sergej Bezrodny
drwxrwxrwx   3 mpd audio  4096 Oct  8  2013 /var/lib/mpd/music/Ali Farka Toure &amp; Toumani Diabate
drwxrwxrwx   3 mpd audio  4096 Oct  8  2013 /var/lib/mpd/music/Ali Farka Touré with Ry Cooder
drwxrwxrwx   5 mpd audio  4096 Jan  1  2018 /var/lib/mpd/music/Amadou et Mariam
drwxrwxrwx   3 mpd audio  4096 Jul 11  2017 /var/lib/mpd/music/American Authors
clh@stereo:~$
```
This looks fine (user ID **mpd**, group ID **audio**).
Finally, to disable the wireless, I entered:
```
`sudo nmcli radio wifi off`
```
And I'm done! Time for a reboot:
```
`sudo systemctl reboot`
```
Once it rebooted, I used Cantata to force MPD to refresh its database. Here's what it looks like when that's done, and I'm listening to [Frameworks' latest album, _Imagine Gold_][25]:
![Frameworks "Imagine Gold" in Cantata][26]
Just to the left of the track listings, you can see the cover images that lighttpd serves.
### And speaking of music
I really do like Frameworks' latest album. It's quite similar to his previous work, and he always has the greatest hooks with very dance-able stuff and just that great bit of "yearning." It's nice to buy his stuff on Bandcamp, as usual (see link above, where you can also listen).
Lately, I've also been buying stuff in that other great open source format, vinyl records. In particular, two fine recent albums from the [Erased Tapes][27] label, [Anne Müller's _Heliopause_][28], which is a beautiful record of her own solo cello and supporting instruments and sounds, "focusing on novel approaches to classical instrumentation," and [Penguin Cafe's _Handfuls of Night_][29], which "began life after Greenpeace commissioned [Arthur] Jeffes [of Penguin Cafe] to write four pieces of music corresponding to four breeds of penguins to help raise awareness for the endangered Antarctic seas." How could a Linux user not have music about penguins by Penguin Cafe?
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/1/upgrade-cubox-open-source-music-server
作者:[Chris Hermansen][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/clhermansen
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_LIFE_music_520x292_0411_ma.png?itok=v_ARy1ZT (open source music with piano keys background)
[2]: https://en.wikipedia.org/wiki/ARM_architecture
[3]: https://www.solid-run.com/nxp-family/cubox-i/
[4]: https://en.wikipedia.org/wiki/Serial_ATA
[5]: https://en.wikipedia.org/wiki/TOSLINK
[6]: https://www.makeuseof.com/tag/5-mistakes-avoid-buying-next-microsd-card/
[7]: https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i.mx-applications-processors/i.mx-6-processors/i.mx-6quad-processors-high-performance-3d-graphics-hd-video-arm-cortex-a9-core:i.MX6Q?&cid=ps_PRG100148_CAM262037_EETECH&gclid=CjwKCAiA27LvBRB0EiwAPc8XWfLpyKIpi4OPNrPLdmXpSynIaDP0FG2jQ9PPZ1q49ENp1CbQU2fKxxoCKtMQAvD_BwE
[8]: https://www.musicpd.org/
[9]: https://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture
[10]: https://www.lighttpd.net/
[11]: https://opensource.com/article/17/8/cantata-music-linux
[12]: https://play.google.com/store/apps/details?id=net.prezz.mpr&hl=en_CA
[13]: https://opensource.com/article/17/6/armbian-cubox-i4pro
[14]: https://wiki.debian.org/Derivatives/Census/VoyageLinux
[15]: https://volumio.org/
[16]: https://archphile.org/
[17]: https://www.armbian.com/
[18]: https://opensource.com/sites/default/files/uploads/armbianversions.png (Armbian versions)
[19]: https://docs.armbian.com/
[20]: https://www.etcher.io/
[21]: https://opensource.com/sites/default/files/uploads/cuboxlogin.png (CuBox login)
[22]: https://docs.armbian.com/User-Guide_Armbian-Config/
[23]: https://opensource.com/sites/default/files/uploads/armbian-config.png (Armbian-config screen)
[24]: https://opensource.com/sites/default/files/uploads/armbian-config_settings.png (Armbian-config settings)
[25]: https://frameworksuk.bandcamp.com/album/imagine-gold
[26]: https://opensource.com/sites/default/files/uploads/frameworks-imaginegold.png (Frameworks "Imagine Gold" in Cantata)
[27]: https://www.erasedtapes.com/
[28]: https://www.erasedtapes.com/release/eratp128-anne-mueller-heliopause
[29]: https://www.erasedtapes.com/release/eratp127-penguin-cafe-handfuls-of-night

View File

@ -1,167 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (MonkeyDEcho )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: subject: (5 Minimal Web Browsers for Linux)
[#]: via: (https://www.linux.com/blog/intro-to-linux/2018/11/5-minimal-web-browsers-linux)
[#]: author: (Jack Wallen https://www.linux.com/users/jlwallen)
[#]: url: ( )
linux上的五种微型浏览器
======
![](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimal.jpg?itok=ifA0Y3pV)
有太多理由去选择使用linux系统。很重要的一个理由是我们可以按照我们自己的想法去选择想要的。从操作系统的交互方式桌面系统到守护系统的运行方式在到使用的工具你用更多的选择。
web浏览器也是如此。你可以使用开源的[火狐][1][Chromium][2];或者未开源的[Vivaldi][3][Chrome][4]。这些功能强大的浏览器有你需要的各种功能。对于某些人,这些功能完备的浏览器是日常必需的。
但是有些人更喜欢没有冗余功能的纯粹的浏览器。实际上有很多原因导致你会选择微型的浏览器而不选择上述功能完备的浏览器。对于某些人来说与浏览器的安全有关而有些人则将浏览器当作一种简单的工具而不是一站式商店应用程序还有一些可能运行在低功率的计算机上这些计算机无法满足火狐chrome浏览器的运行要求。无论出于何种原因在linux系统上都可以满足你的要求。
让我们看一下可以在linux上安装运行的五种微型浏览器。我将在 Elementary 的操作系统平台上演示这些浏览器在已知的linux发型版中几乎每个版本都可以使用这些浏览器。让我们一起来看一下吧
### GNOME Web
GNOME web (Epiphany 含义:[顿悟][5])是Elementary系统默认的web浏览器也可以从标准存储库中安装。(注意,建议通过使用 Flatpak 或者 Snap 工具安装),如果你想选择标准软件包管理器进行安装,请执行 ```sudo apt-get install epiphany-browser -y``` 命令成功安装。
Epiphany 使用WebKit的渲染引擎该引擎与Apple的Safari浏览器中使用的引擎相同。这个引擎和Epiphany非常契合可以达到非常快的页面渲染速度。Epiphany严格遵守以下准则
* 简单性 - 功能复杂和用户界面混乱都是不被允许的.
* 规范性 - 任何非标准特性都不会引入到代码库中。
* 软件开源 - Epiphany始终遵守自由开源许可证。
* 人机交互 - Epiphany 始终遵守[GNOME的人机交互指南][6]。
* 最小首选项 - 经过慎重考虑才添加首选项。
* 受众群体 - 非技术用户是主要的受众目标,(有助于定义所包含功能的类型)。
GNOME web浏览器就像看到的一样干净简洁 (Figure 1)。
![GNOME Web][8]
Figure 1: GNOME 浏览器为用户展示最少的首选项.
[许可证书][9]
GNOME Web 的声明如下:
web 浏览器它不仅仅是一个应用程序,还是一种思维方式,一种看世界的方式。 Epiphany 的原则是简洁,标准和自由。
### Netsurf
[Netsurf][10] 浏览器是最小的浏览器他的打开速度几乎和你松开鼠标一样。Netsurf 使用自己的布局和渲染引擎(完全从零开始设计的) 在渲染过程的设计中屡屡碰壁(Figure 2).
![](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_2.jpg?itok=KhGhIKlj)
尽管你可能在特定的站点上发现 Netsurf的问题但如果你了解Hubbub解析器的话知道它正在兼容html5规范是不是的会有一点问题。Netsurf对https的支持网页缩略图URL解析缩放视图书签全屏模式快捷键和GUI的工具包的功能最后一点十分重要当你桌面来回切换时为了缓解渲染带来的问题。
对于那些对Netsurf 存在好奇的人来说,以现在的标准,他能在 16MB内存30Mhz的ARM cpu的机器上运行是让人惊奇的。
### QupZilla
如果你找寻使用Qt Framework 和 the QtWebKit 渲染引擎的最小浏览器QupZilla][11]是你最佳的选择。QupZilla 包含web浏览所有的标准功能例如书签历史记录侧边栏选项卡RSS广告屏蔽flash屏蔽和CA证书管理。及时拥有这么多的功能QupZilla 仍然是快速,轻量级的浏览器。另外还有其他的功能:快速启动,快速拨号主页,内置屏幕截图工具,浏览器主题等。
吸引用户的一点是与许多轻量级浏览器相比QupZilla有更标准的首选项工具图3。所以如果你很多功能但你仍然想要更轻量那么QupZilla就是你最好的选择。
![QupZilla][13]
Figure 3: QupZilla 首选项工具.
[许可证书][9]
### Otter Browser
Otter 浏览器是一种免费开源的旨在重建Opera 12.x的浏览器。它使用WebKit渲染引擎并且有用户的熟悉界面。虽然它轻量但它有丰富的功能
* 密码管理
* 插件管理
* 内容拦截
* 拼写检查
* 自定义界面
* 网址补全
* 快速访问 (Figure 4)
* 书签和其他相关功能
* 鼠标手势
* 用户样式表
* 内建笔记功能
![Otter][15]
Figure 4: Otter 浏览器快起标签项.
[许可证书][9]
Otter浏览器可以在几乎所有Linux发行版上运行通过[AppImage][16]软件格式因此无需安装。只需下载AppImage文件授予文件可执行权限使用命令 `chmod u+x otter-browser-.AppImage`),然后使用命令`./otter-browser.AppImage` 启动应用程序。
Otter浏览器在网站展示方面做得非常出色可以轻松地用作你的微型浏览器。
### Lynx
让我们见识真正的微型浏览器。早在97年当我使用Linux时就经常使用的[Lynx][17]纯文本模式的网页浏览器。
Lynx的存在并且可以从标准存储库中进行安装。正如您可能期望的那样Lynx在终端窗口中工作并且不会显示漂亮的图片和高级功能的渲染方式图5。事实上Lynx是你能找到的最简单的浏览器。由于这个网页浏览器是如此简陋所以不建议每个人都使用它。但如果你碰巧有一个没有界面的服务器你需要能够偶尔访问的网站Lynx是一个真正的救星。
![Lynx][19]
Figure 5: Lynx 浏览器展示 Linux.com 网址界面.
[许可证书][9]
我还发现Lynx是一个非常有用的工具它可以帮助我解决网站某些方面的故障或者如果网站上的某些功能阻止我在常规浏览器中查看内容。使用Lynx的另一个重要原因是它可以让我们更加专注内容而不是其他无关的元素
### Plenty More Where This Came From 更多
微型浏览器还有很多。但是这里列出的清单应该使你开始走极简主义的道路。无论您是否在低功率计算机上运行,​​这些浏览器中的一个(或多个)都一定可以满足这一需求。
了解linux 更多信息可以通过免费的["Linux 简洁" ][20]课程该课程来源Linux基金和edX平台提供的。
--------------------------------------------------------------------------------
via: https://www.linux.com/blog/intro-to-linux/2018/11/5-minimal-web-browsers-linux
作者:[Jack Wallen][a]
选题:[lujun9972][b]
译者:[MonkeyDEcho](https://github.com/MonkeyDEcho)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.linux.com/users/jlwallen
[b]: https://github.com/lujun9972
[1]: https://www.mozilla.org/en-US/firefox/new/
[2]: https://www.chromium.org/
[3]: https://vivaldi.com/
[4]: https://www.google.com/chrome/
[5]: https://www.merriam-webster.com/dictionary/epiphany
[6]: https://developer.gnome.org/hig/stable/
[7]: /files/images/minimalbrowsers1jpg
[8]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_1.jpg?itok=Q7wZLF8B (GNOME Web)
[9]: /licenses/category/used-permission
[10]: https://www.netsurf-browser.org/
[11]: https://qupzilla.com/
[12]: /files/images/minimalbrowsers3jpg
[13]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_3.jpg?itok=O8iMALWO (QupZilla)
[14]: /files/images/minimalbrowsers4jpg
[15]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_4.jpg?itok=5bCa0z-e (Otter)
[16]: https://sourceforge.net/projects/otter-browser/files/
[17]: https://lynx.browser.org/
[18]: /files/images/minimalbrowsers5jpg
[19]: https://www.linux.com/sites/lcom/files/styles/rendered_file/public/minimalbrowsers_5.jpg?itok=p_Lmiuxh (Lynx)
[20]: https://training.linuxfoundation.org/linux-courses/system-administration-training/introduction-to-linux

View File

@ -1,116 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (robsean)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (App Highlight: Open Source Disk Partitioning Tool GParted)
[#]: via: (https://itsfoss.com/gparted/)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
应用程序推荐:开源磁盘分区工具 GParted
======
_**摘要GParted 是一个非常流行的自由的可用于 Linux 发行版的分区编辑器。在这里,我们简单地看看它提供了什么。**_
### GParted一个基于自由和开放源码的图形化分区管理器
![][1]
GParted 无疑是[在 Linux 下的最好的分区管理器][2]之一。用户界面非常简单,可用完成任务。
在一些情况下,你最终也需要使用 [GParted][3] 来修复或格式化你的 USB 驱动器。我有一个[我不能在 Ubuntu 中格式化的 USB 磁盘][4],使用该“磁盘”应用程序 这里是 GParted 用来救援的地方。
所以,它是非常有用的工具,有很多好的特色。让我为你们推荐一下。
警告!
玩弄磁盘分区是一件危险的工作。除非绝对必要,否则不要做。否则,你可能最终会擦除整个磁盘。
### GParted 的特色
你可以使用 GParted 做很多事,排列一下简单地格式化任务到重要的分区任务。我将使用一些屏幕截图推荐关键特色,以帮助你在安装它前了解更多信息。
#### 创建分区表
你可以为你的新的磁盘创建一个新的分区表,或者擦除你现存的磁盘内容来修改分区表。
![][5]
你将能够选择 msdos gpt atari ,以及更多类型的分区表。
#### 创建,移动,标记,删除和修改分区表
你可以使用 GParted 中一系列可用的选项来简单地创建,标记,删除或修改分区表。
![][6]
当然,你将不得不小心你想做什么。
好的一些东西是GParted 确保你不能直接应用任何更改 在你点击应用更改之前,它将排队你选择的操作/任务,并询问另外一处最后的确认。
在顶部的对号标记符号 ✓ 允许你来确认更改,只有你更改时开始生效。
这样有另一个你可用的分区选项的屏幕截图:
![][7]
#### 尝试数据救援
除了编辑分区,你也可以尝试使用“**尝试数据救援**”特色以[在Linux 中恢复你丢失的数据][8],像下面的屏幕截图所示。
![][9]
值得注意的是,默认情况下你没有安装这个功能 你仅能看到可见的选项。所以,对于数据恢复特色作业来说,你必需使用下面的命令来单独地安装 gpart (在基于 Ubuntu/Debian 的发行版上)
```
sudo apt install gpart
```
除了所有关键的特色外,它支持大量的存储设备和文件系统。在它们的官方网站上,你可以从[特色列表][10]中学到很多。
### 在 Ubuntu 和其它 Linux 发行版上安装 GParted
你可能已经预先安装 GParted 。所以,务必核实一下。如果你没有安装它,你可以前往进入软件中心安装它。
以备你想使用终端,简单地键入下面的命令:
```
sudo apt install gparted
```
像我如上所述,如果你想要数据恢复选项,除了 gparted 软件包外,你应该安装 gpart 软件包。
如果你正在使用一些其它 Linux 发行版,你可以在各自的软件管理器中找到它,或者简单地查看[官方下载操作指南][11]。
[下载 GParted][11]
**总结**
当涉及处理磁盘管理和分区时GParted 是一个非常有用和重要的工具。但是,因为显而易见的原因,当你使用它时,你将不得不小心。
你尝试过 GParted 吗?你在 Linux 上使用的其它分区工具是什么?请在下面的评论中分享你的体验。
--------------------------------------------------------------------------------
via: https://itsfoss.com/gparted/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[robsean](https://github.com/robsean)
校对:[校对者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://i1.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-screenshot.png?ssl=1
[2]: https://itsfoss.com/partition-managers-linux/
[3]: https://gparted.org/
[4]: https://itsfoss.com/format-usb-drive-sd-card-ubuntu/
[5]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-create-partition-table.png?ssl=1
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-modify-partitions.png?ssl=1
[7]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-partition-options.png?ssl=1
[8]: https://itsfoss.com/recover-deleted-files-linux/
[9]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/12/gparted-attempt-data-rescue-feature.png?ssl=1
[10]: https://gparted.org/features.php
[11]: https://gparted.org/download.php

View File

@ -0,0 +1,120 @@
[#]: collector: (lujun9972)
[#]: translator: (chen-ni)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Explained! Why Your Distribution Still Using an Outdated Linux Kernel?)
[#]: via: (https://itsfoss.com/why-distros-use-old-kernel/)
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
为什么你的发行版仍然在使用“过时的”Linux 内核?
======
[检查一下你的系统所使用的 Linux 内核版本][1],你十有八九会发现,按照 Linux 内核官网提供的信息,该内核版本已经达到使用寿命终期了。
一个软件一旦达到了使用寿命终期,那么就意味着它再也不会得到 bug 修复和维护了。
这自然会引发一连串问题:为什么我的 Linux 发行版会使用一个已经达到使用寿命终期的内核呢?这样做有没有安全风险?我的系统还安全吗?
下面将逐一解答这些问题。
总结
上游内核维护与你的发行版的内核维护是两个不同的概念。
例如,根据 Linux 内核官网Linux 内核 4.15 版本可能已经达到使用寿命终期了,但是在 2023 年 4 月之前Ubuntu 18.04 长期维护版本将会继续使用这个版本,并通过向后移植安全补丁和修复 bug 来提供维护。
### 检查 Linux 内核版本,以及是否达到使用寿命终期
首先,查看你的系统所使用的 Linux 内核版本:
```
uname -r
```
我使用的是 Ubuntu 18.04,输出的 Linux 内核版本如下:
```
[email protected]:~$ uname -r
5.0.0-37-generic
```
接下来,可以到 Linux 内核官网上看看哪些 Linux 内核版本仍然在维护状态。在网站主页上就可以看到相关信息。
[Linux 内核官网][2]
你看到的内核版本状态应该类似于下图:
![Linux 内核状态][3]
如果你的内核版本没有列在内核官网主页上,就说明该版本已经达到了使用寿命终期。
可以看到5.0 内核版本并不在列,这说明该内核版本已经不再得到维护。事实上,该版本在 [2019 年 6 月就已经达到使用寿命终期了][4]。
不幸的是Linux 内核的生命周期没有任何规律可循。不是说常规的内核稳定发布版可以得到 X 月的维护、长期维护版本LTS可以得到 Y 年的维护。没有这回事。
根据实际需求,可能会存在内核的多个 LTS 版本,其使用寿命终期各不相同。在[这个页面][5]上可以查到这些 LTS 版本的相关信息,包括推定的使用寿命终期。
那么问题来了:既然 Linux 内核官网上明确表示 5.0 版本的内核已经达到了使用寿命终期Ubuntu 为什么还在提供这个内核版本呢?
### 你的发行版使用的 Linux 内核已经达到了使用寿命终期,但是没关系!
![][6]
你是否想过,为什么 Ubuntu/Debian/Fedora 等发行版被称为 Linux “发行版”?这是因为,它们“发行” Linux 内核。
这些发行版会对 Linux 内核进行不同的修改,并添加各种 GUI 元素(包括桌面环境,显示服务器等)以及软件,然后再呈现给用户。
按照通常的工作流Linux 发行版会选择一个内核,提供给其用户,然后在接下来的几个月、几年中,甚至是达到内核的使用寿命终期之后,仍然会继续使用该内核。
这样能够保障安全吗?其实是可以的,因为 _**发行版会通过向后移植全部的重要修补来维护内核**_
换句话说,你的 Linux 发行版会确保 Linux 内核没有漏洞和 bug并且已经通过向后移植获得了重要的新特性。在“过时的旧版本 Linux 内核”上,其实有着数以千计的改动。
如果 Linux 内核网站上说某个内核版本已经达到了使用寿命终期,那么就意味着 Linux 内核的核心维护团队不会再对该内核版本进行升级和打补丁了。
但与此同时Debian/Ubuntu 或者其他发行版的开发者们会继续工作,通过从(由内核核心团队维护的)更新的内核版本中迁移相关的修改,维持这个老版本的生命力。
重点在于,即使你的发行版看上去是在使用一个已经过时的 Linux 内核,其实该内核也得到了良好的维护,并非是真的过时了。
### 你是否应该使用最新的稳定内核版本?
![][7]
新的 Linux 内核稳定版本每隔 2 到 3 个月发布一次,有不少用户跃跃欲试。
实话说除非有十分充分的理由否则不应该使用最新版本的稳定内核。你使用的发行版并不会提供这个选项你也不能指望通过在键盘上敲出“_sudo apt give-me-the-latest-stable-kernel_”解决问题。
此外,手动[安装主流 Linux 内核版本][8]本身就是一个挑战。即使安装成功,之后每次发布 bug 修复的时候,负责更新内核的就会是你了。此外,当新内核达到使用寿命终期之后,你就有责任将它升级到更新的内核版本了。和常规的[Ubuntu 更新][9]不同,内核升级无法通过 apt upgrade 完成。
同样需要记住的是,切换到主流内核之后,可能就无法使用你的发行版提供的一些驱动程序和补丁了。
正如 [Greg Kroah-Hartman][10]所言“_**你能使用的最好的内核,就是别人在维护的内核。**_”除了你的 Linux 发行版之外,又有谁更胜任这份工作呢!
希望你对这个主题已经有了更好的理解。下回发现你的系统正在使用的内核版本已经达到使用寿命终期的时候,希望你不会感到惊慌失措。
欢迎在下面的评论区中留下你的疑问或建议。
--------------------------------------------------------------------------------
via: https://itsfoss.com/why-distros-use-old-kernel/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[chen-ni](https://github.com/chen-ni)
校对:[校对者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/find-which-kernel-version-is-running-in-ubuntu/
[2]: https://www.kernel.org/
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/12/linux-kernel-status.jpg?ssl=1
[4]: http://lkml.iu.edu/hypermail/linux/kernel/1906.0/02354.html
[5]: https://www.kernel.org/category/releases.html
[6]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/12/Keep_Calm_and_Trust_Your_Distribution.png?ssl=1
[7]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/12/using_latest_kernel.png?ssl=1
[8]: https://wiki.ubuntu.com/Kernel/MainlineBuilds
[9]: https://itsfoss.com/update-ubuntu/
[10]: https://en.wikipedia.org/wiki/Greg_Kroah-Hartman