Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
密码学及公钥基础设施入门

学习密码学背后的基本概念,主要是保密性、完整性和身份认证。Media

via https://linux.cn/article-9792-1.html
用这样的 Vi 配置来保存和组织你的笔记

Vimwiki 和 GitLab 是记录笔记的强大组合。Media

via https://linux.cn/article-9793-1.html
如何在 Linux 中的特定时间运行命令

我只是想知道在类 Unix 操作系统中是否有简单的方法可以在特定的时间运行一个命令,并且一旦超时就自动杀死它Media

via https://linux.cn/article-9794-1.html
让我们从 GitHub 中迁移出来

有些人可能认为微软的收购没有问题,但对我来说,这是压垮骆驼的最后一根稻草。Media

via https://linux.cn/article-9795-1.html
让我们从 GitHub 中迁移出来

编者按:本文不代表本站观点,而且微软收购 GitHub 的后果目前尚未显现出来,本文只是提供了一个选择。Media正如你们之前听到的那样,微软收购了 GitHub。这对 GitHub 的未来意味着什么尚不清楚,但 Gitlab 的人认为微软的最终目标是将 GitHub 整合到他们的 Azure 帝国。对我来说,这很有道理。尽管我仍然不情愿地将 GitHub 用于某些项目,但我前一段时间将所有个人仓库迁移到了 Gitlab 中。现在是时候让你做同样的事情,并抛弃 GitHub。有些人可能认为微软的收购没有问题,但对我来说,这是压垮骆驼的最后一根稻草。几年来,微软一直在开展一场关于他们如何热爱 Linux 的大型营销活动,并突然决定用所有它的形式拥抱自由软件。更像 MS BS 给我​​的。让我们花点时间提醒自己:Windows 仍然是一个巨大的专有怪物,数十亿人每天都丧失了他们的隐私和权利中。微软公司(曾经)以传播自由软件的“危害”闻名,以防止政府和学校放弃 Windows,转而支持 FOSS。为了确保他们的垄断地位,微软通过向全世界的小学颁发“免费”许可证来吸引孩子使用 Windows。毒品经销商使用相同的策略并提供免费样品来获取新客户。微软的 Azure 平台 - 即使它可以运行 Linux 虚拟机 - 它仍然是一个巨大的专有管理程序。我知道移动 git 仓库看起来像是一件痛苦的事情,但是 Gitlab 的员工正在乘着人们离开 GitHub 的浪潮,并通过提供 GitHub 导入器使迁移变得容易。如果你不想使用 Gitlab 的主实例(gitlab.org),下面是另外两个你可以用于自由软件项目的备选实例:Debian Gitlab 实例适用于每个 FOSS 项目,它不仅适用于与 Debian 相关的项目。只要项目符合 Debian 自由软件指南,你就可以使用该实例及其 CI。Riseup 为名为 0xacab 的激进项目维护了一个 Gitlab 实例。如果你的理念与 Riseup 的一致,他们很乐意在那里托管你的项目。朋友不要再让人使用 Github 了。via: https://veronneau.org/lets-migrate-away-from-github.html作者:Louis-Philippe Véronneau 选题:lujun9972 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-9795-1.html?utm_source=rss&utm_medium=rss
你的路由器有多不安全?

你的路由器是你与互联网之间的第一个联系点。它给你带来了多少风险?Media

via https://linux.cn/article-9796-1.html
Python 调试技巧

这里有一些我最喜欢的 Python 调试技巧。Media

via https://linux.cn/article-9797-1.html
容器基础知识:你需要知道的术语

让我们来探讨 Docker 容器世界中使用的一些基本术语吧。Media

via https://linux.cn/article-9799-1.html
协同编辑器的历史性清单

按时间顺序快速列出主要协同编辑器的演变。Media

via https://linux.cn/article-9800-1.html
如何记录你在终端中执行的所有操作

无论你是安装程序,创建目录/文件还是删除文件夹,一切都会被记录下来,包括命令和相应的输出。这个命令对那些想要一份交互式会话拷贝作为作业证明的人有用。无论是学生还是导师,你都可以将所有在终端中执行的操作和所有输出复制一份。Media

via https://linux.cn/article-9802-1.html
不要再手动合并你的拉取请求(PR)

如果有什么我讨厌的东西,那就是当我知道我可以自动化它们时,但我手动进行了操作。只有我有这种情况么?我觉得不是。Media

via https://linux.cn/article-9803-1.html
不要再手动合并你的拉取请求(PR)

