Linux lockfile explained, how to use them the easy or hard way
4.41 (88.21%) 39 votes
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
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
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
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
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.
Make your own keybindings in linux using xbindkeys
5 (100%) 1 vote
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:
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
With CentOS 7 just released, I thought it would be a great time to make a CentOS 7 64Bit server installation step-by-step guide, with pictures and everything just like the old CentOS 6.5 64Bit server installation guide.
Requirements for installing a CentOS 7 64Bit server
You don’t need much for this, of course you need a computer or server to install this on, and the only other things you need are a working internet connection on the server and the CentOS 7 64Bit iso.
Creating and mounting a partition lager than 2 TB in Linux
4.58 (91.67%) 12 votes
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.
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.