cPanel Perl Module Scalar Utils issue

Howdy,

Apparently some recent cPanel shenanigans have caused problems on some systems with the Perl Module Scalar::Utils. It appears that it may have been modified, removed or something similar. If this is the case, you may see cpan installs failing, EasyApache installs failing, /scripts/perlinstaller installs failing, and more.

The errors will look something like:

Undefined subroutine &Scalar::Util::blessed called at /usr/lib/perl5/5.8.8/JSON/PP.pm line 319.

Reinstalling this module is rather interesting as it appears that once you start, the module requires itself to continue the install. Re-installing the Perl RPM does not fix this. It is prevalent enough that cPanel’s written a fix for it:

/scripts/autorepair scalarutil

Run that, and run the perlinstaller afterwards to check your work with:

/scripts/perlinstaller --force Task::Cpanel::Core

And you should be good.

IOping

From code.google.com – ioping

This tool lets you monitor I/O latency in real time. It shows disk latency in the same way as ping shows network latency.

Install
just download the sourcefile from ioping.googlecode.com

wget https://ioping.googlecode.com/files/ioping-0.6.tar.gz
tar -xzvf ioping-0.6.tar.gz
cd ioping-0.6/
make ioping

./ioping
Usage: ioping [-LCDRq] [-c count] [-w deadline] [-p period] [-i interval] [-s size] [-S wsize] [-o offset] device|file|directory
ioping -h | -v

-c stop after requests
-w stop after
-p print raw statistics for every requests
-i interval between requests (1s)
-s request size (4k)
-S working set size (1m)
-o in file offset
-L use sequential operations (includes -s 256k)
-C use cached I/O
-D use direct I/O
-R seek rate test (same as -q -i 0 -w 3 -S 64m)
-q suppress human-readable output
-h display this message and exit
-v display version and exit

 
Supported OS
GNU/Linux
GNU/HURD
Windows
OS X
FreeBSD
DragonFlyBSD
 
Examples

./ioping .
4096 bytes from . (ext3 /dev/root): request=1 time=0.1 ms
4096 bytes from . (ext3 /dev/root): request=2 time=0.2 ms
4096 bytes from . (ext3 /dev/root): request=3 time=0.2 ms
4096 bytes from . (ext3 /dev/root): request=4 time=0.1 ms
4096 bytes from . (ext3 /dev/root): request=5 time=0.2 ms
4096 bytes from . (ext3 /dev/root): request=6 time=0.2 ms
4096 bytes from . (ext3 /dev/root): request=7 time=0.1 ms

--- . (ext3 /dev/root) ioping statistics ---
7 requests completed in 6336.0 ms, 6082 iops, 23.8 mb/s
min/avg/max/mdev = 0.1/0.2/0.2/0.0 ms

 
Measure disk seek rate (iops, avg)

$ ioping -R /dev/sda

--- /dev/sda (device 465.8 Gb) ioping statistics ---
186 requests completed in 3004.6 ms, 62 iops, 0.2 mb/s
min/avg/max/mdev = 6.4/16.0/26.8/4.7 ms

 

Measure disk sequential speed (mb/s)


$ ioping -RL /dev/sda

--- /dev/sda (device 465.8 Gb) ioping statistics ---
837 requests completed in 3004.1 ms, 292 iops, 72.9 mb/s
min/avg/max/mdev = 2.0/3.4/28.9/2.0 ms

  

Saga of the Lost Server

From WHT

The Epic Saga of the Lost Server

“Lo, and in those days businesses relied on their hosting companies to provide them with excellent customer service, persistent uptimes, and rapid response during downtime events.

But in that day, the god of lightning (for he is a fickle and capricious god) saw to it to destroy the server the people relied on for their daily sustenance.

And the leader of the people beseeched the gods of hosting for succor; but were denied. For they spoke in riddles and strange tongues whilst they mocked and scoffed at his words.

For the greater gods’ hearts remained cold and hardened by the winds and great amounts of cash that blew into their stony towers.

And there was a great weeping and gnashing of teeth among the peoples. For they had been in drought, yet, they survived through their wiles and labors; but, without the VPS parent server, they had no means to provide for their families.

But the leader of the people was not deterred. He sent prayers, and offerings, and multiple support ticket requests, and phone calls to the lesser gods in hopes that one would hear his pleas and avenge his loss.

