Tag Archives: Debian

Timeout

Timeout for Linux process – Killing or cleanly closing a process in Linux based on timeout / time limit

Timeout on a script or program in Linux is easy!
Did you ever have the need to kill a process if it takes too long to run for any reason? Then this post will show you how you do just that.

This could be used to prevent a cronjob for running too long or prevent cronjobs from overlapping if a lock-file is not the optimal solution in your case.
It could also be used in a case where a process freezes for unknown reasons, and you need to force a restart of it based on a how long it has been running for.

This is not just useful for cronjobs, it can set a timeout on any process, script or program you run!

Continue reading

Linux lockfile explained, how to use them the easy or hard way

What is a lockfile

You may have experienced it before, you create a cronjob to change some data every X hour or minutes and one day this job takes longer than it usually does and cron spawns another job before the first one is finished.
This can result in data corruption or deletion of data that should not have been deleted, all depending on what the cronjob is set up to do
To prevent bad things from happening, a good rule of thumb is to always use a lockfile
A lockfile is a small file, it virtually takes up no space, at least so little you won’t care (The actual size depends on your filesystem). Sometimes it contains a PID, sometimes a timestamp or just plain empty. Depending on how the lockfile is managed
Continue reading

Configuring HP iLO through Linux automatically

We only use HP servers and we get more and more every week. Someone has to keep track of all those servers and be able to configure them using iLO in case of a disaster
Installation almost runs automatically, except for iLO configuration.
I have to first find the iLO ip, then login to the web interface, create users, set static IP and what not. It takes time, a lot of it.
If only there was some way to automate it without having to use HP’s software.. but wait, THERE IS!

I already posted how to scan for all HP ILO devices in your subnet, but the basics in the following post on how to configure iLO from your guest Linux OS might make everything a little easier for the sysadmins out there

How to configure HP iLO in Linux

First I will show you the useful commands and an example output for each, and then how to automate the configuration of your HP iLO interface using bash scripting
The script for configuring iLO automatically will be included at the end of this post

Needed packages:

OpenIPMI OpenIPMI-libs OpenIPMI-tools

These packages can be installed through your favorite package manager, below you’ll see the defaults in Debian and CentOS/RHEL

Debian:

apt-get install OpenIPMI OpenIPMI-libs OpenIPMI-tools

CentOS/RHEL:

yum install OpenIPMI OpenIPMI-libs OpenIPMI-tools

Once you got those installed, you can move on and configure or fetch info from iLO through the guest Linux

Continue reading

Fixing /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Today I had to run a script on a 64Bit server, but was met with the following error:

/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Reason for the /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory error

The /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory error will happen only on 64 bit systems, the cause is the that 32 bit libraries are missing from the system and the script/program needs them, so it can’t run.

How to fix the /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory error

Continue reading

View network bandwidth for each process in Linux using Nethogs

Have you ever been in the saturation that your Linux server is using a lot of network bandwidth, but it’s a guesswork to find the process using it all?
I just stumbled upon this tool, it’s not a new tools, but it’s extremely useful!
Let’s say you have a server running apache, mysql, ftp, btsync and a lot of other network services. and somehow that server is using up 100Mbit constantly. You want to find out what it is but only got tools like iftop, atop, iptraf and others which are all great tools, but they only show which connections are using the network bandwidth.
Continue reading

Make your own keybindings in linux using xbindkeys

Are you like me, who want to listen to music while you work? But then your boss comes over and you quickly have to pause it? Or maybe you just want some key bindings on your linux workstation to make life a lot easier, then look no further! xbindkeys is the solution, and I will show you how in this post! it’s really easy to configure and extremely helpful.
In my example, I will use it to pause/unpause my music when i press CTRL+space no matter what desktop I’m on and even if I’m not in the terminal where MOC (the music player I use) is running.

What you need

xbindkeys is the name of the only package you need for this. It should be in the official repository for your distro. Install examples below:

Debian

apt-get install xbindkeys

Arch Linux

pacman -S xbindkeys

CentOS

yum install xbindkeys

Continue reading

Get all new dhcp leases, but only the new leases since last check in bash

I needed to make a bash script for work that got the ip address of all new leases in the dhcp server, but only the new ones.
I spend some time looking for something useful, and therefore I decided to write a short post here to help others since i had a hard time finding it (maybe my google-fu is not as good as it should be)
The script had to do the following:
1. Get all new lines from a log file since last run
2. Get the ip addresses of the new leases
3. Do some stuff with the new ip addresses. This will not be part of this post
4. Run every minute in cron. This will also not be part of this post
In this post I will only cover how i did 1 and 2.
Continue reading

Creating and mounting a partition lager than 2 TB in Linux

This might be basics for some, but it’s a good thing to have bookmarked for the day you might need it. It helped me a lot.

Why can I only use 2 TB (TeraByte) of my 2+ TB drive in linux?

The answer is really simple. I guess you formatted the drive using “fdisk” which use a ms-dos partition table.
MS-dos partition table (MBR) is 32 bit, and thereby it can’t handle anything above 2 TeraBytes

How to create a partition above 2TB in linux

To fully use your 2+TB harddrive, you have to use a partition table that supports it. We now know that the MS-DOS partition table (MBR) does not, so what should you use instead? GPT.
GPT supports up to 9.4 ZB (ZetaByte). That’s 9895604649984 GB (GigaByte)!. It’s pretty safe to say, that you will not hit this limit in the near future.
Continue reading

Execute commands if load average is above in linux

Description

I needed this to do some testing with a load problem I had. One of our server would spike in load for a minute or two, but at random times.
I needed to see what was generating these spikes, but did not want to sit around waiting for it to happen and being ready to hit enter on the commands i needed to run when the load was spiking. So I made this simple little script that you can edit to your needs.

It’s a bash script, and requires the package “bc” to be installed (install it using your package manager if you don’t already have it installed.)

I have tested the script on CentOS and Debian.

I have tried commenting everything in the script as good as possible, but if you have any changes feel free to post a comment.

Continue reading

How to install a single package from debian testing through apt

Why would you want to install a package from testing when running on stable?

The reason is simple. Sometimes you just need a later version of a package than is in the Debian Stable repository. You could of course compile it from source, but this was not good enough for me since if you compile it from source, you have to keep it updated manually, and i’m sure i will forget to.
I wanted to do it through apt like the normal packages, But at the same time still keep running on Debian stable but having the option to install a later version of a package.
In this post, i will show you how you can make that possible, and it’s really easy!
Continue reading