逐层拼接云原生栈
看着我们在纽约的办公大楼,我们发现了一种观察不断变化的云原生领域的完美方式。在 Packet,我们的工作价值( 基础设施(infrastructure)自动化)是非常基础的。因此,我们花费大量的时间来研究我们之上所有生态系统中的参与者和趋势 —— 以及之下的极少数…
如何确定你的Linux发行版中有没有某个软件包
有时,你可能会想知道如何在你的 Linux 发行版上寻找一个特定的软件包。或者,你仅仅只是想知道安装在你的 Linux 上的软件包有什么版本。如果这就是你想知道的信息,你今天走运了。我正好知道一个小工具能帮你抓到上述信息,下面隆重推荐—— Whohas:这是…
Fedora 下的图像创建程序
有了创意吗?Fedora 有很多程序可以帮助你的创造力。从数字绘图、矢量到像素艺术,每个人都可以在这个周末发挥创意。本文重点介绍了 Fedora 下创建很棒图像的程序。矢量图形:InkscapeInkscape 是一个众所周知的、受人喜爱的开源矢量图形编辑器。SVG 是 Ink…
将 Linux 终端会话录制成 SVG 动画
录制终端会话可以满足我们不同类型的需求。通过录制终端会话,你可以完整记录你在终端中执行的操作,将其保存以供后续参考。通过录制终端会话,你还可以向青少年、学生或其它打算学习 Linux 的人展示各种 Linux 命令及其用例。值得庆幸的是,市面上已经有不…
对比 Ubuntu 18.04 和 Fedora 28
大家好,我准备在今天突出说明一下两大主流 Linux 发行版,即 Ubuntu 18.04 和 Fedora 28,包括一些特性和差异。两者都有各自的包管理系统,其中 Ubuntu 使用 DEB,Fedora 使用 RPM;但二者使用同样的桌面环境(Desktop Environment) (DE)GNOME,并致力于…
如何在 Ubuntu 中切换多个 PHP 版本
有时,最新版本的安装包可能无法按预期工作。你的程序可能与更新的软件包不兼容,并且仅支持特定的旧版软件包。在这种情况下,你可以立即将有问题的软件包降级到其早期的工作版本。请参阅我们的旧指南,在这了解如何降级 Ubuntu 及其衍生版中的软件包以及在这…
6 个简单的方式来查看 Linux 中的用户名和其它信息
这是一个非常基础的话题,在 Linux 中,每个人都知道如何使用 id 来查找用户信息。一些用户也从 /etc/passwd 文件中过滤用户信息。我们还使用其它命令来获取用户信息。你可能会问,为什么要讨论这个基础话题呢?即使我也这么认为,因为除了这两个之外没有更…
Linux DNS 查询剖析(第二部分)
在 Linux DNS 查询剖析 - 第一部分 中,我介绍了:nsswitch/etc/hosts/etc/resolv.confping 与 host 查询方式对比并且发现大多数程序选择要查询的 DNS 服务器时会参考 /etc/resolv.conf 配置文件。这种方式在 Linux 上比较普遍1。虽然我使用了特定的发行版 …
如何用 Python 读取 Outlook 中的电子邮件
从事电子邮件营销, 准入(opt-in)邮箱列表是必不可少的。你可能已经有了准入列表,同时还使用电子邮件客户端软件。如果你能从电子邮件客户端中导出准入列表,那这份列表想必是极好的。我使用一些代码来将 outlook 配置中的所有邮件写入一个临时文件中,现在…
JavaScript 框架对比及案例
在我的上一篇文章中,我试图解释为什么我认为 Hyperapp 是一个 React 或 Vue 的可用替代品,原因是,我发现它易于起步。许多人批评这篇文章,认为它自以为是,并没有给其它框架一个展示自己的机会。因此,在这篇文章中,我将尽可能客观的通过提供一些最小化…
使用 Docker 的用户名字空间功能
用户名字空间(User Namespaces) 于 Docker 1.10 版本正式纳入其中,该功能允许主机系统将自身的 uid 和 gid 映射为容器进程中的另一个 uid 和 gid。这对 Docker 的安全性来说是一项巨大的改进。下面我会通过一个案例来展示一下用户名字空间能够解决的问题,…
如何在 Linux 中切换相同程序的不同版本
几天前,我们曾经讨论如何在不同的 PHP 版本之间进行切换。在那篇文章中,我们使用 update-alternatives 命令实现从一个 PHP 版本切换到另一个 PHP 版本。也就是说,update-alternatives 命令可以将 系统范围(system wide)默认使用的 PHP 版本设置为我们希…
Linux DNS 查询剖析(第一部分)
我经常与虚拟机集群打交道(文1、文2、文3、文4、文5、文6),因此最终花费了大量时间试图掌握 DNS 查询的工作原理。遇到问题时,我只是不求甚解的使用 StackOverflow 上的“解决方案”,而不知道它们为什么有时工作,有时不工作。最终我对此感到了厌倦,决…
使用 Ptrace 去拦截和仿真 Linux 系统调用
ptrace(2)(“ 进程跟踪(process trace)”)系统调用通常都与调试有关。它是类 Unix 系统上通过原生调试器监测被调试进程的主要机制。它也是实现 strace( 系统调用跟踪(system call trace))的常见方法。使用 Ptrace,跟踪器可以暂停被跟踪进程,检查和设…
C指针-这该死的嵌入式学习生涯
01前言-嵌入式入门指导最近在公众号里面收到好几个同学关于嵌入式方面的咨询,再加上在知乎里面陆续推送了好几个嵌入式学习入门的问题,这次想统一整理一下,说说我这些年是如何被嵌入式按在地上摩擦的。 1、那一年夏天 2012年的夏天,我记得很清楚,我和XH…
Linux信号量-老子今天不干了
01前言今天下班的时候,下起了大雨,7点多的时候大家都躲在办公司等雨停,惊讶的是公司一位同事还去人才公园雨中漫步了一圈才回来。我想起刚毕业的那几年,工作的激情非常高,学习也像一个无头的小老虎,刚开始接触安卓,很多东西都不懂,那时候,自己写了…
Android系统充电系统介绍-预防手机充电爆炸
01 前言今天小庹给我发了下面的代码class MyThread implements Runnable{ private int ticket = 5; public void run(){ for (int i=0;i<10;i++) // 这里为什么加了循环 { if(ticket > 0){ System.out.println("ticket = " + ticket--); } }…
重温 wallabag:Instapaper 的开源替代品
这个稍后阅读应用增加了功能,使其成为诸如 Pocket、Paper 和 Instapaper 之类应用的可靠替代品。早在 2014 年,我写了篇关于 wallabag 的文章,它是诸如 Instapaper 和 Pocket 这样的稍后阅读应用的开源替代品。如果你愿意,去看看那篇文章吧。别担心,我…
献给命令行重度用户的一组实用 BASH 脚本
今天,我偶然发现了一组适用于命令行重度用户的实用 BASH 脚本,这些脚本被称为 Bash-Snippets,它们对于那些整天都与终端打交道的人来说可能会很有帮助。想要查看你居住地的天气情况?它为你做了。想知道股票价格?你可以运行显示股票当前详细信息的脚本。…
在 Linux 中如何以人性化的方式显示数据
许多 Linux 命令现在都有使其输出更易于理解的选项。让我们了解一些可以让我们心爱的操作系统更友好的东西。不是每个人都以二进制方式思考,他们不想在大脑中给大数字插入逗号来了解文件的大小。因此,Linux 命令在过去的几十年里不断发展,以更人性化的方…