GNU GPL 许可证常见问题解答(四)

GNU GPL 许可证常见问题解答(四)

本文由高级咨询师薛亮据自由软件基金会(FSF)的英文原文翻译而成,这篇常见问题解答澄清了在使用 GNU 许可证中遇到许多问题,对于企业和软件开发者在实际应用许可证和解决许可证问题时具有很强的实践指导意义。
Gitlab CI 常规介绍

Gitlab CI 常规介绍

Gitlab CI 是一个功能非常强大的持续集成系统,有很多不同的功能,而且每次发布都会增加新的功能。它的技术文档也很丰富,但是对那些要在已经配置好的 Gitlab 上使用它的用户来说,它缺乏一个一般性介绍。
书评:《Ours to Hack and to Own》

书评:《Ours to Hack and to Own》

一种逐渐流行的补救办法就是建立平台合作社(platform cooperatives), 即由他们的用户所拥有的电子化平台。正如这本书《Ours to Hack and to Own》所阐述的,平台合作社背后的观点与开源有许多相同的根源。
如何使用 date 命令

如何使用 date 命令

在本文中, 我们会通过一些案例来演示如何使用 Linux 中的 date 命令。date 命令可以用户输出/设置系统日期和时间。 date 命令很简单, 请参见下面的例子和语法。
检查系统和硬件信息的命令

检查系统和硬件信息的命令

作为一名优秀的系统管理员意味着要了解有关 IT 基础架构的所有信息,并掌握有关服务器的所有信息,无论是硬件还是操作系统。
怎样在 Ubuntu 下安装 Moodle(魔灯)

怎样在 Ubuntu 下安装 Moodle(魔灯)

Moodle (模块化面向对象动态学习环境的缩写)是一种自由而开源的学习管理系统,为教师、学生和管理员提供个性化的学习环境。Moodle 由 Moodle 项目创建,由 Moodle 总部统一领导和协调。
通过实例学习 tcpdump 命令

通过实例学习 tcpdump 命令

tcpdump 是一个很常用的网络包分析工具,可以用来显示通过网络传输到本系统的 TCP/IP 以及其他网络的数据包。tcpdump 使用 libpcap 库来抓取网络报,这个库在几乎在所有的 Linux/Unix 中都有。
一步步采用 Kubernetes

一步步采用 Kubernetes

这正是 Kubernetes 登场的时候。它是一个容器编排orchestration系统,它允许您以一定的标准管理、缩放和部署应用程序的不同部分,并且成为其中的重要工具。
在 Xfce 会话中保存窗口的位置

在 Xfce 会话中保存窗口的位置

如果你发现 Xfce 会话不能保存窗口的位置,那么启用“登出时保存”,然后登出再重新登录一次,可能就能永久修复这个问题了(如果你想要保持相同的会话,再次登录时恢复的话)。
绝不要用的 Linux 命令!

绝不要用的 Linux 命令!

只需要一个愚蠢的举动,你甚至可以毁掉一个价值数十亿美元的企业,就像 没有打补丁的 Apache Struts 一样。
哪一种 Ubuntu 官方版本最适合你?

哪一种 Ubuntu 官方版本最适合你?

我认为帮助新用户决定选择对他们来说哪个特色版本最好可能是至关重要的。毕竟,从一开始就选择一个不合适的发行版是一种不太理想的体验。
Linux 下最好的 5 个比特币客户端

Linux 下最好的 5 个比特币客户端

客户端可以轻松管理你的比特币。许多客户端提供了不同级别的安全性,以确保你不会失去宝贵的数字货币。总之,你会发现它是帮助的,相信我。
为你的 Linux 应用创建 .desktop 文件

为你的 Linux 应用创建 .desktop 文件

在 Linux 中,一个 .desktop 文件就是一个用来运行程序的快捷方式。没有 .desktop 的话,你的应用就不会在应用菜单中显示了,也无法使用像 Synapse 和 Albert 这样的第三方启动起启动了。
KPTI:内核页表隔离的当前的发展

KPTI:内核页表隔离的当前的发展

英特尔处理器曝出了一个严重的硬件设计漏洞,迫使包括 Linux、Windows 在内的主要操作系统和各大云计算服务商都忙着打补丁。因为漏洞信息没有解密,所以目前只能通过已发布的补丁反推这个漏洞。这里是一篇对该漏洞的技术分析文章。
源代码即是许可证

源代码即是许可证

对于开源软件来说,其许可证信息内嵌在源代码中。为了降低复杂性,您可以生成不同的视图。
Linux 下使用 sudo 进行赋权

Linux 下使用 sudo 进行赋权

学习怎么在保护 root 密码的安全性的同时,为可信用户赋予所管理的网络功能和特定服务的权限。
如何解决 Linux 中“磁盘空间不足”的问题

如何解决 Linux 中“磁盘空间不足”的问题

明明有很多剩余空间,但 Linux 系统依然提示没有空间剩余。为什么会这样呢?Linux 偶尔会有一些令人沮丧的模糊的错误消息出现,而这就是其中一种。不过这种错误通常都是由某几种因素导致的。
Cheat : 一个实用 Linux 命令示例集合

