如何提交你的第一个 Linux 内核补丁
学习如何做出你的首个 Linux 内核贡献,以及在开始之前你应该知道什么。Media
via https://linux.cn/article-10109-1.html
学习如何做出你的首个 Linux 内核贡献,以及在开始之前你应该知道什么。Media
via https://linux.cn/article-10109-1.html
如何将 Scikit-learn Python 库用于数据科学项目
灵活多样的 Python 库为数据分析和数据挖掘提供了强力的机器学习工具。Media
via https://linux.cn/article-10115-1.html
灵活多样的 Python 库为数据分析和数据挖掘提供了强力的机器学习工具。Media
via https://linux.cn/article-10115-1.html
如何在 Linux 中列出可用的软件包组
但是如果想一次性安装一个软件包组,在 Linux 中有可能吗?又如何通过命令去实现呢?Media
via https://linux.cn/article-10116-1.html
但是如果想一次性安装一个软件包组,在 Linux 中有可能吗?又如何通过命令去实现呢?Media
via https://linux.cn/article-10116-1.html
cloc:计算不同编程语言源代码的行数
你可以用 cloc 很容易地统计多种语言的源代码行数。它还可以计算空行数、代码行数、实际代码的行数,并通过整齐的表格进行结果输出。Media
via https://linux.cn/article-10118-1.html
你可以用 cloc 很容易地统计多种语言的源代码行数。它还可以计算空行数、代码行数、实际代码的行数,并通过整齐的表格进行结果输出。Media
via https://linux.cn/article-10118-1.html
如何在 Linux 下锁住键盘和鼠标而不锁屏
它很简单但非常实用,你可以锁定屏幕的显示直到用户在键盘上输入自己设定的密码Media
via https://linux.cn/article-10119-1.html
它很简单但非常实用,你可以锁定屏幕的显示直到用户在键盘上输入自己设定的密码Media
via https://linux.cn/article-10119-1.html
如何在救援(单用户模式)/紧急模式下启动 Ubuntu 18.04/Debian 9 服务器
将 Linux 服务器引导到单用户模式或救援模式是 Linux 管理员在关键时刻恢复服务器时通常使用的重要故障排除方法之一。Media
via https://linux.cn/article-10120-1.html
将 Linux 服务器引导到单用户模式或救援模式是 Linux 管理员在关键时刻恢复服务器时通常使用的重要故障排除方法之一。Media
via https://linux.cn/article-10120-1.html
在 Ubuntu 18.04 LTS 上使用 KVM 配置无头虚拟化服务器
使用 KVM,我们可以在几分钟之内,很轻松地将任意 Linux 服务器转换到一个完全的虚拟化环境中,以及部署不同种类的虚拟机,比如 GNU/Linux、*BSD、Windows 等等。Media
via https://linux.cn/article-10121-1.html
使用 KVM,我们可以在几分钟之内,很轻松地将任意 Linux 服务器转换到一个完全的虚拟化环境中,以及部署不同种类的虚拟机,比如 GNU/Linux、*BSD、Windows 等等。Media
via https://linux.cn/article-10121-1.html
Linux 拥有了新的行为准则,但是许多人都对此表示不满
因为新行为准则的作者那富有争议的过去,现在这件事成为了热点话题。许多人都对这新的行为准则表示不满。Media
via https://linux.cn/article-10122-1.html
因为新行为准则的作者那富有争议的过去,现在这件事成为了热点话题。许多人都对这新的行为准则表示不满。Media
via https://linux.cn/article-10122-1.html
如何在 Linux 中找到并删除重复文件
如果你们像我一样,在类 Unix 操作系统中,大量多版本的相同文件放在不同的备份目录,你可以使用下面的工具找到并删除重复文件。Media
via https://linux.cn/article-10123-1.html
如果你们像我一样,在类 Unix 操作系统中,大量多版本的相同文件放在不同的备份目录,你可以使用下面的工具找到并删除重复文件。Media
via https://linux.cn/article-10123-1.html
如何在 Linux 中找到并删除重复文件
如果你们像我一样,在类 Unix 操作系统中,大量多版本的相同文件放在不同的备份目录,你可以使用下面的工具找到并删除重复文件。Media
via https://linux.cn/article-10123-1.html
如果你们像我一样,在类 Unix 操作系统中,大量多版本的相同文件放在不同的备份目录,你可以使用下面的工具找到并删除重复文件。Media
via https://linux.cn/article-10123-1.html
如何在 Linux 中找到并删除重复文件
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/16/170704e7dhu41fqsrqkzf1.png">Media</a>在编辑或修改配置文件或旧文件前,我经常会把它们备份到硬盘的某个地方,因此我如果意外地改错了这些文件,我可以从备份中恢复它们。但问题是如果我忘记清理备份文件,一段时间之后,我的磁盘会被这些大量重复文件填满 —— 我觉得要么是懒得清理这些旧文件,要么是担心可能会删掉重要文件。如果你们像我一样,在类 Unix 操作系统中,大量多版本的相同文件放在不同的备份目录,你可以使用下面的工具找到并删除重复文件。<strong>提醒一句:</strong>在删除重复文件的时请尽量小心。如果你不小心,也许会导致<a href="https://www.ostechnix.com/prevent-files-folders-accidental-deletion-modification-linux/">意外丢失数据</a>。我建议你在使用这些工具的时候要特别注意。在 Linux 中找到并删除重复文件出于本指南的目的,我将讨论下面的三个工具:RdfindFdupesFSlint这三个工具是自由开源的,且运行在大多数类 Unix 系统中。1. Rdfind<strong>Rdfind</strong> 意即 <strong>r</strong>edundant <strong>d</strong>ata <strong>find</strong>(冗余数据查找),是一个通过访问目录和子目录来找出重复文件的自由开源的工具。它是基于文件内容而不是文件名来比较。Rdfind 使用<strong>排序</strong>算法来区分原始文件和重复文件。如果你有两个或者更多的相同文件,Rdfind 会很智能的找到原始文件并认定剩下的文件为重复文件。一旦找到副本文件,它会向你报…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/16/170704e7dhu41fqsrqkzf1.png">Media</a>在编辑或修改配置文件或旧文件前,我经常会把它们备份到硬盘的某个地方,因此我如果意外地改错了这些文件,我可以从备份中恢复它们。但问题是如果我忘记清理备份文件,一段时间之后,我的磁盘会被这些大量重复文件填满 —— 我觉得要么是懒得清理这些旧文件,要么是担心可能会删掉重要文件。如果你们像我一样,在类 Unix 操作系统中,大量多版本的相同文件放在不同的备份目录,你可以使用下面的工具找到并删除重复文件。<strong>提醒一句:</strong>在删除重复文件的时请尽量小心。如果你不小心,也许会导致<a href="https://www.ostechnix.com/prevent-files-folders-accidental-deletion-modification-linux/">意外丢失数据</a>。我建议你在使用这些工具的时候要特别注意。在 Linux 中找到并删除重复文件出于本指南的目的,我将讨论下面的三个工具:RdfindFdupesFSlint这三个工具是自由开源的,且运行在大多数类 Unix 系统中。1. Rdfind<strong>Rdfind</strong> 意即 <strong>r</strong>edundant <strong>d</strong>ata <strong>find</strong>(冗余数据查找),是一个通过访问目录和子目录来找出重复文件的自由开源的工具。它是基于文件内容而不是文件名来比较。Rdfind 使用<strong>排序</strong>算法来区分原始文件和重复文件。如果你有两个或者更多的相同文件,Rdfind 会很智能的找到原始文件并认定剩下的文件为重复文件。一旦找到副本文件,它会向你报…
什么是行为驱动的 Python?
使用 Python behave 框架的行为驱动开发模式可以帮助你的团队更好的协作和测试自动化。Media
via https://linux.cn/article-10124-1.html
使用 Python behave 框架的行为驱动开发模式可以帮助你的团队更好的协作和测试自动化。Media
via https://linux.cn/article-10124-1.html
Linux 拥有了新的行为准则,但是许多人都对此表示不满
Linux 内核有了新的行为准则Code of Conduct(CoC)。但在这条行为准则被签署以及发布仅仅 30 分钟之后,Linus Torvalds 就暂时离开了 Linux 内核的开发工作。因为新行为准则的作者那富有争议的过去,现在这件事成为了热点话题。许多人都对这新的行为准则表示不满。如果你还不了解这件事,请参阅 <a href="https://linux.cn/article-10022-1.html">Linus Torvalds 对于自己之前的不良态度致歉并开始休假,以改善自己的行为态度</a>Linux 内核开发遵守的新行为准则Linux 内核开发者并不是以前没有需要遵守的行为准则,但是之前的<a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/CodeOfConflict?id=ddbd2b7ad99a418c60397901a0f3c997d030c65e">冲突准则code of conflict</a>现在被替换成了以“给内核开发社区营造更加热情,更方便他人参与的氛围”为目的的行为准则。“为营造一个开放并且热情的社区环境,我们,贡献者与维护者,许诺让每一个参与进我们项目和社区的人享受一个没有骚扰的体验。无关于他们的年纪、体型、身体残疾、种族、性别、性别认知与表达、社会经验、教育水平、社会或者经济地位、国籍、外表、人种、信仰、性认同和性取向。”你可以在这里阅读整篇行为准则:<a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a104f8b5867c682d994ffa7a74093c54469c11f">Linux 行为准则</a>。Linus Torvalds 是被迫道歉并且休假的吗?<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/16/122734pipmibdrptydzzi6.jpg">Linus Torvalds 的道歉</a>这个新的行为准则由 Linus Torvalds 和 Greg Kroah-Hartman (仅次于 Torvalds…
Linux 内核有了新的行为准则Code of Conduct(CoC)。但在这条行为准则被签署以及发布仅仅 30 分钟之后,Linus Torvalds 就暂时离开了 Linux 内核的开发工作。因为新行为准则的作者那富有争议的过去,现在这件事成为了热点话题。许多人都对这新的行为准则表示不满。如果你还不了解这件事,请参阅 <a href="https://linux.cn/article-10022-1.html">Linus Torvalds 对于自己之前的不良态度致歉并开始休假,以改善自己的行为态度</a>Linux 内核开发遵守的新行为准则Linux 内核开发者并不是以前没有需要遵守的行为准则,但是之前的<a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/CodeOfConflict?id=ddbd2b7ad99a418c60397901a0f3c997d030c65e">冲突准则code of conflict</a>现在被替换成了以“给内核开发社区营造更加热情,更方便他人参与的氛围”为目的的行为准则。“为营造一个开放并且热情的社区环境,我们,贡献者与维护者,许诺让每一个参与进我们项目和社区的人享受一个没有骚扰的体验。无关于他们的年纪、体型、身体残疾、种族、性别、性别认知与表达、社会经验、教育水平、社会或者经济地位、国籍、外表、人种、信仰、性认同和性取向。”你可以在这里阅读整篇行为准则:<a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a104f8b5867c682d994ffa7a74093c54469c11f">Linux 行为准则</a>。Linus Torvalds 是被迫道歉并且休假的吗?<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/16/122734pipmibdrptydzzi6.jpg">Linus Torvalds 的道歉</a>这个新的行为准则由 Linus Torvalds 和 Greg Kroah-Hartman (仅次于 Torvalds…
什么是行为驱动的 Python?
使用 Python behave 框架的行为驱动开发模式可以帮助你的团队更好的协作和测试自动化。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/16/182736st3x3b2gt8ct23ry.jpeg">Media</a>您是否听说过<a href="https://automationpanda.com/bdd/">行为驱动开发</a>behavior-driven development(BDD),并好奇这是个什么东西?也许你发现了团队成员在谈论“嫩瓜”(LCTT 译注:“嫩瓜gherkin” 是一种简单的英语文本语言,工具 cucumber 通过解释它来执行测试脚本,见下文),而你却不知所云。或许你是一个 Python 人Pythonista,正在寻找更好的方法来测试你的代码。 无论在什么情况下,了解 BDD 都可以帮助您和您的团队实现更好的协作和测试自动化,而 Python 的 <a href="https://behave.readthedocs.io/en/latest/">behave</a> 框架是一个很好的起点。什么是 BDD?在软件中,<em>行为</em>是指在明确定义的输入、动作和结果场景中功能是如何运转的。 产品可以表现出无数的行为,例如:在网站上提交表单搜索想要的结果保存文档进行 REST API 调用运行命令行界面命令根据产品的行为定义产品的功能可以更容易地描述产品,并对其进行开发和测试。 BDD 的核心是:使行为成为软件开发的焦点。在开发早期使用示例语言的规范来定义行为。最常见的行为规范语言之一是 Gherkin,Cucumber项目中的Given-When-Then场景格式。 行为规范基本上是对行为如何工作的简单语言描述,具有一致性和焦点的一些正式结构。 通过将步骤文本“粘合”到代码实现,测试框架可以轻松地…
使用 Python behave 框架的行为驱动开发模式可以帮助你的团队更好的协作和测试自动化。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/16/182736st3x3b2gt8ct23ry.jpeg">Media</a>您是否听说过<a href="https://automationpanda.com/bdd/">行为驱动开发</a>behavior-driven development(BDD),并好奇这是个什么东西?也许你发现了团队成员在谈论“嫩瓜”(LCTT 译注:“嫩瓜gherkin” 是一种简单的英语文本语言,工具 cucumber 通过解释它来执行测试脚本,见下文),而你却不知所云。或许你是一个 Python 人Pythonista,正在寻找更好的方法来测试你的代码。 无论在什么情况下,了解 BDD 都可以帮助您和您的团队实现更好的协作和测试自动化,而 Python 的 <a href="https://behave.readthedocs.io/en/latest/">behave</a> 框架是一个很好的起点。什么是 BDD?在软件中,<em>行为</em>是指在明确定义的输入、动作和结果场景中功能是如何运转的。 产品可以表现出无数的行为,例如:在网站上提交表单搜索想要的结果保存文档进行 REST API 调用运行命令行界面命令根据产品的行为定义产品的功能可以更容易地描述产品,并对其进行开发和测试。 BDD 的核心是:使行为成为软件开发的焦点。在开发早期使用示例语言的规范来定义行为。最常见的行为规范语言之一是 Gherkin,Cucumber项目中的Given-When-Then场景格式。 行为规范基本上是对行为如何工作的简单语言描述,具有一致性和焦点的一些正式结构。 通过将步骤文本“粘合”到代码实现,测试框架可以轻松地…
Minikube 入门:笔记本上的 Kubernetes
运行 Minikube 的分步指南。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/17/214443rikxkirgmv4eti41.png">Media</a>在 <a href="https://kubernetes.io/docs/tutorials/hello-minikube">Hello Minikube</a> 教程页面上 Minikube 被宣传为基于 Docker 运行 Kubernetes 的一种简单方法。 虽然该文档非常有用,但它主要是为 MacOS 编写的。 你可以深入挖掘在 Windows 或某个 Linux 发行版上的使用说明,但它们不是很清楚。 许多文档都是针对 Debian / Ubuntu 用户的,比如<a href="https://github.com/kubernetes/minikube/blob/master/docs/drivers.md">安装 Minikube 的驱动程序</a>。这篇指南旨在使得在基于 RHEL/Fedora/CentOS 的操作系统上更容易安装 Minikube。先决条件你已经<a href="https://docs.docker.com/install">安装了 Docker</a>。你的计算机是一个基于 RHEL / CentOS / Fedora 的工作站。你已经<a href="https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm2-driver">安装了正常运行的 KVM2 虚拟机管理程序</a>。你有一个可以工作的 docker-machine-driver-kvm2。 以下命令将安装该驱动程序:<pre class="prettyprint linenums">curl -Lo docker-machine-driver-kvm2 https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 \chmod +x docker-machine-driver-kvm2 \&& sudo cp docker-machine-driver-kvm2 /usr/local/bin/ \&& rm docker-machine-driver-kvm2</pre>下载、安装和启动Minikube1、为你要即将下载的两个文件创建一个目录,两个文件分别是:<a href="https://github.com/kubernetes/minikube/releases">minikube</a> 和 <a href="https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-using-curl">kubectl</a>。2、打开终端窗口并运行以下命令来安装 minikube。<pre class="prettyprint linenums">curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64</pre>请注意,minikube 版本(例如,minikube-linux-amd64)可能因计算机的规格而有所不同。3、chmod 加执行权限。<pre class="prettyprint linenums">chmod +x minikube</pre>4、将文件移动到 /usr/local/bin 路径下,以便你能将其作为命令运行。<pre class="prettyprint linenums">mv minikube /usr/local/bin</pre>5、使用以下命令安装 ku…
运行 Minikube 的分步指南。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201810/17/214443rikxkirgmv4eti41.png">Media</a>在 <a href="https://kubernetes.io/docs/tutorials/hello-minikube">Hello Minikube</a> 教程页面上 Minikube 被宣传为基于 Docker 运行 Kubernetes 的一种简单方法。 虽然该文档非常有用,但它主要是为 MacOS 编写的。 你可以深入挖掘在 Windows 或某个 Linux 发行版上的使用说明,但它们不是很清楚。 许多文档都是针对 Debian / Ubuntu 用户的,比如<a href="https://github.com/kubernetes/minikube/blob/master/docs/drivers.md">安装 Minikube 的驱动程序</a>。这篇指南旨在使得在基于 RHEL/Fedora/CentOS 的操作系统上更容易安装 Minikube。先决条件你已经<a href="https://docs.docker.com/install">安装了 Docker</a>。你的计算机是一个基于 RHEL / CentOS / Fedora 的工作站。你已经<a href="https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#kvm2-driver">安装了正常运行的 KVM2 虚拟机管理程序</a>。你有一个可以工作的 docker-machine-driver-kvm2。 以下命令将安装该驱动程序:<pre class="prettyprint linenums">curl -Lo docker-machine-driver-kvm2 https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 \chmod +x docker-machine-driver-kvm2 \&& sudo cp docker-machine-driver-kvm2 /usr/local/bin/ \&& rm docker-machine-driver-kvm2</pre>下载、安装和启动Minikube1、为你要即将下载的两个文件创建一个目录,两个文件分别是:<a href="https://github.com/kubernetes/minikube/releases">minikube</a> 和 <a href="https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-using-curl">kubectl</a>。2、打开终端窗口并运行以下命令来安装 minikube。<pre class="prettyprint linenums">curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64</pre>请注意,minikube 版本(例如,minikube-linux-amd64)可能因计算机的规格而有所不同。3、chmod 加执行权限。<pre class="prettyprint linenums">chmod +x minikube</pre>4、将文件移动到 /usr/local/bin 路径下,以便你能将其作为命令运行。<pre class="prettyprint linenums">mv minikube /usr/local/bin</pre>5、使用以下命令安装 ku…
树莓派自建 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> 文章中,我们将两个磁盘驱动器连接到树莓派,一个用于存储当前ਤ…