The Linux Page

Help other users realize that everything is possible, especially avoiding Windows for their own personal use.

Welcome to The Linux Page

Fox Trot by Bill Amend. Click to enlarge.
Click to enlarge

This site is a collection of my own work with Linux. Certain things are easy, others take time to decipher and if I ever need to repeat the work (which usually happens!), then I need to remember everything by memory or... have a site with all the steps taken and to take again.

The following are my most recent posts:

Strange thing! I could not find the list of HylaFAX status codes on the net. They are listed in the faxd/STATUS.txt file for convenience, but I think they ought to be findable by Google so here they are.

Note that each time HylaFAX sends an error, the message is included. So I guess most people don't really care that much. But it can be useful to know what's what... (when you're a programmer trying to get something done for your company...)

All the codes are 3 digits, 000 meaning that everything worked just fine (best code ever!) The codes are very similar to the FTP codes and ...

The tar utility has changed over time and older versions would generate what is viewed as incompatible files. Although most tar utilities will still support older version (before 1988), the may generate this one warning:

   tar: Record size = 8 blocks

I tried, a couple times, to create tar files and they worked just fine but I would get this warning... This is rather annoying so I looked in a way to avoid the warning. Why do you think we get it?

The answer is in the newest versions of POSIX the block size of a tar file was decided to be 10Kb. Internally, the block sizes are still 512

I've been trying to send a POST to Apache 2.x using cURL. In itself, that's very easy to do. However, I run modsecurity and when cURL sends a POST that's too large, it actually decides to break the transfer down using an Expect: 100-continue header. That in itself sound good.

Some people said that you could override the Expect by adding the curl option to add a header like this:

  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));

This sounds all nice, however, it only removes the header from the request, it does not prevent the errors with modsecurity. Not only that, the curl header

I created a disk for my WinXP that I run on my virtual machine. This was my first Windows install and when creating the drive, the system used the wrong size. I did not notice until the whole installation was done. So... I got a hard drive of 8Gb which was not really large enough since installing all of those things for XP, including some updates, I got at a little over 5Gb of data.

Since I wanted to install many other things such as MinGW, it was quite tight!

I looked around and found a page on Ubuntu Forums that explained out to do the job: How to resize Hard Drive in Virtualbox. It's

Memory Chip — how to test their integrity

Today I wanted to test the memory on a remote server. I could not just reboot and run memtest86+ so instead I had to look for a different solution to testing most of the computer memory without having to reboot...

Test Memory Through Linux File Cache with On-Disk Temporary File

WARNING: This test asssumes that /tmp is NOT mounted with tmpfs. To verify use df /tmp. If it says tmpfs under the Filesystem column, then this test is likely to fail as written.

# Good, using a physical disk
% df /tmp
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/md6         4675752  9808   ...

Installation of HylaFAX

Installing Hylafax on Ubuntu 10.04 (and also some things to do on Ubuntu 10.10 and 11.04...).

As I'm installing Hylafax I'm writing the steps I'm taking in case I need to do it twice...

First, install the client and server on your server, and the client application on all other machines that needs access to the Hylafax server.

    sudo apt-get install hylafax-client hylafax-server

The server will be started automatically on installation. However, it won't be setup for your modem...

Modem Setup for HylaFAX to use

You want to add the modem ...

As I create website, I often deal with JavaScript code. At times, a variable doesn't make it for different reasons, for instance a part is missing and thus the variable generation doesn't happen. If then the script uses that undefined variable, then it generates an error. In some cases, it may not matter too much. However, when the variable that doesn't exist is hit, the JavaScript interpreter generates an exception and stops the execution of the script altogether (unless you capture the exceptions... Do you do that?!)

The solution is to test the variable and since I always have to search how

I just updated Linux to the newest version for Ubuntu 10.04 and got an error with the firewall...

 * Setting up the firewall iptables...
iptables-restore v1.4.4: Couldn't load match `igmp':/lib/xtables/ ... 
                             ... cannot open shared object file: No such file or directory

The fact is that the iptables code is now using a set of .so files to handle each protocol and it is found in the /lib/xtables folder. And there is no file in there... so you cannot change anything against such packets. That's it...

I tried to use 2 as the

I have different scripts that synchronize different hard drives for either backup or just synch-ing my development system with one of the production systems.

I got an error for a little while after I created a folder on a destination as I wanted to make sure that the source folder was being copied...

That generated an error as follow:

  rsync: delete_file: rmdir "<destination>" failed: Directory not empty (39)
  rsync error: some files could not be transferred (code 23) at main.c(977) [sender=2.6.9]

The fact is that the source file was a softlink and not a folder. So ...

Since the ZmEu attack, I've been watching my logs a little closer. I also found a page that I could not read (but Google could and was kind enough to provide a cached version.) That page listed many bots that are not nice bots. So? I decided to block some of them, especially those that use very bad URLs or load many pages too quickly.

The result is that I'm getting more and IP addresses in my firewall. Although they get removed in a schedule that I will not state here, I can tell you that each time I block tenth when not hundredth of useless hits (worst than that at times those could be

Thank you for visiting my website.