Cheat : 一个实用 Linux 命令示例集合

我们中的许多人经常查看 man 页面 来了解命令开关(选项),它会显示有关命令语法、说明、细节和可用的选项,但它没有任何实际的例子。因此,在组合成一个我们需要的完整命令时会遇到一些麻烦。
如何在 CentOS 7 / RHEL 7 的 KVM 上启用嵌套虚拟化

如何在 CentOS 7 / RHEL 7 的 KVM 上启用嵌套虚拟化

嵌套虚拟化意味着在虚拟机内配置虚拟化环境。换句话说,我们可以说嵌套虚拟化是虚拟机管理程序(hypervisor)的一个特性,它允许我们通过虚拟化管理程序(宿主机)的硬件加速在虚拟服务器内安装和运行虚拟机。
10 个例子教你学会 ncat (nc) 命令

10 个例子教你学会 ncat (nc) 命令

ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的。它是一款拥有多种功能的 CLI 工具,可以用来在网络上读、写以及重定向数据。
一行命令轻松升级 Ubuntu

一行命令轻松升级 Ubuntu

Gianluigi ‘Zane’ Zanettini 写的 zzupdate 只需一个命令就可以在 Ubuntu 中清理、更新、自动删除、版本升级、该工具的自我更新。
使用 pss 提升你的代码搜索能力

使用 pss 提升你的代码搜索能力

搜索代码库是开发者每天都要做的事情。从修改 bug 到学习新代码,或者查看如何调用某个 API,能快速在代码库中导航的能力都是一大助力。幸运的是,我们有专门的工具来搜索代码。pss 就是其中一个工具,让我们来看看如何安装和使用它吧。
UC 浏览器最大的问题

UC 浏览器最大的问题

我一开始是 Android 上的 Chrome 用户,但我在朋友的推荐下开始使用 UC。但在过去的一年左右,我看到了一些东西让我重新思考我的选择,现在我感觉我要重新回到 Chrome。
极客漫画:#!S

极客漫画:#!S

#! 是 Unix/Linux 里面用于指示脚本解释器的特定语法,位于脚本中的第一行,以 #! 开头,接着是该脚本的解释器,通常是 /bin/bash、/usr/bin/python 之类。
如何改善遗留的代码库

如何改善遗留的代码库

在每一个程序员、项目管理员、团队领导的一生中,这都会至少发生一次。原来的程序员早已离职去度假了,给你留下了一坨几百万行屎一样的、勉强支撑公司运行的代码和(如果有的话)跟代码驴头不对马嘴的文档。
Bash 脚本:正则表达式基础篇

Bash 脚本:正则表达式基础篇

正则表达式(简写为 regex 或者 regexp)基本上是定义一种搜索模式的字符串,可以被用来执行“搜索”或者“搜索并替换”操作,也可以被用来验证像密码策略等条件。
2018 年开源技术 10 大发展趋势

2018 年开源技术 10 大发展趋势

技术一直在变革,诸如 OpenStack、增强型网页应用(PWA)、Rust、R、认知云、人工智能(AI),物联网等一些新技术正在颠覆我们对世界的固有认知。以下概述了 2018 年最可能成为主流的开源技术。
GitHub 欢迎一切 CI 工具

GitHub 欢迎一切 CI 工具

持续集成(CI)工具可以帮助你在每次提交时执行测试,并将报告结果提交到合并请求,从而帮助维持团队的质量标准。结合持续交付(CD)工具,你还可以在多种配置上测试你的代码,运行额外的性能测试,并自动执行每个步骤,直到进入产品阶段。
Undistract-me:当长时间运行的终端命令完成时获取通知

Undistract-me:当长时间运行的终端命令完成时获取通知

想象这个场景。你运行着一个需要一段时间才能完成的命令。与此同时,你查看你的 Facebook,并参与其中。过了一会儿,你记得你几分钟前执行了一个命令。你回到终端,注意到这个命令已经完成了。但是你不知道命令何时完成。你有没有遇到这种情况?
详解如何用源代码安装软件,以及如何卸载它

详解如何用源代码安装软件,以及如何卸载它

对于绝大多数的 Linux 用户来说,第一次从源代码中编译和安装一个软件看上去像是一个入门仪式:它让很多人感到恐惧;但是,如果你能克服困难,你将可能进入一个全新的世界,并且,如果你做到了,那么你将成为社区中享有特权的一部分人。
逻辑卷管理(LVM) Linux 用户指南

逻辑卷管理(LVM) Linux 用户指南

我想告诉你的是,当 LVM (逻辑卷管理)首次出现在 Fedora Linux 中时,我是非常抗拒它的。我最初的反应是,我并不需要在我和我的设备之间有这种额外的抽象层。结果是我错了,逻辑卷管理是非常有用的。
学习如何高效地使用 man 页

学习如何高效地使用 man 页

一个标准的 man 页分成很多个部分,每部分都有一个独立的标题。当你想查看特定的标志/选项时,可能需要向下滚动很长时间才能找到。这是个效率低下而且很耗时间的过程。
使用 parallel 利用起你的所有 CPU 资源

