树莓派自建 NAS 云盘之——云盘构建
用自行托管的树莓派 NAS 云盘来保护数据的安全!<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/17/231845lcxls9emctcc6mbz.jpg">Media</a>在前面两篇文章中,我们讨论了用树莓派搭建一个 NAS 云盘所需要的一些 <a href="https://linux.cn/article-10104-1.html?utm_source=index&utm_medium=more">软硬件环境及其操作步骤</a>。我们还制定了适当的 <a href="https://linux.cn/article-10112-1.html">备份策略</a> 来保护 NAS 上的数据。本文中,我们将介绍讨论利用 <a href="https://nextcloud.com/">Nestcloud</a> 来方便快捷的存储、获取以及分享你的数据。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/17/231935uowcp6sfh2jezhpz.png">Media</a>必要的准备工作想要方便的使用 Nextcloud,需要一些必要的准备工作。首先,你需要一个指向 Nextcloud 的域名。方便起见,本文将使用 <strong>nextcloud.pi-nas.com</strong> 。如果你是在家庭网络里运行,你需要为该域名配置 DNS 服务(动态域名解析服务)并在路由器中开启 80 端口和 443 端口转发功能(如果需要使用 https,则需要开启 443 端口转发,如果只用 http,80 端口足以)。你可以使用 <a href="https://sourceforge.net/p/ddclient/wiki/Home/">ddclient</a> 在树莓派中自动更新 DNS。安装 Nextcloud为了在树莓派(参考 <a href="https://linux.cn/article-10104-1.html?utm_source=index&utm_medium=more">第一篇</a> 中步骤设置)中运行 Nextcloud,首先用命令 apt 安装 以下的一些依赖软件包。<pre class="prettyprint linenums">sudo apt install unzip wget php apache2 mysql-server php-zip php-mysql php-dom php-mbstring php-gd php-curl</pre>其次,下载 Nextcloud。在树莓派中利用 wget 下载其 <a href="https://nextcloud.com/install/#instructions-server">最新的版本</a>。在 <a href="https://linux.cn/article-10104-1.html?utm_source=index&utm_medium=more">第一篇</a> 文章中,我们将两个磁盘驱动器连接到树莓派,一个用于存储当前ਤ…
用自行托管的树莓派 NAS 云盘来保护数据的安全!<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/17/231845lcxls9emctcc6mbz.jpg">Media</a>在前面两篇文章中,我们讨论了用树莓派搭建一个 NAS 云盘所需要的一些 <a href="https://linux.cn/article-10104-1.html?utm_source=index&utm_medium=more">软硬件环境及其操作步骤</a>。我们还制定了适当的 <a href="https://linux.cn/article-10112-1.html">备份策略</a> 来保护 NAS 上的数据。本文中,我们将介绍讨论利用 <a href="https://nextcloud.com/">Nestcloud</a> 来方便快捷的存储、获取以及分享你的数据。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/17/231935uowcp6sfh2jezhpz.png">Media</a>必要的准备工作想要方便的使用 Nextcloud,需要一些必要的准备工作。首先,你需要一个指向 Nextcloud 的域名。方便起见,本文将使用 <strong>nextcloud.pi-nas.com</strong> 。如果你是在家庭网络里运行,你需要为该域名配置 DNS 服务(动态域名解析服务)并在路由器中开启 80 端口和 443 端口转发功能(如果需要使用 https,则需要开启 443 端口转发,如果只用 http,80 端口足以)。你可以使用 <a href="https://sourceforge.net/p/ddclient/wiki/Home/">ddclient</a> 在树莓派中自动更新 DNS。安装 Nextcloud为了在树莓派(参考 <a href="https://linux.cn/article-10104-1.html?utm_source=index&utm_medium=more">第一篇</a> 中步骤设置)中运行 Nextcloud,首先用命令 apt 安装 以下的一些依赖软件包。<pre class="prettyprint linenums">sudo apt install unzip wget php apache2 mysql-server php-zip php-mysql php-dom php-mbstring php-gd php-curl</pre>其次,下载 Nextcloud。在树莓派中利用 wget 下载其 <a href="https://nextcloud.com/install/#instructions-server">最新的版本</a>。在 <a href="https://linux.cn/article-10104-1.html?utm_source=index&utm_medium=more">第一篇</a> 文章中,我们将两个磁盘驱动器连接到树莓派,一个用于存储当前ਤ…
三个开源的分布式追踪工具
这几个工具对复杂软件系统中的实时事件做了可视化,能帮助你快速发现性能问题。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/18/000511wi277hjm2vmo4oah.png">Media</a>分布式追踪系统能够从头到尾地追踪跨越了多个应用、服务、数据库以及像代理这样的中间件的分布式软件的请求。它能帮助你更深入地理解系统中到底发生了什么。追踪系统以图形化的方式,展示出每个已知步骤以及某个请求在每个步骤上的耗时。用户可以通过这些展示来判断系统的哪个环节有延迟或阻塞,当请求失败时,运维和开发人员可以看到准确的问题源头,而不需要去测试整个系统,比如用二叉查找树的方法去定位问题。在开发迭代的过程中,追踪系统还能够展示出可能引起性能变化的环节。通过异常行为的警告自动地感知到性能的退化,总是比客户告诉你要好。这种追踪是怎么工作的呢?给每个请求分配一个特殊 ID,这个 ID 通常会插入到请求头部中。它唯一标识了对应的事务。一般把事务叫做踪迹trace,“踪迹”是整个事务的抽象概念。每一个“踪迹”由单元span组成,“单元”代表着一次请求中真正执行的操作,比如一次服务调用,一次数据库请求等。每一个“单元”也有自己唯一的 ID。“单元”之下也可以创建子“单元”,子“单元”可以有多个父“单元”。当一次事务(或者说踪迹)运行过之后,就&#…
这几个工具对复杂软件系统中的实时事件做了可视化,能帮助你快速发现性能问题。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/18/000511wi277hjm2vmo4oah.png">Media</a>分布式追踪系统能够从头到尾地追踪跨越了多个应用、服务、数据库以及像代理这样的中间件的分布式软件的请求。它能帮助你更深入地理解系统中到底发生了什么。追踪系统以图形化的方式,展示出每个已知步骤以及某个请求在每个步骤上的耗时。用户可以通过这些展示来判断系统的哪个环节有延迟或阻塞,当请求失败时,运维和开发人员可以看到准确的问题源头,而不需要去测试整个系统,比如用二叉查找树的方法去定位问题。在开发迭代的过程中,追踪系统还能够展示出可能引起性能变化的环节。通过异常行为的警告自动地感知到性能的退化,总是比客户告诉你要好。这种追踪是怎么工作的呢?给每个请求分配一个特殊 ID,这个 ID 通常会插入到请求头部中。它唯一标识了对应的事务。一般把事务叫做踪迹trace,“踪迹”是整个事务的抽象概念。每一个“踪迹”由单元span组成,“单元”代表着一次请求中真正执行的操作,比如一次服务调用,一次数据库请求等。每一个“单元”也有自己唯一的 ID。“单元”之下也可以创建子“单元”,子“单元”可以有多个父“单元”。当一次事务(或者说踪迹)运行过之后,就&#…
使用 Python 为你的油箱加油
我来介绍一下我是如何使用 Python 来节省成本的。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/18/003647fykfkj2p2kc57ezx.jpg">Media</a>我最近在开一辆烧 93 号汽油的车子。根据汽车制造商的说法,它只需要加 91 号汽油就可以了。然而,在美国只能买到 87 号、89 号、93 号汽油。而我家附近的汽油的物价水平是每增加一号,每加仑就要多付 30 美分,因此如果加 93 号汽油,每加仑就要多花 60 美分。为什么不能节省一些钱呢?一开始很简单,只需要先加满 93 号汽油,然后在油量表显示油箱半满的时候,用 89 号汽油加满,就得到一整箱 91 号汽油了。但接下来就麻烦了,剩下半箱 91 号汽油加上半箱 93 号汽油,只会变成一箱 92 号汽油,再接下来呢?如果继续算下去,只会越来越混乱。这个时候 Python 就派上用场了。我的方案是,可以根据汽油的实时状态,不断向油箱中加入 93 号汽油或者 89 号汽油,而最终目标是使油箱内汽油的号数不低于 91。我需要做的是只是通过一些算法来判断新旧汽油混合之后的号数。使用多项式方程或许也可以解决这个问题,但如果使用 Python,好像只需要进行循环就可以了。<pre class="prettyprint linenums">#!/usr/bin/env python# octane.pyo = 93.0newgas = 93.0 # 这个变量记录上一次加入的汽油号数i = 1while i < 21: # 20 次迭代 (加油次数) if newgas == 89.0: # 如果上一次加的是 89 号汽油,改加 93 号汽油 newgas = 93.0 o = newgas/2 + o/2 # 当油箱半满的时候就加油 else: # 如果上一次加的是 93 号汽油,则&…
我来介绍一下我是如何使用 Python 来节省成本的。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/18/003647fykfkj2p2kc57ezx.jpg">Media</a>我最近在开一辆烧 93 号汽油的车子。根据汽车制造商的说法,它只需要加 91 号汽油就可以了。然而,在美国只能买到 87 号、89 号、93 号汽油。而我家附近的汽油的物价水平是每增加一号,每加仑就要多付 30 美分,因此如果加 93 号汽油,每加仑就要多花 60 美分。为什么不能节省一些钱呢?一开始很简单,只需要先加满 93 号汽油,然后在油量表显示油箱半满的时候,用 89 号汽油加满,就得到一整箱 91 号汽油了。但接下来就麻烦了,剩下半箱 91 号汽油加上半箱 93 号汽油,只会变成一箱 92 号汽油,再接下来呢?如果继续算下去,只会越来越混乱。这个时候 Python 就派上用场了。我的方案是,可以根据汽油的实时状态,不断向油箱中加入 93 号汽油或者 89 号汽油,而最终目标是使油箱内汽油的号数不低于 91。我需要做的是只是通过一些算法来判断新旧汽油混合之后的号数。使用多项式方程或许也可以解决这个问题,但如果使用 Python,好像只需要进行循环就可以了。<pre class="prettyprint linenums">#!/usr/bin/env python# octane.pyo = 93.0newgas = 93.0 # 这个变量记录上一次加入的汽油号数i = 1while i < 21: # 20 次迭代 (加油次数) if newgas == 89.0: # 如果上一次加的是 89 号汽油,改加 93 号汽油 newgas = 93.0 o = newgas/2 + o/2 # 当油箱半满的时候就加油 else: # 如果上一次加的是 93 号汽油,则&…
如何在家中使用 SSH 和 SFTP 协议
通过 SSH 和 SFTP 协议,我们能够访问其他设备,有效而且安全的传输文件等等。Media
via https://linux.cn/article-10129-1.html
通过 SSH 和 SFTP 协议,我们能够访问其他设备,有效而且安全的传输文件等等。Media
via https://linux.cn/article-10129-1.html
如何在家中使用 SSH 和 SFTP 协议
通过 SSH 和 SFTP 协议,我们能够访问其他设备,有效而且安全的传输文件等等。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/18/205017sh5ghl6w7eaihdd1.png">Media</a>几年前,我决定配置另外一台电脑,以便我能在工作时访问它来传输我所需要的文件。要做到这一点,最基本的一步是要求你的网络提供商(ISP)提供一个固定的地址。有一个不必要但很重要的步骤,就是保证你的这个可以访问的系统是安全的。在我的这种情况下,我计划只在工作场所访问它,所以我能够限定访问的 IP 地址。即使如此,你依然要尽多的采用安全措施。一旦你建立起来这个系统,全世界的人们马上就能尝试访问你的系统。这是非常令人惊奇及恐慌的。你能通过日志文件来发现这一点。我推测有探测机器人在尽其所能的搜索那些没有安全措施的系统。在我设置好系统不久后,我觉得这种访问没什么大用,为此,我将它关闭了以便不再为它操心。尽管如此,只要架设了它,在家庭网络中使用 SSH 和 SFTP 还是有点用的。当然,有一个必备条件,这个另外的电脑必须已经开机了,至于电脑是否登录与否无所谓的。你也需要知道其 IP 地址。有两个方法能够知道,一个是通过浏览器访问你的路由器,一般情况下你的地址格式类似于 192.168.1.254 这样。通过一些搜索,很容易找出当前是开机的并且接在 eth0 或者 wifi…
通过 SSH 和 SFTP 协议,我们能够访问其他设备,有效而且安全的传输文件等等。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/18/205017sh5ghl6w7eaihdd1.png">Media</a>几年前,我决定配置另外一台电脑,以便我能在工作时访问它来传输我所需要的文件。要做到这一点,最基本的一步是要求你的网络提供商(ISP)提供一个固定的地址。有一个不必要但很重要的步骤,就是保证你的这个可以访问的系统是安全的。在我的这种情况下,我计划只在工作场所访问它,所以我能够限定访问的 IP 地址。即使如此,你依然要尽多的采用安全措施。一旦你建立起来这个系统,全世界的人们马上就能尝试访问你的系统。这是非常令人惊奇及恐慌的。你能通过日志文件来发现这一点。我推测有探测机器人在尽其所能的搜索那些没有安全措施的系统。在我设置好系统不久后,我觉得这种访问没什么大用,为此,我将它关闭了以便不再为它操心。尽管如此,只要架设了它,在家庭网络中使用 SSH 和 SFTP 还是有点用的。当然,有一个必备条件,这个另外的电脑必须已经开机了,至于电脑是否登录与否无所谓的。你也需要知道其 IP 地址。有两个方法能够知道,一个是通过浏览器访问你的路由器,一般情况下你的地址格式类似于 192.168.1.254 这样。通过一些搜索,很容易找出当前是开机的并且接在 eth0 或者 wifi…
如何创建和维护你自己的 man 手册
Um 是一个命令行实用程序,可以用于轻松创建和维护包含你到目前为止所了解的所有命令的 man 页面。Media
via https://linux.cn/article-10130-1.html
Um 是一个命令行实用程序,可以用于轻松创建和维护包含你到目前为止所了解的所有命令的 man 页面。Media
via https://linux.cn/article-10130-1.html
如何创建和维护你自己的 man 手册
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/062636oamaqp01aun6vqov.png">Media</a>我们已经讨论了一些 <a href="https://www.ostechnix.com/3-good-alternatives-man-pages-every-linux-user-know/">man 手册的替代方案</a>。 这些替代方案主要用于学习简洁的 Linux 命令示例,而无需通过全面而过于详细的手册页。 如果你正在寻找一种快速而简单的方法来轻松快速地学习 Linux 命令,那么这些替代方案值得尝试。 现在,你可能正在考虑 —— 如何为 Linux 命令创建自己的 man 式的帮助页面? 这时 “Um” 就派上用场了。 Um 是一个命令行实用程序,可以用于轻松创建和维护包含你到目前为止所了解的所有命令的 man 页面。通过创建自己的手册页,你可以在手册页中避免大量不必要的细节,并且只包含你需要记住的内容。 如果你想创建自己的一套 man 式的页面,“Um” 也能为你提供帮助。 在这个简短的教程中,我们将学习如何安装 “Um” 命令以及如何创建自己的 man 手册页。安装 UmUm 适用于 Linux 和Mac OS。 目前,它只能在 Linux 系统中使用 Linuxbrew 软件包管理器来进行安装。 如果你尚未安装 Linuxbrew,请参考以下链接:<a href="https://www.ostechnix.com/linuxbrew-common-package-manager-linux-mac-os-x/">Linuxbrew:一个用于 Linux 和 MacOS 的通用包管理器</a>安装 Linuxbrew 后,运行以下命令安装 Um 实用程序。<pre class="prettyprint linenums">$ brew install sinclairtarget/wst/um</pre>如果你会看到类似下面的输出,恭喜你! Um 已经安装好并且可以使用了。<pre class="prettyprint linenums">[...]==> Installing sinclairtarget/wst/um==> Downloading https://github.com/sinclairtarget/um/archive/4.0.0.tar.gz==> Downloading from https://codeload.github.com/sinclairtarget/um/tar.gz/4.0.0-=#=# # #==> Downloading https://rubygems.org/gems/kramdown…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/062636oamaqp01aun6vqov.png">Media</a>我们已经讨论了一些 <a href="https://www.ostechnix.com/3-good-alternatives-man-pages-every-linux-user-know/">man 手册的替代方案</a>。 这些替代方案主要用于学习简洁的 Linux 命令示例,而无需通过全面而过于详细的手册页。 如果你正在寻找一种快速而简单的方法来轻松快速地学习 Linux 命令,那么这些替代方案值得尝试。 现在,你可能正在考虑 —— 如何为 Linux 命令创建自己的 man 式的帮助页面? 这时 “Um” 就派上用场了。 Um 是一个命令行实用程序,可以用于轻松创建和维护包含你到目前为止所了解的所有命令的 man 页面。通过创建自己的手册页,你可以在手册页中避免大量不必要的细节,并且只包含你需要记住的内容。 如果你想创建自己的一套 man 式的页面,“Um” 也能为你提供帮助。 在这个简短的教程中,我们将学习如何安装 “Um” 命令以及如何创建自己的 man 手册页。安装 UmUm 适用于 Linux 和Mac OS。 目前,它只能在 Linux 系统中使用 Linuxbrew 软件包管理器来进行安装。 如果你尚未安装 Linuxbrew,请参考以下链接:<a href="https://www.ostechnix.com/linuxbrew-common-package-manager-linux-mac-os-x/">Linuxbrew:一个用于 Linux 和 MacOS 的通用包管理器</a>安装 Linuxbrew 后,运行以下命令安装 Um 实用程序。<pre class="prettyprint linenums">$ brew install sinclairtarget/wst/um</pre>如果你会看到类似下面的输出,恭喜你! Um 已经安装好并且可以使用了。<pre class="prettyprint linenums">[...]==> Installing sinclairtarget/wst/um==> Downloading https://github.com/sinclairtarget/um/archive/4.0.0.tar.gz==> Downloading from https://codeload.github.com/sinclairtarget/um/tar.gz/4.0.0-=#=# # #==> Downloading https://rubygems.org/gems/kramdown…
Linux vs Mac:Linux 比 Mac 好的 7 个原因
如果你已经在用 Mac 或者打算买一台 Mac 电脑,我们建议你仔细考虑一下,看看是改为使用 Linux 还是继续使用 Mac。Media
via https://linux.cn/article-10131-1.html
如果你已经在用 Mac 或者打算买一台 Mac 电脑,我们建议你仔细考虑一下,看看是改为使用 Linux 还是继续使用 Mac。Media
via https://linux.cn/article-10131-1.html
Linux vs Mac:Linux 比 Mac 好的 7 个原因
最近我们谈论了一些<a href="https://itsfoss.com/linux-better-than-windows/">为什么 Linux 比 Windows 好</a>的原因。毫无疑问,Linux 是个非常优秀的平台。但是它和其它操作系统一样也会有缺点。对于某些专门的领域,像是游戏,Windows 当然更好。而对于视频编辑等任务,Mac 系统可能更为方便。这一切都取决于你的偏好,以及你想用你的系统做些什么。在这篇文章中,我们将会介绍一些 Linux 相对于 Mac 更好的一些地方。如果你已经在用 Mac 或者打算买一台 Mac 电脑,我们建议你仔细考虑一下,看看是改为使用 Linux 还是继续使用 Mac。Linux 比 Mac 好的 7 个原因<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/223947s1dfxs9ff603e3q3.png">Linux vs Mac:为什么 Linux 更好</a>Linux 和 macOS 都是类 Unix 操作系统,并且都支持 Unix 命令、bash 和其它 shell,相比于 Windows,它们所支持的应用和游戏比较少。但也就是这点比较相似。平面设计师和视频剪辑师更加倾向于使用 Mac 系统,而 Linux 更加适合做开发、系统管理、运维的工程师。那要不要使用 Linux 呢,为什么要选择 Linux 呢?下面是根据实际经验和理性分析给出的一些建议。1、价格<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/223947oqustt3npkepqfsf.jpg">Linux vs Mac:为什么 Linux 更好</a>假设你只是需要浏览文件、看电影、下载图片、写文档、制作报表或者做一些类似的工作,并且你想要一个更加安全的系统。那在这种情况下,你觉得花费几百美金买个系统完成这项工作,或者花费更多直接买个 MacBook 更…
最近我们谈论了一些<a href="https://itsfoss.com/linux-better-than-windows/">为什么 Linux 比 Windows 好</a>的原因。毫无疑问,Linux 是个非常优秀的平台。但是它和其它操作系统一样也会有缺点。对于某些专门的领域,像是游戏,Windows 当然更好。而对于视频编辑等任务,Mac 系统可能更为方便。这一切都取决于你的偏好,以及你想用你的系统做些什么。在这篇文章中,我们将会介绍一些 Linux 相对于 Mac 更好的一些地方。如果你已经在用 Mac 或者打算买一台 Mac 电脑,我们建议你仔细考虑一下,看看是改为使用 Linux 还是继续使用 Mac。Linux 比 Mac 好的 7 个原因<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/223947s1dfxs9ff603e3q3.png">Linux vs Mac:为什么 Linux 更好</a>Linux 和 macOS 都是类 Unix 操作系统,并且都支持 Unix 命令、bash 和其它 shell,相比于 Windows,它们所支持的应用和游戏比较少。但也就是这点比较相似。平面设计师和视频剪辑师更加倾向于使用 Mac 系统,而 Linux 更加适合做开发、系统管理、运维的工程师。那要不要使用 Linux 呢,为什么要选择 Linux 呢?下面是根据实际经验和理性分析给出的一些建议。1、价格<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/223947oqustt3npkepqfsf.jpg">Linux vs Mac:为什么 Linux 更好</a>假设你只是需要浏览文件、看电影、下载图片、写文档、制作报表或者做一些类似的工作,并且你想要一个更加安全的系统。那在这种情况下,你觉得花费几百美金买个系统完成这项工作,或者花费更多直接买个 MacBook 更…
在 Linux 手册页中查看整个 Arch Linux Wiki
就跟名字说的一样,它可以让你在命令行查看 Arch Wiki,但是无需联网。它可以以手册页的形式为你显示来自 Arch Wiki 的任何文章。Media
via https://linux.cn/article-10132-1.html
就跟名字说的一样,它可以让你在命令行查看 Arch Wiki,但是无需联网。它可以以手册页的形式为你显示来自 Arch Wiki 的任何文章。Media
via https://linux.cn/article-10132-1.html
在 Linux 手册页中查看整个 Arch Linux Wiki
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/232304eyx755vrg8x8zcsx.jpg">Media</a>不久之前,我写了篇关于一个名叫 <a href="https://www.ostechnix.com/search-arch-wiki-website-commandline/">arch-wiki-cli</a> 的命令行脚本的文章,使用它可以在终端命令行中查看 Arch Linux Wiki。使用这个脚本,你可以很轻松的用你喜欢的文本浏览器查看整个 Arch Wiki 网站。显然,使用这个脚本需要你有网络连接。我今天偶然发现了一个名为 Arch-wiki-man 的程序,与其有着相同的功能。就跟名字说的一样,它可以让你在命令行查看 Arch Wiki,但是无需联网。它可以以手册页的形式为你显示来自 Arch Wiki 的任何文章。它会下载整个 Arch Wiki 到本地,并每两天自动推送一次。因此,你的系统上总能有一份 Arch Wiki 最新的副本。安装 Arch-wiki-manArch-wiki-man 在 <a href="https://aur.archlinux.org/packages/arch-wiki-man/">AUR</a> 中可用,所以你可以通过类似<a href="https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/">Yay</a> 的 AUR 帮助程序安装它。<pre class="prettyprint linenums">$ yay -S arch-wiki-man</pre>另外,它也可以使用 NPM 安装。首先确保你已经<a href="https://www.ostechnix.com/install-node-js-linux/">安装了 NoodJS</a>,然后使用以下命令安装它。<pre class="prettyprint linenums">$ npm install -g arch-wiki-man</pre>以手册页的形式查看整个 Arch WikiArch-wiki-man 的典型语法如下:<pre class="prettyprint linenums">$ awman <search-query></pre>下面看一些具体的例子:搜索一个或多个匹配项只需要下面的命令,就可以搜索 <a href="https://www.ostechnix.com/install-arch-linux-latest-version/">Arch Linux 安装指南</a>。<pre class="prettyprint linenums">$ awman Installation guide</pre>上面的命令将会从 Arch Wiki 中搜索所有包含 “Installation guide” 的条目。如果对于给出的搜索条目有很多的匹配项,将会展示为一个…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/232304eyx755vrg8x8zcsx.jpg">Media</a>不久之前,我写了篇关于一个名叫 <a href="https://www.ostechnix.com/search-arch-wiki-website-commandline/">arch-wiki-cli</a> 的命令行脚本的文章,使用它可以在终端命令行中查看 Arch Linux Wiki。使用这个脚本,你可以很轻松的用你喜欢的文本浏览器查看整个 Arch Wiki 网站。显然,使用这个脚本需要你有网络连接。我今天偶然发现了一个名为 Arch-wiki-man 的程序,与其有着相同的功能。就跟名字说的一样,它可以让你在命令行查看 Arch Wiki,但是无需联网。它可以以手册页的形式为你显示来自 Arch Wiki 的任何文章。它会下载整个 Arch Wiki 到本地,并每两天自动推送一次。因此,你的系统上总能有一份 Arch Wiki 最新的副本。安装 Arch-wiki-manArch-wiki-man 在 <a href="https://aur.archlinux.org/packages/arch-wiki-man/">AUR</a> 中可用,所以你可以通过类似<a href="https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/">Yay</a> 的 AUR 帮助程序安装它。<pre class="prettyprint linenums">$ yay -S arch-wiki-man</pre>另外,它也可以使用 NPM 安装。首先确保你已经<a href="https://www.ostechnix.com/install-node-js-linux/">安装了 NoodJS</a>,然后使用以下命令安装它。<pre class="prettyprint linenums">$ npm install -g arch-wiki-man</pre>以手册页的形式查看整个 Arch WikiArch-wiki-man 的典型语法如下:<pre class="prettyprint linenums">$ awman <search-query></pre>下面看一些具体的例子:搜索一个或多个匹配项只需要下面的命令,就可以搜索 <a href="https://www.ostechnix.com/install-arch-linux-latest-version/">Arch Linux 安装指南</a>。<pre class="prettyprint linenums">$ awman Installation guide</pre>上面的命令将会从 Arch Wiki 中搜索所有包含 “Installation guide” 的条目。如果对于给出的搜索条目有很多的匹配项,将会展示为一个…
一个简单而美观的跨平台播客应用程序
Linux 桌面版上有很多播客播放器,但是如果你想要一些视觉上美观、有顺滑的动画并且可以在每个平台上运行的东西,那就并没有很多替代品可以替代 CPod 了。Media
via https://linux.cn/article-10133-1.html
Linux 桌面版上有很多播客播放器,但是如果你想要一些视觉上美观、有顺滑的动画并且可以在每个平台上运行的东西,那就并没有很多替代品可以替代 CPod 了。Media
via https://linux.cn/article-10133-1.html
一个简单而美观的跨平台播客应用程序
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/234010rpsfnsn7nmpos16r.png">Media</a>播客在过去几年中变得非常流行。 播客就是所谓的“信息娱乐 infotainment”,它们通常是轻松的,但也会为你提供有价值的信息。 播客在过去几年中已经非常火爆了,如果你喜欢某些东西,就很可能有个相关的播客。 Linux 桌面版上有很多播客播放器,但是如果你想要一些视觉上美观、有顺滑的动画并且可以在每个平台上运行的东西,那就并没有很多替代品可以替代 CPod 了。 CPod(以前称为 Cumulonimbus)是一个开源而成熟的播客应用程序,适用于 Linux、MacOS 和 Windows。CPod 运行在一个名为 Electron 的东西上 —— 这个工具允许开发人员构建跨平台(例如 Windows、MacOS 和 Linux)的桌面图形化应用程序。 在本简要指南中,我们将讨论如何在 Linux 中安装和使用 CPod 播客应用程序。安装 CPod转到 CPod 的<a href="https://github.com/z-------------/CPod/releases">发布页面</a>。 下载并安装所选平台的二进制文件。 如果你使用 Ubuntu / Debian,你只需从发布页面下载并安装 .deb 文件,如下所示。<pre class="prettyprint linenums">$ wget https://github.com/z-------------/CPod/releases/download/v1.25.7/CPod_1.25.7_amd64.deb$ sudo apt update$ sudo apt install gdebi$ sudo gdebi CPod_1.25.7_amd64.deb</pre>如果你使用其他发行版,你可能需要使用发布页面中的 AppImage。从发布页面下载 AppImage 文件。打开终端,然后转到存储 AppImage 文件的目录。 更改权限以允许执行:<pre class="prettyprint linenums">$ chmod +x CPod-1.25.7-x86_64.AppImage</pre>执行 AppImage 文件:<pre class="prettyprint linenums">$ ./CPod-1.25.7-x86_64.AppImage</pre>你将看到一个对话框询问是否将应用程序ߎ…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/19/234010rpsfnsn7nmpos16r.png">Media</a>播客在过去几年中变得非常流行。 播客就是所谓的“信息娱乐 infotainment”,它们通常是轻松的,但也会为你提供有价值的信息。 播客在过去几年中已经非常火爆了,如果你喜欢某些东西,就很可能有个相关的播客。 Linux 桌面版上有很多播客播放器,但是如果你想要一些视觉上美观、有顺滑的动画并且可以在每个平台上运行的东西,那就并没有很多替代品可以替代 CPod 了。 CPod(以前称为 Cumulonimbus)是一个开源而成熟的播客应用程序,适用于 Linux、MacOS 和 Windows。CPod 运行在一个名为 Electron 的东西上 —— 这个工具允许开发人员构建跨平台(例如 Windows、MacOS 和 Linux)的桌面图形化应用程序。 在本简要指南中,我们将讨论如何在 Linux 中安装和使用 CPod 播客应用程序。安装 CPod转到 CPod 的<a href="https://github.com/z-------------/CPod/releases">发布页面</a>。 下载并安装所选平台的二进制文件。 如果你使用 Ubuntu / Debian,你只需从发布页面下载并安装 .deb 文件,如下所示。<pre class="prettyprint linenums">$ wget https://github.com/z-------------/CPod/releases/download/v1.25.7/CPod_1.25.7_amd64.deb$ sudo apt update$ sudo apt install gdebi$ sudo gdebi CPod_1.25.7_amd64.deb</pre>如果你使用其他发行版,你可能需要使用发布页面中的 AppImage。从发布页面下载 AppImage 文件。打开终端,然后转到存储 AppImage 文件的目录。 更改权限以允许执行:<pre class="prettyprint linenums">$ chmod +x CPod-1.25.7-x86_64.AppImage</pre>执行 AppImage 文件:<pre class="prettyprint linenums">$ ./CPod-1.25.7-x86_64.AppImage</pre>你将看到一个对话框询问是否将应用程序ߎ…
介绍 Fedora 上的 Swift
Swift 是一种使用现代方法构建安全性、性能和软件设计模式的通用编程语言。它旨在成为各种编程项目的最佳语言,从系统编程到桌面应用程序,以及扩展到云服务。Media
via https://linux.cn/article-10134-1.html
Swift 是一种使用现代方法构建安全性、性能和软件设计模式的通用编程语言。它旨在成为各种编程项目的最佳语言,从系统编程到桌面应用程序,以及扩展到云服务。Media
via https://linux.cn/article-10134-1.html
介绍 Fedora 上的 Swift
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/20/093525ccnxl3l5zxqwwpsj.jpg">Media</a>Swift 是一种使用现代方法构建安全性、性能和软件设计模式的通用编程语言。它旨在成为各种编程项目的最佳语言,从系统编程到桌面应用程序,以及扩展到云服务。继续阅读了解它以及如何在 Fedora 中尝试它。安全、快速、富有表现力与许多现代编程语言一样,Swift 被设计为比基于 C 的语言更安全。例如,变量总是在使用之前初始化。检查数组和整数是否溢出。内存自动管理。Swift 将意图放在语法中。要声明变量,请使用 var 关键字。要声明常量,请使用 let。Swift 还保证对象永远不会是 nil。实际上,尝试使用已知为 nil 的对象将导致编译时错误。当使用 nil 值时,它支持一种称为 <strong>optional</strong> 的机制。optional 可能包含 nil,但使用 ? 运算符可以安全地解包。更多的功能包括:与函数指针统一的闭包元组和多个返回值泛型对范围或集合进行快速而简洁的迭代支持方法、扩展和协议的结构体函数式编程模式,例如 map 和 filter内置强大的错误处理拥有 do、guard、defer 和 repeat 关键字的高级控制流尝试 SwiftSwift 在 Fedora 28 中可用,包名为 <strong>swift-lang</strong>。安装完成后,运行 swift 并启动 REPL 控制台。<pre class="prettyprint linenums">$ swiftWelcome to Swift version 4.2 (swift-4.2-RELEASE). Type :help for assistance. 1> let greeting="Hello world!"greeting: String = "Hello world!" 2> print(greeting)Hello world! 3> greeting = "Hello universe!"error: repl.swift:3:10: error: cannot assign to value: 'greeting' is a 'let' constantgreeting = "Hello universe!"~~~~~~~~ ^ 3></pre>Swift 有一个不断发展的社区,特别的,有一个<a href="https://swift.org/server/">工作组</a>致力&#…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/20/093525ccnxl3l5zxqwwpsj.jpg">Media</a>Swift 是一种使用现代方法构建安全性、性能和软件设计模式的通用编程语言。它旨在成为各种编程项目的最佳语言,从系统编程到桌面应用程序,以及扩展到云服务。继续阅读了解它以及如何在 Fedora 中尝试它。安全、快速、富有表现力与许多现代编程语言一样,Swift 被设计为比基于 C 的语言更安全。例如,变量总是在使用之前初始化。检查数组和整数是否溢出。内存自动管理。Swift 将意图放在语法中。要声明变量,请使用 var 关键字。要声明常量,请使用 let。Swift 还保证对象永远不会是 nil。实际上,尝试使用已知为 nil 的对象将导致编译时错误。当使用 nil 值时,它支持一种称为 <strong>optional</strong> 的机制。optional 可能包含 nil,但使用 ? 运算符可以安全地解包。更多的功能包括:与函数指针统一的闭包元组和多个返回值泛型对范围或集合进行快速而简洁的迭代支持方法、扩展和协议的结构体函数式编程模式,例如 map 和 filter内置强大的错误处理拥有 do、guard、defer 和 repeat 关键字的高级控制流尝试 SwiftSwift 在 Fedora 28 中可用,包名为 <strong>swift-lang</strong>。安装完成后,运行 swift 并启动 REPL 控制台。<pre class="prettyprint linenums">$ swiftWelcome to Swift version 4.2 (swift-4.2-RELEASE). Type :help for assistance. 1> let greeting="Hello world!"greeting: String = "Hello world!" 2> print(greeting)Hello world! 3> greeting = "Hello universe!"error: repl.swift:3:10: error: cannot assign to value: 'greeting' is a 'let' constantgreeting = "Hello universe!"~~~~~~~~ ^ 3></pre>Swift 有一个不断发展的社区,特别的,有一个<a href="https://swift.org/server/">工作组</a>致力&#…
2018 中国开源年度报告:问卷篇
鉴于以上”由隐而显“的各种问题,开源社组织了《2018 开源年度报告》调查,从多种纬度、多种方式、多种协作来尝试靠近上述问题的答案。Media
via https://linux.cn/article-10135-1.html
鉴于以上”由隐而显“的各种问题,开源社组织了《2018 开源年度报告》调查,从多种纬度、多种方式、多种协作来尝试靠近上述问题的答案。Media
via https://linux.cn/article-10135-1.html
2018 中国开源年度报告:问卷篇
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/20/232926el43oa2zbmpkkz43.png">enter image description here</a>引言<strong>软件的世界在悄然发生变化</strong>当著名的马克安德森撰写《软件正在吞噬世界》的文章的时候,可能没有想到,在 6 年之后,他就需要加上一个定语:开源软件正在吞噬世界!面对人工智能的伦理问题、软件产能过剩的问题、软件转型为服务模式的问题、云计算已经像电力一样成为这个世界默认的基础设施、以及面向海量数据的处理问题。。。围绕这些问题解决的核心原则只有一个:Open Source!<strong>由隐而显</strong>开源 20 岁了,它的内涵和外延正在扩大,不仅仅是一个开源的代码项目,也不再仅仅是一个社区,而是正变得日益复杂,研究的人也越来越多,当然这是由于参与到开源中的人和企业越来越多了。以下不妨列举一番:<strong>开源是一种社交现象</strong>2018 年,有一个消息堪称开源界的重磅炸弹!这就是微软以 75 亿美元的价格收购了 GitHub,要知道在 1999 年,人们仍然不把开源当做一回事,<a href="http://timreview.ca/sites/default/files/article_PDF/Suehle_TIMReview_January2012_0.pdf%20/t%20_blank">Bill Gates 在宣传他的书时</a>,曾如此评价 Linux 的:“确实我们承认在学生和爱好者当中我们不如 Linux,但是我们从多个角度考察过,并不认为它能在商业市场上有何作为。”开源不止于技术,隐藏在背后的是开发者、工程师们之间的协作与交流,以及彼此的默契与褒奖。而 GitHub 的&…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/20/232926el43oa2zbmpkkz43.png">enter image description here</a>引言<strong>软件的世界在悄然发生变化</strong>当著名的马克安德森撰写《软件正在吞噬世界》的文章的时候,可能没有想到,在 6 年之后,他就需要加上一个定语:开源软件正在吞噬世界!面对人工智能的伦理问题、软件产能过剩的问题、软件转型为服务模式的问题、云计算已经像电力一样成为这个世界默认的基础设施、以及面向海量数据的处理问题。。。围绕这些问题解决的核心原则只有一个:Open Source!<strong>由隐而显</strong>开源 20 岁了,它的内涵和外延正在扩大,不仅仅是一个开源的代码项目,也不再仅仅是一个社区,而是正变得日益复杂,研究的人也越来越多,当然这是由于参与到开源中的人和企业越来越多了。以下不妨列举一番:<strong>开源是一种社交现象</strong>2018 年,有一个消息堪称开源界的重磅炸弹!这就是微软以 75 亿美元的价格收购了 GitHub,要知道在 1999 年,人们仍然不把开源当做一回事,<a href="http://timreview.ca/sites/default/files/article_PDF/Suehle_TIMReview_January2012_0.pdf%20/t%20_blank">Bill Gates 在宣传他的书时</a>,曾如此评价 Linux 的:“确实我们承认在学生和爱好者当中我们不如 Linux,但是我们从多个角度考察过,并不认为它能在商业市场上有何作为。”开源不止于技术,隐藏在背后的是开发者、工程师们之间的协作与交流,以及彼此的默契与褒奖。而 GitHub 的&…
命令行小技巧:读取文件的不同方式
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/21/000526kk3y3iwphyhkocw4.jpg">Media</a>作为图形操作系统,Fedora 的使用是令人愉快的。你可以轻松地点击完成任何任务。但你可能已经看到了,在底层还有一个强大的命令行。想要在 shell 下体验,只需要在 Fedora 系统中打开你的终端应用。这篇文章是向你展示常见的命令行使用方法的系列文章之一。在这部分,你将学习如何以不同的方式读取文件,如果你在系统中打开一个终端完成一些工作,你就有可能需要读取一两个文件。一应俱全的大餐对命令行终端的用户来说, cat 命令众所周知。 当你 cat 一个文件,你很容易的把整个文件内容展示在你的屏幕上。而真正发生在底层的是文件一次读取一行,然后一行一行写入屏幕。假设你有一个文件,叫做 myfile, 这个文件每行只有一个单词。为了简单起见,每行的单词就是这行的行号,就像这样:<pre class="prettyprint linenums">onetwothreefourfive</pre>所以如果你 cat 这个文件,你就会看到如下输出:<pre class="prettyprint linenums">$ cat myfileonetwothreefourfive</pre>并没有太惊喜,不是吗? 但是有个有趣的转折,只要使用 tac 命令,你可以从后往前 cat 这个文件。(请注意, Fedora 对这种有争议的幽默不承担任何责任!)<pre class="prettyprint linenums">$ tac myfilefivefourthreetwoone</pre>cat 命令允许你以不同的方式装饰输出,比如,你可以输出行号:<pre class="prettyprint linenums">$ cat -n myfile 1 one 2 two 3 three 4 four 5 five</pre>还有其他选项可以显示特殊字符和其ߢ…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/21/000526kk3y3iwphyhkocw4.jpg">Media</a>作为图形操作系统,Fedora 的使用是令人愉快的。你可以轻松地点击完成任何任务。但你可能已经看到了,在底层还有一个强大的命令行。想要在 shell 下体验,只需要在 Fedora 系统中打开你的终端应用。这篇文章是向你展示常见的命令行使用方法的系列文章之一。在这部分,你将学习如何以不同的方式读取文件,如果你在系统中打开一个终端完成一些工作,你就有可能需要读取一两个文件。一应俱全的大餐对命令行终端的用户来说, cat 命令众所周知。 当你 cat 一个文件,你很容易的把整个文件内容展示在你的屏幕上。而真正发生在底层的是文件一次读取一行,然后一行一行写入屏幕。假设你有一个文件,叫做 myfile, 这个文件每行只有一个单词。为了简单起见,每行的单词就是这行的行号,就像这样:<pre class="prettyprint linenums">onetwothreefourfive</pre>所以如果你 cat 这个文件,你就会看到如下输出:<pre class="prettyprint linenums">$ cat myfileonetwothreefourfive</pre>并没有太惊喜,不是吗? 但是有个有趣的转折,只要使用 tac 命令,你可以从后往前 cat 这个文件。(请注意, Fedora 对这种有争议的幽默不承担任何责任!)<pre class="prettyprint linenums">$ tac myfilefivefourthreetwoone</pre>cat 命令允许你以不同的方式装饰输出,比如,你可以输出行号:<pre class="prettyprint linenums">$ cat -n myfile 1 one 2 two 3 three 4 four 5 five</pre>还有其他选项可以显示特殊字符和其ߢ…