I came across this excellent, brief, and very useful write-up on Code Coffee that explains the DU and DF commands and gives some usage examples.

These commands are both extremely useful for getting a quick handle on your file system or on a particular directory.

I won’t re-invent the wheel, but rather will just give you the link:



What is a Ram Disk you ask? Simply put, you carve out a piece of your system’s RAM and use it as a normal file system. But you probably have some more questions…

Why would I want to do this?

Simply put, RAM is very fast. Faster than most (any?) SSD drive. So if you have an application that would benefit from being able to access data very quickly, a RAM disk makes a lot of sense.

That’s amazing… why don’t I just load everything into a RAM disk all the time?

Two primary reasons… First… RAM is expensive and therefore quite scarce compared with conventional hard drive space. So your system probably has a fairly limited amount to work with. Second, and perhaps more critical, RAM is erased whenever power is lost. So if you do a system reboot, or lose power, everything stored on your RAM disk, even the RAM disk itself, is completely lost.

Oi’ that’s bad… when exactly would I want to use a RAM disk then?

Some applications, like MySQL for example, write “temporary” files to disk. These are usually pretty small files that are built on the fly for normal operations. Think of them like a scratch-pad you would use when doing a long equation in Algebra class. These files are built on the fly to store some temporary data (perhaps a specific view of the database as requested by a website page). Often they are used for “cache” as well, i.e. rather than taking the CPU through the task of building as special table from existing tables again and again, it caches the special table so it can serve it the next time it is requested.

Ultimately, if your system gets rebooted, you really don’t care if you lose this kind of data. Furthermore, having this kind of data written to and pulled from a RAM disk, could really improve application performance depending on your use case.

In this article, I am going to talk about building a RAM disk on the fly, and telling MySQL to use it. Furthermore, we are going to create a few scripts to make sure our RAM disk is created at every boot so that MySQL can consistently take advantage of it.

My Apache administration skills are something that I am working on – ongoing. Furthermore, any IT / Web / Linux admin worth their salt should have somewhat of a handle on DNS and on Apache. I have somewhat of a handle on both, though like most things I am not an expert :), rather I am always a professional generalist (always getting a little better at everything…). So when a client came to us with a scenario recently I had to do some searching around to figure out what the best solution was. I am not stating that this IS the best solution or best practice however it is working well for us and I would love to hear some ideas, if you have them, on how you would have solved this.

So basically our client built a site. Let’s call it widgets.com. However, after this site was around for several years and garnered some decent traffic they realized they really wanted it to be called coolwidgets.com and they were rebuilding the thing anyhow. That being said, they didn’t just want to outright drop “widgets.com” as, hey, that is getting some traffic and people think of this client as both “widgets” and “cool widgets” so they would really like to keep both names but always redirect to coolwidgets.com.

Working on something well outside of my experience range recently (typical…), namely Cisco switch administration. In particular, I was working on a Cisco Catalyst 3560 switch which apparently doesn’t have quite as robust of a user-friendly web-gui as I would have liked. A couple years back I setup a SPAN port (aka Mirror port) on this switch as we were setting up Snort IDS for the network here and needed a sniffer port. Fast-forward a year and our network configuration has changed and we no longer need this to be a SPAN port and I couldn’t remember how I set it up (or how to take it away).

I know very little about the Cisco Command-Line interface but after Googling around to five different sites I was able to speculate/guess what needed to be done.

Google Authenticator, and (all?) other rotating-pin multi-factor authentication systems, rely on the clock on the token device (in this case your smart-phone or tablet) and the authenticating system (in this case the OpenVPN server). If the clocks are different by more than a few seconds or so, it will break your authentication. (more…)