使用 parallel 利用起你的所有 CPU 资源

bash 命令通常单线程运行。这意味着所有的处理工作只在单个 CPU 上执行。随着 CPU 规模的扩大以及核心数目的增加,这意味着只有一小部分的 CPU 资源用于处理你的工作。
你或许不知道的实用 GNOME Shell 快捷键

你或许不知道的实用 GNOME Shell 快捷键

由于 Ubuntu 在 17.10 发行版本中转移到了 GNOME Shell,许多用户可能对那些实用的快捷键以及创建自己的快捷键感兴趣。这篇文章就是介绍这两方面的。
如何使用 Wine 在 Linux 下玩魔兽世界

如何使用 Wine 在 Linux 下玩魔兽世界

魔兽世界已经出现差不多有 13 年了,但它依然是最流行的 MMORPG。 不幸的是, 一直以来暴雪从未发布过官方的 Linux 客户端。 不过还好,我们有 Wine。
用系统日志了解你的 Linux 系统

用系统日志了解你的 Linux 系统

后台运行的程序(通常被称为守护进程或者服务进程)处理了你 Linux 系统中的大部分任务。当这些守护进程工作时,它们将任务的详细信息记录进日志文件中,作为它们做过什么的“历史”信息。
FreeCAD:Linux 下的 3D 建模和设计软件

FreeCAD:Linux 下的 3D 建模和设计软件

FreeCAD 是一个基于 OpenCasCade 的跨平台机械工程和产品设计工具。作为参数化 3D 建模工具,它可以与 PLM、CAx、CAE、MCAD 和 CAD 协同工作,并且可以使用大量高级扩展和自定义选项扩展其功能。
如何为 Linux 无线网卡配置无线唤醒功能

如何为 Linux 无线网卡配置无线唤醒功能

无线唤醒(WoWLAN 或 WoW)允许 Linux 系统进入低耗电模式的情况下保持无线网卡处于激活状态,依然与热点连接。这篇教程演示了如何在一台安装无线网卡的 Linux 笔记本或桌面电脑上启用 WoWLAN / WoW 模式。
互联网协议正在发生变化

互联网协议正在发生变化

现在,核心互联网协议的重要改变已经开始了。虽然它们意图与互联网大部分兼容(因为,如果不兼容的话,它们不会被采纳),但是它们可能会破坏那些在协议中没有规定的地方,或者根本就假设那些地方不存在变化。
Django ORM 简介

Django ORM 简介

学习怎么去使用 Python 的 web 框架中的对象关系映射与你的数据库交互,就像你使用 SQL 一样。
十个不错的 Linux 网络监视工具

十个不错的 Linux 网络监视工具

在这篇文章中,我们将讨论从 Linux 终端中运行的 10 个网络监视工具。它对不使用 GUI 而希望通过 SSH 来保持对网络管理的用户来说是非常理想的。
因为这个我要点名批评 Hacker News

因为这个我要点名批评 Hacker News

指责开源软件总是离奇难用已经不是一个新论点了;这样的论点之前就被很多比我更为雄辩的人提及过,甚至是出自一些人非常推崇开源软件的人士口中。那么为什么我要在这里老调重弹呢?
介绍 GitHub 上的安全警报

介绍 GitHub 上的安全警报

在启用依赖关系图后,当我们检测到你的依赖中有漏洞时会通知你,并给出来自 Github 社区中的已知修复。
使用 VirtualBox 创建 Vagrant Boxes 的完全指南

使用 VirtualBox 创建 Vagrant Boxes 的完全指南

Vagrant 是一个用来创建和管理虚拟机环境的工具,常用于建设开发环境。 它在 Docker、VirtualBox、Hyper-V、Vmware、AWS 等技术的基础上构建了一个易于使用且易于复制、重建的环境。
什么是僵尸进程,如何找到并杀掉僵尸进程?

什么是僵尸进程,如何找到并杀掉僵尸进程?

如果你经常使用 Linux,你应该遇到这个术语“僵尸进程”。 那么什么是僵尸进程? 它们是怎么产生的? 它们是否对系统有害? 我要怎样杀掉这些进程? 下面将会回答这些问题。
从实战出发,谈谈 nginx 信号集

从实战出发,谈谈 nginx 信号集

nginx 信号操作在日常运维中是最常见的,也是非常重要的,这个环节如果出现失误则可能造成业务异常,带来损失。所以理清楚 nginx 信号集是非常必要的,能帮助我们更好地处理这些工作。
LibreOffice 上架 Flathub 应用商店

LibreOffice 上架 Flathub 应用商店

它的到来使任何运行现代 Linux 发行版的人都能只点击一两次即可安装 LibreOffice 的最新稳定版本,而无需搜索 PPA,纠缠于 tar 包或等待发行版将其打包。
7 个使用 bcc/BPF 的性能分析神器

7 个使用 bcc/BPF 的性能分析神器

