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:

Who is ZmEu?

An image showing ZmeuThe name Zmeu (no capital E) is the name of a fantastic creature of Romania. There are so many stories that there isn't a clear understanding of what it is... but it is human like, can spit fire and wants to marry young women.

If you're wondering, it is generally a bad guy.

ZmEu Attack

Today, I noticed a lot of traffic on one of my servers. Looking into what was happening, I immediately found out that an attacker was looking for a loophole in that system. That attack was being performed from China.

I checked another server, and sure enough, that other server was ...

Spider Web representing various Internet and Intranet network of users.

Older Versions (Ubuntu 17.10-)

With older versions I would just go to /etc/network and edit the interfaces file.

This file would have definitions about the computer interfaces, whether each computer gets a static IP or uses DHCP, etc.

Here is a sample setup for older versions:

auto eth0
iface eth0 inet static
        address 10.0.0.1
        netmask 255.0.0.0
        network 10.0.0.0
        broadcast 10.255.255.255
        gateway 10.0.0.1
        dns-nameservers 10.0.0.8 10.0.0.9
        dns-search m2osw.com
        pre-up /etc/network/firewall

The pre-up is a script run ...

Paper Archives

Today I really got fed up by the Archive feature. I never archive anything in Thunderbird. I have an automatic archival system and have all my emails since 2010. No need for that in my IMAP3 system!?

The biggest problem for me is that I work really fast. So when I go to my Junk folder and select all the emails to delete them, the Archive button appears where the Delete button was just a split second ago... and you guessed it, I end up clicking on that button...

So I thought I'd file a bug report to see whether they would consider not having the Archive button in the Junk folder. ...

Old Broken Plane, reminds me of old broken modules in Drupal...

Last night I found a problematic module... Specifically, it was XML Sitemap, but I do not think it was specific to that module.

The problem? I lost the XML Sitemap menu. I could not access it at all. So I decided to run the update.php code to see whether that would wake it up. Did not work. Then I tried going in the Modules list and disabling the modules. Did not work! Wow! I could not disable these modules!!! How weird...

So I finally decided to go in the database and mark the status as disabled (i.e. 0 instead of 1). That worked and the module was now disabled. I could even ...

Port in use prevents NGINX to start with a bind error.

Introduction

I'm writing a test against nginx to verify the validity of a module. To make sure that each one of my test runs against a pristine version of nginx and my module, I decided to restart nginx each time. That's my own compiled version of the server, of course.

NGINX Bind Errors

Once in a while, this causes this bind error:

[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

The fact is that if things go too fast then a previous instance of the socket will still be in the TIME_WAIT state.

Unsecure Fix (useful for testing!)

In order to avoid ...

Sample of two MS-Access tables with a relationship on an identifier.

Often, you adda function so when a user closes your form, it automatically saves the changes to the database. By default, the MS-Access behavior is to ask the user for confirmation, which can be a huge annoyance when you open and close forms hundreds of times all day long.

So... you add a new button, you click on the Event tabs (in the properties) and add a new Code Builder and in your Sub Function you add the following two lines:

DoCmd.OpenForm "New Form Name", acFormView, ...
DoCmd.Close acForm, "Old Form Name", acSaveYes

(You'll have to complete the OpenForm ...

A couple of swans swimming together with their heads underwater.

As I'm working with nginx, I ran in a problem where the HTTP headers would not appear at all.

Each time I was testing with

wget --server-response

I would get the correct response (i.e. the file looked just fine and could be opened as expected) but no header at all.

I'm writing a module and learning details about nginx which are just not documented out there.

The fact is that if your module returns HTTP data to a client's request, you are pretty much responsible for everything in the reply to make it work as expected. nginx is rough that way (but really very fast as a ...

Water Leaking in a Bucket

shared_ptr<>() and Leaked Resource on Exception

If you used C++ for a while, you may have come across a note saying that the shared_ptr<>() was not (always) safe to use with tracking resource.

The fact is that there is a trick to using a shared pointer.

The following code will look correct to most of us, after all, you create a resource then save it in a shared pointer which is going to automatically get rid of it on exceptions or when you return from your function. Great!

#include <memory>


void deleter(FILE * f)
{
    ...

Which destination has to be used?

Wildcard Certificate with letsencrypt

I have my own DNS, so I need to set it up myself to get letsencrypt to work as expected and generate a wildcard certificate for my websites.

They decided to test the DNS because that way they know you are in control of the domain and its sub-domains (only the owner  of a domain name would be able to allow such a test to work.) When creating a certificate for just one website they can ask you to place a file there, which is very easy, but for an entire domain, that wouldn't be quite enough, especially since some business endeavors actually ...

Gnome with menu and bottom panels.

Source of Image: GNOME Panel (Wikipedia)

No Panels at All

The Gnome X11 environment comes with a system called Panel.

Gnome panels are bars where the system include menus, icons, the date, statistics, etc.

Without the bar, it is a tad bit complicated to run programs and do all sorts of things (like switching between windows.)

If the panel software itself did not start properly or crashed, you may restart it with the following command:

gnome-panel

In case, however, the problem was that I wanted to hid the two panels I use (the default top and bottom panels.)

Panel Properties sample screenshot.

So I right ...

Thank you for visiting my website.