查看 Linux 发行版名称和版本号的 8 种方法 (linux.cn)
如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作。作为系统管理员,充分了解系统信息是首要的任务。

查看 Linux 发行版名称和版本号有很多种方法。你可能会问,为什么要去了解这些基本信息呢?

因为对于诸如 RHEL、Debian、openSUSE、Arch Linux 这几种主流发行版来说,它们各自拥有不同的包管理器来管理系统上的软件包,如果不知道所使用的是哪一个发行版的系统,在软件包安装的时候就会无从下手,而且由于大多数发行版都是用 systemd 命令而不是 SysVinit 脚本,在重启服务的时候也难以执行正确的命令。

下面来看看可以使用那些基本命令来查看 Linux 发行版名称和版本号。
by @技术头条 2018-07-05 00:01 分享 查看详情
“开箱即用” 的 Kubernetes 集群 (linux.cn)
这是我以前的10 分钟内配置 Kubernetes 教程的精简版和更新版。我删除了一些我认为可以去掉的内容,所以,这个指南仍然是通顺的。当你想在云上创建一个集群或者尽可能快地构建基础设施时,你可能会用到它。
by @技术头条 2018-07-05 00:01 分享 查看详情
Yoda:您的 Linux 系统命令行个人助理 (linux.cn)
不久前,我们介绍了一个名为 “Betty” 的命令行虚拟助手。今天,我偶然发现了一个类似的实用程序,叫做 “Yoda”。Yoda 是一个命令行个人助理,可以帮助您在 Linux 中完成一些琐碎的任务。它是用 Python 编写的一个自由开源应用程序。在本指南中,我们将了解如何在 GNU/Linux 中安装和使用 Yoda。
安装 Yoda,命令行私人助理。

Yoda 需要 Python 2 和 PIP 。如果在您的 Linux 中没有安装 PIP,请参考下面的指南来安装它。只要确保已经安装了 python2-pip 。Yoda 可能不支持 Python 3。
by @技术头条 2018-07-05 00:00 分享 查看详情
Pet:一个简单的命令行片段管理器 (linux.cn)
我们不可能记住所有的命令,对吧?是的。除了经常使用的命令之外,我们几乎不可能记住一些很少使用的长命令。这就是为什么需要一些外部工具来帮助我们在需要时找到命令。在过去,我们已经点评了两个有用的工具,名为 “Bashpast” 和 “Keep”。使用 Bashpast,我们可以轻松地为 Linux 命令添加书签,以便更轻松地重复调用。而 Keep 实用程序可以用来在终端中保留一些重要且冗长的命令,以便你可以随时使用它们。今天,我们将看到该系列中的另一个工具,以帮助你记住命令。现在让我们认识一下 &ldquoet”,这是一个用 Go 语言编写的简单的命令行代码管理器。
by @技术头条 2018-07-04 23:58 分享 查看详情
炫酷H5中序列图片视频化播放的高性能实现 (www.zhangxinxu.com)
很多爆款H5的一些酷酷的场景变换很多都是视频实现的,但是,视频的实现也有局限,如iOS下不能自动播放,动态数据不支持等,此时又当如何处理呢?

我们可以使用序列图片,通过JS脚本,来模拟视频播放效果,以上所有局限将通通可以规避。实现的方法很多,但是很多平时可以的方法在这种场景下会有性能跟不上的问题,那有没有什么高性能的实现方法呢?
by @技术头条 2018-07-04 23:57 分享 查看详情
如何使用 rsync 通过 SSH 恢复部分传输的文件 (linux.cn)
由于诸如电源故障、网络故障或用户干预等各种原因,使用 scp 命令通过 SSH 复制的大型文件可能会中断、取消或损坏。有一天,我将 Ubuntu 16.04 ISO 文件复制到我的远程系统。不幸的是断电了,网络连接立即断了。结果么?复制过程终止!这只是一个简单的例子。Ubuntu ISO 并不是那么大,一旦电源恢复,我就可以重新启动复制过程。但在生产环境中,当你在传输大型文件时,你可能并不希望这样做。