在 Linux 中出现的一种新技术能够为系统管理员和开发者提供大量用于性能分析和故障排除的新工具和仪表盘。它被称为增强的伯克利数据包过滤器(eBPF,或 BPF),虽然这些改进并不是由伯克利开发的,而且它们不仅仅是处理数据包,更多的是过滤。
在红帽企业版 Linux 中将系统服务容器化(一)

在红帽企业版 Linux 中将系统服务容器化(一)

在 2017 年红帽峰会上,有几个人问我“我们通常用完整的虚拟机来隔离如 DNS 和 DHCP 等网络服务,那我们可以用容器来取而代之吗?”答案是可以的,下面是在当前红帽企业版 Linux 7 系统上创建一个系统容器的例子。
Linux 上如何禁用 USB 存储

Linux 上如何禁用 USB 存储

在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。所有这三种方法都在 CentOS 6&7 机器上通过测试。那么让我们一一讨论这三种方法,
Docker:使用多阶段构建镜像

Docker:使用多阶段构建镜像

多阶段构建是 Docker 17.05 及更高版本提供的新功能。这对致力于优化 Dockerfile 的人来说,使得 Dockerfile 易于阅读和维护。
在 Ubuntu 16.04 下随机化你的 WiFi MAC 地址

在 Ubuntu 16.04 下随机化你的 WiFi MAC 地址

你的设备的 MAC 地址可以在不同的 WiFi 网络中记录你的活动。这些信息能被共享后出售,用于识别特定的个体。但可以用随机生成的伪 MAC 地址来阻止这一行为。
如何归档 GitHub 仓库

如何归档 GitHub 仓库

如果仓库不再活跃开发或者你不想接受额外的贡献,但这并不意味着你想要删除它。现在可以在 Github 上归档仓库让它变成只读。
AWS 帮助构建 ONNX 开源 AI 平台

AWS 帮助构建 ONNX 开源 AI 平台

AWS 最近成为了加入深度学习社区的开放神经网络交换Open Neural Network Exchange(ONNX)协作的技术公司,最近在无障碍和可互操作frictionless and interoperable的环境中推出了高级人工智能。由 Facebook 和微软领头了该协作。
如何在 Linux 系统里用 Scrot 截屏

如何在 Linux 系统里用 Scrot 截屏

如果你想找一个在命令行运行的更好用的截屏工具,你一定要试试 Scrot。这个工具有一些 gnome-screenshot 没有的独特功能。在这篇文章里,我们会通过简单易懂的例子来详细介绍 Scrot。
通过示例学习使用 netstat

通过示例学习使用 netstat

netstat 是一个告诉我们系统中所有 tcp/udp/unix socket 连接状态的命令行工具。它会列出所有已经连接或者等待连接状态的连接。 该工具在识别某个应用监听哪个端口时特别有用,我们也能用它来判断某个应用是否正常的在监听某个端口。
如何在 Bash 中抽取子字符串

如何在 Bash 中抽取子字符串

所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “3382” 就是 “this is a 3382 test” 的子字符串。 我们有多种方法可以从中把数字或指定部分字符串抽取出来。
2017 年末 Linux 中国线下小聚会

2017 年末 Linux 中国线下小聚会

我们决定在 2017 年末举办一场各地线下沙龙聚会。聚会由 Linux 中国核心成员负责组织,分别在北京、上海、广州和成都同步举行。聚会形式采用 AA 方式,地点拟选择咖啡馆或奶茶店。聚会的主要活动内容包括:技术分享、开源文化谈、职场交流等等。
如何在 Linux 上安装友好的交互式 shell:Fish

如何在 Linux 上安装友好的交互式 shell:Fish

Fish 有着很多重要的功能,比如自动建议、语法高亮、可搜索的历史记录(像在 bash 中 CTRL+r)、智能搜索功能、极好的 VGA 颜色支持、基于 web 的设置方式、完善的手册页和许多开箱即用的功能。
在 Linux 启动或重启时执行命令与脚本

在 Linux 启动或重启时执行命令与脚本

有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统上做到重启或者系统启动时执行命令和脚本。 两种方法都通过了测试。
使用 groff 编写 man 手册页

使用 groff 编写 man 手册页

groff 是大多数 Unix 系统上所提供的流行的文本格式化工具 nroff/troff 的 GNU 版本。它一般用于编写手册页,即命令、编程接口等的在线文档。在本文中,我们将给你展示如何使用 groff 编写你自己的 man 手册页。
并发服务器(三):事件驱动

并发服务器(三):事件驱动

另一种常见的实现并发的方法叫做 事件驱动编程,也可以叫做 异步 编程 。这种方法变化万千,因此我们会从最基本的开始,使用一些基本的 API 而非从封装好的高级方法开始。本系列以后的文章会讲高层次抽象,还有各种混合的方法。
2017 年 30 款最好的支持 Linux 的 Steam 游戏

2017 年 30 款最好的支持 Linux 的 Steam 游戏

在几年之前, Steam for Linux 上可玩的游戏并不是很吸引人。但现在情况完全不一样了。Steam 商店里现在有许多支持 Linux 平台的游戏(包括很多主流大作)。我们在本文中将介绍 Steam 上最好的一些 Linux 游戏。
Mark McIntyre:与 Fedora 的那些事