Media如果有什么我讨厌的东西,那就是当我知道我可以自动化它们时,但我手动进行了操作。只有我有这种情况么?我觉得不是。尽管如此,他们每天都有数千名使用 GitHub 的开发人员一遍又一遍地做同样的事情:他们点击这个按钮:Screen-Shot-2018-06-19-at-18.12.39这没有任何意义。不要误解我的意思。合并拉取请求是有意义的。只是每次点击这个该死的按钮是没有意义的。这样做没有意义因为世界上的每个开发团队在合并拉取请求之前都有一个已知的先决条件列表。这些要求几乎总是相同的,而且这些要求也是如此:是否通过测试?文档是否更新了?这是否遵循我们的代码风格指南?是否有若干位开发人员对此进行审查?随着此列表变长,合并过程变得更容易出错。 “糟糕,在没有足够的开发人员审查补丁时 John 就点了合并按钮。” 要发出警报么?在我的团队中,我们就像外面的每一支队伍。我们知道我们将一些代码合并到我们仓库的标准是什么。这就是为什么我们建立一个持续集成系统,每次有人创建一个拉取请求时运行我们的测试。我们还要求代码在获得批准之前由团队的 2 名成员进行审查。当这些条件全部设定好时,我希望代码被合并。而不用点击一个按钮。这正是启动 Mergify 的原因。github-branching-1Mergify 是一个为你按下合并按钮的服务。你可以在仓库的 .mergify.yml 中定义规则,当规则满足时,Mergify 将合并该请求。无需按任何按钮。随机抽取一个请求,就像这样:Screen-Shot-2018-06-20-at-17.12.11这来自一个小型项目,没有很多持续集成服务,只有 Travis。在这个拉取请求中,一切都是绿色的:其中一个所有者审查了代码,并且测试通过。因此,该代码应该被合并:但是它还在那里挂起这,等待某人有一天按下合并按钮。使用 Mergify 后,你只需将 .mergify.yml 放在仓库的根目录即可:
rules: default: protection: required_status_checks: contexts: - continuous-integration/travis-ci required_pull_request_reviews: required_approving_review_count: 1
通过这样的配置,Mergify 可以实现所需的限制,即 Travis 通过,并且至少有一个项目成员审阅了代码。只要这些条件是肯定的,拉取请求就会自动合并。我们将 Mergify 构建为 一个对开源项目免费的服务提供服务的引擎也是开源的。现在去尝试它,不要让这些拉取请求再挂起哪怕一秒钟。合并它们!如果你有任何问题,请随时在下面向我们提问或写下评论!并且敬请期待 - 因为 Mergify 还提供了其他一些我迫不及待想要介绍的功能!via: https://julien.danjou.info/stop-merging-your-pull-request-manually/作者:Julien Danjou 选题:lujun9972 译者:geekpi 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-9803-1.html?utm_source=rss&utm_medium=rss
Intel 和 AMD 透露新的处理器设计

Whiskey Lake U 系列和 Amber Lake Y 系列的酷睿芯片将会在今年秋季开始出现在超过 70 款笔记本以及 2 合 1 机型中。Media

via https://linux.cn/article-9804-1.html
云计算的成本

两个开发团队的一天Media

via https://linux.cn/article-9805-1.html
命令行中的世界杯

如果你很喜欢命令行,那么有更好的方法用一个小型命令行程序追踪最新的世界杯比分和排名。Media

via https://linux.cn/article-9806-1.html
命令行中的世界杯

Media足球始终在我们身边。即使我们国家的队伍已经出局(LCTT 译注:显然这不是指我们国家,因为我们根本没有入局……),我还是想知道球赛比分。目前, 国际足联世界杯是世界上最大的足球锦标赛,2018 届是由俄罗斯主办的。每届世界杯都有一些足球强国未能取得参赛资格(LCTT 译注:我要吐槽么?)。意大利和荷兰就无缘本次世界杯。但是即使在未参加比赛的国家,追踪关注最新比分也成为了一种仪式。我希望能及时了解这个世界级的重大赛事最新比分的变化,而不用去搜索不同的网站。如果你很喜欢命令行,那么有更好的方法用一个小型命令行程序追踪最新的世界杯比分和排名。让我们看一看最热门的可用的球赛趋势分析程序之一,它叫作 football-cli。football-cli 不是一个开创性的应用程序。这几年,有许多命令行工具可以让你了解到最新的球赛比分和赛事排名。例如,我是 soccer-cli (Python 写的)和 App-football (Perl 写的)的重度用户。但我总是在寻找新的趋势分析应用,而 football-cli 在某些方面脱颖而出。football-cli 是 JavaScript 开发的,由 Manraj Singh 编写,它是开源的软件。基于 MIT 许可证发布,用 npm(JavaScript 包管理器)安装十分简单。那么,让我们直接行动吧!该应用程序提供了命令以获取过去及现在的赛事得分、查看联赛和球队之前和将要进行的赛事。它也会显示某一特定联赛的排名。有一条指令可以列出程序所支持的不同赛事。我们不妨从最后一个条指令开始。在 shell 提示符下:
luke@ganges:~$ football lists
球赛列表世界杯被列在最下方,我错过了昨天的比赛,所以为了了解比分,我在 shell 提示下输入:
luke@ganges:~$ football scores
football-wc-22现在,我想看看目前的世界杯小组排名。很简单:
luke@ganges:~$ football standings -l WC
下面是输出的一个片段:football-wc-biaoge你们当中眼尖的可能会注意到这里有一个错误。比如比利时看上去领先于 G 组,但这是不正确的,比利时和英格兰(截稿前)在得分上打平。在这种情况下,纪律好的队伍排名更高。英格兰收到两张黄牌,而比利时收到三张,因此,英格兰应当名列榜首。假设我想知道利物浦 90 天前英超联赛的结果,那么:
luke@ganges:~$ football fixtures -l PL -d 90 -t "Liverpool"
足球-利物浦我发现这个程序非常方便。它用一种清晰、整洁而有吸引力的方式显示分数和排名。当欧洲联赛再次开始时,它就更有用了。(事实上 2018-19 冠军联赛已经在进行中)!这几个示例让大家对 football-cli 的实用性有了更深的体会。想要了解更多,请转至开发者的 GitHub 页面。足球 + 命令行 = football-cli。如同许多类似的工具一样,该软件从 football-data.org 获取相关数据。这项服务以机器可读的方式为所有欧洲主要联赛提供数据,包括比赛、球队、球员、结果等等。所有这些信息都是以 JOSN 形式通过一个易于使用的 RESTful API 提供的。via: https://www.linuxlinks.com/football-cli-world-cup-football-on-the-command-line/作者:Luke Baker 选题:lujun9972 译者:ZenMoore 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-9806-1.html?utm_source=rss&utm_medium=rss
3 个 Python 命令行工具

