Articles on Linux, the open source operating system
More and more large companies are implementing more restrictive email policies to fight increasing SPAM. These are mainly DMARC. Such companies include Yahoo, Cox, Verizon, and others.
As this happens, some of your legitimate email may be rejected because email servers are more restrictive.
In order to minimize the probability of your email being rejected, the following describes how to implement Sender Policy Framework (SPF) and DKIM on your already running Postfix mail server.
Now that OpenWRT has released a new stable version: Barrier Breaker 14.07, it was time to upgrade my D-Link DIR-835 router running snapshots to it.
Do do this, I first did the following:
1. Save a list of the packages, using the command:
Then using some scripting on the output to ignore the version numbers.
2. Updating the /etc/sysupgrade.conf file to look like this:
If you are, like me, an Ubuntu user who is annoyed when doing aptitude full-upgrade because it stops and displays the changelog until you press "q", then here is why this happens, and how to change the behavior.
The reason this happens is that the package apt-listchanges is installed on your system. This package lists the changes before applying them.
However, by default, it stops the upgrade process until the user has provided input. The silly part is that there are no choices at this point, the user must dismiss the output and nothing else can be done.
If you upgraded your Kubuntu KDE Desktop from 12.04 (precise pangolin) to 14.04 (trusty tahr), and tried to connect your laptop to a projector, you will be, like me, frustrated with the default "Monitor and Display" settings that pops up. You can't unify outputs easily.
To overcome this, install the kde-workspace-randr package. It will provide you with an icon in the system tray where you can unify the outputs and change each's resolution more easily.
Do it using the following command, or use your favorite software installation program:
Looking at the regular weekly backups, I saw a jump in size that was not accounted for by regular normal growth.
ls -ltrh /backupdirectory
-rw-r--r-- 1 root root 31G May 25 03:23 backup-2014-05-25.dump
-rw-r--r-- 1 root root 31G Jun 1 03:22 backup-2014-06-01.dump
-rw-r--r-- 1 root root 32G Jul 6 03:21 backup-2014-07-06.dump
-rw-r--r-- 1 root root 41G Aug 3 03:25 backup-2014-08-03.dump
After upgrading my laptop from Kubuntu 12.04 LTS to 14.04 LTS, I noticed that the laptop runs hotter than usual.
Upon investigating further, I found that PackageKit was the process that was consuming lots of CPU and memory.
For example, here is a sample output from htop, showing packagekitd maxing out one core, and eating up almost a quarter of the laptop's RAM:
Sometimes when you are running Linux and have a weird bug, you wish you would know what the process is doing. For example, which files it is opening and such ...
The strace command is very useful.
However, its common use cases is when you have a single process running. Usually, you would run strace and your command as an argument, like so:
On August 12th, I did a presentation on OpenWRT for the KW Linux Users Group.
The slides from this presentation are attached below, and the audio for the presentation is available as a podcast.
Hope it is of use for some.
In that presentation I mentioned wrtbwmon, the bandwidth monitoring script for OpenWRT. You can download my modified version from here.
Years ago, I wrote about the various tools available for monitoring bandwidth usage for individual devices in a home network.
Now, I have a definitive solution that will help with the questions: wrtbwmon. This is based on several variants that are floating around the internet, each a fork of another.
Here is an excerpt from the README file:
If you have a VPS at Linode, then you have free Dynamic DNS. You can use that from a regular Linux machine, or from a router that runs OpenWRT.
This article describes how to setup an OpenWRT router with Linode Dynamic DNS.
First, the script itself, which goes into the file: /etc/custom/linodedns.sh
BASE=`basename $0 .sh`
# Read the configuration file
if [ -r "$CONF" ]; then