而且,你不能继续使用 scp 命令恢复被中止的进度。因为,如果你这样做,它只会覆盖现有的文件。这时你会怎么做?别担心!这是 rsync 派上用场的地方!rsync 可以帮助你恢复中断的复制或下载过程。对于那些好奇的人,rsync 是一个快速、多功能的文件复制程序,可用于复制和传输远程和本地系统中的文件或文件夹。
by @技术头条 2018-07-04 23:57 分享 查看详情
如何在 Linux 中快速监控多个主机 (linux.cn)
有很多监控工具可用来监控本地和远程 Linux 系统,一个很好的例子是 Cockpit。但是,这些工具的安装和使用比较复杂,至少对于新手管理员来说是这样。新手管理员可能需要花一些时间来弄清楚如何配置这些工具来监视系统。如果你想要以快速且粗略地在局域网中一次监控多台主机,你可能需要了解一下 “rwho” 工具。只要安装了 rwho 实用程序,它将立即快速地监控本地和远程系统。你什么都不用配置!你所要做的就是在要监视的系统上安装 “rwho” 工具。

请不要将 rwho 视为功能丰富且完整的监控工具。这只是一个简单的工具,它只监视远程系统的“正常运行时间”(uptime),“负载”(load)和登录的用户。使用 “rwho” 使用程序,我们可以发现谁在哪台计算机上登录;一个被监视的计算机的列表,列出了正常运行时间(自上次重新启动以来的时间);有多少用户登录了;以及在过去的 1、5、15 分钟的平均负载。不多不少!而且,它只监视同一子网中的系统。因此,它非常适合小型和家庭办公网络。
by @技术头条 2018-07-04 23:56 分享 查看详情
区块链安全,要从设计抓起 (www.liaoxuefeng.com)
最近爆发的层出不穷的区块链安全问题,从以太坊RPC攻击转移用户资产,到ERC20代币频繁爆出溢出漏洞,这些问题其实大部分应该在区块链系统的设计阶段解决,而不是留给开发者来自己关注安全问题。

我们先来看一下以太坊的设计。首先值得肯定的是,有别于比特币UTXO模型,以太坊设计了账户模型。账户模型对于实现智能合约是十分合理而且非常必要的,直接在UTXO模型上嫁接智能合约的做法显得不伦不类。

然而,以太坊的设计仍然存在不少问题,有许多设计问题实际上是引发安全漏洞的源头。如果在设计时避免了这些问题,至少不会大面积爆发各种安全问题。
RPC安全
by @技术头条 2018-07-04 23:56 分享 查看详情
用 Plumbum 开发 Python 命令行工具 (linux.cn)
本文翻译自 Python Plumbum 开源库的官方文档 Plumbum CLI 部分,主要介绍如何使用 Plumbum CLI 工具包来开发 Python 命令行应用程序,这是一个非常 Pythonic、容易使用、功能强大的工具包,非常值得广大 Python 程序员掌握并使用。

轻松执行程序的另一方面是轻松编写 CLI 程序。Python 脚本一般使用 optparse 或者最新的 argparse 及其衍生品来开发命令行工具,但是所有这些表现力有限,而且非常不直观(甚至不够 Pythonic)。Plumbum 的 CLI 工具包提供了一个程序化的方法来构建命令行应用程序,不需要创建一个解析器对象,然后填充一系列“选项”,该 CLI 工具包使用内省机制将这些原语转义成 Pythonic 结构。
by @技术头条 2018-07-04 23:55 分享 查看详情
Dubbo剖析-Dubbo协议 (ifeve.com)
TCP协议栈中,每层模型都有自己的协议报文格式,TCP协议是网络七层模型中的传输层,在TCP上层是应用层,应用层协议常见的有telnet等,Dubbo协议作为建立在TCP协议之上的一种协议,自然也有自己的协议包格式。
by @技术头条 2018-07-04 23:54 分享 查看详情
用CSS3美化单选框 radio 、多选框 checkbox 和 switch开关按钮 (www.css88.com)
很多时候我们需要美化单选框 radio 和多选框 checkbox ,因为原生的样式比较丑陋,而且表现不统一。
by @技术头条 2018-07-04 23:54 分享 查看详情
微信小程序的一些小坑、小方法 (zww.me)
偶尔会接一些 WordPress 网站做数据源的小程序,一般就看看官方文档做,官方文档写的怎样就不吐槽了,反正很多看了等于没看,会让你绕很多 …
by @技术头条 2018-07-04 23:51 分享 查看详情
微信网页悬浮窗交互效果的web实现 (www.zhangxinxu.com)
微信更新后,发现多了个悬浮窗功能。公众号阅读,网页浏览回退后默认会出现。再点击,可以回到刚才阅读的地方。于是,再也不会遇到回复老婆的信息,再切换回来重新找刚才阅读东西的麻烦了。我个人觉得是很有用的一个功能。