用 Click、Docopt 和 Fire 库写你自己的命令行应用。Media

via https://linux.cn/article-9807-1.html
红帽 6.28 媒体开放日手记

在一个炎热的下午我代表 Linux 中国开源社区参加了 6 月 28 日的红帽媒体开放日。Media

via https://linux.cn/article-9808-1.html
ACRN 作为迷你 Hypervisor 应用于工业物联网

MediaHypervisor 是一种非常复杂的软件,这意味着该领域中很少出现新的软件方案——尽管在去年一些为容器环境而设计的一些新的 hypervisor 登上了新闻头条。但是除了容器,另外一个在未来的几年将受到热捧的技术领域是物联网,包括潜力巨大的工业物联网。(了解一下产业规模,全球的工业物联网支出在 2012 年达到 200 亿美元,预计到 2020 年将会达到 5000 亿美元)。考虑到这一点,ACRN 的出现就不足为奇了。ACRN 是什么?简单而言之,它是一个为满足嵌入式物联网开发的独特需求而构建的开源参考 hypervisor,它在 3 月份底由 Linux 基金会推出。这引出了一个或者两个明显的问题:嵌入式物联网开发的独特需求究竟是什么?为什么它们如此重要?以至于由 Linux 基金会托管的现有用于数据中心 hypervisor Xen 也不能满足?需要的是一个更小型的 hypervisor,且具有负载优先分配功能第一个需求是小型化。毫不奇怪,数据中心 hypervisor 往往很大,而 IoT 设备资源有限。好消息是,ACRN 只有 25,000 行代码,相比平均具有 160,000 行代码的数据中心 hypervisor来说,数据量只有其六分之一。另一个主要需求是一些工作负载优于其它的。这是必要的,因为 ACRN 的目标应用领域之一是汽车行业,现在运行在不同硬件模块上的不同负载,,将来将会运行在单一系统上并由像 ACRN 这样的 hypervisor 进行隔离。由于 ACRN 可以调整工作负载优先级,它能确保运行在一个“安全的关键区域”的工作负载可以在需要的时候从‘非关键安全区域’获取对资源的控制。实际上,这个功能不仅汽车领域感兴趣。Linux 基金会的执行董事 Jim Zemlin 解释到,“ ACRN 针对资源受限设备进行了优化,专注于隔离安全关键性工作负载,并赋予它们高优先级,使该项目适用于多种 IoT 使用案例。”当然,已有一些嵌入式 hypervisor 了,但是做 ACRN 项目的人指出,那些已有的方案是高度依赖于封闭源代码的专有解决方案,它们非常贵,并且它们某些资源是不能被共享的,因为采用了分区实现的方法。因此,ACRN 的另一个关键特性是它是开源的这个事实,而且能够通过 GitHub 提供给所有人,并且使用它可能会节约巨大的研发成本。英特尔公司副总裁兼开源技术中心总经理苏义德(Imad Sousou)表示,“ACRN 将拥有一个基于 Linux 的服务操作系统,能同时运行多种访客操作系统,为工作负载整合提供强大的解决方案。”英特尔为 ACRN 代码做出了重要的贡献。ACRN 还处于早期阶段,尚不清楚主要用户是谁。不过很可能会是“盖好房子,自有人来住”。从现在开始,未来几年,如果路上的很多汽车在控制系统核心采用 ACRN 运行,不要感到奇怪。不过这几年虚拟化和容器领域的变化很快,如果车上没用到 ACRN 也不足为奇。Media

via https://linux.cn/article-9809-1.html?utm_source=rss&utm_medium=rss
lua 中神奇的表(table)

最近在尝试配置 awesome WM,因此粗略地学习了一下 lua 。 在学习过程中,我完全被 table 在 lua 中的应用所镇住了。Media

via https://linux.cn/article-9810-1.html
Linux 上的五个开源益智游戏

用这些有趣好玩的游戏来测试你的战略能力。Media

via https://linux.cn/article-9812-1.html