How to record statistics about a Linux machine’s uptime

Posted on in Categories Command Line Hacks, Hardware last updated November 15, 2017

Linux/Unix sysadmins have a weird obsession with server uptime. There is a xkcd comic devoted to this subject where a good sysadmin is an unstoppable force that it stands between the forces of darkness and your cat blog’s servers.
Fig.01: Devotion to Duty https://xkcd.com/705/
One can tell how long the Linux system has been running using the uptime command or w command or top command. I can get a report of the historical and statistical running time of the system, keeping it between restarts using tuptime tool. Like uptime command but with the more impressive output. Recently I discovered another tool called uptimed that records statistics about a machine’s uptime. Let us see how to get uptime record statistics using uptimed and uprecords on Linux operating system.

Improve your bash/sh shell script with ShellCheck lint script analysis tool

Posted on in Categories Command Line Hacks, Howto, Programming last updated November 9, 2017

ShellCheck is a static analysis tool for shell scripts. One can use it to finds bugs in your shell scripts. It is written in Haskell. You can find warnings and suggestions for bash/sh shell scripts with this tool. Let us see how to install and use ShellCheck on a Linux or Unix-like system to enhance your shell scripts, avoid errors and productivity.

The Librem 5: Your Ultimate GNU/Linux FLOSS Smartphone

Posted on in Categories Linux News, Mobile Devices last updated August 24, 2017

Purism is well known for Linux based laptop with Coreboot. Now they started a crowdfunding campaign today for its smartphone called Purism Librem 5. What is so special about this phone? It is 100% powered by GNU/Linux. You can run any Linux distro on it. The phone provides high security and privacy features, i.e., it does not track you. This seems like an excellent device. One that I would certainly purchase or recommend to a privacy-conscious person.

I put a cronjob in /etc/cron.{hourly,daily,weekly,monthly} and it does not run and how can I troubleshoot it?

Posted on in Categories Cloud Computing, Howto, Open Source, Web Developer last updated August 27, 2017


Recently I created a simple shell script called backup.sh in /root/scripts directory to just backup MySQL database and dumped it to /nfs/mysql/ directory. I put a file (more like used the ln command to create a soft link ) in /etc/cron.hourly/ and it doesn’t run. There was no error in systemd log or cron log. Why is my cron job was not working, and here is how I troubleshoot it.

OpenSSL drops TLS 1.0/1.1 support for Debian Unstable and what does it mean for Debian sid users?

Posted on in Categories Debian Linux last updated August 7, 2017

From the announcement mailing list:

I’ve just uploaded a version of OpenSSL to unstable that disables the TLS 1.0 and 1.1 protocol. This currently leaves TLS 1.2 as the only supported SSL/TLS protocol version.

This will likely break certain things that for whatever reason still don’t support TLS 1.2. I strongly suggest that if it’s not supported that you add support for it, or get the other side to add support for it.

OpenSSL made a release 5 years ago that supported TLS 1.2. The current support of the server side seems to be around 90%. I hope that by the time Buster releases the support for TLS 1.2 will be high enough that I don’t need to enable them again.

Increase your Linux server Internet speed with TCP BBR congestion control

Posted on in Categories Cloud Computing last updated July 22, 2017

I recently read that TCP BBR has significantly increased throughput and reduced latency for connections on Google’s internal backbone networks and google.com and YouTube Web servers throughput by 4 percent on average globally – and by more than 14 percent in some countries. The TCP BBR patch needs to be applied to the Linux kernel. The first public release of BBR was here, in September 2016. The patch is available to any one to download and install. Another option is using Google Cloud Platform (GCP). GCP by default turned on to use a cutting-edge new congestion control algorithm named TCP BBR.

Why port 80 (HTTP) reported as open by nmap when it is closed?

Posted on in Categories Security last updated July 2, 2017

Why are some ports reported as open by nmap?
I recently setup a small server which is running Debian 9. The purpose of this machine is to run OpenVPN server on port 443 to bypass censorship. It runs the following services and nothing else:

  1. Squid on private IP belongs to VPN pool (10.8.0.1:3128)
  2. SSH on private IP belongs to VPN pool (10.8.0.1:22)
  3. DNS resolver on private IP belongs to VPN pool (10.8.0.1:53)
  4. OpneVPN on public IP port 443 (server_public_ip_address:443)

Download of The Day: Debian Linux 9 ( Stretch )

Posted on in Categories Linux News last updated June 18, 2017

Debian GNU/Linux version 9.0 stretch has been released ( jump to download ) after many months of constant development and available for download in various media format. Debian 9.0 is a free operating system includes various new features such as support for mips64el architecture, GNOME 3.22, KDE Plasma 5.8, LXDE, LXQt 0.11, MATE 1.16, Xfce 4.12, Linux kernel 4.9 and more. Debian 9 is dedicated to the project’s founder Ian Murdock, who passed away on 28 December 2015.
Debian 8.x 64-bit-mate-desktop-screenshot