cron.weekly issue #15: Ubuntu, TCP/IP, systemd, htop, Teletraan, Maybe, /etc/hosts, Fish & many more!


cron.weekly is a newsletter about Linux, open source & webdevelopment. Want to get it in your inbox every Sunday? Subscribe below!

I respect your privacy and you won't get spam. Ever. Just a weekly-ish newsletter about Linux and open source.

Want to help support this blog? Try out Oh Dear, the best all-in-one monitoring tool for your entire website, co-founded by me (the guy that wrote this blogpost). Start with a 10-day trial, no strings attached.

We offer uptime monitoring, SSL checks, broken links checking, performance & cronjob monitoring, branded status pages & so much more. Try us out today!

Image of Mattias Geniar

Mattias Geniar, February 14, 2016

Follow me on Twitter as @mattiasgeniar

Welcome to the 15th issue of cron.weekly for February 14th, 2016. It’s valentines day, so what better way to spend your day than reading about Open Source, right?

Last week’s edition was a small one due to illness on my part, but I promise you plenty of reading material for this week. Enjoy!

News

Ubuntu aims to be fully in sync with Debian, without Ubuntu-specific patches

Right now, Ubuntu inherits a lot of packages, methodologies and workflows from the Debian project, but there are some very specific Ubuntu “hacks” needed in order to use the Debian packages. The Ubuntu project is working for the 18.04 release to be entirely compatible with Debian, without Ubuntu specific patches.

Debian 6 EOL by end of February

The Debian 6 LTS release will reach end of life on February 26th, 2016, five years after its initial release.

Nginx to support dynamic modules

As of the 1.9.11 release (out since 9/2) Nginx supports dynamic modules. This allows modules to be loaded or unloaded at runtime based on configuration files.

Linux kernel bug delivers corrupt TCP/IP data to Mesos, Kubernetes, Docker containers

An interesting technical read on virtual ethernet devices (veth) and a long-standing bug that has plagued the Mesos, Kubernetes and in lesser form the Docker community (Docker was only vulnerable over IPv6).

Systemd v229 released

This new release has DNSSEC validation (optional), improved coredump support, better socket activation and many more improvements.

Vault 0.5 released

Vault is a tool for managing secrets. From API keys and encrypting sensitive data to being a complete internal CA, Vault is meant to be a solution for all secret management needs. The new release adds listing secrets, better ACLs, split backends and many more.

Unikernels, Docker, and Why You Should Care

Docker recently acquired Unikernels Systems. This post covers the potential impact of that purchase on the ecosystem for both the developers and endusers.

‘ls’: default to –quoting=shell-escape for output to terminal

An interesting change for the security of our terminals: the ‘ls’ command will soon automatically shell-escape the output.

Why I fought for open source in the Air Force

Open Source is everywhere. In the military, using open source can be used to your advantage.

Htop 2.0 released

The new version is now cross-platform, ads support for mouse-wheel scrolling, moving meters/columns in the settings becomes easier, the ability to show environment variables and a revamped “graph” mode.

Sourceforge sold again

Our once beloved open-source hosting repository is once again being sold, this time to an unknown ‘BIZX’.

What success really looks like in open source

This post looks at successful open source projects and determines what it takes to make it happen, referring back to the famous “The Cathedral and the Bazaar” essay covering software development methodologies that is nearly 20 years old.

Acknowledging Non-Coding Contributions

Open Source is more than writing code and making it public. It’s a shame that most open source tools only show appreciation to “contributors” in the form of code commits, not by submitting bug reports, writing documentation, support end-users on mailing lists, …

Tools & Projects

Vagga

Vagga is a tool to create development environments, aiming to be automated after commands like “git pull” by starting a container and running a command. Environments can be automatically rebuilt after every change in version control. If you’re wondering “isn’t Vagrant already doing this?”, their FAQ has you covered.

Teletraan

This new project is Pinterests’ deployment tool, with a focus on rollbacks, hotfixes, rolling deploys (with no downtime), staging, visibility and usability.

RancherOS

RancherOS is a 20mb Linux distro that runs the entire OS as Docker containers. RancherOS is a minimalist Linux distribution that is perfect for running Docker containers. The idea is to run Docker directly on top of the Linux Kernel, and have all user-space Linux services be distributed as Docker containers.

Spellbook

The ‘spellbook’ project allows you to search for and store command line snippets. Instead of “aliassing” everything and hoping to remember each alias, spellbook can be your own personal repository of useful little CLI snippets.