Mark McIntyre:与 Fedora 的那些事

最近我们采访了 Mark McIntyre,谈了他是如何使用 Fedora 系统的。这也是 Fedora 杂志上系列文章的一部分。该系列简要介绍了 Fedora 用户,以及他们是如何用 Fedora 把事情做好的。
如何使用 GPG 加解密文件

如何使用 GPG 加解密文件

加密非常重要。它对于保护敏感信息来说是必不可少的。你的私人文件应该要被加密,而 GPG 提供了很好的解决方案。
如何判断 Linux 服务器是否被入侵?

如何判断 Linux 服务器是否被入侵?

大多数被攻破的服务器都是被类似自动攻击程序这样的程序或者类似“脚本小子”这样的廉价攻击者,以及蠢蛋罪犯所入侵的。这类攻击者会在访问服务器的同时滥用服务器资源,并且不怎么会采取措施来隐藏他们正在做的事情。
使用 DNSTrails 自动找出每个域名的拥有者

使用 DNSTrails 自动找出每个域名的拥有者

如果你正在调查互联网上任何个人的域名所有权,这意味着即使域名甚至没有指向注册服务商的 IP,如果他们使用相同的电话和邮件地址,我们仍然可以发现其他域名。
如何自动唤醒和关闭 Linux

如何自动唤醒和关闭 Linux

不要成为一个电能浪费者。如果你的电脑不需要开机就请把它们关机。出于方便和计算机宅的考虑,你可以通过配置你的 Linux 计算机实现自动唤醒和关闭。
vim 的酷功能:会话!

vim 的酷功能:会话!

昨天我在编写我的vimrc的时候了解到一个很酷的 vim 功能!(主要为了添加 fzf 和 ripgrep 插件)。这是一个内置功能,不需要特别的插件。
Photon 也许能成为你最喜爱的容器操作系统

Photon 也许能成为你最喜爱的容器操作系统

Photon 就是这样的一个发行版。这个特殊的版本是由 VMware 于 2005 年创建的,它包含了 Docker 的守护进程,并可与容器框架(如 Mesos 和 Kubernetes )一起使用。Photon 经过优化可与 VMware vSphere 协同工作,而且可用于裸机、Microsoft Azure、 Google Compute Engine、 Amazon Elastic Compute Cloud 或者 VirtualBox 等。
在命令行中使用 DuckDuckGo 搜索

在命令行中使用 DuckDuckGo 搜索

像 Googler 一样,ddgr 是一个完全开源而且非官方的工具。没错,它并不属于 DuckDuckGo。所以,如果你发现它返回的结果有些奇怪,请先询问这个工具的开发者,而不是搜索引擎的开发者。
检查 Linux 系统上的网络连接

检查 Linux 系统上的网络连接

Linux 系统提供了许多有用的命令来检查网络配置和连接。下面来看几个,包括 ifquery、ifup、ifdown 和 ifconfig。
ARMv8 上的 kprobes 事件跟踪

ARMv8 上的 kprobes 事件跟踪

kprobes 是一种内核功能,它允许通过在执行(或模拟)断点指令之前和之后,设置调用开发者提供例程的任意断点来检测内核。
tmate:秒级分享你的终端会话

tmate:秒级分享你的终端会话

tmate 的意思是 teammates,它是 tmux 的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等)。它是一个终端多路复用器,同时具有即时分享终端的能力。它允许在单个屏幕中创建并操控多个终端,同时这些终端还能与其他同事分享。
略谈企业的开源战略

略谈企业的开源战略

11 月 24 日,Gdevops 全球敏捷运维峰会的 2017 年度收官之站在广州盛大举行。老王受邀参加了本次大会,本做了本次大会的首场演讲《略谈企业的开源战略》。
操作系统何时运行?

操作系统何时运行?

请各位思考以下问题:在你阅读本文的这段时间内,计算机中的操作系统在运行吗?又或者仅仅是 Web 浏览器在运行?又或者它们也许均处于空闲状态,等待着你的指示?
如何轻松记住 Linux 命令

如何轻松记住 Linux 命令

Linux 新手往往对命令行心存畏惧。部分原因是因为需要记忆大量的命令,毕竟掌握命令是高效使用命令行的前提。不幸的是,学习这些命令并无捷径,然而在你开始学习命令之初,有些工具还是可以帮到你的。
Linux 上的科学图像处理

Linux 上的科学图像处理

在这篇文章中,我将谈到一款叫 ImageJ 的热门图像处理软件。特别的,我会介绍 Fiji,这是一款绑定了一系列用于科学图像处理插件的 ImageJ 软件。
介绍 Moby 项目:推进软件容器化运动的一个新的开源项目

介绍 Moby 项目:推进软件容器化运动的一个新的开源项目

自从 Docker 四年前将软件容器推向大众化以来,整个生态系统都围绕着容器化而发展,在这段这么短的时期内,它经历了两个不同的增长阶段。在这每一个阶段,生产容器系统的模式已经随着项目和不断增长的容器生态系统而演变适应用户群体的规模和需求。
用 coredumpctl 更好地记录 bug

