用 PGP 保护代码完整性(七):保护在线帐户
在这个系列的最后一篇当中,我们将为你展示如何用双因子认证保护你的在线账户。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/10/231213u5qkg5zk39n9jcc5.jpg">Media</a>到目前为止,本系列教程已经提供了 PGP 的实用指南,包括基本概念和工具、生成和保护你的密钥的步骤。如果你错过了前面的文章,可以通过下面的链接查看。在本系列的最后一篇文章中,我们将为你保护在线帐户提供一个额外的指南,保护在线帐户是当今非常重要的一件事情。<a href="https://linux.cn/article-9524-1.html">第一部分:基本概念和工具</a><a href="https://linux.cn/article-9529-1.html">第二部分:生成你的主密钥</a><a href="https://linux.cn/article-9607-1.html">第三部分:生成 PGP 子密钥</a><a href="https://linux.cn/article-10402-1.html">第四部分:将主密钥移到离线存储中</a><a href="https://linux.cn/article-10415-1.html">第五部分:将子密钥移到硬件设备中</a><a href="https://linux.cn/article-10421-1.html">第六部分:在 Git 中使用 PGP</a>清单取得一个具备 U2F 功能的设备(必要)为你的在线帐户启用双因子认证(必要)GitHub/GitLabGoogle社交媒体使用 U2F 作为主验证机制,使用 TOTP 作为备选(必要)考虑事项你可能注意到,很多在线开发者身份是捆绑了 email 地址的。如果有人能够访问你的邮箱,他们就能够去做一些对你会产生危害的事情,进而会损害你作为自由软件开发者的声誉。应该像保护你的 PGP 密钥那样保护你的 email 地址。使用 Fido U2F 的双因子认证<a href="https://en.wikipedia.org/wiki/Multi-factor_authentication">双因子认证</a> 是一种提升帐…
在这个系列的最后一篇当中,我们将为你展示如何用双因子认证保护你的在线账户。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/10/231213u5qkg5zk39n9jcc5.jpg">Media</a>到目前为止,本系列教程已经提供了 PGP 的实用指南,包括基本概念和工具、生成和保护你的密钥的步骤。如果你错过了前面的文章,可以通过下面的链接查看。在本系列的最后一篇文章中,我们将为你保护在线帐户提供一个额外的指南,保护在线帐户是当今非常重要的一件事情。<a href="https://linux.cn/article-9524-1.html">第一部分:基本概念和工具</a><a href="https://linux.cn/article-9529-1.html">第二部分:生成你的主密钥</a><a href="https://linux.cn/article-9607-1.html">第三部分:生成 PGP 子密钥</a><a href="https://linux.cn/article-10402-1.html">第四部分:将主密钥移到离线存储中</a><a href="https://linux.cn/article-10415-1.html">第五部分:将子密钥移到硬件设备中</a><a href="https://linux.cn/article-10421-1.html">第六部分:在 Git 中使用 PGP</a>清单取得一个具备 U2F 功能的设备(必要)为你的在线帐户启用双因子认证(必要)GitHub/GitLabGoogle社交媒体使用 U2F 作为主验证机制,使用 TOTP 作为备选(必要)考虑事项你可能注意到,很多在线开发者身份是捆绑了 email 地址的。如果有人能够访问你的邮箱,他们就能够去做一些对你会产生危害的事情,进而会损害你作为自由软件开发者的声誉。应该像保护你的 PGP 密钥那样保护你的 email 地址。使用 Fido U2F 的双因子认证<a href="https://en.wikipedia.org/wiki/Multi-factor_authentication">双因子认证</a> 是一种提升帐…
5 款 Linux 街机游戏
本文首先介绍 Linux 开源游戏中的街机类型游戏,在之后的文章中,我将介绍桌面和卡牌游戏,解谜游戏,竞速游戏,以及策略模拟游戏。Media
via https://linux.cn/article-10433-1.html
本文首先介绍 Linux 开源游戏中的街机类型游戏,在之后的文章中,我将介绍桌面和卡牌游戏,解谜游戏,竞速游戏,以及策略模拟游戏。Media
via https://linux.cn/article-10433-1.html
5 款 Linux 街机游戏
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/11/095443vv2wgc6y3ihw43wz.jpg">Media</a>长久以来,游戏都是 Linux 的软肋。近些年,Steam、GOG 等游戏发布平台上不少商业游戏都开始支持 Linux,这对于 Linux 的游戏生态来说是件好事,但是我们能在这些平台上玩到的游戏通常是不开源的商业作品。当然,这些游戏在一个开源的操作系统上运行,但对于一个开源提倡者来说这似乎还不够纯粹。那么,我们能找到既自由开源又能给玩家带来完整游戏体验的优质游戏吗?当然!虽然绝大多数的开源游戏很难和 3A 商业游戏大作竞争,但仍然有不少各种类型的开源游戏,不仅内容有趣而且直接可以通过几大 Linux 发行版本库中直接安装。本文首先介绍 Linux 开源游戏中的街机类型游戏,在之后的文章中,我将介绍桌面和卡牌游戏,解谜游戏,竞速游戏,以及策略模拟游戏。太空危机AstroMenace<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/11/095449gvtnhvbqwsestass.png">Media</a><a href="http://www.viewizard.com/">太空危机</a> 是一个近现代太空背景下的滚动页面射击游戏。开发初期它是一个闭源游戏,但它的代码和素材而后以开源许可证发布了。游戏玩法和大多数此类游戏大同小异,但它有质量极高的 3D 画面。飞船和武器升级可以通过击杀敌人所获得的点数购买。游戏的难度可以选择,因此适合新手以及想要追求挑战的硬核玩家。安装太空危机,你只需要在终端下运行以下指令:Fedora 用户: <code>dnf install…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/11/095443vv2wgc6y3ihw43wz.jpg">Media</a>长久以来,游戏都是 Linux 的软肋。近些年,Steam、GOG 等游戏发布平台上不少商业游戏都开始支持 Linux,这对于 Linux 的游戏生态来说是件好事,但是我们能在这些平台上玩到的游戏通常是不开源的商业作品。当然,这些游戏在一个开源的操作系统上运行,但对于一个开源提倡者来说这似乎还不够纯粹。那么,我们能找到既自由开源又能给玩家带来完整游戏体验的优质游戏吗?当然!虽然绝大多数的开源游戏很难和 3A 商业游戏大作竞争,但仍然有不少各种类型的开源游戏,不仅内容有趣而且直接可以通过几大 Linux 发行版本库中直接安装。本文首先介绍 Linux 开源游戏中的街机类型游戏,在之后的文章中,我将介绍桌面和卡牌游戏,解谜游戏,竞速游戏,以及策略模拟游戏。太空危机AstroMenace<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/11/095449gvtnhvbqwsestass.png">Media</a><a href="http://www.viewizard.com/">太空危机</a> 是一个近现代太空背景下的滚动页面射击游戏。开发初期它是一个闭源游戏,但它的代码和素材而后以开源许可证发布了。游戏玩法和大多数此类游戏大同小异,但它有质量极高的 3D 画面。飞船和武器升级可以通过击杀敌人所获得的点数购买。游戏的难度可以选择,因此适合新手以及想要追求挑战的硬核玩家。安装太空危机,你只需要在终端下运行以下指令:Fedora 用户: <code>dnf install…
如何使用 Ansible 管理你的工作站配置
在这个系列的第一篇中,学习一下管理笔记本电脑和台式机配置的基础内容。Media
via https://linux.cn/article-10434-1.html
在这个系列的第一篇中,学习一下管理笔记本电脑和台式机配置的基础内容。Media
via https://linux.cn/article-10434-1.html
如何使用 Ansible 管理你的工作站配置
在这个系列的第一篇中,学习一下管理笔记本电脑和台式机配置的基础内容。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/11/224838rank1a1gj3131kma.jpg">Media</a>配置管理是服务器管理和 DevOps 的一个非常重要的方面。“基础架构即代码infrastructure as code”方法可以轻松地以各种配置部署服务器,并动态扩展组织的资源以满足用户需求。但是,对于希望自动设置自己的笔记本电脑和台式机(工作站)的个人管理员的关注较少。在本系列中,我将向你展示如何通过 <a href="https://www.ansible.com/">Ansible</a> 自动化你的工作站设置,如果你想要或需要重新安装你的机器,这可以让你轻松恢复整个配置。此外,如果你有多个工作站,则可以使用相同的方法在每个工作站上进行相同的配置。在第一篇文章中,我们将为个人或工作计算机设置基本的配置管理,并为本系列的其余部分奠定基础。到本文结束时,你将会因此得到一个可以工作的环境。本系列之后的每篇文章都会自动化更多内容并增加复杂性。为什么用 Ansible?有许多配置管理解决方案,包括 Salt Stack、Chef 和 Puppet。我更喜欢 Ansible,因为它在资源利用方面更轻量级,语法更容易阅读,并且如果正确使用它可以彻底改变你的配置管理。Ansible 的轻量级特性与这个主题特别相关,因为我们可能不希望运行一整台服务器而只是为了自动化我们的笔记本电脑和台式机的ť…
在这个系列的第一篇中,学习一下管理笔记本电脑和台式机配置的基础内容。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/11/224838rank1a1gj3131kma.jpg">Media</a>配置管理是服务器管理和 DevOps 的一个非常重要的方面。“基础架构即代码infrastructure as code”方法可以轻松地以各种配置部署服务器,并动态扩展组织的资源以满足用户需求。但是,对于希望自动设置自己的笔记本电脑和台式机(工作站)的个人管理员的关注较少。在本系列中,我将向你展示如何通过 <a href="https://www.ansible.com/">Ansible</a> 自动化你的工作站设置,如果你想要或需要重新安装你的机器,这可以让你轻松恢复整个配置。此外,如果你有多个工作站,则可以使用相同的方法在每个工作站上进行相同的配置。在第一篇文章中,我们将为个人或工作计算机设置基本的配置管理,并为本系列的其余部分奠定基础。到本文结束时,你将会因此得到一个可以工作的环境。本系列之后的每篇文章都会自动化更多内容并增加复杂性。为什么用 Ansible?有许多配置管理解决方案,包括 Salt Stack、Chef 和 Puppet。我更喜欢 Ansible,因为它在资源利用方面更轻量级,语法更容易阅读,并且如果正确使用它可以彻底改变你的配置管理。Ansible 的轻量级特性与这个主题特别相关,因为我们可能不希望运行一整台服务器而只是为了自动化我们的笔记本电脑和台式机的ť…
在 Linux 终端中玩贪吃蛇
有了这个 20 世纪 70 年代的经典重制游戏,Python 将不再是你在 Linux 终端能发现的唯一的“蛇”。Media
via https://linux.cn/article-10435-1.html
有了这个 20 世纪 70 年代的经典重制游戏,Python 将不再是你在 Linux 终端能发现的唯一的“蛇”。Media
via https://linux.cn/article-10435-1.html
在 Linux 终端中玩贪吃蛇
有了这个 20 世纪 70 年代的经典重制游戏,Python 将不再是你在 Linux 终端能发现的唯一的“蛇”。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/104301hucp64f1cj1o47mz.png">Media</a>欢迎回到 Linux 命令行玩具日历。如果这是你第一次访问该系列,你可能会问什么是命令行玩具。这很难确切地说,但我的定义是任何可以帮助你在终端玩得开心的东西。我们这周都在介绍游戏,这很有趣,接着让我们看下今天的游戏,贪吃蛇!贪吃蛇是一个古老又很好的游戏,这些年一直有各种版本。我记得我第一次玩得版本是 20 世纪 90 年代与 <a href="https://en.wikipedia.org/wiki/QBasic">QBasic</a> 一起打包发布的 <a href="https://en.wikipedia.org/wiki/Nibbles_(video_game)">Nibbles</a>,它对我理解什么是编程语言起了很重要的作用。我有游戏的源码,我可以修改并查看会发生什么,并学习到一些组成这个编程语言的有趣词汇究竟是什么意思。今天的<a href="https://github.com/DyegoCosta/snake-game">贪吃蛇</a>是用 Go 写的,它很简单并且和原版的游戏一样有趣。像大多数简单的老游戏一样,它有很多版本可供选择。这今天的贪吃蛇中,甚至还有一个经典的 <a href="https://github.com/vattam/BSDGames">bsdgames</a> 形式的包,它的发行版几乎一定有它。但我喜欢的是用 Docker 打包的贪吃蛇,因为我可以轻松地在命令行中运行,而不用担心发行版相关的问题。这个版本使用 15 个随机的食物 emoji 图案让蛇来吃。我玩得不好。不管怎样,请试一下:<pre class="prettyprint linenums">$ docker run -ti dyego/snake-game</pre>这个贪吃蛇以…
有了这个 20 世纪 70 年代的经典重制游戏,Python 将不再是你在 Linux 终端能发现的唯一的“蛇”。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/104301hucp64f1cj1o47mz.png">Media</a>欢迎回到 Linux 命令行玩具日历。如果这是你第一次访问该系列,你可能会问什么是命令行玩具。这很难确切地说,但我的定义是任何可以帮助你在终端玩得开心的东西。我们这周都在介绍游戏,这很有趣,接着让我们看下今天的游戏,贪吃蛇!贪吃蛇是一个古老又很好的游戏,这些年一直有各种版本。我记得我第一次玩得版本是 20 世纪 90 年代与 <a href="https://en.wikipedia.org/wiki/QBasic">QBasic</a> 一起打包发布的 <a href="https://en.wikipedia.org/wiki/Nibbles_(video_game)">Nibbles</a>,它对我理解什么是编程语言起了很重要的作用。我有游戏的源码,我可以修改并查看会发生什么,并学习到一些组成这个编程语言的有趣词汇究竟是什么意思。今天的<a href="https://github.com/DyegoCosta/snake-game">贪吃蛇</a>是用 Go 写的,它很简单并且和原版的游戏一样有趣。像大多数简单的老游戏一样,它有很多版本可供选择。这今天的贪吃蛇中,甚至还有一个经典的 <a href="https://github.com/vattam/BSDGames">bsdgames</a> 形式的包,它的发行版几乎一定有它。但我喜欢的是用 Docker 打包的贪吃蛇,因为我可以轻松地在命令行中运行,而不用担心发行版相关的问题。这个版本使用 15 个随机的食物 emoji 图案让蛇来吃。我玩得不好。不管怎样,请试一下:<pre class="prettyprint linenums">$ docker run -ti dyego/snake-game</pre>这个贪吃蛇以…
Open Source 102:开源的商业竞争优势
2018 年是开源软件史上意义非凡的一年,这一年在开源软件与商业软件融合的过程中发生了很多里程碑式的大事件Media
via https://linux.cn/article-10436-1.html
2018 年是开源软件史上意义非凡的一年,这一年在开源软件与商业软件融合的过程中发生了很多里程碑式的大事件Media
via https://linux.cn/article-10436-1.html
Open Source 102:开源的商业竞争优势
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/115700c7v7jhzrk3qprpi7.jpg">Open Source 102: 开源的商业竞争优势</a>2018 年是开源软件史上意义非凡的一年,这一年在开源软件与商业软件融合的过程中发生了很多里程碑式的大事件,我们也欣喜的看到中国开源软件企业所取得的长足进步。我们作为一家 VC 机构,出于对创始团队、软件的商业价值、以及开源精神的认同在早期投资支持了数家国内最具影响力的开源软件企业,一路走来也因此对开源商业有了更多的思考,与你分享。回顾 2018 年,我们见证了开源软件在商业层面取得的历史性突破:5 家千亿美金级软件企业与开源的融合要知道全球总共也就只有 6 家市值在千亿美金级的软件企业(Microsoft/Oracle/SAP/Adobe/IBM/Salesforce),算上 VMware 近 700 亿美元市值的准千亿级,一共是 7 家(相信 VMware 进入千亿俱乐部也只是时间问题)。IBM 以 340 亿美元收购了已上市开源软件企业 Red Hat,这同时也是商业软件史上创记录的一笔收购。Red Hat 从开源操作系统 Linux 切入,是私有云计算领域的重要力量,在云计算领域的奋力追赶是 IBM 这笔天价收购的核心商业诉求。Microsoft 以 75 亿美元收购了开源协作平台 GitHub。萨蒂亚要的不是 GitHub 的财务收入,他看重的是 GitHub 之上的开发者网络,在软件领域得开发者得生命力,他把 Microsoft 定义为一个开发者优先的公司(developer-first company),因此微软为这家 SaaS 公司付出了接近…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/115700c7v7jhzrk3qprpi7.jpg">Open Source 102: 开源的商业竞争优势</a>2018 年是开源软件史上意义非凡的一年,这一年在开源软件与商业软件融合的过程中发生了很多里程碑式的大事件,我们也欣喜的看到中国开源软件企业所取得的长足进步。我们作为一家 VC 机构,出于对创始团队、软件的商业价值、以及开源精神的认同在早期投资支持了数家国内最具影响力的开源软件企业,一路走来也因此对开源商业有了更多的思考,与你分享。回顾 2018 年,我们见证了开源软件在商业层面取得的历史性突破:5 家千亿美金级软件企业与开源的融合要知道全球总共也就只有 6 家市值在千亿美金级的软件企业(Microsoft/Oracle/SAP/Adobe/IBM/Salesforce),算上 VMware 近 700 亿美元市值的准千亿级,一共是 7 家(相信 VMware 进入千亿俱乐部也只是时间问题)。IBM 以 340 亿美元收购了已上市开源软件企业 Red Hat,这同时也是商业软件史上创记录的一笔收购。Red Hat 从开源操作系统 Linux 切入,是私有云计算领域的重要力量,在云计算领域的奋力追赶是 IBM 这笔天价收购的核心商业诉求。Microsoft 以 75 亿美元收购了开源协作平台 GitHub。萨蒂亚要的不是 GitHub 的财务收入,他看重的是 GitHub 之上的开发者网络,在软件领域得开发者得生命力,他把 Microsoft 定义为一个开发者优先的公司(developer-first company),因此微软为这家 SaaS 公司付出了接近…
能从远程获得乐趣的 Linux 命令
使用这些工具从远程了解天气、阅读资料等。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153112se1b7tf780eb1011.png">Media</a>我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到<a href="https://opensource.com/article/18/12/linux-toy-boxes">开始</a>,从头看过来。你会发现 Linux 终端有很多游戏、消遣和奇怪之处。虽然你之前可能已经看过我们日历中的一些玩具,但我们希望每个人都遇见一个新事物。今天的玩具(实际是玩具集合)有点不同。到目前为止,我主要是想把重点放在那些独立的玩具上,并且完全可在开源许可下使用。但是我从读者那里得到了一些很好的建议,利用开源工具远程访问一些开源或者不开源的东西。今天,我将介绍其中的一些。第一个是经典之作:使用 Telnet 观看星球大战的 ASCII 演绎版本。你的系统可能已经安装了 Telnet,因此你只需运行:<pre class="prettyprint linenums">$ telnet towel.blinkenlights.nl</pre>我第一次看到它是十年之前,因此我对于它还存在有点惊奇。如果你还没看过,请留出一点时间看一下。你不会后悔的。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153112yugbh5qterctcu5u.png">Media</a>接下来,Opensource.com 的撰稿人 <a href="https://opensource.com/users/ntlx">Manuel Dewald</a> 提出了一种从终端获取当地天气的方法。它很简单,你只需安装 curl(或者,wget)。<pre class="prettyprint linenums">$ curl wttr.in</pre><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153116jalcacu184z1r8a8.png">Media</a>最后,在假期中虽然你可以从<a href="https://opensource.com/article/16/12/web-browsers-linux-command-line">命令行 Web 浏览器</a>浏览你喜Ē…
使用这些工具从远程了解天气、阅读资料等。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153112se1b7tf780eb1011.png">Media</a>我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到<a href="https://opensource.com/article/18/12/linux-toy-boxes">开始</a>,从头看过来。你会发现 Linux 终端有很多游戏、消遣和奇怪之处。虽然你之前可能已经看过我们日历中的一些玩具,但我们希望每个人都遇见一个新事物。今天的玩具(实际是玩具集合)有点不同。到目前为止,我主要是想把重点放在那些独立的玩具上,并且完全可在开源许可下使用。但是我从读者那里得到了一些很好的建议,利用开源工具远程访问一些开源或者不开源的东西。今天,我将介绍其中的一些。第一个是经典之作:使用 Telnet 观看星球大战的 ASCII 演绎版本。你的系统可能已经安装了 Telnet,因此你只需运行:<pre class="prettyprint linenums">$ telnet towel.blinkenlights.nl</pre>我第一次看到它是十年之前,因此我对于它还存在有点惊奇。如果你还没看过,请留出一点时间看一下。你不会后悔的。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153112yugbh5qterctcu5u.png">Media</a>接下来,Opensource.com 的撰稿人 <a href="https://opensource.com/users/ntlx">Manuel Dewald</a> 提出了一种从终端获取当地天气的方法。它很简单,你只需安装 curl(或者,wget)。<pre class="prettyprint linenums">$ curl wttr.in</pre><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/153116jalcacu184z1r8a8.png">Media</a>最后,在假期中虽然你可以从<a href="https://opensource.com/article/16/12/web-browsers-linux-command-line">命令行 Web 浏览器</a>浏览你喜Ē…
在 Linux 中移除从源代码安装的程序的一种简单的方法
GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。Media
via https://linux.cn/article-10438-1.html
GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。Media
via https://linux.cn/article-10438-1.html
在 Linux 中移除从源代码安装的程序的一种简单的方法
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/235455jw7erex3e3d3cdmq.jpg">Media</a>不是所有的程序都可以在官方或者第三方库中找到,因此你不能使用常规的包管理来安装它们。有时你不得不从源代码中手动构建这些程序。就如你已经知道的一样,当你从源代码中安装一个程序的时候,这个软件包所包含的文件将会复制到本地的多个位置,例如 /usr/local/bin、/usr/local/etc/。如果从源代码中安装的程序没有内置的卸载程序,当你不再需要这个程序的时候,卸载它就会很麻烦。你可能会花费双倍(甚至更多)的时间找出这些文件然后手动删除它们。我以前一直是这样做的,直到我发现了 GNU Stow。谢天谢地,Stow 有一个很棒的方法可以轻松管理从源代码安装的程序。引用官方网站里的一段介绍,GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。简单来说,Stow 帮助你把这些程序文件以一种容易管理的方式组织在了一起。在这个方法中,文件将不会被复制到多个位置。所有的这些文件都会被保存在一个特定的文件夹中,通常是以程序名命名的,然后 Stow 会在一个合适的位置为所有的程序文件创建符号连接。比如 /usr/local/bin 中会包含 /usr/local/stow/vim/bin、/usr/local/stow/python/bin 中文件的符号链接。并且同样递归地用于其他的&#…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/12/235455jw7erex3e3d3cdmq.jpg">Media</a>不是所有的程序都可以在官方或者第三方库中找到,因此你不能使用常规的包管理来安装它们。有时你不得不从源代码中手动构建这些程序。就如你已经知道的一样,当你从源代码中安装一个程序的时候,这个软件包所包含的文件将会复制到本地的多个位置,例如 /usr/local/bin、/usr/local/etc/。如果从源代码中安装的程序没有内置的卸载程序,当你不再需要这个程序的时候,卸载它就会很麻烦。你可能会花费双倍(甚至更多)的时间找出这些文件然后手动删除它们。我以前一直是这样做的,直到我发现了 GNU Stow。谢天谢地,Stow 有一个很棒的方法可以轻松管理从源代码安装的程序。引用官方网站里的一段介绍,GNU Stow 是一个符号链接归集管理器,它可以收集文件系统上不同目录中的不同软件和/或数据包,使它们看起来像是一个整体。简单来说,Stow 帮助你把这些程序文件以一种容易管理的方式组织在了一起。在这个方法中,文件将不会被复制到多个位置。所有的这些文件都会被保存在一个特定的文件夹中,通常是以程序名命名的,然后 Stow 会在一个合适的位置为所有的程序文件创建符号连接。比如 /usr/local/bin 中会包含 /usr/local/stow/vim/bin、/usr/local/stow/python/bin 中文件的符号链接。并且同样递归地用于其他的&#…
如何使用 Beamer 创建演示文稿
Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。Media
via https://linux.cn/article-10439-1.html
Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。Media
via https://linux.cn/article-10439-1.html
如何使用 Beamer 创建演示文稿
Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/13/113905one2p82t58vtqgtq.jpeg">Media</a><a href="https://www.overleaf.com/learn/latex/Beamer">Beamer</a> 是用于生成幻灯片的 LaTeX 包。它最棒的功能之一是它可以利用 LaTeX 强大的排版系统和其生态系统中的所有其他软件包。例如,我经常在包含代码的 Beamer 演示文稿中使用 LaTeX 的 <a href="https://www.overleaf.com/learn/latex/Code_listing">listings</a> 包。创建演示文稿要创建一个 Beamer 文档,输入:<pre class="prettyprint linenums">\documentclass{beamer}</pre>与任何其他 LaTeX 文档一样,添加你要使用的任何包。例如,要使用 listings 包,请输入:<pre class="prettyprint linenums">\usepackage{listings}</pre>将所有内容放在 document 环境中:<pre class="prettyprint linenums">\begin{document}</pre>Beamer 文档通常时是一系列的 frame 环境。包含代码的 frame 应该被标记为 fragile:<pre class="prettyprint linenums">\begin{frame}[fragile]</pre>使用标题开始你的 frame:<pre class="prettyprint linenums">\frametitle{Function to Do Stuff}</pre>开始演示前测试你的代码世上最糟糕的感受之一你在演讲中说到代码时,突然发现了一个 bug —— 也许是拼错了关键词或者漏掉了括号。解决方法之一就是测试演示的代码。在多数演示环境中,这意味着创建一个单独的文件、编写测试接着拷贝和粘贴。然而,在 Beamer 中有一种更好的方法。想象一下,你有一个名为 do_stuff.py 的文件,其中包含代码。你可以在第二个文件中编写 do_stuff.py 代码的测试,你可以将其命名为 test_do_stuff.py,并且可以使用 <a href="https://docs.pytest.org/en/latest/">pytest</a> 测试。但是,do_stuff.py 中的大多数行都缺乏教学价值,比如定义辅ࡄ…
Beamer 将 LaTeX 强大的排版功能和生态系统带进创建幻灯片中。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/13/113905one2p82t58vtqgtq.jpeg">Media</a><a href="https://www.overleaf.com/learn/latex/Beamer">Beamer</a> 是用于生成幻灯片的 LaTeX 包。它最棒的功能之一是它可以利用 LaTeX 强大的排版系统和其生态系统中的所有其他软件包。例如,我经常在包含代码的 Beamer 演示文稿中使用 LaTeX 的 <a href="https://www.overleaf.com/learn/latex/Code_listing">listings</a> 包。创建演示文稿要创建一个 Beamer 文档,输入:<pre class="prettyprint linenums">\documentclass{beamer}</pre>与任何其他 LaTeX 文档一样,添加你要使用的任何包。例如,要使用 listings 包,请输入:<pre class="prettyprint linenums">\usepackage{listings}</pre>将所有内容放在 document 环境中:<pre class="prettyprint linenums">\begin{document}</pre>Beamer 文档通常时是一系列的 frame 环境。包含代码的 frame 应该被标记为 fragile:<pre class="prettyprint linenums">\begin{frame}[fragile]</pre>使用标题开始你的 frame:<pre class="prettyprint linenums">\frametitle{Function to Do Stuff}</pre>开始演示前测试你的代码世上最糟糕的感受之一你在演讲中说到代码时,突然发现了一个 bug —— 也许是拼错了关键词或者漏掉了括号。解决方法之一就是测试演示的代码。在多数演示环境中,这意味着创建一个单独的文件、编写测试接着拷贝和粘贴。然而,在 Beamer 中有一种更好的方法。想象一下,你有一个名为 do_stuff.py 的文件,其中包含代码。你可以在第二个文件中编写 do_stuff.py 代码的测试,你可以将其命名为 test_do_stuff.py,并且可以使用 <a href="https://docs.pytest.org/en/latest/">pytest</a> 测试。但是,do_stuff.py 中的大多数行都缺乏教学价值,比如定义辅ࡄ…
JSON 的兴起与崛起
我们不禁要问为什么 XML 的噩运来的如此之快,以至于短短十来年,“异步 JavaScript 和 XML” 这个名称就成为一个很讽刺的误称。Media
via https://linux.cn/article-10440-1.html
我们不禁要问为什么 XML 的噩运来的如此之快,以至于短短十来年,“异步 JavaScript 和 XML” 这个名称就成为一个很讽刺的误称。Media
via https://linux.cn/article-10440-1.html
JSON 的兴起与崛起
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/115006ibcnakngxqxi6lnl.png">Media</a>JSON 已经占领了全世界。当今,任何两个应用程序彼此通过互联网通信时,可以打赌它们在使用 JSON。它已被所有大型企业所采用:十大最受欢迎的 web API 接口列表中(主要由 Google、Facebook 和 Twitter 提供),仅仅只有一个 API 接口是以 XML 的格式开放数据的。<a href="#fn1">1</a> 这个列表中的 Twitter API 为此做了一个鲜活的注脚:其对 XML 格式的支持到 2013 年结束,其时发布的新版本的 API 取消 XML 格式,转而仅使用 JSON。JSON 也在程序编码级别和文件存储上被广泛采用:在 Stack Overflow(LCTT 译注:一个面向程序员的问答网站)上,现在更多的是关于 JSON 的问题,而不是其他的数据交换格式。<a href="#fn2">2</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/115020iuvmnv5hfaaaovrq.svg">Media</a>XML 仍然在很多地方存在。网络上它被用于 SVG 和 RSS / Atom 信息流。Android 开发者想要获得用户权限许可时,需要在其 APP 的 manifest 文件中声明 —— 此文件是 XML 格式的。XML 的替代品也不仅仅只有 JSON,现在有很多人在使用 YAML 或 Google 的 Protocol Buffers 等技术,但这些技术的受欢迎程度远不如 JSON。目前来看,JSON 是应用程序在网络之间通信的首选协议格式。考虑到自 2005 年来 Web 编程世界就垂涎于 “异步 JavaScript 和 XML” 而非 “异步 JavaScript 和 JSON” 的技术潜力,你可以发现 JSON 的主导地位是如此的让人惊讶。当然了,这可能与这两种通信格式的受欢迎程度无关,而仅反映出缩写 “AJAX” 似乎比 “AJAJ” 更具吸引力。但是,即使在…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/115006ibcnakngxqxi6lnl.png">Media</a>JSON 已经占领了全世界。当今,任何两个应用程序彼此通过互联网通信时,可以打赌它们在使用 JSON。它已被所有大型企业所采用:十大最受欢迎的 web API 接口列表中(主要由 Google、Facebook 和 Twitter 提供),仅仅只有一个 API 接口是以 XML 的格式开放数据的。<a href="#fn1">1</a> 这个列表中的 Twitter API 为此做了一个鲜活的注脚:其对 XML 格式的支持到 2013 年结束,其时发布的新版本的 API 取消 XML 格式,转而仅使用 JSON。JSON 也在程序编码级别和文件存储上被广泛采用:在 Stack Overflow(LCTT 译注:一个面向程序员的问答网站)上,现在更多的是关于 JSON 的问题,而不是其他的数据交换格式。<a href="#fn2">2</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/115020iuvmnv5hfaaaovrq.svg">Media</a>XML 仍然在很多地方存在。网络上它被用于 SVG 和 RSS / Atom 信息流。Android 开发者想要获得用户权限许可时,需要在其 APP 的 manifest 文件中声明 —— 此文件是 XML 格式的。XML 的替代品也不仅仅只有 JSON,现在有很多人在使用 YAML 或 Google 的 Protocol Buffers 等技术,但这些技术的受欢迎程度远不如 JSON。目前来看,JSON 是应用程序在网络之间通信的首选协议格式。考虑到自 2005 年来 Web 编程世界就垂涎于 “异步 JavaScript 和 XML” 而非 “异步 JavaScript 和 JSON” 的技术潜力,你可以发现 JSON 的主导地位是如此的让人惊讶。当然了,这可能与这两种通信格式的受欢迎程度无关,而仅反映出缩写 “AJAX” 似乎比 “AJAJ” 更具吸引力。但是,即使在…
Termtosvg:将你在 Linux 终端中操作录制成 SVG 动画
Termtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。Media
via https://linux.cn/article-10441-1.html
Termtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。Media
via https://linux.cn/article-10441-1.html
Termtosvg:将你在 Linux 终端中操作录制成 SVG 动画
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/121313jcoeexcx1di7i1xl.jpg">Media</a>一般人喜欢使用历史命令功能来查看/再次调用之前在终端中输入的命令。不幸的是,那样做只会显示先前输入的命令,而不是之前输出的内容。在 Linux 中,有许多可以用来记录终端活动的实用工具。这种工具将会帮助我们记录用户在终端中的活动,并帮助我们识别输出中有用的信息。在这之前,我们已经介绍了一些这类实用工具了。今天,让我们接着讨论这类工具。如果你希望尝试其它一些记录你终端活动的工具,我推荐你试试 <a href="https://www.2daygeek.com/script-command-record-save-your-terminal-session-activity-linux/">script</a> 命令和 <a href="https://www.2daygeek.com/terminalizer-a-tool-to-record-your-terminal-and-generate-animated-gif-images/">Terminalizer</a> 工具。script 是在无头服务器中记录终端活动的最佳方式之一。script 是一个记录在终端中输入过的 Unix 命令的实用工具(在某些终端中,它会记录显示在你终端中的所有东西)。它会在当前工作目录下以文本文件方式储存所有终端输出。不过,如果你在寻找 <a href="https://www.2daygeek.com/category/gif-recorder/">GIF 录制器</a> ,你可以尝试 <a href="https://www.2daygeek.com/gifine-create-animated-gif-vedio-recorder-linux-mint-debian-ubuntu/">Gifine</a>、<a href="https://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/">Kgif</a> 和 <a href="https://www.2daygeek.com/peek-create-animated-gif-screen-recorder-capture-arch-linux-mint-fedora-ubuntu/">Peek</a>。什么是 TermtosvgTermtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。Termtosvg 的特点可以制作嵌入于项目主页的简洁美观的动画。可以在 SVG 模板…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/14/121313jcoeexcx1di7i1xl.jpg">Media</a>一般人喜欢使用历史命令功能来查看/再次调用之前在终端中输入的命令。不幸的是,那样做只会显示先前输入的命令,而不是之前输出的内容。在 Linux 中,有许多可以用来记录终端活动的实用工具。这种工具将会帮助我们记录用户在终端中的活动,并帮助我们识别输出中有用的信息。在这之前,我们已经介绍了一些这类实用工具了。今天,让我们接着讨论这类工具。如果你希望尝试其它一些记录你终端活动的工具,我推荐你试试 <a href="https://www.2daygeek.com/script-command-record-save-your-terminal-session-activity-linux/">script</a> 命令和 <a href="https://www.2daygeek.com/terminalizer-a-tool-to-record-your-terminal-and-generate-animated-gif-images/">Terminalizer</a> 工具。script 是在无头服务器中记录终端活动的最佳方式之一。script 是一个记录在终端中输入过的 Unix 命令的实用工具(在某些终端中,它会记录显示在你终端中的所有东西)。它会在当前工作目录下以文本文件方式储存所有终端输出。不过,如果你在寻找 <a href="https://www.2daygeek.com/category/gif-recorder/">GIF 录制器</a> ,你可以尝试 <a href="https://www.2daygeek.com/gifine-create-animated-gif-vedio-recorder-linux-mint-debian-ubuntu/">Gifine</a>、<a href="https://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/">Kgif</a> 和 <a href="https://www.2daygeek.com/peek-create-animated-gif-screen-recorder-capture-arch-linux-mint-fedora-ubuntu/">Peek</a>。什么是 TermtosvgTermtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。Termtosvg 的特点可以制作嵌入于项目主页的简洁美观的动画。可以在 SVG 模板…
极客漫画:你准备好微服务了吗?
微服务是个好东西,就像乐高积木一样,你可以拼成各种东西,当前,前提是你足够会玩。 从早些年的 SOA 和中间件,到现在的微服务和容器,但似乎历史总是螺旋式变化的。看起来笨拙而大而无当的独石应用,其实在很多场景,要比微服务更适合。Media
via https://linux.cn/article-10442-1.html
微服务是个好东西,就像乐高积木一样,你可以拼成各种东西,当前,前提是你足够会玩。 从早些年的 SOA 和中间件,到现在的微服务和容器,但似乎历史总是螺旋式变化的。看起来笨拙而大而无当的独石应用,其实在很多场景,要比微服务更适合。Media
via https://linux.cn/article-10442-1.html
极客漫画:你准备好微服务了吗?
Media微服务是个好东西,就像乐高积木一样,你可以拼成各种东西,当前,前提是你足够会玩。从早些年的 SOA 和中间件,到现在的微服务和容器,但似乎历史总是螺旋式变化的。看起来笨拙而大而无当的独石应用,其实在很多场景,要比微服务更适合。话说,微服务的锅该那只汤姆猫背吗?:->via: http://turnoff.us/geek/are-you-ready-for-microservices/作者:Daniel Stori 译者&点评&校对:wxy 合成:wxy 本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-10442-1.html?utm_source=rss&utm_medium=rss
Media微服务是个好东西,就像乐高积木一样,你可以拼成各种东西,当前,前提是你足够会玩。从早些年的 SOA 和中间件,到现在的微服务和容器,但似乎历史总是螺旋式变化的。看起来笨拙而大而无当的独石应用,其实在很多场景,要比微服务更适合。话说,微服务的锅该那只汤姆猫背吗?:->via: http://turnoff.us/geek/are-you-ready-for-microservices/作者:Daniel Stori 译者&点评&校对:wxy 合成:wxy 本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-10442-1.html?utm_source=rss&utm_medium=rss