BigchainDB

BigchainDB is a scalable blockchain database, built for petabytes of capacity. The whitepaper behind the project offers more details.

Maybe

Not sure what that shell-script is going to do? Run it with maybe. See what the program does before deciding whether you really want it to happen.

git-blame-someone-else

The ‘git blame’ command shows the author and commit for each line in a file. It’s perfect for tracing the author of a faulty change. But what if you’re that author? This project allows you to change the author of a particular commit, to shift blame to someone else.

bup

Bup is a very efficient backup system based on the git packfile format, providing fast incremental saves and global deduplication (among and within files, including virtual machine images).

ddumbfs

ddumbfs is a fast inline deduplication filesystem for Linux. Based on FUSE and released under the GNU GPL. Deduplication is a technique to avoid data duplication on disks and to increase its virtual capacity.

Adblock via /etc/hosts

This project is a consolidated effort to combine multiple adblock lists into a single, curated, hosts-file. You can drop this in your /etc/hosts to block most of the ads on the internet.

Subuser

Subuser turns Docker containers into normal linux programs for easier use and improved security. Subuser gives your desktop programs access to the resources they need in order to function normally.

modd

Modd is a flexible tool for responding to filesystem change.  It triggers commands and manages daemons in response to filesystem changes.

gz-sort

Gz-sort sorts gzipped data files. Really really big gzipped data files. In order to sort a terabyte of data you only need 4MB of RAM.

Deepstream.io

A Scalable Server for Realtime Web Apps. It stores and syncs data in realtime, built in node.js.

Maltrail

Maltrail is a malicious traffic detection system, utilizing publicly available (black)lists containing malicious and/or generally suspicious trails, along with static trails compiled from various AV reports and custom user defined lists, where trail can be anything from domain name, URL or IP address.

whatportis

A command to search port names and numbers.

stormssh

Storm is a command line tool to manage your ssh connections. You can add/delete/edit your ~/.ssh/config file from the CLI.

rclone

Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage.

testssl.sh

Testssl.sh is a free command line tool which checks a server’s service on any port for the support of TLS/SSL ciphers, protocols as well as some cryptographic flaws.

ssh-chat

An interesting proof-of-concept chat implementation, based on the SSH protocol. Just SSH to a server (and accept its public key) and you enter a chatroom.

Project Haystack

Project Haystack is an open source initiative to streamline working with data from the Internet of Things.

Zest Documentation

Offline search tool for developers: find what you need without the need for Internet access. It takes a local copy of Stack Overflow and builds a GUI in front of it so you can search the data.

qira

Qira is a ‘QEMU Interactive Runtime Analyser’: it’s like strace of gdb, but for QEMU virtual machines.

Guides & Tutorials

Super Fast Local Workloads With LXD, ZFS, and Juju

An interesting approach on developing software locally on a laptop/desktop, by partitioning the drive as a separate ZFS partition for use with LXD (linux container hypervisor) to destroy/rebuild environments quickly.

How CPU load averages work (and using them to triage webserver performance!)

CPU load averages aren’t as straightforward as they could be. This guide dives into what they are, how they relate to CPU time and how to better understand the averages.

Maximum RPM

If you ever need to build RPM packages for Red Hat, CentOS or Fedora, this guide has you covered.

Show the commands to be executed in a bash-script

This StackOverflow post covers the various settings of “set -o verbose, “set -x” and “set -v” in bash scripts. They can be used to debug applications and show the output of each shell-command within that bash file.

Fish: A Better Alternative to Bash That Many Are Not Aware of

A detailed guide covering the Fish-shell, which has recently been gaining in popularity next to the already famous Zsh and oh-my-zsh project.

How to Create Virtual Machines in Linux Using KVM (Kernel-based Virtual Machine)

This tutorial discusses KVM introduction, deployment and how to use it to create virtual machines under RedHat based-distributions such as RHEL/CentOS7 and Fedora.

Refactoring a Dockerfile for image size

How do you make your Docker images as small as possible? This guide covers some basics for removing obsoleted packages.

RSpec for Ops

RSpec is used for testing your infrastructure as code. This blog post is the first in a series attempting to outline some of the basics of test driven development with rspec from the perspective of an Operations person.

How To Use Prometheus to Monitor Your Ubuntu 14.04 Server

Prometheus is an open source monitoring system developed by SoundCloud. Like other monitoring systems, such as InfluxDB and Graphite, Prometheus stores all its data in a time series database. This guide covers the setup and configuration.



Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.