用 coredumpctl 更好地记录 bug

通常开发者要求提供 “回溯(backtrace)” 形式的数据,以显示导致崩溃的指令流。开发人员可以使用它来修复 bug 以改进系统。
我们为国内的逆向工程师做了一件事!

我们为国内的逆向工程师做了一件事!

对于软件逆向工程这门手艺来说,最难的便是入门。软件逆向不同于软件的编写。基于汇编语言的软件逆向将绝大多数的人拦在了门外。少部分人打开了这扇门,又为门后的贫瘠所震惊 —— 相关资料少且不系统。
5 款最酷的 Linux 终端模拟器

5 款最酷的 Linux 终端模拟器

虽然,我们可以继续使用老旧的 GNOME 终端、Konsole,以及好笑而孱弱的旧式 xterm。 不过,让我们带着尝试某种新东西的心境,回过头来看看 5 款酷炫并且实用的 Linux 终端。
如何以翻译贡献参与开源社区

如何以翻译贡献参与开源社区

2017 中国开源年会 - COSCon'17 于 11 月 18 - 19 日在上海交大闵行校区圆满收官。在本次大会上,我发表了题为《如何以翻译贡献参与开源社区——LCTT 这几年》的演讲。
Let's Encrypt :2018 年 1 月发布通配证书

Let's Encrypt :2018 年 1 月发布通配证书

通配证书是一个经常需要的功能,并且我们知道在一些情况下它可以使 HTTPS 部署更简单。我们希望提供通配证书有助于加速网络向 100% HTTPS 进展。
放弃你的代码,而不是你的时间

放弃你的代码,而不是你的时间

我们需要的是一种新的行业规范,即项目领导者将总是能获得(其付出的)时间上的补偿。我们还需要抛弃的想法是, 任何提交问题或合并请求的开发人员都自动会得到维护者的注意。
借助 minikube 上手 OpenFaaS

借助 minikube 上手 OpenFaaS

本文将介绍如何借助 minikube 在 Kubernetes 1.8 上搭建 OpenFaaS(让 Serverless Function 变得更简单)。minikube 是一个 Kubernetes 分发版,借助它,你可以在笔记本电脑上运行 Kubernetes 集群,minikube 支持 Mac 和 Linux 操作系统,但是在 MacOS 上使用得更多一些。
肯特·贝克:改变人生的代码整理魔法

肯特·贝克:改变人生的代码整理魔法

本周我一直在整理 Facebook 代码,而且我喜欢这个工作。我的职业生涯中已经整理了数千小时的代码,我有一套使这种整理更加安全、有趣和高效的规则。
理解多区域配置中的 firewalld

理解多区域配置中的 firewalld

Firewalld 是最新的 netfilter 用户态抽象层。遗憾的是,由于缺乏描述多区域配置的文档,它强大而灵活的功能被低估了。这篇文章提供了一个示例去改变这种情况。
ABC 时代 GPL 许可证传染性问题探讨

ABC 时代 GPL 许可证传染性问题探讨

2017 年 11 月 18 日至 19 日,2017 中国开源年会在上海交大召开,来自集慧智佳的高级咨询师薛亮在开源治理分论坛上发表了题为《ABC 时代 GPL 许可证传染性问题探讨》的演讲,现将演讲的内容进行整理和补充,以飨读者。
使用 Ansible Container 构建和测试应用程序

使用 Ansible Container 构建和测试应用程序

容器是一个日益流行的开发环境。作为一名开发人员,你可以选择多种工具来管理你的容器。本文将向你介绍 Ansible Container,并展示如何在类似生产环境中运行和测试你的应用程序。
用 Kubernetes 和 Docker 部署 Java 应用

用 Kubernetes 和 Docker 部署 Java 应用

在这篇文章中,我们将使用以前的一个简单的基于 Java 的电子商务商店,我们将它打包进 Docker 容器内,并且在 Kubernetes 上运行它。
Linux “完全统治” 了超级计算机

Linux “完全统治” 了超级计算机

Linux 统治了超级计算。自 1998 年以来,这一天终于到来了,那时候 Linux 首次出现在 TOP 500 超级计算机榜单上。如今,全世界最快的 500 台超级计算机全部运行着 Linux!
怎么在一台树莓派上安装 Postgres 数据库

怎么在一台树莓派上安装 Postgres 数据库

本教程介绍了怎么在一个树莓派上去安装 Postgres;创建一个表;写简单查询;在树莓派、PC,或者 Mac 上使用 pgAdmin 图形用户界面;从 Python 中与数据库交互。
GNU GPL 许可证常见问题解答(三)

GNU GPL 许可证常见问题解答(三)

本文由高级咨询师薛亮据自由软件基金会(FSF)的英文原文翻译而成,这篇常见问题解答澄清了在使用 GNU 许可证中遇到许多问题,对于企业和软件开发者在实际应用许可证和解决许可证问题时具有很强的实践指导意义。
Linux 中管理 EXT2、 EXT3 和 EXT4 健康状况的 4 个工具

