Categories

Monday 30 December 2013

How to Install Perl modules using Cpan

Hi,

Below is the steps to install perl modules using cpan(Comprehensive Perl Archive Network) in a CentOS machine.

The CPAN's main purpose is to help programmers locate modules and programs not included in the Perl standard distribution

It will act as a command line interpretor through which we can install perl modules.

You can get more details about Cpan in the wiki link http://en.wikipedia.org/wiki/CPAN.

sudo  perl -MCPAN -e shell

Above command will drop you in the CPAN shell.


cpan shell -- CPAN exploration and modules installation (v1.9402)
Enter 'h' for help.

cpan[1]> 


Now you can install a perl module. If you want to install a perl
module named Email::Sender, then you need to issue the below command.

cpan[1]> install Email::Sender

That is install module::name(Email is the module here and Sender is the name)

Once the installation shows as succesfull, then you can test it by listing installed perl modules using the command

# instmodsh

Available commands are:
   l            - List all installed modules
   m <module>   - Select a module
   q            - Quit the program
cmd? l
Installed modules are:
   Authen::SASL
   CPAN::Meta::Requirements
   CPAN::Meta::YAML
   Capture::Tiny
   Class::Load
   Class::Method::Modifiers
   Data::OptList
   Data::Serializer
   Devel::GlobalDestruction
   Devel::StackTrace
   Digest::SHA
   Dist::CheckConflicts
   Email::Abstract
   Email::Address
   Email::Date::Format
   Email::MIME
   Email::MIME::ContentType
   Email::MIME::CreateHTML
   Email::MIME::Encodings
   Email::MessageID
   Email::Sender
   Email::Simple
   ExtUtils::CBuilder
   ExtUtils::Config
   ExtUtils::Helpers
   ExtUtils::InstallPaths
   ExtUtils::MakeMaker
   File::Policy
   File::Slurp
   HTML::TokeParser::Simple
   IPC::Cmd
   Import::Into
   JSON::PP
   List::MoreUtils
   Locale::Maketext::Simple
   Log::Trace
   MIME::Tools
   MIME::Types
   MRO::Compat
   Mail::Sender
   Module::Build
   Module::Build::Tiny
   Module::CoreList
   Module::Implementation
   Module::Load
   Module::Load::Conditional
   Module::Metadata
   Module::Runtime
   Moo
   MooX::Types::MooseLike
   Package::Stash
   Params::Check
   Params::Util
   Parse::CPAN::Meta
   Perl
   Perl::OSType
   Role::Tiny
   Sub::Exporter
   Sub::Exporter::Progressive
   Sub::Install
   Sub::Override
   Test::Requires
   Test::Simple
   Test::Tester
   Throwable
   Try::Tiny
   parent
   strictures
   version

That's all . ..............

Saturday 28 December 2013

Ion Cube Loader issue after Cpanel Update

Hi,

Two days before, we faced a problem after one of our client updated the apache  and php on a  cpanel server using /scripts/easyapache.

Then the site is showing the below error.

"Failed loading /usr/local/IonCube/ioncube_loader_lin_5.2.so"

It seems that easy apache was unsuccessful or the php modules are not properly updated. Here the error shows that Ioncube was not updated with the current version of php.

The fix for this is to install the php extension module ioncube using the below command

 /scripts/phpextensionmgr install IonCubeLoader

Now the error message has gone and site is working.

How to reduce the system reserved space in linux

Hi All,

 In linux system OS will reserve some space for a partition by default .That is about 5 % of disk space is reserved for the privileged process. So some times after the most of the disk space is used up, the disk space will be shown as full,  though there is some 6-7 Gb of free space.

Use the command df -h to check the current status of disk space.

So most of the process will get stopped, omce disk space is filled up


Especially in the case of large partitions, it is safe to set the reserved space to the minimum, which is one percent or even to 0 percent.

Best way to make the system reserved space to 0 % is by using tune2fs command, because we already partitioned the device and need to change the partition settings.


Suppose you want to make the reserved space to 0 % on /dev/sda1. We can use  the below command

#tune2fs -m 0 /dev/sda1

This will make the reserved space to 0 %

At the time of file system formatting, we can set the system reserved space to desired % by using the below command.

# mkfs.ext4 -m 1 /dev/sda1






Monday 2 December 2013

undefined symbol: PQescapeLiteral error on running python postgresql import

Hello,

I got an error as follows, on running import pg command on python command line.

import pg

Traceback (most recent call last):


File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pg.py", line 31, in <module>


from _pg import *

ImportError?: /usr/local/lib/python2.7/dist-packages/_pg.so: undefined symbol: PQescapeLiteral

This seems to be some issue with libpq module for postgresql

Below is the steps that I followed to  fix it.

1)I just checked which is the library directory for postgresql

 pg_config --libdir

/usr/lib

2)Then I checked libpq.so module  which is needed for the postgresql commands to work with python is present on the /usr/lib directory.

  ldd /usr/local/lib/python2.7/dist-packages/_pg.so | grep libpq
    libpq.so.5 => /usr/lib/libpq.so.5 (0x00007f0d6b943000)


3)I can see the libpq.so.5 is already on the path /usr/lib.  The issue is that the header module for libpq was not installed for the command to run. So I installed it using the command below.

apt-get install libpq-dev

which fixed the issue and now I am able to run the pg command from python command line.

Regards
Syamkumar.M

Ad