And his prayers and cries were answered; yea, but not until evening of the third day.

On the evening of the third day, the lesser gods of System Admin and Support Supervision heard his pleas, and were greatly distraught. ‘For his people have no websites, nor any hosting, nor any means of sustenance during this time of drought, and although the greater gods have scoffed and mocked him in his time of need, we will do what we can in secret to help him.’

And so, the lesser gods brought him a great burning brand that they called ‘New Server’ – and magically transferred all his data, and his people’s data, and the data thereof to the ‘New Server’. And although the trickster MySQL caused them much mischief, they were able to restore the power of hosting to the leader and his people.

And on that night the people rejoiced.

But, the leader of the people was perplexed, and greatly troubled. ‘Why was this not done three days ago?’

And there was no answer. So the lesser gods restored a fraction of his losses according to their SLA, which amounted to a pittance in his eyes.

But the lesser gods’ powers were limited by the dominion of the greater gods.

And yet, the leader and his people remained, perhaps to seek new lands and new hosting servers, and to tell others through tales and fables of the poor treatment they received at the hands of the greater gods.

For the leader of the people was defiant, and not one to easily forget.”

DNSBLS.py

Link to dnsbls.tar.gz

DNSBLS – An easy-to use DNS blacklist checker.
Requirements: Python 2.7.3
Written by: MadsRC @ 2012 – Released under the GNU GPLv3

————————–

DNSBLS came into existence as I had a need to regularly check certain mailserver for DNS blacklisting.

To use the script, simply execute it. First timers are encouraged to execute it with the argument -h to learn it’s syntax.

If you feel the need to add one or more DNS blacklists to the script, simply add it to the list defined in the script. Same goes for removing dns blacklists.

————————–

WHAT IT IS & HOW IT SHOULD BE USED:
This is a tool that checks a specified list of 457 DNS blacklists, one at a time, and gives returns different formatted values to you. That is the short version.

Long version:
This tool was first created to check a few DNS spam blacklists, but now, by standard, checks any DNS blacklist that it is given. It is written to do one thing, check RBL blacklists, and it does that damn well. What you decide to do with the output is entirely up to you. It will take either an IP or hostname as input (argument -i) which it will then validate and run it through the list of DNS blacklists and give you some form of output. It can be as simple as telling you 1 if your on a list, or 0 if your not on a list or it can output the lists you’re on plus that lists “code” for what your input is on it for.

————————–

Examples:

dnsbls.py -i 1.2.3.4
Will tell you if you are on any of the lists that DNSBLS checks against.

dnsbls.py -i 1.2.3.4 -s
Outputs 1 if you are on a list that DNSBLS checks against, and 0 if you aren’t

dnsbls.py -i 1.2.3.4 -v
Outputs the lists you are on.

dnsbls.py -i 1.2.3.4 -vv
Outputs every list that DNSBLS checks against, and tells you if you are on any of them.

dnsbls.py -l
Outputs every list that DNSBLS checks

TIP: -i also resolves hostnames

root@server:~# python dnsbls.py -i 72.52.130.201
You are on one of my lists! - Use -v argument to find out what lists.
root@server:~# python dnsbls.py -i 72.52.130.201 -v
abuse-contacts.abusix.org 127.0.0.1
niku.2ch.net 127.0.0.2
all.ascc.dnsbl.bit.nl 127.0.0.160
all.dnsbl.bit.nl 127.0.0.2
ipv6.all.dnsbl.bit.nl 127.0.0.2
origin.asn.cymru.com 127.0.0.2
peer.asn.cymru.com 127.0.0.2
list.dnswl.org 127.0.5.0
vote.drbl.gremlin.ru 127.0.0.2
work.drbl.gremlin.ru 127.0.0.2
rep.mailspike.net 127.0.0.18
wl.mailspike.net 127.0.0.18
list.quorum.to 127.0.0.4
blackholes.scconsult.com 127.0.0.2
origin.asn.spameatingmonkey.net 127.0.0.2
dbl.spamhaus.org 127.0.1.255
pdl.pan-am.ca 127.0.0.3
vox.schpider.com 127.0.0.2
l2.apews.dnsbl.uceprotect.net 127.0.0.2
ybl.megacity.org 127.0.0.2

Link to dnsbls.tar.gz