Linux 中管理 EXT2、 EXT3 和 EXT4 健康状况的 4 个工具

受损的文件系统运行在你的系统上可能导致操作系统中的组件或用户应用程序的运行时错误,它可能会进一步扩大到服务器数据的丢失。为避免文件系统错误或损坏,你需要去持续关注它的健康状况。
原生云计算:你所不知道的 Kubernetes 特性和工具

原生云计算:你所不知道的 Kubernetes 特性和工具

开放容器计划(OCI)和原生云计算基金会(CNCF)的代表说,Kubernetes 和容器可以在降低程序员和系统管理成本的同时加速部署进程,从被忽视的 Kubernetes 特性(比如命令空间)开始,去利用 Kubernetes 和它的相关工具运行一个原生云架构。
AWS 采用自制的 KVM 作为新的管理程序

AWS 采用自制的 KVM 作为新的管理程序

这是爆炸性的新闻,因为 AWS 长期以来一直支持 Xen 管理程序。Xen 项目从最强大的公共云使用其开源软件的这个事实中吸取了力量。Citrix 将其大部分 Xen 服务器运行了 AWS 的管理程序的闭源兄弟。
Cyber​​Shaolin:培养下一代网络安全专家

Cyber​​Shaolin:培养下一代网络安全专家

现年 11 岁的 Reuben Paul 并不是唯一一个玩电子游戏的孩子,但是他对游戏和电脑的痴迷使他走上了一段独特的好奇之旅,引起了他对网络安全教育和宣传的早期兴趣,并创立了 Cyber​​Shaolin,一个帮助孩子理解网络攻击的威胁的组织。
在 Linux 中怎么使用 cron 计划任务

在 Linux 中怎么使用 cron 计划任务

系统管理员(在许多好处中)的挑战之一是在你该睡觉的时候去运行一些任务。例如,一些任务(包括定期循环运行的任务)需要在没有人使用计算机资源的时候去运行,如午夜或周末。在下班后,我没有时间去运行命令或脚本。而且,我也不想在晚上去启动备份或重大更新。
使用 mlocate 查找文件

使用 mlocate 查找文件

以前你可能已经发现 find 命令非常不听话,让你经常抓耳挠腮。你知道,丢失了一个分号或一个没有正确转义的特殊的字符就会这样。现在让我们离开这个复杂的 find 命令,放松一下,看一下这个聪明的小命令。
容器和微服务是如何改变了安全性

容器和微服务是如何改变了安全性

由于这种方法从根本上改变了软件的构建、部署和运行方式,它也从根本上改变了软件需要保护的方式。云原生程序和基础架构为安全专业人员带来了若干新的挑战,他们需要建立新的安全计划来支持其组织对云原生技术的使用。
由 KRACK 攻击想到的确保网络安全的小贴士

由 KRACK 攻击想到的确保网络安全的小贴士

最近的 KRACK (密钥重装攻击)漏洞攻击的目标是位于你的设备和 Wi-Fi 访问点之间的链路,这个访问点或许是在你家里、办公室中、或你喜欢的咖啡吧中的任何一台路由器。这些提示能帮你提升你的连接的安全性。
在 GitLab 我们是如何扩展数据库的

在 GitLab 我们是如何扩展数据库的

很长时间以来 GitLab.com 使用了一个单个的 PostgreSQL 数据库服务器和一个用于灾难恢复的单个复制。在 GitLab.com 最初的几年,它工作的还是很好的,但是,随着时间的推移,我们看到这种设置的很多问题,在这篇文章中,我们将带你了解我们在帮助解决 GitLab.com 和 GitLab 实例所在的主机时都做了些什么。
为什么 Ubuntu 放弃 Unity?创始人如是说

为什么 Ubuntu 放弃 Unity?创始人如是说

答案可能会出乎意料……或许不会,因为答案也在情理之中。简而言之就是他把驱逐 Unity 作为节约成本的一部分,旨在使 Canonical 走上 IPO 的道路。是的,投资者来了。
如何分析博客中最流行的编程语言

如何分析博客中最流行的编程语言

我一直在想,各种各样的博客每天到底都有多少页面浏览量,以及在博客阅读受众中最受欢迎的是什么编程语言。我也很感兴趣的是,它们在谷歌的网站排名是否与它们的受欢迎程度直接相关。
GitHub 2017 章鱼猫观察报告

GitHub 2017 章鱼猫观察报告

又是一年,GitHub 例行发布了 2017 年度的章鱼猫观察报告。以下我们撷取此报告中一些有趣的结果分享给大家。
明确 GPL 版本号,避免许可证混淆

明确 GPL 版本号,避免许可证混淆

多年以来,我看到很多开源项目表示遵循 GPL 许可证,但却没有明确指出版本号,同时也没有将整个 GPL 许可证(例如,v2 或 v3)副本囊括在程序内。取决于您是许可人还是被许可人等因素,这其中造成的含混不清可能对您有益或有害。
Linux 是如何成功运作的

Linux 是如何成功运作的