其交互效果,也被不少人称赞。例如,窗口会收缩到悬浮按钮中,悬浮按钮可以拖到右下角取消浮窗。这些交互效果呢,使用web前端技术也是可以实现,有demo,有截图,有必要的源代码展示,希望本文的内容能够对您的学习有所帮助。
by @技术头条 2018-07-04 23:50 分享 查看详情
使用 Buildah 创建小体积的容器 (linux.cn)
我最近加入了 Red Hat,在这之前我在另外一家科技公司工作了很多年。在我的上一份工作岗位上,我开发了不少不同类型的软件产品,这些产品是成功的,但都有版权保护。不仅法规限制了我们不能在公司外将软件共享,而且我们在公司内部也基本不进行共享。在那时,我觉得这很有道理:公司花费了时间、精力和预算用于开发软件,理应保护并要求软件涉及的利益。

时间如梭,去年我加入 Red Hat 并培养出一种完全不同的理念。Buildah 项目是我最早加入的项目之一,该项目用于构建 OCI (Open Container Initiative) 标准的镜像,特别擅长让你精简创建好的镜像的体积。那时 Buildah 还处于非常早期的阶段,包含一些瑕疵,不适合用于生产环境。
by @技术头条 2018-07-04 23:47 分享 查看详情
解读Raft(四 成员变更) (ifeve.com)
将成员变更纳入到算法中是Raft易于应用到实践中的关键,相对于Paxos,它给出了明确的变更过程(实践的基础,任何现实的系统中都会遇到因为硬件故障等原因引起的节点变更的操作)。

显然,我们可以通过shutdown集群,然后变更配置后重启集群的方式达到成员变更的目的。但是这种操作会损失系统的可用性,同时会带来操作失误引起的风险。支持自动化配置,即配置可以在集群运行期间进行动态的变更(不影响可用性)显示是一个非常重要的特性。
by @技术头条 2018-07-04 23:43 分享 查看详情
解读Raft(三 安全性) (ifeve.com)
之前的两篇文章更多的是在描述Raft算法的正常流程,没有过多的去讨论异常场景。

而实际在分布式系统中,我们更多的都是在应对网络不可用、机器故障等异常场景,所以本篇来讨论一下Raft协议的安全性,即在异常场景下是否会导致数据丢失、数据不一致等情况。
by @技术头条 2018-07-04 23:43 分享 查看详情
解读Raft(二 选举和日志复制) (ifeve.com)
Raft采用心跳机制来触发Leader选举。Leader周期性的发送心跳(如果有正常的RPC的请求情况下可以不发心跳)包保持自己Leader的角色(避免集群中其他节点认为没有Leader而开始选举)。

Follower在收到Leader或者Candidate的RPC请求的情况下一直保持Follower状态。而当一段时间内(election timeout)没有收到请求则认为没有Leader节点而出发选举流程。
by @技术头条 2018-07-04 23:42 分享 查看详情
解读Raft协议(一 算法基础) (ifeve.com)
分布式系统除了提升整个体统的性能外还有一个重要特征就是提高系统的可靠性。

提供可靠性可以理解为系统中一台或多台的机器故障不会使系统不可用(或者丢失数据)。

保证系统可靠性的关键就是多副本(即数据需要有备份),一旦有多副本,那么久面临多副本之间的一致性问题。

一致性算法正是用于解决分布式环境下多副本之间数据一致性的问题的。


业界最著名的一致性算法就是大名鼎鼎的Paxos(Chubby的作者曾说过:世上只有一种一致性算法,就是Paxos)。但Paxos是出了名的难懂,而Raft正是为了探索一种更易于理解的一致性算法而产生的。
by @技术头条 2018-07-04 23:42 分享 查看详情
怎样理解numpy中的axis? (www.biaodianfu.com)
在使用numpy的过程中,会遇到一个“axis”的概念,“axis”通常被称为“轴”,由于比较抽象,所以一直会搞混。平时处理的都是二维的数据,所以大多数场景下使用的时死记硬背。把axis=1记作行,把axis=0记作列。(在pandas中,针对二维数据可以将axis=1写成axis=’columns’,将axis=0写成axis=’rows’。)
by @技术头条 2018-07-04 23:42 分享 查看详情
如何暂时禁用 iptables 防火墙 (linux.cn)
了解如何在 Linux 中暂时禁用 iptables 防火墙来进行故障排除。还要学习如何保存策略以及如何在启用防火墙时恢复它们。

有时你需要关闭 iptables 防火墙来做一些连接故障排除,然后你需要重新打开它。在执行此操作时,你还需要保存所有防火墙策略。在本文中,我们将引导你了解如何保存防火墙策略以及如何禁用/启用 iptables 防火墙。有关 iptables 防火墙和策略的更多详细信息请阅读我们的文章。
by @技术头条 2018-07-03 14:26 分享 查看详情