简而言之,Linux 的成功运作是因为众多企业都想要控制它但却难以做到,由于其在工业中的重要性,使得开发者和构建人员更愿意作为一名 Linux 开发者 而不是 Red Hat (或 Intel 亦或 Oracle … )工程师。
Postgres 索引类型探索之旅

Postgres 索引类型探索之旅

Postgres 有几种索引类型, 并且每个新版本都似乎增加一些新的索引类型。每个索引类型都是有用的,但是具体使用哪种类型取决于(1)数据类型,有时是(2)表中的底层数据和(3)执行的查找类型。
在 Linux 图形栈上运行 Android

在 Linux 图形栈上运行 Android

你现在可以在常规的 Linux 图形栈之上运行 Android。以前并不能这样,根据 Collabora 的 Linux 图形栈贡献者和软件工程师 Robert Foss 的说法,这是非常强大的功能。
对 DBA 最重要的 PostgreSQL 10 新亮点

对 DBA 最重要的 PostgreSQL 10 新亮点

像往常一样,已经有相当多的博客覆盖了所有新的东西,但我猜每个人都有自己认为重要的角度,所以与 9.6 版一样我再次在这里列出我印象中最有趣/相关的功能。
极客漫画:消沉的程序员 17

极客漫画:消沉的程序员 17

如果在写代码的人仅为可运行而编码,那么在后边会出现一系列的连锁反应,任何没有经过真构思之后书写的代码,都会带来巨大的维护成本吧。
CRI-O 1.0 简介

CRI-O 1.0 简介

去年,Kubernetes 项目推出了容器运行时接口(CRI):这是一个插件接口,它让 kubelet 有使用不同的兼容 OCI 的容器运行时的能力,而不需要重新编译 Kubernetes。在这项工作的基础上,CRI-O 项目(原名 OCID)准备为 Kubernetes 提供轻量级的运行时。
服务端 I/O 性能:Node、PHP、Java、Go 的对比

服务端 I/O 性能:Node、PHP、Java、Go 的对比

了解应用程序的输入/输出(I/O)模型意味着理解应用程序处理其数据的载入差异,并揭示其在真实环境中表现。或许你的应用程序很小,在不承受很大的负载时,这并不是个严重的问题;但随着应用程序的流量负载增加,可能因为使用了低效的 I/O 模型导致承受不了而崩溃。
IoT 网络安全:后备计划是什么?

IoT 网络安全:后备计划是什么?

互联网是危险的 - 物联网不仅给了眼睛和耳朵,而且还给手脚。一旦有影响到位和字节的安全漏洞、利用和攻击现在将会影响到其血肉。
使用 Docker 构建你的 Serverless 树莓派集群

使用 Docker 构建你的 Serverless 树莓派集群

这篇博文将向你展示如何使用 Docker 和 OpenFaaS 框架构建你自己的 Serverless 树莓派集群。大家常常问我能用他们的集群来做些什么?而这个应用完美匹配卡片尺寸的设备——只需添加更多的树莓派就能获取更强的计算能力。
PingCAP 推出 TiDB 1.0

PingCAP 推出 TiDB 1.0

TiDB 是一个开源的分布式混合事务/分析处理 (HTAP) 数据库,它使企业能够使用单个数据库来满足这两个负载。
并发服务器(二):线程

并发服务器(二):线程

这一节里,我们来看看怎么用多线程来实现并发,用 C 实现一个最简单的多线程服务器,和用 Python 实现的线程池。
回顾 Steam Machines 与 SteamOS

回顾 Steam Machines 与 SteamOS

即使是在 Linux 桌面环境对于游戏的支持大步进步的今天,Steam Machines 作为一个平台依然没有飞跃,而 SteamOS 似乎也止步不前。这些由 Valve 发起的项目究竟怎么了?这些项目为何被发起,又是如何失败的?一些改进又是否曾有机会挽救这些项目的成败?
并发服务器(一):简介

并发服务器(一):简介

这是关于并发网络服务器编程的第一篇教程。我计划测试几个主流的、可以同时处理多个客户端请求的服务器并发模型,基于可扩展性和易实现性对这些模型进行评判。所有的服务器都会监听套接字连接,并且实现一些简单的协议用于与客户端进行通讯。
为什么要切换到 Linux 系统?我该怎么做?

为什么要切换到 Linux 系统?我该怎么做?

不管你是完全不了解 Linux,或是已经尝试过一两次,我们希望你考虑一下在你的下一台笔记本或台式机上运行 Linux,或者可以和现存系统做个双启动。请继续阅读下去,看是不是时候该切换了。
Ubuntu 18.04 LTS 定名为“仿生河狸”,将于明年 4 月 26 日发布

Ubuntu 18.04 LTS 定名为“仿生河狸”,将于明年 4 月 26 日发布

“为纪念这一孜孜不倦的辛劳,这次我们的吉祥物是一个以其精力充沛的态度、勤劳的天性和工程能力而闻名的哺乳动物。同时,我们给它赋予 21 世纪的新精神,以纪念永不停息的 Ubuntu Core 机器人们。女士们、先生们,让我们欢迎 18.04 LTS —— 仿生河狸。”