Rsync : A handy tool to sync with

>In this article I am going to show you some implication of rsync tool.It is a tool often used by the web masters and system administrator to sync with various number of host across the network.Now what is the utility of having rsync under your armory? The advantage is quite useful.Here are few:

** It can sync filesystem across the network

** It can only sync the updated version the filesystem then the whole tree.

** It is very useful to copy the entire web site ported to new host or hosts.

** Rsync can do a various job related to backup procedure.

support for copying links, devices, owners, groups, and permissions

** exclude and exclude-from options similar to GNU tar

** a CVS exclude mode for ignoring the same files that CVS would ignore

** can use any transparent remote shell, including ssh or rsh

** does not require super-user privileges

** pipelining of file transfers to minimize latency costs

** support for anonymous or authenticated rsync daemons (ideal for mirroring)

Above stated advantages are name a few.Kindly look into the manual page of it.So,now I have four different partition and and I want to sync a particualr dir with all partiotn with a specific application running on all the OSes.

The idea is to get it sync; because I want the information to be indentical across all the partitions(same can be applied to different hosts too over the network!!).

How does it work?

You must set up one machine or another of a pair to be an “rsync server” by running rsync in a daemon mode (“rsync –daemon” at the commandline) and setting up a short, easy configuration file (/etc/rsyncd.conf). Below I’ll detail a sample configuration file. The options are readily understood, few in number — yet quite powerful.

Any number of machines with rsync installed may then synchronize to and/or from the machine running the rsync daemon. You can use this to make backups, mirror filesystems, distribute files or any number of similar operations. Through the use of the “rsync algorithm” which transfers only the diffs between files (similar to a patch file) and then compressing them — you are left with a very efficient system.

For those of you new to secure shell (“ssh” for short), you should be using it! There’s a very useful and quite thourough Getting Started with SSH document available. You may also want to visit the Secure Shell Web Site. Or, just hit the Master FTP Site in Finland and snag it for yourself. It provides a secure, encrypted “pipe” for your network traffic. You should be using it instead of telnet, rsh or rlogin and use the replacement “scp” command instead of “rcp.”

Setting up a Server

You must set up a configuration file on the machine meant to be a server and run the rsync binary in daemon mode. Even your rsync client machines can run rsync in daemon mode for two-way transfers. You can do this automatically for each connection via the inet daemon or at the commandline in standalone mode to leave it running in the background for often repeated rsyncs. .Plus there is a CGI script that folks fire off frequently during the day for immediate updating of content. This is a lot of rsync calls! If you start off the rsync daemon through your inet daemon, then you incur much more overhead with each rsync call. You basically restart the rsync daemon for every connection your server machine gets! It’s the same reasoning as starting Apache in standalone mode rather than through the inet daemon. It’s quicker and more efficient to start rsync in standalone mode if you anticipate a lot of rsync traffic. Otherwise, for the occasional transfer follow the procedure to fire off rsync via the inet daemon. This way the rsync daemon, as small as it is, doesn’t sit in memory if you only use it once a day or whatever. Your call.

Below is a sample rsync configuration file. It is placed in your /etc directory as rsyncd.conf.


motd file = /etc/rsyncd.motd
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[simple_path_name]
path = /rsync_files_here
comment = My Very Own Rsync Server
uid = nobody
gid = nobody
read only = no
list = yes
auth users = username
secrets file = /etc/rsyncd.scrt

Various options that you would modify right from the start are the areas in italics in the sample above. I’ll start at the top, line by line, and go through what you should pay attention to. What the sample above does is setup a single “path” for rsync transfers to that machine.

Starting at the top are four lines specifying files and their paths for rsync running in daemon mode. The first is a “message of the day” (motd) file like you would use for an FTP server. This file’s contents get displayed when clients connect to this machine. Use it as a welcome, warning or simply identification. The next line specifies a log file to send diagnostic and norml run-time messages to. The PID file contains the “process ID” (PID) number of the running rsync daemon. A lock file is used to ensure that things run smoothly. These options are global to the rsync daemon.

The next block of lines is specific to a “path” that rsync uses. The options contained therein have effect only within the block (they’re local, not global options). Start with the “path” name. It’s somewhat confusing that rsync uses the term “path” — as it’s not necessarily a full pathname. It serves as an “rsync area nickname” of sorts. It’s a short, easy to remember (and type!) name that you assign to a try filesystem path with all the options you specify. Here are the things you need to set up first and foremost:

* path – this is the actual filesystem path to where the files are rsync’ed from and/or to.

* comment – a short, descriptive explanation of what and where the path points to for listings.

* auth users – you really should put this in to restrict access to only a pre-defined user that you specify in the following secrets file – does not have to be a valid system user.

* secrets file – the file containing plaintext key/value pairs of usernames and passwords.

One thing you should seriously consider is the “hosts allow” and “hosts deny” options for your path. Enter the IPs or hostnames that you wish to specifically allow or deny! If you don’t do this, or at least use the “auth users” option, then basically that area of your filesystem is wide open to the world by anyone using rsync! Something I seriously think you should avoid…

Check the rsyncd.conf man page with “man rsyncd.conf” and read it very carefully where security options are concerned. You don’t want just anyone to come in and rsync up an empty directory with the “–delete” option, now do you?

The other options are all explained in the man page for rsyncd.conf. Basically, the above options specify that the files are chmod’ed to uid/gid, the filesystem path is read/write and that the rsync path shows up in rsync listings. The rsync secrets file I keep in /etc/ along with the configuration and motd files, and I prefix them with “rsyncd.” to keep them together.

For that reason I have mounted a partition which holds the updated version of the file and sync with others from that partition.

Say my Gentoo partition is updated and I want to update Arch,Fedora and Debian with that…so I have mouted all of them in different designated dir under the / .

Here is how I can sync that perticular file :


bhaskar@bhaskar-laptop_06:55:11_Sun Oct 31:/srv/http/dokuwiki> sudo /usr/bin/rsync -avrP data/ /Fedora/var/www/html/dokuwiki/

I will update the output of it once it finished.With rsync the trailing slash (/) has a big role to play.It signifies that you want to copy all the contents of that dir instead of the dir.Without the trailing slash rsync will copy the entire directory.Now some explanation about the flags I have passed with the rsync. Here is the meaning of those;


a ------> It says that in the format of archive

v -------> verbose mode

r --------> recursive mode

P ---------> progress mode

It has many other useful options with deal with.Kindly look into the man pages for more details.But when you sync over the network you must use it over the ssh so the tunnel get secured during transfer.It has “-e” option which will allow you to pass an ssh option with it.

Resources:
1) http://troy.jdmz.net/rsync/index.html

2) http://www.netbits.us/docs/stunnel_rsync.html

3) http://www.linux-mag.com/id/7888/1/
Hope this will help.

Cheers!
Bhaskar

Password-less ssh

As the title said I am going to show you that how you can use the built-in mechanism to avoid typing your password at the terminal when connecting through ssh(secure shell) to the remote computer.

I am assuming both the computers(or as many we want to connect) has the required software to play with.I mean that both the boxes has openssh installed and well configured.So first thing first,we need to generate the keys.One is private(which should not be shared) and the public key(which should be shared).

Here is how it can be done…


bhaskar@bhaskar-laptop_08:58:56_Sat Oct 30:~> sudo /usr/bin/ssh-keygen -t rsa

It will ask you for the passphrase(password with space separated words).Once you have done that it will store the public key and private key in the specific users .ssh directory.And the public key file is ended with .pub extension.

Now try to figure out wether ssh-agent is running or not? Now a bit of explanation about it like this:ssh-agent is a program to hold private keys used for public key authentication (RSA, DSA). The idea is that ssh-agent is started in the beginning of an X-session or a login session, and all other windows or programs are started as clients to the ssh-agent program. Through use of environment variables the agent can be located and automatically used for authentication when logging in to other machines using ssh(1).

So how to detect it? Here is the way to do it :

bhaskar@bhaskar-laptop_09:07:26_Sat Oct 30:~> sudo echo $SSH_AGENT_PID
Password:
3482

So it’s running! If it is not running then start a new one like this :

bhaskar@bhaskar-laptop_09:07:51_Sat Oct 30:~> sudo eval $(ssh_agent)

Now tell it the key by running ssh-add .What does ssh-add do?? Here is explanation from the man page itself: ssh-add adds RSA or DSA identities to the authentication agent, ssh-agent(1). When run without arguments, it adds the files ~/.ssh/id_rsa, ~/.ssh/id_dsa and ~/.ssh/identity. After loading a private key, ssh-add will try to load corresponding certificate information from the filename obtained by appending -cert.pub to the name of the private key file. Alternative file names can be given on the command line.Right?

Now run :


bhaskar@bhaskar-laptop_09:13:11_Sat Oct 30:~> sudo ssh-add

and enter your passphrase. You’ll need to do this each time you log in; if you’re using X, try adding


SSH_ASKPASS=ssh-askpass ssh-add

to your .xsession file. (You may need to install ssh-askpass.) Now for each server you log into, create the directory ~/.ssh and copy the file ~/.ssh/id_rsa.pub into it as ~/.ssh/authorized_keys . If you started the ssh-agent by hand, kill it with

bhaskar@bhaskar-laptop_09:15:19_Sat Oct 30:~> sudo ssh-agent -k

when you log out.

Hope this will help.

Cheers!
Bhaskar

DokuWiki : An opensource wiki to maintain information

>In this article I will show you how you can install and use dokuwiki to keep your information in formatted manner.The biggest thing attract me that it uses flat file or plain text file to store information then backend database.So if you want to distribute the that file across different partition to get the same doc.Whereas in the corporate there should be separate dokuwiki server to maintain all the information.

Get the software:

bhaskar@bhaskar-laptop_16:24:53_Thu Oct 14:~/Documents> sudo yum install dokuwiki
[sudo] password for bhaskar:
Loaded plugins: presto, refresh-packagekit
google-chrome | 951 B 00:00
google-chrome/primary | 3.1 kB 00:00
google-chrome 5/5
openvz-kernel-rhel5 | 951 B 00:00
openvz-utils | 951 B 00:00
rpmfusion-free-updates | 2.8 kB 00:00
updates/metalink | 3.3 kB 00:00
updates | 4.7 kB 00:01
updates/primary_db | 5.0 MB 05:42
updates-source/metalink | 3.3 kB 00:00
updates-source | 3.3 kB 00:00
Setting up Install Process
Package dokuwiki-0-0.4.20091225.c.fc12.noarch already installed and latest version
Nothing to do

So it says I already have it and yes I had it long time back.Lets check out:


bhaskar@bhaskar-laptop_17:07:28_Thu Oct 14:~/Documents> sudo rpm -qi dokuwiki
[sudo] password for bhaskar:
Name : dokuwiki Relocations: (not relocatable)
Version : 0 Vendor: Fedora Project
Release : 0.4.20091225.c.fc12 Build Date: Tue 19 Jan 2010 04:23:45 PM IST
Install Date: Thu 23 Sep 2010 03:51:04 PM IST Build Host: x86-04.phx2.fedoraproject.org
Group : Applications/Internet Source RPM: dokuwiki-0-0.4.20091225.c.fc12.src.rpm
Size : 6977076 License: GPLv2
Signature : RSA/8, Tue 19 Jan 2010 04:53:04 PM IST, Key ID 9d1cc34857bbccba
Packager : Fedora Project
URL : http://www.dokuwiki.org/dokuwiki
Summary : Standards compliant simple to use wiki
Description :
DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating
documentation of any kind. It has a simple but powerful syntax which makes sure
the datafiles remain readable outside the Wiki and eases the creation of
structured texts.

All data is stored in plain text files no database is required.

Lets find out the file that installed by this software:

/etc/dokuwiki
/etc/dokuwiki/acl.auth.php
/etc/dokuwiki/acronyms.conf
/etc/dokuwiki/dokuwiki.php
/etc/dokuwiki/entities.conf
/etc/dokuwiki/interwiki.conf
/etc/dokuwiki/license.php
/etc/dokuwiki/local.php
/etc/dokuwiki/mediameta.php
/etc/dokuwiki/mime.conf
/etc/dokuwiki/msg
/etc/dokuwiki/scheme.conf
/etc/dokuwiki/smileys.conf
/etc/dokuwiki/users.auth.php
/etc/dokuwiki/wordblock.conf
/etc/dokuwiki/words.aspell
/etc/httpd/conf.d/dokuwiki.conf
/usr/share/doc/dokuwiki-0
/usr/share/doc/dokuwiki-0/COPYING
/usr/share/doc/dokuwiki-0/README
/usr/share/doc/dokuwiki-0/VERSION
/usr/share/doc/dokuwiki-0/mysql.conf.php.example
/usr/share/dokuwiki
/usr/share/dokuwiki/bin/dwpage.php
/usr/share/dokuwiki/bin/indexer.php
/usr/share/dokuwiki/bin/wantedpages.php
/usr/share/dokuwiki/conf
/usr/share/dokuwiki/doku.php
/usr/share/dokuwiki/feed.php
/usr/share/dokuwiki/inc
/usr/share/dokuwiki/inc/DifferenceEngine.php
/usr/share/dokuwiki/inc/FeedParser.php
/usr/share/dokuwiki/inc/HTTPClient.php
/usr/share/dokuwiki/inc/IXR_Library.php
/usr/share/dokuwiki/inc/JSON.php
/usr/share/dokuwiki/inc/JpegMeta.php
/usr/share/dokuwiki/inc/SimplePie.php
/usr/share/dokuwiki/inc/TarLib.class.php
/usr/share/dokuwiki/inc/ZipLib.class.php
/usr/share/dokuwiki/inc/actions.php
/usr/share/dokuwiki/inc/adLDAP.php
/usr/share/dokuwiki/inc/auth
/usr/share/dokuwiki/inc/auth.php
/usr/share/dokuwiki/inc/auth/ad.class.php
/usr/share/dokuwiki/inc/auth/basic.class.php
/usr/share/dokuwiki/inc/auth/ldap.class.php
/usr/share/dokuwiki/inc/auth/mysql.class.php
/usr/share/dokuwiki/inc/auth/pgsql.class.php
/usr/share/dokuwiki/inc/auth/plain.class.php
/usr/share/dokuwiki/inc/blowfish.php
/usr/share/dokuwiki/inc/cache.php
/usr/share/dokuwiki/inc/changelog.php
/usr/share/dokuwiki/inc/cliopts.php
/usr/share/dokuwiki/inc/common.php
/usr/share/dokuwiki/inc/confutils.php
/usr/share/dokuwiki/inc/events.php
/usr/share/dokuwiki/inc/feedcreator.class.php
/usr/share/dokuwiki/inc/form.php
/usr/share/dokuwiki/inc/fulltext.php
/usr/share/dokuwiki/inc/html.php
/usr/share/dokuwiki/inc/httputils.php
/usr/share/dokuwiki/inc/indexer.php
/usr/share/dokuwiki/inc/infoutils.php
/usr/share/dokuwiki/inc/init.php
/usr/share/dokuwiki/inc/io.php
/usr/share/dokuwiki/inc/lang
/usr/share/dokuwiki/inc/lang/af
/usr/share/dokuwiki/inc/lang/af/lang.php
/usr/share/dokuwiki/inc/lang/ar
/usr/share/dokuwiki/inc/lang/ar/admin.txt
/usr/share/dokuwiki/inc/lang/ar/backlinks.txt
/usr/share/dokuwiki/inc/lang/ar/conflict.txt
/usr/share/dokuwiki/inc/lang/ar/denied.txt
/usr/share/dokuwiki/inc/lang/ar/diff.txt
/usr/share/dokuwiki/inc/lang/ar/draft.txt
/usr/share/dokuwiki/inc/lang/ar/edit.txt
/usr/share/dokuwiki/inc/lang/ar/editrev.txt
/usr/share/dokuwiki/inc/lang/ar/index.txt
/usr/share/dokuwiki/inc/lang/ar/lang.php
/usr/share/dokuwiki/inc/lang/ar/locked.txt
/usr/share/dokuwiki/inc/lang/ar/login.txt
/usr/share/dokuwiki/inc/lang/ar/mailtext.txt
/usr/share/dokuwiki/inc/lang/ar/newpage.txt
/usr/share/dokuwiki/inc/lang/ar/norev.txt
/usr/share/dokuwiki/inc/lang/ar/password.txt
/usr/share/dokuwiki/inc/lang/ar/preview.txt
/usr/share/dokuwiki/inc/lang/ar/pwconfirm.txt
/usr/share/dokuwiki/inc/lang/ar/read.txt
/usr/share/dokuwiki/inc/lang/ar/recent.txt
/usr/share/dokuwiki/inc/lang/ar/register.txt
/usr/share/dokuwiki/inc/lang/ar/resendpwd.txt
/usr/share/dokuwiki/inc/lang/ar/revisions.txt
/usr/share/dokuwiki/inc/lang/ar/searchpage.txt
/usr/share/dokuwiki/inc/lang/ar/showrev.txt
/usr/share/dokuwiki/inc/lang/ar/stopwords.txt
/usr/share/dokuwiki/inc/lang/ar/subscribermail.txt
/usr/share/dokuwiki/inc/lang/ar/updateprofile.txt
/usr/share/dokuwiki/inc/lang/bg
/usr/share/dokuwiki/inc/lang/bg/admin.txt
/usr/share/dokuwiki/inc/lang/bg/adminplugins.txt
/usr/share/dokuwiki/inc/lang/bg/backlinks.txt
/usr/share/dokuwiki/inc/lang/bg/conflict.txt
/usr/share/dokuwiki/inc/lang/bg/denied.txt
/usr/share/dokuwiki/inc/lang/bg/diff.txt
/usr/share/dokuwiki/inc/lang/bg/draft.txt
/usr/share/dokuwiki/inc/lang/bg/edit.txt
/usr/share/dokuwiki/inc/lang/bg/editrev.txt
/usr/share/dokuwiki/inc/lang/bg/index.txt
/usr/share/dokuwiki/inc/lang/bg/install.html
/usr/share/dokuwiki/inc/lang/bg/lang.php
/usr/share/dokuwiki/inc/lang/bg/locked.txt
/usr/share/dokuwiki/inc/lang/bg/login.txt
/usr/share/dokuwiki/inc/lang/bg/mailtext.txt
/usr/share/dokuwiki/inc/lang/bg/newpage.txt
/usr/share/dokuwiki/inc/lang/bg/norev.txt
/usr/share/dokuwiki/inc/lang/bg/password.txt
/usr/share/dokuwiki/inc/lang/bg/preview.txt
/usr/share/dokuwiki/inc/lang/bg/pwconfirm.txt
/usr/share/dokuwiki/inc/lang/bg/read.txt

.......output snipped for clarity

Hell lot of files get installed by the software.Next move on to installation of this software.We must have the top tree in the web space scope to get access through the browser.

bhaskar@bhaskar-laptop_17:20:58_Thu Oct 14:~/Documents> ls -al /var/www/html/dokuwiki/
total 44
drwxr-xr-x. 6 root root 4096 2010-09-23 18:08 .
drwxr-xr-x. 5 root root 4096 2010-09-24 18:15 ..
drwxr-xr-x. 2 root root 4096 2010-09-23 15:50 bin
drwxr-xr-x. 2 root root 4096 2010-09-23 18:10 conf
-rw-r--r--. 1 root root 2258 2010-09-23 16:01 doku.php
-rw-r--r--. 1 root root 11725 2010-01-17 16:05 feed.php
drwxr-xr-x. 5 root root 4096 2010-09-23 15:50 inc
-rw-r--r--. 1 root root 185 2010-09-23 16:09 index.php
drwxr-xr-x. 9 root root 4096 2010-09-23 15:51 lib

Now next job is go to the browser and invoke


http://localhost/dokuwiki/install.php

Now a bit of file permission issue which might raised in the time or after the installation.Here is some point stright out of the dokuwiki site:

  • Permissions for a file are dependent of the file’s owner and group and the user who tries to access the file
  • There are permissions for read, write and execute
  • Each UNIX process runs with the permissions of an OS user and his groups
  • The web server is a UNIX process
  • PHP usually runs as part of the web server
  • DokuWiki will run with the permissions of the PHP processor
  • DokuWiki needs read, write and execute permissions for directories it needs to create files in
  • DokuWiki needs read and write permissions for files it needs to write to
  • DokuWiki needs read only permissions for files and directories it doesn’t need to write to

For more details on the permission setting see here .

Now once you are up and running with proper setting of php(yes,dokuwiki depend on php and should integrated with a web server.In out case we use Apache)

But until you configure your web server properly you won’t be able to get the proper thing about this software. So let me share the Apache config related to this software:


1 # dokuwiki
2 # Standards compliant simple to use wiki
3 # 0
4 #
5 Alias /dokuwiki /var/www/html/dokuwiki
6
7 Options +FollowSymLinks
8 Order Allow,Deny
9 Allow from 127.0.0.1 ::1
10
11
12 Order Deny,Allow
13 Deny from all
14
15
16 Order Deny,Allow
17 Deny from all
18
19
20 ## no access to the fla directory
21 Order allow,deny
22 Deny from all
23
24
25 Order Deny,Allow
26 Deny from all
27
~

So name it as dokuwiki.conf and put it in the /etc/apache| httpd/conf.d/

Restart the Apache to and go to the browser to get the start page by visiting the url mentioned above.

The dokuwiki file structure under the /etc looks like below:

bhaskar@bhaskar-laptop_17:37:34_Thu Oct 14:/etc/dokuwiki> ls
acl.auth.php dokuwiki.php interwiki.conf local.php mime.conf scheme.conf users.auth.php words.aspell
acronyms.conf entities.conf license.php mediameta.php msg smileys.conf wordblock.conf

Here it looks like on my system as I have created many pages with documentation,

Dokuwiki :

Now it is blessed with ACL(Access Control List),so you can tighten the grip on web space file permission.

bhaskar@bhaskar-laptop_17:37:34_Thu Oct 14:/etc/dokuwiki> sudo getfacl /var/www/html/dokuwiki/
[sudo] password for bhaskar:
getfacl: Removing leading '/' from absolute path names
# file: var/www/html/dokuwiki/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

Now the files might have different permission for your case.

To create a page you have click on the start hyperlink and it will provide you an empty page. On that page you have to click on the “create page” button to start working on it.

Dokuwiki has it’s own syntax to work with and is very easy to implement.Kindly glean over it’s syntax page for details.

Hope this will give you a fair idea how it works.If possible I might update this page later time with more details.

Cheers!
Bhaskar

Perl upgrade from cpan shell

In this article I am going to show you how you can upgrade perl in your system.So here we go; first of all determine the current perl version installed like this:

bhaskar@bhaskar-laptop_12:14:32_Sat Oct 09:~> sudo /usr/bin/perl -v

This is perl, v5.10.0 built for i486-linux-gnu-thread-multi

Copyright 1987-2007, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

If you are really interested to know about why cpan is better then other methods then please look here.And if you want to install perl modules as non-root user then please glean over here . Now let me get into the cpan shell like below;

bhaskar@bhaskar-laptop_12:16:56_Sat Oct 09:~> sudo cpan
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.9205)
ReadLine support available (maybe install Bundle::CPAN or Bundle::CPANxxl?)

cpan[1]>

Ok lets update the perl thing from this shell like it:


cpan[1]> upgrade
CPAN: Storable loaded ok (v2.18)
CPAN: LWP::UserAgent loaded ok (v5.813)
CPAN: Time::HiRes loaded ok (v1.9711)

I would like to connect to one of the following sites to get 'authors/01mailrc.txt.gz':

http://www.perl.org/CPAN/
ftp://ftp.perl.org/pub/CPAN/

Is it OK to try to connect to the Internet? [yes]
Fetching with LWP:
http://www.perl.org/CPAN/authors/01mailrc.txt.gz
Going to read /home/bhaskar/.cpan/sources/authors/01mailrc.txt.gz
............................................................................DONE
Fetching with LWP:
http://www.perl.org/CPAN/modules/02packages.details.txt.gz
Going to read /home/bhaskar/.cpan/sources/modules/02packages.details.txt.gz
Database was generated on Sat, 09 Oct 2010 06:32:21 GMT
...............
New CPAN.pm version (v1.9402) available.
[Currently running version is v1.9205]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.

.............................................................DONE
Fetching with LWP:
http://www.perl.org/CPAN/modules/03modlist.data.gz
............................................................................DONE
Going to write /home/bhaskar/.cpan/Metadata

Package namespace installed latest in CPAN file
Archive::Extract 0.24 0.44 BINGOS/Archive-Extract-0.44.tar.gz
Archive::Tar 1.38 1.68 BINGOS/Archive-Tar-1.68.tar.gz
Attribute::Handlers 0.79 0.88 SMUELLER/Attribute-Handlers-0.88.tar.gz
AutoLoader 5.63 5.70 SMUELLER/AutoLoader-5.70.tar.gz
B 1.17 1.23 JESSE/perl-5.12.2.tar.gz
B::Debug 1.05 1.16 RURBAN/B-Debug-1.16.tar.gz
B::Lint 1.09 1.12 FLORA/B-Lint-1.12.tar.gz
CGI 3.29 3.49 LDS/CGI.pm-3.49.tar.gz
CPAN 1.9205 1.9402 ANDK/CPAN-1.9402.tar.gz
CPANPLUS 0.84 0.9007 BINGOS/CPANPLUS-0.9007.tar.gz
CPANPLUS::Dist::Build 0.06_02 0.48 BINGOS/CPANPLUS-Dist-Build-0.48.tar.gz
Cairo 1.060 1.061 TSCH/Cairo-1.061.tar.gz
Class::ISA 0.33 0.36 SMUELLER/Class-ISA-0.36.tar.gz
Compress::Raw::Zlib 2.012 2.030 PMQS/Compress-Raw-Zlib-2.030.tar.gz
Compress::Zlib 2.012 2.030 PMQS/IO-Compress-2.030.tar.gz
Curses 1.23 1.28 GIRAFFED/Curses-1.28.tgz
Curses::UI 0.9605 0.9607 MDXI/Curses-UI-0.9607.tar.gz
Cwd 3.2501 3.33 SMUELLER/PathTools-3.33.tar.gz
DBD::DBM 0.03 0.06 TIMB/DBI-1.615.tar.gz
DBD::mysql 4.007 4.017 CAPTTOFU/DBD-mysql-4.017.tar.gz
DB_File 1.816_1 1.820 PMQS/DB_File-1.820.tar.gz
Data::Dumper 2.121_14 2.128 SMUELLER/Data-Dumper-2.128.tar.gz
Date::Format 2.22 2.24 GBARR/TimeDate-1.20.tar.gz
Date::Manip 5.54 6.12 SBECK/Date-Manip-6.12.tar.gz
Devel::PPPort 3.13 3.19 MHX/Devel-PPPort-3.19.tar.gz
Digest 1.15 1.16 GAAS/Digest-1.16.tar.gz
Digest::MD5 2.36_01 2.51 GAAS/Digest-MD5-2.51.tar.gz
Digest::SHA 5.45 5.48 MSHELOR/Digest-SHA-5.48.tar.gz
Encode 2.23 2.40 DANKOGAI/Encode-2.40.tar.gz
Exporter 5.62 5.63 FERREIRA/Exporter-5.63.tar.gz
ExtUtils::CBuilder 0.21 0.2703 DAGOLDEN/ExtUtils-CBuilder-0.2703.tar.gz
ExtUtils::Command 1.13 1.16 RKOBES/ExtUtils-Command-1.16.tar.gz
ExtUtils::Command::MM 6.42 6.56 MSCHWERN/ExtUtils-MakeMaker-6.56.tar.gz
ExtUtils::Install 1.44 1.54 YVES/ExtUtils-Install-1.54.tar.gz
ExtUtils::Manifest 1.51_01 1.58 RKOBES/ExtUtils-Manifest-1.58.tar.gz
ExtUtils::ParseXS 2.18_02 2.2206 DAGOLDEN/ExtUtils-ParseXS-2.2206.tar.gz
Fatal 1.05 2.10 PJF/autodie-2.10.tar.gz
File::Fetch 0.14 0.24 BINGOS/File-Fetch-0.24.tar.gz
File::Listing 5.810 5.837 GAAS/libwww-perl-5.837.tar.gz
File::Path 2.04 2.08 DLAND/File-Path-2.08.tar.gz
File::Temp 0.18 0.22 TJENNESS/File-Temp-0.22.tar.gz
Filter::Simple 0.82 0.85 SMUELLER/Filter-Simple-0.85.tar.gz
Filter::Util::Call 1.07 1.08 PMQS/Filter-1.37.tar.gz
FreezeThaw 0.43 0.5001 ILYAZ/modules/FreezeThaw-0.5001.tar.gz
Getopt::Long 2.37 2.38 JV/Getopt-Long-2.38.tar.gz
Glib 1.190 1.223 TSCH/Glib-1.223.tar.gz
Gnome2::VFS 1.080 1.081 TSCH/Gnome2-VFS-1.081.tar.gz
Gtk2 1.190 1.222 TSCH/Gtk2-1.222.tar.gz
HTML::Element 3.23 4.0 JFEARN/HTML-Tree-4.0.tar.gz
HTML::Entities 1.35 3.68 GAAS/HTML-Parser-3.68.tar.gz
IO 1.23_01 1.25 GBARR/IO-1.25.tar.gz
IO::Multiplex 1.09 1.10 BBB/IO-Multiplex-1.10.tar.gz
IO::Zlib 1.07 1.10 TOMHUGHES/IO-Zlib-1.10.tar.gz
IPC::Cmd 0.40_1 0.60 BINGOS/IPC-Cmd-0.60.tar.gz
IPC::Msg 1.02 2.03 MHX/IPC-SysV-2.03.tar.gz
List::Util 1.19 1.23 GBARR/Scalar-List-Utils-1.23.tar.gz
Locale::Constants 2.07 3.14 SBECK/Locale-Codes-3.14.tar.gz
Locale::Maketext 1.12 1.13 FERREIRA/Locale-Maketext-1.13.tar.gz
Locale::Maketext::Simple 0.18 0.21 JESSE/Locale-Maketext-Simple-0.21.tar.gz
Log::Message 0.01 0.02 KANE/Log-Message-0.02.tar.gz
Log::Message::Simple 0.04 0.06 BINGOS/Log-Message-Simple-0.06.tar.gz
MIME::Base64 3.07_01 3.09 GAAS/MIME-Base64-3.09.tar.gz
MLDBM 2.01 2.04 CHORNY/MLDBM-2.04.tar.gz
Mail::Address 2.03 2.07 MARKOV/MailTools-2.07.tar.gz
Math::BigFloat 1.59 1.63 FLORA/Math-BigInt-1.96.tar.gz
Math::BigInt::FastCalc 0.16 0.22 FLORA/Math-BigInt-FastCalc-0.22.tar.gz
Math::BigRat 0.21 0.26 FLORA/Math-BigRat-0.26.tar.gz
Math::Complex 1.37 1.56 JHI/Math-Complex-1.56.tar.gz
Module::Build 0.2808_01 0.3607 DAGOLDEN/Module-Build-0.3607.tar.gz
Module::CoreList 2.13 2.39 BINGOS/Module-CoreList-2.39.tar.gz
Module::Load 0.12 0.18 BINGOS/Module-Load-0.18.tar.gz
Module::Load::Conditional 0.22 0.38 BINGOS/Module-Load-Conditional-0.38.tar.gz
Module::Loaded 0.01 0.06 BINGOS/Module-Loaded-0.06.tar.gz
Module::Pluggable 3.6 3.9 SIMONW/Module-Pluggable-3.9.tar.gz
NEXT 0.60_01 0.65 FLORA/NEXT-0.65.tar.gz
Net::CIDR 0.11 0.14 MRSAM/testing/Net-CIDR-0.14.tar.gz
Net::Daemon 0.38 0.43 MNOONING/Net-Daemon/Net-Daemon-0.43.tar.gz
Net::Ping 2.33 2.36 SMPETERS/Net-Ping-2.36.tar.gz
Net::SNMP v5.2.0 v6.0.1 DTOWN/Net-SNMP-v6.0.1.tar.gz
Net::Server 0.97 0.99 RHANDOM/Net-Server-0.99.tar.gz
Object::Accessor 0.32 0.36 BINGOS/Object-Accessor-0.36.tar.gz
Package::Constants 0.01 0.02 KANE/Package-Constants-0.02.tar.gz
Pod::Checker 1.43_01 1.45 MAREKR/Pod-Parser-1.38.tar.gz
Pod::Man 2.18_01 2.23 RRA/podlators-2.3.1.tar.gz
Pod::Perldoc 3.14_02 3.15 FERREIRA/Pod-Perldoc-3.15.tar.gz
Pod::Plainer 0.01 1.03 RMBARKER/Pod-Plainer-1.03.tar.gz
Pod::Simple 3.05 3.14 DWHEELER/Pod-Simple-3.14.tar.gz
RPC::PlClient 0.2017 0.2020 MNOONING/PlRPC/PlRPC-0.2020.tar.gz
Safe 2.12 2.28 RGARCIA/Safe-2.28.tar.gz
SelfLoader 1.11 1.17 SMUELLER/SelfLoader-1.17.tar.gz
Storable 2.18 2.21 AMS/Storable-2.21.tar.gz
Switch 2.13 2.16 RGARCIA/Switch-2.16.tar.gz
Sys::Syslog 0.22 0.27 SAPER/Sys-Syslog-0.27.tar.gz
Term::ANSIColor 1.12 3.00 RRA/ANSIColor-3.00.tar.gz
Term::UI 0.18 0.20 KANE/Term-UI-0.20.tar.gz
Test::Builder 0.72 0.96 MSCHWERN/Test-Simple-0.96.tar.gz
Test::Harness 2.64 3.22 ANDYA/Test-Harness-3.22.tar.gz
Test::Harness::Straps 0.26_01 0.30 MSCHWERN/Test-Harness-Straps-0.30.tar.gz
Text::Balanced 2.0.0 2.02 ADAMK/Text-Balanced-2.02.tar.gz
Text::ParseWords 3.26 3.27 CHORNY/Text-ParseWords-3.27.zip
Text::Tabs 2007.1117 2009.0305 MUIR/modules/Text-Tabs+Wrap-2009.0305.tar.gz
Thread::Queue 2.00 2.11 JDHEDDEN/Thread-Queue-2.11.tar.gz
Thread::Semaphore 2.01 2.11 JDHEDDEN/Thread-Semaphore-2.11.tar.gz
Tie::IxHash 1.21 1.22 CHORNY/Tie-IxHash-1.22.tar.gz
Tie::RefHash 1.37 1.38 NUFFIN/Tie-RefHash-1.38.tar.gz
Time::HiRes 1.9711 1.9721 JHI/Time-HiRes-1.9721.tar.gz
Time::Local 1.18 1.1901 DROLSKY/Time-Local-1.1901.tar.gz
Time::Piece 1.12 1.20 MSERGEANT/Time-Piece-1.20.tar.gz
URI 1.35 1.56 GAAS/URI-1.56.tar.gz
Unicode::Collate 0.52 0.62 SADAHIRO/Unicode-Collate-0.62-withoutworldwriteables.tar.gz
Unicode::Normalize 1.02 1.07 SADAHIRO/Unicode-Normalize-1.07-withoutworldwriteables.tar.gz
XML::Parser 2.36 2.40 CHORNY/XML-Parser-2.40.tar.gz
XML::Twig 3.32 3.36 MIROD/XML-Twig-3.36.tar.gz
XSLoader 0.08 0.10 SAPER/XSLoader-0.10.tar.gz
attrs 1.02 1.03 DAPM/perl-5.10.1.tar.gz
base 2.13 2.15 RGARCIA/base-2.15.tar.gz
bigint 0.22 0.25 FLORA/bignum-0.25.tar.gz
constant 1.13 1.19 SAPER/constant-1.19.tar.gz
if 0.05 0.06 ILYAZ/modules/if-0.06.tar.gz
threads 1.67 1.81 JDHEDDEN/threads-1.81.tar.gz
threads::shared 1.14 1.34 JDHEDDEN/threads-shared-1.34.tar.gz
version 0.74 0.82 JPEACOCK/version-0.82.tar.gz
217 installed modules have no parseable version number
(use 'o conf show_unparsable_versions 1' to show them)
Running install for module 'Archive::Extract'
CPAN: Data::Dumper loaded ok (v2.121_14)
'YAML' not installed, falling back to Data::Dumper and Storable to read prefs '/home/bhaskar/.cpan/prefs'
Running make for B/BI/BINGOS/Archive-Extract-0.44.tar.gz
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/B/BI/BINGOS/Archive-Extract-0.44.tar.gz
CPAN: Digest::SHA loaded ok (v5.45)
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/B/BI/BINGOS/CHECKSUMS
Checksum for /home/bhaskar/.cpan/sources/authors/id/B/BI/BINGOS/Archive-Extract-0.44.tar.gz ok
Scanning cache /home/bhaskar/.cpan/build for sizes
DONE
Archive-Extract-0.44
Archive-Extract-0.44/t
Archive-Extract-0.44/t/src
Archive-Extract-0.44/t/src/x.xz
Archive-Extract-0.44/t/src/x.lzma
Archive-Extract-0.44/t/src/x.jar
Archive-Extract-0.44/t/src/y.tbz
Archive-Extract-0.44/t/src/y.tar.xz
Archive-Extract-0.44/t/src/y.jar
Archive-Extract-0.44/t/src/x.par
Archive-Extract-0.44/t/src/double_dir.zip
Archive-Extract-0.44/t/src/x.Z
Archive-Extract-0.44/t/src/x.gz
Archive-Extract-0.44/t/src/y.par
Archive-Extract-0.44/t/src/y.tar
Archive-Extract-0.44/t/src/y.txz
Archive-Extract-0.44/t/src/y.zip
Archive-Extract-0.44/t/src/x.zip
Archive-Extract-0.44/t/src/y.tar.bz2
Archive-Extract-0.44/t/src/x.tar.xz
Archive-Extract-0.44/t/src/x.txz
Archive-Extract-0.44/t/src/y.tar.gz
Archive-Extract-0.44/t/src/x.tar
Archive-Extract-0.44/t/src/x.tgz
Archive-Extract-0.44/t/src/y.tgz
Archive-Extract-0.44/t/src/x.tar.gz
Archive-Extract-0.44/t/src/x.bz2
Archive-Extract-0.44/t/01_Archive-Extract.t
Archive-Extract-0.44/MANIFEST
Archive-Extract-0.44/CHANGES
Archive-Extract-0.44/lib
Archive-Extract-0.44/lib/Archive
Archive-Extract-0.44/lib/Archive/Extract.pm
Archive-Extract-0.44/README
Archive-Extract-0.44/Makefile.PL
Archive-Extract-0.44/META.yml
CPAN: File::Temp loaded ok (v0.18)
Warning (usually harmless): 'YAML' not installed, will not store persistent state

CPAN.pm: Going to build B/BI/BINGOS/Archive-Extract-0.44.tar.gz

Checking if your kit is complete...
Looks good
Warning: prerequisite IPC::Cmd 0.42 not found. We have 0.401.
Writing Makefile for Archive::Extract
Could not read '/home/bhaskar/.cpan/build/Archive-Extract-0.44-JW5yUq/META.yml'. Falling back to other methods to determine prerequisites
---- Unsatisfied dependencies detected during ----
---- BINGOS/Archive-Extract-0.44.tar.gz ----
IPC::Cmd [requires]
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes]
Checksum for /home/bhaskar/.cpan/sources/authors/id/B/BI/BINGOS/IPC-Cmd-0.60.tar.gz ok
IPC-Cmd-0.60
IPC-Cmd-0.60/t
IPC-Cmd-0.60/t/src
IPC-Cmd-0.60/t/src/child.pl
IPC-Cmd-0.60/t/src/x.tgz
IPC-Cmd-0.60/t/src/output.pl
IPC-Cmd-0.60/t/02_Interactive.t
IPC-Cmd-0.60/t/01_IPC-Cmd.t
IPC-Cmd-0.60/CHANGES
IPC-Cmd-0.60/MANIFEST
IPC-Cmd-0.60/lib
IPC-Cmd-0.60/lib/IPC
IPC-Cmd-0.60/lib/IPC/Cmd.pm
IPC-Cmd-0.60/Makefile.PL
IPC-Cmd-0.60/README
IPC-Cmd-0.60/META.yml
Warning (usually harmless): 'YAML' not installed, will not store persistent state

CPAN.pm: Going to build B/BI/BINGOS/IPC-Cmd-0.60.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for IPC::Cmd
Could not read '/home/bhaskar/.cpan/build/IPC-Cmd-0.60-Vztkd8/META.yml'. Falling back to other methods to determine prerequisites
cp lib/IPC/Cmd.pm blib/lib/IPC/Cmd.pm
Manifying blib/man3/IPC::Cmd.3pm
BINGOS/IPC-Cmd-0.60.tar.gz
/usr/bin/make -- OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01_IPC-Cmd........ok 1/0# IPC::Run: 0 IPC::Open3: 1.02
t/01_IPC-Cmd........ok
140/467 skipped: various reasons
t/02_Interactive....skipped
all skipped: No interactive tests from harness
All tests successful, 1 test and 140 subtests skipped.
Files=2, Tests=467, 3 wallclock secs ( 1.26 cusr + 0.96 csys = 2.22 CPU)
BINGOS/IPC-Cmd-0.60.tar.gz
/usr/bin/make test -- OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make install
Prepending /home/bhaskar/.cpan/build/IPC-Cmd-0.60-Vztkd8/blib/arch /home/bhaskar/.cpan/build/IPC-Cmd-0.60-Vztkd8/blib/lib to PERL5LIB for 'install'
Installing /usr/local/share/perl/5.10.0/IPC/Cmd.pm
Installing /usr/local/man/man3/IPC::Cmd.3pm
Writing /usr/local/lib/perl/5.10.0/auto/IPC/Cmd/.packlist
Appending installation info to /usr/local/lib/perl/5.10.0/perllocal.pod
BINGOS/IPC-Cmd-0.60.tar.gz
/usr/bin/make install -- OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make for B/BI/BINGOS/Archive-Extract-0.44.tar.gz
Has already been unwrapped into directory /home/bhaskar/.cpan/build/Archive-Extract-0.44-JW5yUq

CPAN.pm: Going to build B/BI/BINGOS/Archive-Extract-0.44.tar.gz

cp lib/Archive/Extract.pm blib/lib/Archive/Extract.pm
Manifying blib/man3/Archive::Extract.3pm
BINGOS/Archive-Extract-0.44.tar.gz
/usr/bin/make -- OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01_Archive-Extract....ok
558/1392 skipped: various reasons
All tests successful, 558 subtests skipped.
Files=1, Tests=1392, 2 wallclock secs ( 1.42 cusr + 0.48 csys = 1.90 CPU)
BINGOS/Archive-Extract-0.44.tar.gz
/usr/bin/make test -- OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make install
Prepending /home/bhaskar/.cpan/build/Archive-Extract-0.44-JW5yUq/blib/arch /home/bhaskar/.cpan/build/Archive-Extract-0.44-JW5yUq/blib/lib to PERL5LIB for 'install'
Installing /usr/local/share/perl/5.10.0/Archive/Extract.pm
Installing /usr/local/man/man3/Archive::Extract.3pm
Writing /usr/local/lib/perl/5.10.0/auto/Archive/Extract/.packlist
Appending installation info to /usr/local/lib/perl/5.10.0/perllocal.pod
BINGOS/Archive-Extract-0.44.tar.gz
/usr/bin/make install -- OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running install for module 'Archive::Tar'
'YAML' not installed, falling back to Data::Dumper and Storable to read prefs '/home/bhaskar/.cpan/prefs'
Running make for B/BI/BINGOS/Archive-Tar-1.68.tar.gz
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/B/BI/BINGOS/Archive-Tar-1.68.tar.gz
Checksum for /home/bhaskar/.cpan/sources/authors/id/B/BI/BINGOS/Archive-Tar-1.68.tar.gz ok
Archive-Tar-1.68
Archive-Tar-1.68/lib
Archive-Tar-1.68/lib/Archive
Archive-Tar-1.68/lib/Archive/Tar
Archive-Tar-1.68/lib/Archive/Tar/Constant.pm
Archive-Tar-1.68/lib/Archive/Tar/File.pm
Archive-Tar-1.68/lib/Archive/Tar.pm
Archive-Tar-1.68/t
Archive-Tar-1.68/t/src
Archive-Tar-1.68/t/src/short
Archive-Tar-1.68/t/src/short/b
Archive-Tar-1.68/t/src/short/foo.tbz
Archive-Tar-1.68/t/src/short/bar.tar
Archive-Tar-1.68/t/src/short/foo.tgz
Archive-Tar-1.68/t/src/header
Archive-Tar-1.68/t/src/header/signed.tar
Archive-Tar-1.68/t/src/long
Archive-Tar-1.68/t/src/long/b
Archive-Tar-1.68/t/src/long/foo.tgz
Archive-Tar-1.68/t/src/long/foo.tbz
Archive-Tar-1.68/t/src/long/bar.tar
Archive-Tar-1.68/t/src/linktest
Archive-Tar-1.68/t/src/linktest/linktest_with_dir.tar
Archive-Tar-1.68/t/src/linktest/linktest_missing_dir.tar
Archive-Tar-1.68/t/05_iter.t
Archive-Tar-1.68/t/02_methods.t
Archive-Tar-1.68/t/01_use.t
Archive-Tar-1.68/t/99_pod.t
Archive-Tar-1.68/t/90_symlink.t
Archive-Tar-1.68/t/03_file.t
Archive-Tar-1.68/t/06_error.t
Archive-Tar-1.68/t/04_resolved_issues.t
Archive-Tar-1.68/MANIFEST
Archive-Tar-1.68/CHANGES
Archive-Tar-1.68/bin
Archive-Tar-1.68/bin/ptar
Archive-Tar-1.68/bin/ptardiff
Archive-Tar-1.68/Makefile.PL
Archive-Tar-1.68/README
Archive-Tar-1.68/META.yml
Warning (usually harmless): 'YAML' not installed, will not store persistent state

CPAN.pm: Going to build B/BI/BINGOS/Archive-Tar-1.68.tar.gz

You do not have IO::Compress::Bzip2 installed. This means you can not read or write bzip2 compressed archives!
Note: you can disable this warning (and the prerequisite) by invoking Makefile.PL with '-n'

Archive::Tar comes with a utility called 'ptardiff' which lets you run diffs against tar archives.

However, this utility requires you to have Text::Diff installed.

To add Text::Diff as a prerequisite, please supply the '-d' option when invoking this Makefile.PL.

Checking if your kit is complete...
Looks good
Warning: prerequisite Compress::Zlib 2.015 not found. We have 2.012.
Warning: prerequisite IO::Compress::Base 2.015 not found. We have 2.012.
Warning: prerequisite IO::Compress::Bzip2 2.015 not found.
Warning: prerequisite IO::Compress::Gzip 2.015 not found. We have 2.012.
Writing Makefile for Archive::Tar
Could not read '/home/bhaskar/.cpan/build/Archive-Tar-1.68-6vWFHd/META.yml'. Falling back to other methods to determine prerequisites
---- Unsatisfied dependencies detected during ----
---- BINGOS/Archive-Tar-1.68.tar.gz ----
Compress::Zlib [requires]
IO::Compress::Gzip [requires]
IO::Compress::Base [requires]
IO::Compress::Bzip2 [requires]
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes]
Running make test
Delayed until after prerequisites
Running make install
Delayed until after prerequisites
Running install for module 'Compress::Zlib'
'YAML' not installed, falling back to Data::Dumper and Storable to read prefs '/home/bhaskar/.cpan/prefs'
Running make for P/PM/PMQS/IO-Compress-2.030.tar.gz
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/P/PM/PMQS/IO-Compress-2.030.tar.gz
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/P/PM/PMQS/CHECKSUMS
Checksum for /home/bhaskar/.cpan/sources/authors/id/P/PM/PMQS/IO-Compress-2.030.tar.gz ok
IO-Compress-2.030/
IO-Compress-2.030/lib/
IO-Compress-2.030/lib/File/
IO-Compress-2.030/lib/File/GlobMapper.pm
IO-Compress-2.030/lib/Compress/
IO-Compress-2.030/lib/Compress/Zlib.pm
IO-Compress-2.030/lib/IO/
IO-Compress-2.030/lib/IO/Uncompress/
IO-Compress-2.030/lib/IO/Uncompress/RawInflate.pm
IO-Compress-2.030/lib/IO/Uncompress/Gunzip.pm
IO-Compress-2.030/lib/IO/Uncompress/Unzip.pm
IO-Compress-2.030/lib/IO/Uncompress/Base.pm
IO-Compress-2.030/lib/IO/Uncompress/Inflate.pm
IO-Compress-2.030/lib/IO/Uncompress/Bunzip2.pm
IO-Compress-2.030/lib/IO/Uncompress/Adapter/
IO-Compress-2.030/lib/IO/Uncompress/Adapter/Identity.pm
IO-Compress-2.030/lib/IO/Uncompress/Adapter/Inflate.pm
IO-Compress-2.030/lib/IO/Uncompress/Adapter/Bunzip2.pm
IO-Compress-2.030/lib/IO/Uncompress/AnyInflate.pm
IO-Compress-2.030/lib/IO/Uncompress/AnyUncompress.pm
IO-Compress-2.030/lib/IO/Compress/
IO-Compress-2.030/lib/IO/Compress/Base.pm
IO-Compress-2.030/lib/IO/Compress/Zip.pm
IO-Compress-2.030/lib/IO/Compress/Zip/
IO-Compress-2.030/lib/IO/Compress/Zip/Constants.pm
IO-Compress-2.030/lib/IO/Compress/Adapter/
IO-Compress-2.030/lib/IO/Compress/Adapter/Identity.pm
IO-Compress-2.030/lib/IO/Compress/Adapter/Deflate.pm
IO-Compress-2.030/lib/IO/Compress/Adapter/Bzip2.pm
IO-Compress-2.030/lib/IO/Compress/RawDeflate.pm
IO-Compress-2.030/lib/IO/Compress/Deflate.pm
IO-Compress-2.030/lib/IO/Compress/Gzip/
IO-Compress-2.030/lib/IO/Compress/Gzip/Constants.pm
IO-Compress-2.030/lib/IO/Compress/Bzip2.pm
IO-Compress-2.030/lib/IO/Compress/Gzip.pm
IO-Compress-2.030/lib/IO/Compress/Zlib/
IO-Compress-2.030/lib/IO/Compress/Zlib/Constants.pm
IO-Compress-2.030/lib/IO/Compress/Zlib/Extra.pm
IO-Compress-2.030/lib/IO/Compress/Base/
IO-Compress-2.030/lib/IO/Compress/Base/Common.pm
IO-Compress-2.030/MANIFEST
IO-Compress-2.030/private/
IO-Compress-2.030/private/MakeUtil.pm
IO-Compress-2.030/README
IO-Compress-2.030/Changes
IO-Compress-2.030/Makefile.PL
IO-Compress-2.030/t/
IO-Compress-2.030/t/101truncate-bzip2.t
IO-Compress-2.030/t/010examples-bzip2.t
IO-Compress-2.030/t/004gziphdr.t
IO-Compress-2.030/t/110encode-gzip.t
IO-Compress-2.030/t/100generic-gzip.t
IO-Compress-2.030/t/110encode-deflate.t
IO-Compress-2.030/t/106prime-deflate.t
IO-Compress-2.030/t/102tied-zip.t
IO-Compress-2.030/t/002any-transparent.t
IO-Compress-2.030/t/108anyunc-zip.t
IO-Compress-2.030/t/cz-06gzsetp.t
IO-Compress-2.030/t/103newtied-gzip.t
IO-Compress-2.030/t/105oneshot-bzip2.t
IO-Compress-2.030/t/102tied-rawdeflate.t
IO-Compress-2.030/t/107multi-deflate.t
IO-Compress-2.030/t/101truncate-rawdeflate.t
IO-Compress-2.030/t/109merge-deflate.t
IO-Compress-2.030/t/cz-08encoding.t
IO-Compress-2.030/t/101truncate-deflate.t
IO-Compress-2.030/t/108anyunc-bzip2.t
IO-Compress-2.030/t/106prime-rawdeflate.t
IO-Compress-2.030/t/108anyunc-rawdeflate.t
IO-Compress-2.030/t/109merge-rawdeflate.t
IO-Compress-2.030/t/002any-zip.t
IO-Compress-2.030/t/108anyunc-deflate.t
IO-Compress-2.030/t/cz-01version.t
IO-Compress-2.030/t/002any-gzip.t
IO-Compress-2.030/t/105oneshot-gzip.t
IO-Compress-2.030/t/103newtied-bzip2.t
IO-Compress-2.030/t/050interop-gzip.t
IO-Compress-2.030/t/100generic-deflate.t
IO-Compress-2.030/t/002any-rawdeflate.t
IO-Compress-2.030/t/006zip.t
IO-Compress-2.030/t/110encode-bzip2.t
IO-Compress-2.030/t/106prime-gzip.t
IO-Compress-2.030/t/001zlib-generic-zip.t
IO-Compress-2.030/t/010examples-zlib.t
IO-Compress-2.030/t/103newtied-rawdeflate.t
IO-Compress-2.030/t/001zlib-generic-deflate.t
IO-Compress-2.030/t/109merge-gzip.t
IO-Compress-2.030/t/110encode-rawdeflate.t
IO-Compress-2.030/t/103newtied-zip.t
IO-Compress-2.030/t/102tied-deflate.t
IO-Compress-2.030/t/107multi-bzip2.t
IO-Compress-2.030/t/107multi-rawdeflate.t
IO-Compress-2.030/t/020isize.t
IO-Compress-2.030/t/107multi-gzip.t
IO-Compress-2.030/t/globmapper.t
IO-Compress-2.030/t/100generic-bzip2.t
IO-Compress-2.030/t/999pod.t
IO-Compress-2.030/t/104destroy-zip.t
IO-Compress-2.030/t/107multi-zip.t
IO-Compress-2.030/t/102tied-bzip2.t
IO-Compress-2.030/t/100generic-zip.t
IO-Compress-2.030/t/Test/
IO-Compress-2.030/t/Test/Builder.pm
IO-Compress-2.030/t/Test/More.pm
IO-Compress-2.030/t/Test/Simple.pm
IO-Compress-2.030/t/105oneshot-gzip-only.t
IO-Compress-2.030/t/108anyunc-transparent.t
IO-Compress-2.030/t/000prereq.t
IO-Compress-2.030/t/001zlib-generic-gzip.t
IO-Compress-2.030/t/105oneshot-zip-only.t
IO-Compress-2.030/t/104destroy-rawdeflate.t
IO-Compress-2.030/t/100generic-rawdeflate.t
IO-Compress-2.030/t/105oneshot-zip-bzip2-only.t
IO-Compress-2.030/t/002any-deflate.t
IO-Compress-2.030/t/compress/
IO-Compress-2.030/t/compress/zlib-generic.pl
IO-Compress-2.030/t/compress/merge.pl
IO-Compress-2.030/t/compress/generic.pl
IO-Compress-2.030/t/compress/newtied.pl
IO-Compress-2.030/t/compress/tied.pl
IO-Compress-2.030/t/compress/any.pl
IO-Compress-2.030/t/compress/encode.pl
IO-Compress-2.030/t/compress/CompTestUtils.pm
IO-Compress-2.030/t/compress/multi.pl
IO-Compress-2.030/t/compress/oneshot.pl
IO-Compress-2.030/t/compress/destroy.pl
IO-Compress-2.030/t/compress/truncate.pl
IO-Compress-2.030/t/compress/prime.pl
IO-Compress-2.030/t/compress/anyunc.pl
IO-Compress-2.030/t/001bzip2.t
IO-Compress-2.030/t/101truncate-gzip.t
IO-Compress-2.030/t/104destroy-bzip2.t
IO-Compress-2.030/t/101truncate-zip.t
IO-Compress-2.030/t/104destroy-gzip.t
IO-Compress-2.030/t/106prime-bzip2.t
IO-Compress-2.030/t/103newtied-deflate.t
IO-Compress-2.030/t/cz-14gzopen.t
IO-Compress-2.030/t/01misc.t
IO-Compress-2.030/t/005defhdr.t
IO-Compress-2.030/t/105oneshot-deflate.t
IO-Compress-2.030/t/105oneshot-rawdeflate.t
IO-Compress-2.030/t/108anyunc-gzip.t
IO-Compress-2.030/t/110encode-zip.t
IO-Compress-2.030/t/109merge-zip.t
IO-Compress-2.030/t/102tied-gzip.t
IO-Compress-2.030/t/cz-05examples.t
IO-Compress-2.030/t/105oneshot-zip.t
IO-Compress-2.030/t/104destroy-deflate.t
IO-Compress-2.030/t/001zlib-generic-rawdeflate.t
IO-Compress-2.030/t/106prime-zip.t
IO-Compress-2.030/t/cz-03zlib-v1.t
IO-Compress-2.030/META.yml
IO-Compress-2.030/pod/
IO-Compress-2.030/pod/FAQ.pod
IO-Compress-2.030/examples/
IO-Compress-2.030/examples/io/
IO-Compress-2.030/examples/io/bzip2/
IO-Compress-2.030/examples/io/bzip2/bzgrep
IO-Compress-2.030/examples/io/bzip2/bzcat
IO-Compress-2.030/examples/io/bzip2/bzstream
IO-Compress-2.030/examples/io/gzip/
IO-Compress-2.030/examples/io/gzip/gzstream
IO-Compress-2.030/examples/io/gzip/gzcat
IO-Compress-2.030/examples/io/gzip/gzgrep
IO-Compress-2.030/examples/io/gzip/gzappend
IO-Compress-2.030/examples/io/anycat
IO-Compress-2.030/examples/compress-zlib/
IO-Compress-2.030/examples/compress-zlib/gzstream
IO-Compress-2.030/examples/compress-zlib/filtinf
IO-Compress-2.030/examples/compress-zlib/filtdef
IO-Compress-2.030/examples/compress-zlib/gzcat
IO-Compress-2.030/examples/compress-zlib/gzgrep
Warning (usually harmless): 'YAML' not installed, will not store persistent state

CPAN.pm: Going to build P/PM/PMQS/IO-Compress-2.030.tar.gz

Up/Downgrade not needed.
Checking if your kit is complete...
Looks good
Warning: prerequisite Compress::Raw::Bzip2 2.030 not found.
Warning: prerequisite Compress::Raw::Zlib 2.030 not found. We have 2.012.
Writing Makefile for IO::Compress
Could not read '/home/bhaskar/.cpan/build/IO-Compress-2.030-9apMhG/META.yml'. Falling back to other methods to determine prerequisites
---- Unsatisfied dependencies detected during ----
---- PMQS/IO-Compress-2.030.tar.gz ----
Compress::Raw::Zlib [requires]
Compress::Raw::Bzip2 [requires]
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes]
Running make test
Delayed until after prerequisites
Running make install
Delayed until after prerequisites
Running install for module 'Compress::Raw::Zlib'
'YAML' not installed, falling back to Data::Dumper and Storable to read prefs '/home/bhaskar/.cpan/prefs'
Running make for P/PM/PMQS/Compress-Raw-Zlib-2.030.tar.gz
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.030.tar.gz
........output snipped
t/050interop-gzip...............ok
t/100generic-bzip2..............ok
t/100generic-deflate............ok
t/100generic-gzip...............ok
t/100generic-rawdeflate.........ok
t/100generic-zip................ok
t/101truncate-bzip2.............ok
t/101truncate-deflate...........ok
t/101truncate-gzip..............ok
t/101truncate-rawdeflate........ok
t/101truncate-zip...............ok
t/102tied-bzip2.................ok
t/102tied-deflate...............ok
t/102tied-gzip..................ok
t/102tied-rawdeflate............ok
t/102tied-zip...................ok
t/103newtied-bzip2..............ok
t/103newtied-deflate............ok
t/103newtied-gzip...............ok
t/103newtied-rawdeflate.........ok
t/103newtied-zip................ok
t/104destroy-bzip2..............ok
t/104destroy-deflate............ok
t/104destroy-gzip...............ok
t/104destroy-rawdeflate.........ok
t/104destroy-zip................ok
t/105oneshot-bzip2..............ok
2/986 skipped: various reasons
t/105oneshot-deflate............ok

….. like this it goes on and fetching different modules and installed them into the system.Ook once it finished you will get the new version of perl installed in your system.Lets check it:

bhaskar@bhaskar-laptop_07:38:03_Sun Oct 10:~> sudo /usr/bin/perl -v
Password:

This is perl 5, version 12, subversion 1 (v5.12.1) built for i686-linux-thread-multi

Copyright 1987-2010, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

I think upgrading perl like this headache free and better way,as it’s give you so much insight into it.And you can visibly see where are the componenets are going.

Hope this will help.
Cheers!
Bhaskar

Logwatch : A tool for watching log

In this article I am taking you through a logfile watcher and report generator tool called “logwatch“.Most of the distro have it in thier repository,means you can get it by their respective package manager.If not then please get it from here .This tool also generate reports for varied range.I think it is a handly tool have within your armory.

So here we go …I will not show you the installation as I said it is in the repository of most distribution.Once installed and for the sake of continuous monitoring and reports we wiill have an entry in the crontab.Plus we can manipulate it from the commandline too.

As I got mail in my inbox every day about the specified service and usage of specific thing in my system and it mail me the report very concise way.

Let me show you the manipulation of logwatch command from the shell or terminal.Here we go:

bhaskar@bhaskar-laptop_12:13:19_Fri Oct 08:~> sudo /usr/sbin/logwatch --service all --range today --detail high --print

################### Logwatch 7.3.6 (05/19/07) ####################
Processing Initiated: Fri Oct  8 12:15:34 2010
Date Range Processed: today
( 2010-Oct-08 )
Period is day.
Detail Level of Output: 10
Type of Output: unformatted
Logfiles for Host: bhaskar-laptop
##################################################################

--------------------- System Configuration Begin ------------------------

CPU:     2 Intel(R) Core(TM)2 Duo CPU     T5450  @ 1.66GHz at 1662MHz
Memory:  996 MB
Machine: i686
Release: Linux 2.6.35-ARCH

---------------------- System Configuration End -------------------------

--------------------- httpd Begin ------------------------

0.09 MB transferred in 65 responses  (1xx 0, 2xx 63, 3xx 0, 4xx 2, 5xx 0)
65 Content pages (0.09 MB),

Requests with error response codes
401 Unauthorized
/nagios/cgi-bin/status.cgi?hostgroup=all&s ... tstatustypes=12: 2 Time(s)

---------------------- httpd End -------------------------

--------------------- Init Begin ------------------------

Entered or switched to runlevel 5: 1 Time(s)

**Unmatched Entries**
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes
Id "x" respawning too fast: disabled for 5 minutes

---------------------- Init End -------------------------

--------------------- Kernel Begin ------------------------

WARNING:  Kernel Errors Present
ACPI Error (psparse-0537):  ...:  1 Time(s)

1 Time(s):     RCU-based detection of stalled CPUs is disabled.
1 Time(s):     Verbose stalled-CPUs detection is disabled.
1 Time(s): #1 [0000001000 - 0000002000]   EX TRAMPOLINE
1 Time(s): #10 [000157b000 - 0001d6b000]         BOOTMEM
1 Time(s): #11 [00015721c0 - 00015721c4]         BOOTMEM
1 Time(s): #12 [0001572200 - 00015722c0]         BOOTMEM
1 Time(s): #13 [00015722c0 - 0001572314]         BOOTMEM
1 Time(s): #14 [0001d6b000 - 0001d6e000]         BOOTMEM
1 Time(s): #15 [0001572340 - 000157234c]         BOOTMEM
1 Time(s): #16 [0001572380 - 0001572980]         BOOTMEM
1 Time(s): #17 [0001572980 - 00015729a5]         BOOTMEM
1 Time(s): #18 [00015729c0 - 00015729e7]         BOOTMEM
1 Time(s): #19 [0001572a00 - 0001572bc0]         BOOTMEM
1 Time(s): #2 [0001000000 - 0001572184]   TEXT DATA BSS
1 Time(s): #20 [0001572bc0 - 0001572c00]         BOOTMEM
1 Time(s): #21 [0001572c00 - 0001572c40]         BOOTMEM
1 Time(s): #22 [0001572c40 - 0001572c80]         BOOTMEM
1 Time(s): #23 [0001572c80 - 0001572cc0]         BOOTMEM
1 Time(s): #24 [0001572cc0 - 0001572d00]         BOOTMEM
1 Time(s): #25 [0001572d00 - 0001572d40]         BOOTMEM
1 Time(s): #26 [0001572d40 - 0001572d80]         BOOTMEM
1 Time(s): #27 [0001572d80 - 0001572dc0]         BOOTMEM
1 Time(s): #28 [0001572dc0 - 0001572e00]         BOOTMEM
1 Time(s): #29 [0001572e00 - 0001572e40]         BOOTMEM
1 Time(s): #3 [000009fc00 - 0000100000]   BIOS reserved
1 Time(s): #30 [0001572e40 - 0001572e80]         BOOTMEM
1 Time(s): #31 [0001572e80 - 0001572ec0]         BOOTMEM
1 Time(s): #32 [0001572ec0 - 0001572f00]         BOOTMEM
1 Time(s): #33 [0001572f00 - 0001572f10]         BOOTMEM
1 Time(s): #34 [0001572f40 - 0001572f50]         BOOTMEM
1 Time(s): #35 [0001572f80 - 0001572f9a]         BOOTMEM
1 Time(s): #36 [0001572fc0 - 0001572fda]         BOOTMEM
1 Time(s): #37 [0002000000 - 000200e000]         BOOTMEM
1 Time(s): #38 [0002200000 - 000220e000]         BOOTMEM
1 Time(s): #39 [0001579180 - 0001579184]         BOOTMEM
1 Time(s): #4 [0001573000 - 0001579158]             BRK
1 Time(s): #40 [00015791c0 - 00015791c4]         BOOTMEM
1 Time(s): #41 [0001579200 - 0001579208]         BOOTMEM
1 Time(s): #42 [0001579240 - 0001579248]         BOOTMEM
1 Time(s): #43 [0001579280 - 0001579328]         BOOTMEM
1 Time(s): #44 [0001579340 - 00015793a8]         BOOTMEM
1 Time(s): #45 [0001d6e000 - 0001d72000]         BOOTMEM
1 Time(s): #46 [0001d72000 - 0001df2000]         BOOTMEM
1 Time(s): #47 [0001df2000 - 0001e32000]         BOOTMEM
1 Time(s): #48 [000220e000 - 00027039ac]         BOOTMEM
1 Time(s): #5 [0000010000 - 0000011000]      TRAMPOLINE
1 Time(s): #6 [0000011000 - 0000015000]     ACPI WAKEUP
1 Time(s): #7 [0000015000 - 0000016000]         PGTABLE
1 Time(s): #8 [0000100000 - 000037b000]     NEW RAMDISK
1 Time(s): #9 [000157a000 - 000157b000]         BOOTMEM
1 Time(s): ... bit width:              40
1 Time(s): ... event mask:             0000000700000003
1 Time(s): ... fixed-purpose events:   3
1 Time(s): ... generic registers:      2
1 Time(s): ... max period:             000000007fffffff
1 Time(s): ... value mask:             000000ffffffffff
1 Time(s): ... version:                2
1 Time(s): ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
1 Time(s): .data : 0xc12eaacc - 0xc1420340   (1238 kB)
1 Time(s): .init : 0xc1421000 - 0xc1488000   ( 412 kB)
1 Time(s): .text : 0xc1000000 - 0xc12eaacc   (2986 kB)
1 Time(s): 0: 0x00000001 -> 0x00000002
1 Time(s): 0: 0x00000010 -> 0x0000009f
1 Time(s): 0: 0x00000100 -> 0x0003f7b0
1 Time(s): 127MB HIGHMEM available.
1 Time(s): 887MB LOWMEM available.
1 Time(s): ACPI Exception: AE_AML_PACKAGE_LIMIT, Evaluating _DOD (20100428/video-1937)
1 Time(s): ACPI Exception: AE_AML_PACKAGE_LIMIT, Index (0x0000000000000004) is beyond end of object (20100428/exoparg2-418)
1 Time(s): ACPI Exception: AE_NOT_FOUND, Evaluating _PRS (20100428/pci_link-185)
1 Time(s): ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
1 Time(s): ACPI: (supports S0 S3 S4 S5)
1 Time(s): ACPI: AC Adapter [C239] (on-line)
1 Time(s): ACPI: ACPI bus type pnp unregistered
1 Time(s): ACPI: APIC 3f7c83f4 00068 (v01 HP     3026     00000001 HP   00000001)
1 Time(s): ACPI: Battery Slot [C23A] (battery present)
1 Time(s): ACPI: Core revision 20100428
1 Time(s): ACPI: DSDT 3f7c84cc 12B46 (v01 HP        B2100 00010000 MSFT 03000001)
4 Time(s): ACPI: Dynamic OEM Table Load:
1 Time(s): ACPI: EC: GPE = 0x16, I/O: command/status = 0x66, data = 0x62
1 Time(s): ACPI: FACP 3f7c8084 000F4 (v04 HP     3026     00000003 HP   00000001)
1 Time(s): ACPI: FACS 3f7e7d80 00040
1 Time(s): ACPI: Fan [C3BB] (off)
1 Time(s): ACPI: Fan [C3BC] (off)
1 Time(s): ACPI: Fan [C3BD] (off)
1 Time(s): ACPI: Fan [C3BE] (off)
1 Time(s): ACPI: Fan [C3BF] (off)
1 Time(s): ACPI: HPET 3f7c83bc 00038 (v01 HP     3026     00000001 HP   00000001)
1 Time(s): ACPI: HPET id: 0x8086a201 base: 0xfed00000
1 Time(s): ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
1 Time(s): ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
1 Time(s): ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
1 Time(s): ACPI: Interpreter enabled
1 Time(s): ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
1 Time(s): ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
1 Time(s): ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
1 Time(s): ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
1 Time(s): ACPI: Lid Switch [C153]
1 Time(s): ACPI: MCFG 3f7c845c 0003C (v01 HP     3026     00000001 HP   00000001)
1 Time(s): ACPI: No dock devices found.
1 Time(s): ACPI: PCI Interrupt Link [C12D] (IRQs *10 11)
1 Time(s): ACPI: PCI Interrupt Link [C12E] (IRQs *10 11)
1 Time(s): ACPI: PCI Interrupt Link [C12F] (IRQs 10 *11)
1 Time(s): ACPI: PCI Interrupt Link [C130] (IRQs 10 11) *0, disabled.
1 Time(s): ACPI: PCI Interrupt Link [C140] (IRQs *10 11)
1 Time(s): ACPI: PCI Interrupt Link [C141] (IRQs *10 11)
1 Time(s): ACPI: PCI Interrupt Link [C142] (IRQs 10 11) *0, disabled.
1 Time(s): ACPI: PCI Root Bridge [C003] (domain 0000 [bus 00-ff])
1 Time(s): ACPI: PM-Timer IO Port: 0x1008
1 Time(s): ACPI: Power Button [PWRF]
1 Time(s): ACPI: Power Resource [C1C5] (off)
1 Time(s): ACPI: Power Resource [C29A] (on)
1 Time(s): ACPI: Power Resource [C3B6] (off)
1 Time(s): ACPI: Power Resource [C3B7] (off)
1 Time(s): ACPI: Power Resource [C3B8] (off)
1 Time(s): ACPI: Power Resource [C3B9] (off)
1 Time(s): ACPI: Power Resource [C3BA] (off)
1 Time(s): ACPI: RSDP 000fc600 00024 (v02 HP    )
1 Time(s): ACPI: SLIC 3f7c8244 00176 (v01 HPQOEM SLIC-MPC 00000001 HP   00000001)
1 Time(s): ACPI: SSDT (null) 00085 (v01 HP      Cpu1Cst 00003000 INTL 20060317)
1 Time(s): ACPI: SSDT (null) 000C8 (v01 HP      Cpu1Ist 00003000 INTL 20060317)
1 Time(s): ACPI: SSDT (null) 001FB (v01 HP      Cpu0Ist 00003000 INTL 20060317)
1 Time(s): ACPI: SSDT (null) 004BA (v01 HP      Cpu0Cst 00003001 INTL 20060317)
1 Time(s): ACPI: SSDT 3f7db012 00059 (v01 HP       HPQNLP 00000001 MSFT 03000001)
1 Time(s): ACPI: SSDT 3f7db06b 00328 (v01 HP       HPQSAT 00000001 MSFT 03000001)
1 Time(s): ACPI: SSDT 3f7db393 000C8 (v01 HP      Cpu1Ist 00003000 INTL 20060317)
1 Time(s): ACPI: SSDT 3f7db45b 001FB (v01 HP      Cpu0Ist 00003000 INTL 20060317)
1 Time(s): ACPI: SSDT 3f7db656 00085 (v01 HP      Cpu1Cst 00003000 INTL 20060317)
1 Time(s): ACPI: SSDT 3f7db6db 004BA (v01 HP      Cpu0Cst 00003001 INTL 20060317)
1 Time(s): ACPI: SSDT 3f7dbb95 0025F (v01 HP      Cpu0Tst 00003000 INTL 20060317)
1 Time(s): ACPI: SSDT 3f7dbdf4 000A6 (v01 HP      Cpu1Tst 00003000 INTL 20060317)
1 Time(s): ACPI: SSDT 3f7dbe9a 004D7 (v01 HP        CpuPm 00003000 INTL 20060317)
1 Time(s): ACPI: Sleep Button [C2BF]
1 Time(s): ACPI: TCPA 3f7c8498 00032 (v02 HP     3026     00000001 HP   00000001)
1 Time(s): ACPI: Thermal Zone [TZ0] (52 C)
1 Time(s): ACPI: Thermal Zone [TZ1] (47 C)
1 Time(s): ACPI: Thermal Zone [TZ3] (30 C)
1 Time(s): ACPI: Thermal Zone [TZ4] (27 C)
1 Time(s): ACPI: Thermal Zone [TZ5] (39 C)
1 Time(s): ACPI: Using IOAPIC for interrupt routing
1 Time(s): ACPI: Video Device [C098] (multi-head: yes  rom: no  post: no)
1 Time(s): ACPI: WMI: Mapper loaded
1 Time(s): ACPI: XSDT 3f7c81c8 0007C (v01 HPQOEM SLIC-MPC 00000001 HP   00000001)
1 Time(s): ACPI: bus type pci registered
1 Time(s): ACPI: bus type pnp registered
1 Time(s): ADDRCONF(NETDEV_UP): eth0: link is not ready
1 Time(s): Adding 2249096k swap on /dev/sda2.  Priority:-1 extents:1 across:2249096k
1 Time(s): Allocated new RAMDISK: 00100000 - 0037ae67
1 Time(s): Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000)
1 Time(s): BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
1 Time(s): BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
1 Time(s): BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
1 Time(s): BIOS-e820: 0000000000100000 - 000000003f7b0000 (usable)
1 Time(s): BIOS-e820: 000000003f7b0000 - 000000003f7c5400 (reserved)
1 Time(s): BIOS-e820: 000000003f7c5400 - 000000003f7e7fb8 (ACPI NVS)
1 Time(s): BIOS-e820: 000000003f7e7fb8 - 0000000040000000 (reserved)
1 Time(s): BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
1 Time(s): BIOS-e820: 00000000fed20000 - 00000000fed9a000 (reserved)
1 Time(s): BIOS-e820: 00000000feda0000 - 00000000fedc0000 (reserved)
1 Time(s): BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
1 Time(s): BIOS-e820: 00000000ffb00000 - 00000000ffc00000 (reserved)
1 Time(s): BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved)
1 Time(s): BIOS-provided physical RAM map:
1 Time(s): Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
1 Time(s): Bluetooth: Core ver 2.15
1 Time(s): Bluetooth: Generic Bluetooth USB driver ver 0.6
1 Time(s): Bluetooth: HCI device and connection manager initialized
1 Time(s): Bluetooth: HCI socket layer initialized
1 Time(s): Booting Node   0, Processors  #1 Ok.
1 Time(s): Booting paravirtualized kernel on bare hardware
1 Time(s): Broadcom 43xx driver loaded [ Features: PMLS, Firmware-ID: FW13 ]
1 Time(s): Brought up 2 CPUs
1 Time(s): Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 257872
1 Time(s): CPU0: Intel(R) Core(TM)2 Duo CPU     T5450  @ 1.66GHz stepping 0d
1 Time(s): CPU: Physical Processor ID: 0
1 Time(s): CPU: Processor Core ID: 0
1 Time(s): Calibrating delay loop (skipped), value calculated using timer frequency.. 3326.73 BogoMIPS (lpj=5541970)
1 Time(s): Checking if this processor honours the WP bit even in supervisor mode...Ok.
1 Time(s): Console: colour dummy device 80x25
1 Time(s): Console: switching to colour dummy device 80x25
1 Time(s): Console: switching to colour frame buffer device 128x48
1 Time(s): Console: switching to colour frame buffer device 160x50
1 Time(s): DMA      0x00000001 -> 0x00001000
1 Time(s): DMI 2.4 present.
1 Time(s): Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
1 Time(s): Detected 1662.591 MHz processor.
1 Time(s): Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
1 Time(s): ERST: Table is not found!
1 Time(s): EXT3-fs (dm-0): mounted filesystem with writeback data mode
1 Time(s): EXT3-fs (dm-0): using internal journal
1 Time(s): EXT3-fs (sda5): mounted filesystem with writeback data mode
1 Time(s): EXT3-fs (sda5): using internal journal
2 Time(s): EXT3-fs: barriers not enabled
1 Time(s): Enabling APIC mode:  Flat.  Using 1 I/O APICs
1 Time(s): Enabling fast FPU save and restore... done.
1 Time(s): Enabling unmasked SIMD FPU exception support... done.
1 Time(s): Extended CMOS year: 2000
1 Time(s): Fast TSC calibration using PIT
1 Time(s): Freeing initrd memory: 2540k freed
1 Time(s): Freeing unused kernel memory: 412k freed
1 Time(s): HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
2 Time(s): HDA Intel 0000:00:1b.0: power state changed by ACPI to D0
1 Time(s): HEST: Table is not found!
1 Time(s): HPET: 3 timers in total, 0 timers will be used for per-cpu timer
1 Time(s): Hierarchical RCU implementation.
1 Time(s): HighMem  0x000377fe -> 0x0003f7b0
1 Time(s): IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 0-23
1 Time(s): IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
1 Time(s): Initalizing network drop monitor service
1 Time(s): Initializing CPU#0
1 Time(s): Initializing CPU#1
1 Time(s): Initializing HighMem for node 0 (000377fe:0003f7b0)
1 Time(s): Initializing cgroup subsys blkio
1 Time(s): Initializing cgroup subsys cpu
1 Time(s): Initializing cgroup subsys cpuacct
1 Time(s): Initializing cgroup subsys cpuset
1 Time(s): Initializing cgroup subsys devices
1 Time(s): Initializing cgroup subsys freezer
1 Time(s): Initializing cgroup subsys memory
1 Time(s): Initializing cgroup subsys net_cls
1 Time(s): Initializing cgroup subsys ns
1 Time(s): Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
1 Time(s): Kernel command line: root=/dev/sda5 vga=773 ro
1 Time(s): Linux agpgart interface v0.103
1 Time(s): Linux version 2.6.35-ARCH (tobias@T-POWA-LX) (gcc version 4.5.1 (GCC) ) #1 SMP PREEMPT Wed Sep 29 07:17:20 UTC 2010
1 Time(s): Linux video capture interface: v2.00
1 Time(s): Marking TSC unstable due to TSC halts in idle
1 Time(s): Memory: 1017320k/1040064k available (2986k kernel code, 22296k reserved, 1238k data, 412k init, 130760k highmem)
1 Time(s): Mount-cache hash table entries: 512
1 Time(s): Movable zone start PFN for each node
1 Time(s): Move RAMDISK from 000000003f525000 - 000000003f79fe66 to 00100000 - 0037ae66
1 Time(s): NET: Registered protocol family 1
1 Time(s): NET: Registered protocol family 10
1 Time(s): NET: Registered protocol family 16
1 Time(s): NET: Registered protocol family 17
1 Time(s): NET: Registered protocol family 2
1 Time(s): NET: Registered protocol family 31
1 Time(s): NR_IRQS:512
1 Time(s): NetLabel:  domain hash size = 128
1 Time(s): NetLabel:  protocols = UNLABELED CIPSOv4
1 Time(s): NetLabel:  unlabeled traffic allowed by default
1 Time(s): NetLabel: Initializing
1 Time(s): Normal   0x00001000 -> 0x000377fe
1 Time(s): Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel!
1 Time(s): PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug
1 Time(s): PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in ACPI motherboard resources
2 Time(s): PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
1 Time(s): PCI: PCI BIOS revision 2.10 entry at 0xf0322, last bus=40
1 Time(s): PCI: Using ACPI for IRQ routing
1 Time(s): PCI: Using MMCONFIG for extended config space
1 Time(s): PCI: Using configuration type 1 for base access
1 Time(s): PCI: not using MMCONFIG
1 Time(s): PEBS disabled due to CPU errata.
1 Time(s): PERCPU: Embedded 14 pages/cpu @c2000000 s34880 r0 d22464 u2097152
1 Time(s): PID hash table entries: 4096 (order: 2, 16384 bytes)
1 Time(s): PM: Registered nosave memory: 0000000000002000 - 0000000000010000
1 Time(s): PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
1 Time(s): PM: Registered nosave memory: 00000000000a0000 - 00000000000e0000
1 Time(s): PM: Registered nosave memory: 00000000000e0000 - 0000000000100000
1 Time(s): PNP: PS/2 Controller [PNP0303:C297,PNP0f13:C298] at 0x60,0x64 irq 1,12
1 Time(s): PPP BSD Compression module registered
1 Time(s): PPP Deflate Compression module registered
1 Time(s): PPP generic driver version 2.4.2
1 Time(s): Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver.
1 Time(s): RAMDISK: 3f525000 - 3f7a0000
1 Time(s): SCSI subsystem initialized
1 Time(s): SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
1 Time(s): SMP: Allowing 2 CPUs, 0 hotplug CPUs
1 Time(s): Scanning 1 areas for low memory corruption
1 Time(s): Scanning for low memory corruption every 60 seconds
1 Time(s): Security Framework initialized
1 Time(s): Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
1 Time(s): Slow work thread pool: Ready
1 Time(s): Slow work thread pool: Starting up
1 Time(s): Subtract (49 early reservations)
1 Time(s): Switching to clocksource hpet
1 Time(s): Switching to clocksource tsc
1 Time(s): Synaptics Touchpad, model: 1, fw: 6.3, id: 0x1c0b1, caps: 0xa04713/0x200000/0x0
1 Time(s): TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
1 Time(s): TCP cubic registered
1 Time(s): TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
1 Time(s): TCP reno registered
1 Time(s): TCP: Hash tables configured (established 131072 bind 65536)
1 Time(s): Total of 2 processors activated (6652.27 BogoMIPS).
1 Time(s): UDP hash table entries: 512 (order: 2, 16384 bytes)
1 Time(s): UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
1 Time(s): USB Serial support registered for generic
1 Time(s): USB Video Class driver (v0.1.0)
1 Time(s): Uniform CD-ROM driver Revision: 3.20
1 Time(s): Unpacking initramfs...
1 Time(s): Using ACPI (MADT) for SMP configuration information
1 Time(s): Using APIC driver default
1 Time(s): Using IPI No-Shortcut mode
1 Time(s): VFS: Disk quotas dquot_6.5.2
1 Time(s): Zone PFN ranges:
1 Time(s): [drm] Initialized drm 1.1.0 20060810
1 Time(s): [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
1 Time(s): [drm] initialized overlay support
1 Time(s): [drm] set up 7M of stolen space
1 Time(s): acpi device:00: registered as cooling_device7
1 Time(s): agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
1 Time(s): agpgart-intel 0000:00:00.0: Intel 965GM Chipset
1 Time(s): agpgart-intel 0000:00:00.0: detected 7676K stolen memory
1 Time(s): ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 3 ports 3 Gbps 0x1 impl SATA mode
1 Time(s): ahci 0000:00:1f.2: PCI INT B -> GSI 17 (level, low) -> IRQ 17
1 Time(s): ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led clo pio slum part ccc
1 Time(s): ahci: SSS flag set, parallel bus scan disabled
1 Time(s): alg: No test for stdrng (krng)
1 Time(s): allocated 5200300 bytes of page_cgroup
1 Time(s): apm: BIOS not found.
1 Time(s): ata1.00: 312581808 sectors, multi 16: LBA48
2 Time(s): ata1.00: ACPI cmd b1/c1:00:00:00:00:a0 (DEVICE CONFIGURATION OVERLAY) filtered out
2 Time(s): ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
2 Time(s): ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out
1 Time(s): ata1.00: ATA-7: ST9160821AS, 3.BHE, max UDMA/100
3 Time(s): ata1.00: configured for UDMA/100
2 Time(s): ata1: EH complete
1 Time(s): ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
1 Time(s): ata1: SATA max UDMA/133 abar m2048@0xe4809000 port 0xe4809100 irq 44
1 Time(s): ata2: DUMMY
1 Time(s): ata3: DUMMY
1 Time(s): ata4.00: ATAPI: Optiarc DVD RW AD-7560A, DH10, max MWDMA2
1 Time(s): ata4.00: configured for MWDMA2
1 Time(s): ata4: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x40c0 irq 14
1 Time(s): ata5: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x40c8 irq 15
1 Time(s): ata_piix 0000:00:1f.1: PCI INT A -> GSI 16 (level, low) -> IRQ 16
1 Time(s): audit: initializing netlink socket (disabled)
1 Time(s): b43-pci-bridge 0000:10:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
1 Time(s): b43-phy0: Broadcom 4311 WLAN found (core revision 13)
1 Time(s): bio: create slab <bio-0> at 0
1 Time(s): cfg80211: Calling CRDA to update world regulatory domain
1 Time(s): console [tty0] enabled
1 Time(s): cpuidle: using governor ladder
1 Time(s): cpuidle: using governor menu
1 Time(s): device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@redhat.com
1 Time(s): device-mapper: uevent: version 1.0.3
1 Time(s): devtmpfs: initialized
1 Time(s): drm: registered panic notifier
1 Time(s): early_node_map[3] active PFN ranges
1 Time(s): ehci_hcd 0000:00:1a.7: EHCI Host Controller
1 Time(s): ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 18 (level, low) -> IRQ 18
1 Time(s): ehci_hcd 0000:00:1a.7: USB 2.0 started, EHCI 1.00
1 Time(s): ehci_hcd 0000:00:1a.7: debug port 1
1 Time(s): ehci_hcd 0000:00:1a.7: irq 18, io mem 0xe4800000
1 Time(s): ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bus number 1
1 Time(s): ehci_hcd 0000:00:1d.7: EHCI Host Controller
1 Time(s): ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 20 (level, low) -> IRQ 20
1 Time(s): ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
1 Time(s): ehci_hcd 0000:00:1d.7: debug port 1
1 Time(s): ehci_hcd 0000:00:1d.7: irq 20, io mem 0xe4808000
1 Time(s): ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 2
1 Time(s): ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
1 Time(s): fb0: VESA VGA frame buffer device
1 Time(s): fb0: inteldrmfb frame buffer device
1 Time(s): fixmap  : 0xfff16000 - 0xfffff000   ( 932 kB)
1 Time(s): fuse init (API version 7.14)
2 Time(s): generic ttyUSB0: generic converter now disconnected from ttyUSB0
2 Time(s): generic ttyUSB1: generic converter now disconnected from ttyUSB1
2 Time(s): generic ttyUSB2: generic converter now disconnected from ttyUSB2
1 Time(s): highmem bounce pool size: 64 pages
1 Time(s): hpet0: 3 comparators, 64-bit 14.318180 MHz counter
1 Time(s): hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
1 Time(s): hub 1-0:1.0: 4 ports detected
1 Time(s): hub 1-0:1.0: USB hub found
1 Time(s): hub 2-0:1.0: 6 ports detected
1 Time(s): hub 2-0:1.0: USB hub found
1 Time(s): hub 3-0:1.0: 2 ports detected
1 Time(s): hub 3-0:1.0: USB hub found
1 Time(s): hub 4-0:1.0: 2 ports detected
1 Time(s): hub 4-0:1.0: USB hub found
1 Time(s): hub 5-0:1.0: 2 ports detected
1 Time(s): hub 5-0:1.0: USB hub found
1 Time(s): hub 6-0:1.0: 2 ports detected
1 Time(s): hub 6-0:1.0: USB hub found
1 Time(s): hub 7-0:1.0: 2 ports detected
1 Time(s): hub 7-0:1.0: USB hub found
1 Time(s): i8042.c: Detected active multiplexing controller, rev 1.1.
1 Time(s): i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
1 Time(s): iTCO_vendor_support: vendor-support=0
1 Time(s): iTCO_wdt: Found a ICH8M TCO device (Version=2, TCOBASE=0x1060)
1 Time(s): iTCO_wdt: Intel TCO WatchDog Timer Driver v1.06
1 Time(s): iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
1 Time(s): init_memory_mapping: 0000000000000000-00000000377fe000
1 Time(s): input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
1 Time(s): input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input9
1 Time(s): input: HP WMI hotkeys as /devices/virtual/input/input5
1 Time(s): input: HP Webcam as /devices/pci0000:00/0000:00:1d.7/usb2/2-4/2-4:1.0/input/input7
1 Time(s): input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input2
1 Time(s): input: PC Speaker as /devices/platform/pcspkr/input/input3
1 Time(s): input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input4
1 Time(s): input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1
1 Time(s): input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio4/input/input6
1 Time(s): input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input8
1 Time(s): io scheduler cfq registered (default)
1 Time(s): io scheduler deadline registered
1 Time(s): io scheduler noop registered
1 Time(s): isapnp: No Plug & Play device found
1 Time(s): isapnp: Scanning for PnP cards...
2 Time(s): kjournald starting.  Commit interval 5 seconds
1 Time(s): last_pfn = 0x3f7b0 max_arch_pfn = 0x100000
1 Time(s): lo: Disabled Privacy Extensions
1 Time(s): low ram: 0 - 377fe000
1 Time(s): lowmem  : 0xc0000000 - 0xf77fe000   ( 887 MB)
1 Time(s): mapped low ram: 0 - 377fe000
1 Time(s): mce: CPU supports 6 MCE banks
1 Time(s): mice: PS/2 mouse device common for all mice
1 Time(s): modified physical RAM map:
1 Time(s): modified: 0000000000000000 - 0000000000001000 (reserved)
1 Time(s): modified: 0000000000001000 - 0000000000002000 (usable)
1 Time(s): modified: 0000000000002000 - 0000000000010000 (reserved)
1 Time(s): modified: 0000000000010000 - 000000000009fc00 (usable)
1 Time(s): modified: 000000000009fc00 - 00000000000a0000 (reserved)
1 Time(s): modified: 00000000000e0000 - 0000000000100000 (reserved)
1 Time(s): modified: 0000000000100000 - 000000003f7b0000 (usable)
1 Time(s): modified: 000000003f7b0000 - 000000003f7c5400 (reserved)
1 Time(s): modified: 000000003f7c5400 - 000000003f7e7fb8 (ACPI NVS)
1 Time(s): modified: 000000003f7e7fb8 - 0000000040000000 (reserved)
1 Time(s): modified: 00000000fec00000 - 00000000fec01000 (reserved)
1 Time(s): modified: 00000000fed20000 - 00000000fed9a000 (reserved)
1 Time(s): modified: 00000000feda0000 - 00000000fedc0000 (reserved)
1 Time(s): modified: 00000000fee00000 - 00000000fee01000 (reserved)
1 Time(s): modified: 00000000ffb00000 - 00000000ffc00000 (reserved)
1 Time(s): modified: 00000000fff00000 - 0000000100000000 (reserved)
1 Time(s): msgmni has been set to 1736
1 Time(s): pci 0000:00:1c.0:   bridge window [io  disabled]
1 Time(s): pci 0000:00:1c.0:   bridge window [mem disabled]
1 Time(s): pci 0000:00:1c.0:   bridge window [mem pref disabled]
1 Time(s): pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
2 Time(s): pci 0000:00:1c.0: PCI bridge to [bus 08-08]
1 Time(s): pci 0000:00:1c.1:   bridge window [io  0x5000-0x5fff]
1 Time(s): pci 0000:00:1c.1:   bridge window [mem 0x40000000-0x401fffff 64bit pref]
1 Time(s): pci 0000:00:1c.1:   bridge window [mem 0xe4100000-0xe41fffff]
1 Time(s): pci 0000:00:1c.1: BAR 13: assigned [io  0x5000-0x5fff]
1 Time(s): pci 0000:00:1c.1: BAR 15: assigned [mem 0x40000000-0x401fffff 64bit pref]
1 Time(s): pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
2 Time(s): pci 0000:00:1c.1: PCI bridge to [bus 10-10]
1 Time(s): pci 0000:00:1c.2:   bridge window [io  0x6000-0x6fff]
1 Time(s): pci 0000:00:1c.2:   bridge window [mem 0x40200000-0x403fffff 64bit pref]
1 Time(s): pci 0000:00:1c.2:   bridge window [mem 0xe4000000-0xe40fffff]
1 Time(s): pci 0000:00:1c.2: BAR 13: assigned [io  0x6000-0x6fff]
1 Time(s): pci 0000:00:1c.2: BAR 15: assigned [mem 0x40200000-0x403fffff 64bit pref]
1 Time(s): pci 0000:00:1c.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
2 Time(s): pci 0000:00:1c.2: PCI bridge to [bus 18-18]
1 Time(s): pci 0000:00:1c.4:   bridge window [io  0x2000-0x3fff]
1 Time(s): pci 0000:00:1c.4:   bridge window [mem 0x40400000-0x405fffff 64bit pref]
1 Time(s): pci 0000:00:1c.4:   bridge window [mem 0xe0000000-0xe3ffffff]
1 Time(s): pci 0000:00:1c.4: BAR 15: assigned [mem 0x40400000-0x405fffff 64bit pref]
1 Time(s): pci 0000:00:1c.4: PCI INT A -> GSI 16 (level, low) -> IRQ 16
2 Time(s): pci 0000:00:1c.4: PCI bridge to [bus 28-28]
1 Time(s): pci 0000:00:1e.0:   bridge window [io  disabled]
1 Time(s): pci 0000:00:1e.0:   bridge window [mem disabled]
1 Time(s): pci 0000:00:1e.0:   bridge window [mem pref disabled]
1 Time(s): pci 0000:00:1e.0: PCI bridge to [bus 02-02]
1 Time(s): pci 0000:00:1e.0: PCI bridge to [bus 02-02] (subtractive decode)
1 Time(s): pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0500 (mask 007f)
1 Time(s): pci 0000:00:1f.0: ICH7 LPC Generic IO decode 4 PIO at 02e8 (mask 0007)
1 Time(s): pci 0000:00:1f.0: quirk: [io  0x1000-0x107f] claimed by ICH6 ACPI/GPIO/TCO
1 Time(s): pci 0000:00:1f.0: quirk: [io  0x1100-0x113f] claimed by ICH6 GPIO
1 Time(s): pcpu-alloc: [0] 0 1
1 Time(s): pcpu-alloc: s34880 r0 d22464 u2097152 alloc=1*4194304
1 Time(s): pid_max: default: 32768 minimum: 301
1 Time(s): pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
1 Time(s): please try 'cgroup_disable=memory' option if you don't want memory cgroups
1 Time(s): pnp: PnP ACPI init
1 Time(s): pnp: PnP ACPI: found 12 devices
1 Time(s): registered taskstats version 1
1 Time(s): rtc0: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
1 Time(s): rtc_cmos 00:05: RTC can wake from S4
1 Time(s): rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
1 Time(s): scsi 0:0:0:0: Direct-Access     ATA      ST9160821AS      3.BH PQ: 0 ANSI: 5
1 Time(s): scsi 3:0:0:0: CD-ROM            Optiarc  DVD RW AD-7560A  DH10 PQ: 0 ANSI: 5
1 Time(s): scsi0 : ahci
1 Time(s): scsi1 : ahci
1 Time(s): scsi2 : ahci
1 Time(s): scsi3 : ata_piix
1 Time(s): scsi4 : ata_piix
1 Time(s): sd 0:0:0:0: Attached scsi generic sg0 type 0
1 Time(s): sd 0:0:0:0: [sda] 312581808 512-byte logical blocks: (160 GB/149 GiB)
1 Time(s): sd 0:0:0:0: [sda] Attached SCSI disk
1 Time(s): sd 0:0:0:0: [sda] Write Protect is off
1 Time(s): sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
1 Time(s): sda5
1 Time(s): sda6
1 Time(s): sda7 sda8 >
1 Time(s): sda: sda1 sda2 sda3 sda4 <
1 Time(s): serio: i8042 AUX0 port at 0x60,0x64 irq 12
1 Time(s): serio: i8042 AUX1 port at 0x60,0x64 irq 12
1 Time(s): serio: i8042 AUX2 port at 0x60,0x64 irq 12
1 Time(s): serio: i8042 AUX3 port at 0x60,0x64 irq 12
1 Time(s): serio: i8042 KBD port at 0x60,0x64 irq 1
1 Time(s): setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1
1 Time(s): sr 3:0:0:0: Attached scsi generic sg1 type 5
1 Time(s): sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
1 Time(s): ssb: Sonics Silicon Backplane found on PCI device 0000:10:00.0
1 Time(s): system 00:00: [mem 0x00000000-0x0009ffff] could not be reserved
1 Time(s): system 00:00: [mem 0x000e0000-0x000fffff] could not be reserved
1 Time(s): system 00:00: [mem 0x00100000-0x3f7fffff] could not be reserved
1 Time(s): system 00:09: [io  0x0500-0x057f] has been reserved
1 Time(s): system 00:09: [io  0x0800-0x080f] has been reserved
1 Time(s): system 00:09: [mem 0xffb00000-0xffbfffff] has been reserved
1 Time(s): system 00:09: [mem 0xfff00000-0xffffffff] has been reserved
1 Time(s): system 00:0a: [io  0x04d0-0x04d1] has been reserved
1 Time(s): system 00:0a: [io  0x1000-0x107f] has been reserved
1 Time(s): system 00:0a: [io  0x1100-0x113f] has been reserved
1 Time(s): system 00:0a: [io  0x1200-0x121f] has been reserved
1 Time(s): system 00:0a: [mem 0xf8000000-0xfbffffff] has been reserved
1 Time(s): system 00:0a: [mem 0xfec00000-0xfec000ff] could not be reserved
1 Time(s): system 00:0a: [mem 0xfed20000-0xfed3ffff] has been reserved
1 Time(s): system 00:0a: [mem 0xfed45000-0xfed8ffff] has been reserved
1 Time(s): system 00:0a: [mem 0xfed90000-0xfed99fff] has been reserved
1 Time(s): system 00:0b: [mem 0x000cee00-0x000cffff] has been reserved
1 Time(s): system 00:0b: [mem 0x000d2a00-0x000d3fff] has been reserved
1 Time(s): system 00:0b: [mem 0xfeda0000-0xfedbffff] has been reserved
1 Time(s): system 00:0b: [mem 0xfee00000-0xfee00fff] has been reserved
1 Time(s): tg3 0000:18:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
1 Time(s): tg3 0000:18:00.0: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
1 Time(s): tg3 0000:18:00.0: eth0: Tigon3 [partno(none) rev b002] (PCI Express) MAC address 00:1a:4b:90:da:dc
1 Time(s): tg3 0000:18:00.0: eth0: attached PHY is 5787 (10/100/1000Base-T Ethernet) (WireSpeed[1])
1 Time(s): tg3 0000:18:00.0: eth0: dma_rwctrl[76180000] dma_mask[64-bit]
1 Time(s): tg3.c:v3.110 (April 9, 2010)
1 Time(s): thermal LNXTHERM:01: registered as thermal_zone0
1 Time(s): thermal LNXTHERM:02: registered as thermal_zone1
1 Time(s): thermal LNXTHERM:03: registered as thermal_zone2
1 Time(s): thermal LNXTHERM:04: registered as thermal_zone3
1 Time(s): thermal LNXTHERM:05: registered as thermal_zone4
1 Time(s): type=2000 audit(1286530368.463:1): initialized
1 Time(s): udev[1020]: starting version 162
1 Time(s): udev[38]: starting version 162
1 Time(s): uhci_hcd 0000:00:1a.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
1 Time(s): uhci_hcd 0000:00:1a.0: UHCI Host Controller
1 Time(s): uhci_hcd 0000:00:1a.0: irq 16, io base 0x00004020
1 Time(s): uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 3
1 Time(s): uhci_hcd 0000:00:1a.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
1 Time(s): uhci_hcd 0000:00:1a.1: UHCI Host Controller
1 Time(s): uhci_hcd 0000:00:1a.1: irq 17, io base 0x00004040
1 Time(s): uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 4
1 Time(s): uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
1 Time(s): uhci_hcd 0000:00:1d.0: UHCI Host Controller
1 Time(s): uhci_hcd 0000:00:1d.0: irq 20, io base 0x00004060
1 Time(s): uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 5
1 Time(s): uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 21 (level, low) -> IRQ 21
1 Time(s): uhci_hcd 0000:00:1d.1: UHCI Host Controller
1 Time(s): uhci_hcd 0000:00:1d.1: irq 21, io base 0x00004080
1 Time(s): uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 6
1 Time(s): uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
1 Time(s): uhci_hcd 0000:00:1d.2: UHCI Host Controller
1 Time(s): uhci_hcd 0000:00:1d.2: irq 18, io base 0x000040a0
1 Time(s): uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 7
1 Time(s): uhci_hcd: USB Universal Host Controller Interface driver
1 Time(s): usb 2-4: new high speed USB device using ehci_hcd and address 2
1 Time(s): usb 3-1: new full speed USB device using uhci_hcd and address 2
1 Time(s): usb 7-1: USB disconnect, address 2
1 Time(s): usb 7-1: USB disconnect, address 7
3 Time(s): usb 7-1: generic converter now attached to ttyUSB0
3 Time(s): usb 7-1: generic converter now attached to ttyUSB1
3 Time(s): usb 7-1: generic converter now attached to ttyUSB2
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 10
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 12
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 2
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 3
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 4
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 5
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 7
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 8
1 Time(s): usb 7-1: new full speed USB device using uhci_hcd and address 9
1 Time(s): usbcore: registered new device driver usb
1 Time(s): usbcore: registered new interface driver btusb
1 Time(s): usbcore: registered new interface driver hub
1 Time(s): usbcore: registered new interface driver usbfs
1 Time(s): usbcore: registered new interface driver usbserial
1 Time(s): usbcore: registered new interface driver usbserial_generic
1 Time(s): usbcore: registered new interface driver uvcvideo
1 Time(s): usbserial: USB Serial Driver core
2 Time(s): usbserial_generic 7-1:1.0: device disconnected
3 Time(s): usbserial_generic 7-1:1.0: generic converter detected
2 Time(s): usbserial_generic 7-1:1.1: device disconnected
3 Time(s): usbserial_generic 7-1:1.1: generic converter detected
2 Time(s): usbserial_generic 7-1:1.2: device disconnected
3 Time(s): usbserial_generic 7-1:1.2: generic converter detected
1 Time(s): using mwait in idle threads.
1 Time(s): uvcvideo: Found UVC 1.00 device HP Webcam (5986:0104)
1 Time(s): vesafb: Pseudocolor: size=8:8:8:8, shift=0:0:0:0
1 Time(s): vesafb: framebuffer at 0xd0000000, mapped to 0xf8080000, using 1536k, total 7616k
1 Time(s): vesafb: mode is 1024x768x8, linelength=1024, pages=8
1 Time(s): vesafb: scrolling: redraw
1 Time(s): vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
1 Time(s): vgaarb: loaded
1 Time(s): virtual kernel memory layout:
1 Time(s): vmalloc : 0xf7ffe000 - 0xff7fe000   ( 120 MB)
1 Time(s): x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106

---------------------- Kernel End -------------------------

--------------------- Named Begin ------------------------

Named started: 1 Time(s)

Loaded Zones:
./IN: 1 Time(s)
0.0.127.in-addr.arpa/IN: 1 Time(s)
localhost/IN: 1 Time(s)

**Unmatched Entries**
automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA: 1 Time(s)
automatic empty zone: 0.1.1.0.0.2.IP6.ARPA: 1 Time(s)
automatic empty zone: 0.IN-ADDR.ARPA: 1 Time(s)
automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA: 1 Time(s)
automatic empty zone: 100.51.198.IN-ADDR.ARPA: 1 Time(s)
automatic empty zone: 113.0.203.IN-ADDR.ARPA: 1 Time(s)
automatic empty zone: 127.IN-ADDR.ARPA: 1 Time(s)
automatic empty zone: 2.0.192.IN-ADDR.ARPA: 1 Time(s)
automatic empty zone: 254.169.IN-ADDR.ARPA: 1 Time(s)
automatic empty zone: 255.255.255.255.IN-ADDR.ARPA: 1 Time(s)
automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA: 1 Time(s)
automatic empty zone: 8.E.F.IP6.ARPA: 1 Time(s)
automatic empty zone: 9.E.F.IP6.ARPA: 1 Time(s)
automatic empty zone: A.E.F.IP6.ARPA: 1 Time(s)
automatic empty zone: B.E.F.IP6.ARPA: 1 Time(s)
automatic empty zone: D.F.IP6.ARPA: 1 Time(s)
built with '--prefix=/usr' '--sysconfdir=/etc' '--localstatedir=/var' '--with-libtool' '--enable-shared' '--disable-threads' '--with-openssl=yes' '--disable-linux-caps' '--without-libxml2' 'CFLAGS=-march=i686 -mtune=generic -O2 -pipe' 'LDFLAGS=-Wl,--hash-style=gnu -Wl,--as-needed' 'CXXFLAGS=-march=i686 -mtune=generic -O2 -pipe': 1 Time(s)
generating session key for dynamic DNS: 1 Time(s)
reading built-in trusted keys from file '/etc/bind.keys': 1 Time(s)
set up managed keys zone for view _default, file 'managed-keys.bind': 1 Time(s)
using default UDP/IPv4 port range: [1024, 65535]: 1 Time(s)
using default UDP/IPv6 port range: [1024, 65535]: 1 Time(s)
using up to 4096 sockets: 1 Time(s)

---------------------- Named End -------------------------

--------------------- pam_unix Begin ------------------------

gdm:
Sessions Opened:
bhaskar: 1 Time(s)

su:
Sessions Opened:
root -> root: 3 Time(s)
root -> bhaskar: 1 Time(s)

sudo:
Sessions Opened:
root -> root: 21 Time(s)

---------------------- pam_unix End -------------------------

--------------------- Postfix Begin ------------------------

****** Summary *************************************************************************************

1   Miscellaneous warnings

4.310K  Bytes accepted                             4,413
4.310K  Bytes delivered                            4,413
========   ================================================

1   Accepted                                 100.00%
--------   ------------------------------------------------
1   Total                                    100.00%
========   ================================================

1   Removed from queue
1   Delivered

1   Postfix start

****** Detailed ************************************************************************************

1   Miscellaneous warnings ------------------------------------------------------------------
1      host not found: localhost

1   Delivered -------------------------------------------------------------------------------
1      bhaskar-laptop.localdomain
1         root
1            root

---------------------- Postfix End -------------------------

--------------------- Connections (secure-log) Begin ------------------------

**Unmatched Entries**
dbus-daemon: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.38" (uid=1000 pid=4491 comm="nautilus) interface="org.freedesktop.DBus.Properties" member="GetAll" error name="(unset)" requested_reply=0 destination=":1.15" (uid=0 pid=3333 comm="/usr/sbin/console-kit-daemon)): 1 Time(s)
gnome-keyring-daemon: Unable to contact dconf service: 1 Time(s)
gnome-screensaver-dialog: gkr-pam: unlocked login keyring: 1 Time(s)
polkitd(authority=local): Registered Authentication Agent for unix-session:/org/freedesktop/ConsoleKit/Session1 (system bus name :1.20 [/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1], object path /org/gnome/PolicyKit1/AuthenticationAgent, locale en_US.utf8): 1 Time(s)
polkitd(authority=local): Registered Authentication Agent for unix-session:/org/freedesktop/ConsoleKit/Session2 (system bus name :1.32 [/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1], object path /org/gnome/PolicyKit1/AuthenticationAgent, locale en_US.utf8): 1 Time(s)

---------------------- Connections (secure-log) End -------------------------

--------------------- Sudo (secure-log) Begin ------------------------

==============================================================================

bhaskar => root
---------------
/bin/su
/bin/su
./firefox_cpu_limit
/usr/bin/vim /lvm/Adm_scripts/rescan_linux_scsi_bus.sh
/usr/bin/vim /etc/vimrc
/usr/bin/vim /lvm/Adm_scripts/rescan_linux_scsi_bus.sh
/bin/su -
/usr/bin/vim logwatch.conf
/usr/bin/vim override.conf
/usr/bin/vim ignore.conf
/bin/less README
/usr/sbin/logwatch --range detail --service httpd --print
/usr/sbin/logwatch --range today --detail 10 --service httpd --print
/usr/sbin/logwatch --range today --detail 10 --servic all --print
/usr/lib/perl5/core_perl/bin/cpan
/usr/lib/perl5/core_perl/bin/cpan
/usr/bin/mail
/usr/sbin/logwatch --service httpd --range all --detail high --print
/usr/bin/daemon-status
/usr/sbin/logwatch --service all --range all --detail high --print
/usr/sbin/logwatch --service all --range today --detail high --print

**Unmatched Entries**
pam_unix(sudo:session): session opened for user root by bhaskar(uid=0): 21 Time(s)
pam_unix(sudo:session): session closed for user bhaskar: 6 Time(s)
---------------------- Sudo (secure-log) End -------------------------

--------------------- XNTPD Begin ------------------------

**Unmatched Entries**
adjusting local clock by -54.040836s: 1 time(s)
adjusting local clock by -55.723214s: 1 time(s)
adjusting local clock by -55.877518s: 1 time(s)
adjusting local clock by -55.392348s: 1 time(s)
adjusting local clock by -52.281638s: 1 time(s)
adjusting local clock by -54.283693s: 1 time(s)
adjusting local clock by -55.025241s: 1 time(s)
adjusting local clock by -52.212685s: 1 time(s)
adjusting local clock by -52.784345s: 1 time(s)
adjusting local clock by -53.968218s: 1 time(s)
adjusting local clock by -54.720263s: 1 time(s)
adjusting local clock by -54.500664s: 1 time(s)
adjusting local clock by -54.283878s: 1 time(s)
adjusting local clock by -52.424748s: 1 time(s)
adjusting local clock by -55.798154s: 1 time(s)
adjusting local clock by -55.268653s: 1 time(s)
adjusting local clock by -54.927360s: 1 time(s)
adjusting local clock by -54.218315s: 1 time(s)
adjusting local clock by -52.886681s: 1 time(s)
adjusting local clock by -55.159196s: 1 time(s)
adjusting local clock by -55.782910s: 1 time(s)
adjusting local clock by -52.071634s: 1 time(s)
adjusting local clock by -52.595003s: 1 time(s)
adjusting local clock by -52.495854s: 1 time(s)
adjusting local clock by -52.923825s: 1 time(s)
adjusting local clock by -52.500227s: 1 time(s)
adjusting local clock by -52.712908s: 1 time(s)
adjusting local clock by -55.557717s: 1 time(s)
adjusting local clock by -51.870473s: 1 time(s)
adjusting local clock by -55.057160s: 1 time(s)
adjusting local clock by -54.735202s: 1 time(s)
adjusting local clock by -54.871169s: 1 time(s)
adjusting local clock by -51.970391s: 1 time(s)

---------------------- XNTPD End -------------------------

--------------------- Disk Space Begin ------------------------

Filesystem            Size  Used Avail Use% Mounted on
udev                   10M  224K  9.8M   3% /dev
/dev/sda5              31G   15G   15G  50% /
/dev/mapper/bhaskarlaptop-data
25G  8.1G   16G  35% /lvm

---------------------- Disk Space End -------------------------

--------------------- Network Report Begin ------------------------

------------- Network Interfaces ---------------

Ethernet : 2
Other    : 2
Total    : 4

------------- Ethernet -------------------------

eth0      Link encap:Ethernet  HWaddr 00:1A:4B:90:DA:DC
wlan0     Link encap:Ethernet  HWaddr 00:1A:73:EE:69:BD

------------- Other ----------------------------

lo        Link encap:Local Loopback
ppp0      Link encap:Point-to-Point Protocol

------------- Network Interfaces ---------------

------------- Network statistics ---------------

eth0      Link encap:Ethernet  HWaddr 00:1A:4B:90:DA:DC
inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
UP BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
Interrupt:18

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:566 errors:0 dropped:0 overruns:0 frame:0
TX packets:566 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:185897 (181.5 Kb)  TX bytes:185897 (181.5 Kb)

ppp0      Link encap:Point-to-Point Protocol
inet addr:116.174.242.189  P-t-P:220.254.161.165  Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
RX packets:20966 errors:102 dropped:0 overruns:0 frame:0
TX packets:19435 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:18863386 (17.9 Mb)  TX bytes:2442627 (2.3 Mb)

wlan0     Link encap:Ethernet  HWaddr 00:1A:73:EE:69:BD
BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Iface     MTU RX-ERR TX-ERR
eth0     1500      0      0
lo      16436      0      0
ppp0     1500    102      0

------------- Network statistics ---------------

------------- Routing states ---------------

net.ipv4.ip_forward=0

------------- Routing states ---------------

------------- Routing capabilities----------

------------- Routing capabilities----------

------------- Network routes ---------------

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
220.224.141.145 0.0.0.0         255.255.255.255 UH        0 0          0 ppp0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         0.0.0.0         0.0.0.0         U         0 0          0 ppp0

------------- Network routes ---------------

---------------------- Network Report End -------------------------

###################### Logwatch End #########################

Now a bit of explanation of those flags I passed in the comandline along with the logwatch command.First of all “–service” it essetially signifyies a specific service i.e postfix,httpd or it has an option called “all“,which provide everything in the system it running.

Second an option called “–range” it can be anything like today,yesterday,month,but I have passed “today“,so it will only spit out the infomation about today’s activity.

Third the option called “–detail” it depend on the verbosity level you want the report to be printed or displayed.I choose here “High”,so got maximum verbosity.As you can see in the output too.Other two options are mid and low.Those levels are also has numeric value representation with it i.e 10-high,5-mid,0-low,so you can mention those integer if you like.

Last but not the least option is “–print“,as the name signifies it essentially print the generated report on the console instead of a file.See the above output as I copy and paste it from my console.

Logwatch has got nice other option too,specifically when you thing about putting into the crontab.Few of them are “mailto“,which essencially mail to directed location.Then “logfile” it will specifically shows information about that log file.Even you can save it in a file with “save” option.

All in all I have been using this tool for quite some time really like it as it provide me so much information to deal with and fine tune.

Hope this will help.

Cheers!

Bhaskar

 

 

 

 

 

 

Open Source Software Licenses

>In this article we are going to talk about the open system/open source software licenses.As most of you are aware(if not please read and understand)how those licenses intend to do then apply them as you like.So lets meet those licenses that made an impact on open source development.Being an GNU/Linux consultant my one of the prime job to explain the licensing issue to my clients so they can understand what they adopt into their infrastructure.And as my second role as an GNU/Linux administrator I am very curious about the licensing factor to implements something into the production base.So what I will suggest please give yourself sometime and go through the below mentioned licenses to accustomed yourself better for deployment.

Before we start one must know that Linux kernel is abide with GPL v.2 ,means all the codes are released under this license.

Free Document License:

GNU Free Documentation License
Version 1.2, November 2002

Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other
functional and useful document “free” in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.

This License is a kind of “copyleft”, which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.

We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The “Document”, below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as “you”. You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.

A “Modified Version” of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.

A “Secondary Section” is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document’s overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject. (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.

The “Invariant Sections” are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.

The “Cover Texts” are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.

A “Transparent” copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not “Transparent” is called “Opaque”.

Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML, PostScript or PDF designed for human modification. Examples of
transparent image formats include PNG, XCF and JPG. Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.

The “Title Page” means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, “Title Page” means
the text near the most prominent appearance of the work’s title,
preceding the beginning of the body of the text.

A section “Entitled XYZ” means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as “Acknowledgements”,
“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title”
of such a section when you modify the Document means that it remains a
section “Entitled XYZ” according to this definition.

The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and
you may publicly display copies.

3. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document’s license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.

If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.

It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:

A. Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document’s license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled “History”, Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled “History” in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the “History” section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
K. For any section Entitled “Acknowledgements” or “Dedications”,
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
M. Delete any section Entitled “Endorsements”. Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled “Endorsements”
or to conflict in title with any Invariant Section.
O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version’s license notice.
These titles must be distinct from any other section titles.

You may add a section Entitled “Endorsements”, provided it contains
nothing but endorsements of your Modified Version by various
parties–for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.

You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.

The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled “History”
in the various original documents, forming one section Entitled
“History”; likewise combine any sections Entitled “Acknowledgements”,
and any sections Entitled “Dedications”. You must delete all sections
Entitled “Endorsements”.

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an “aggregate” if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation’s users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document’s Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.

8. TRANSLATION

Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.

If a section in the Document is Entitled “Acknowledgements”,
“Dedications”, or “History”, the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.

10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License “or any later version” applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:

Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled “GNU
Free Documentation License”.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the “with…Texts.” line with this:

with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.

If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,to permit their use in free software.

GPL a.k.a General Public License:

GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. «http://fsf.org/»
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The GNU General Public License is a free, copyleft license for
software and other kinds of works.

The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program–to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.

When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.

Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

For the developers’ and authors’ protection, the GPL clearly explains
that there is no warranty for this free software. For both users’ and
authors’ sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users’ freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

The precise terms and conditions for copying, distribution and
modification follow.

TERMS AND CONDITIONS

0. Definitions.

“This License” refers to version 3 of the GNU General Public License.

“Copyright” also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

“The Program” refers to any copyrightable work licensed under this
License. Each licensee is addressed as “you”. “Licensees” and
“recipients” may be individuals or organizations.

To “modify” a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a “modified version” of the
earlier work or a work “based on” the earlier work.

A “covered work” means either the unmodified Program or a work based
on the Program.

To “propagate” a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

To “convey” a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

An interactive user interface displays “Appropriate Legal Notices”
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

1. Source Code.

The “source code” for a work means the preferred form of the work
for making modifications to it. “Object code” means any non-source
form of a work.

A “Standard Interface” means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

The “System Libraries” of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
“Major Component”, in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

The “Corresponding Source” for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work’s
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

The Corresponding Source for a work in source code form is that
same work.

2. Basic Permissions.

All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.

3. Protecting Users’ Legal Rights From Anti-Circumvention Law.

No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work’s
users, your or third parties’ legal rights to forbid circumvention of
technological measures.

4. Conveying Verbatim Copies.

You may convey verbatim copies of the Program’s source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

5. Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.

b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
“keep intact all notices”.

c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.

d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.

A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
“aggregate” if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation’s users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

6. Conveying Non-Source Forms.

You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.

b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.

c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.

d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.

e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.

A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

A “User Product” is either (1) a “consumer product”, which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, “normally used” refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

“Installation Information” for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

7. Additional Terms.

“Additional permissions” are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or

b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or

c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or

d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or

e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or

f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.

All other non-permissive additional terms are considered “further
restrictions” within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

8. Termination.

You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

9. Acceptance Not Required for Having Copies.

You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

10. Automatic Licensing of Downstream Recipients.

Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.

An “entity transaction” is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party’s predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

11. Patents.

A “contributor” is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor’s “contributor version”.

A contributor’s “essential patent claims” are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, “control” includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor’s essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

In the following three paragraphs, a “patent license” is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To “grant” such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. “Knowingly relying” means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient’s use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

A patent license is “discriminatory” if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

12. No Surrender of Others’ Freedom.

If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

13. Use with the GNU Affero General Public License.

Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

14. Revised Versions of this License.

The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License “or any later version” applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy’s
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

15. Disclaimer of Warranty.

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

16. Limitation of Liability.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

17. Interpretation of Sections 15 and 16.

If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the “copyright” line and a pointer to where the full notice is found.

«one line to give the program’s name and a brief idea of what it does.»
Copyright (C) «year» «name of author»

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see «http://www.gnu.org/licenses/».

Also add information on how to contact you by electronic and paper mail.

If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

«program» Copyright (C) «year» «name of author»
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w’.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c’ for details.

The hypothetical commands `show w’ and `show c’ should show the appropriate
parts of the General Public License. Of course, your program’s commands
might be different; for a GUI interface, you would use an “about box”.

You should also get your employer (if you work as a programmer) or school,
if any, to sign a “copyright disclaimer” for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
«http://www.gnu.org/licenses/».

The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
«http://www.gnu.org/philosophy/why-not-lgpl.html»

LPGL a.k.a Lesser General Public License:

GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. «http://fsf.org/»
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

0. Additional Definitions.

As used herein, “this License” refers to version 3 of the GNU Lesser
General Public License, and the “GNU GPL” refers to version 3 of the GNU
General Public License.

“The Library” refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.

An “Application” is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.

A “Combined Work” is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the “Linked
Version”.

The “Minimal Corresponding Source” for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

The “Corresponding Application Code” for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

1. Exception to Section 3 of the GNU GPL.

You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

2. Conveying Modified Versions.

If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or

b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.

3. Object Code Incorporating Material from Library Header Files.

The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:

a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the object code with a copy of the GNU GPL and this license
document.

4. Combined Works.

You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:

a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.

c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.

d) Do one of the following:

0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.

1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user’s computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.

e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)

5. Combined Libraries.

You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.

b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.

6. Revised Versions of the GNU Lesser General Public License.

The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License “or any later version”
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy’s public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

Apache License:

Apache License, Version 2.0

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

“License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.

“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”

“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

1. You must give any other recipients of the Work or Derivative Works a copy of this License; and

2. You must cause any modified files to carry prominent notices stating that You changed the files; and

3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

4. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Creative Commons License:

The below section is excerpted from Aditya’s Blog .

Creative Commons provide an out of the box license which is not only flexible but also easy to use and much more easier than create. Yes, you can create a CC license, specially customized to suit your needs like the one I have for this blog. You can create a license for your work here. CC license is not generally used for software licensing. It is more suited for literature or documentation work. In this license type you can choose the condition you want to set for your work. These conditions are :-

1. Attribution : You let others to copy and use your work only if they give you the credit the way you want.
2. Share Alike : You can allow other users to share your work but keeping the same or similsr license like the original one.
3. Noncommercial : You can permit others to use your work for Noncommercial/Commercial purposes
4. No Derivative Works : You give others permission to copy and distribute your work. But only Verbatim copies not any sort of derived work.

Just glean over this url CC-url

Moreover if you really want know more about it then please visit GNU website for the infomation regarding license.

Hope this will help.

Cheers!
Bhaskar

PAM : Pluggable Authentication Modules

In this article we will explore PAM ,which is a research over the internet and found so many wonderful article related to this topic written by some great guys.Kindly look into resources section of this article(at the bottom) to find the article glue with it.I am just trying to reproduce the great work done by others in those article and after going through all of those to understand how it work underneath.It is a very very important tool for any open system administrators.And not to mention that a complex topic to master,but once grasp one can do hell lot of thing with this to make system infrastructure more effective and secure.

PAM (Pluggable Authentication Modules) is a suite of shared libraries that enable the local system administrator to choose how applications authenticate users.

The function of the configuration file(s) is to provide a mapping from the application’s service name to a selection of modules that provide authentication services to the raw application. When a pam aware application with a file in /etc/pam.d starts, the PAM library loads the configuration for the specified service and constructs four module chains (one for each facility.) If the configuration does not specify any modules for one or more facilities, the configuration for the other service is used instead for these facilities.

Linux as a server, can provide several different services (e.g., web, ftp with areas restricted by password control). Through the use of modules, PAM can enable a program to search through several different password databases, even if that program is not explicitly coded for that particular database.

Here are some examples of the possibilities that this enables.

  • Apache has a module that provides PAM services. Now authentication to use particular directories can be conducted by PAM, which means that the range of modules that are available to PAM can be used, including RADIUS, NIS, NCP (which means that Novell password databases can be used).
  • pppd has a PAMified version (available from RedHat) Now it is possible to use a series of databases to authenticate ppp users. In addition to the normal Linux-based password databases (such as /etc/passwd and /etc/shadow), you can use PAM modules to authenticate against Novell password databases or NT-based password databases.
  • The preceding two examples can be combined. Imagaine that the persons in your office or department are already registered with a username and password in a Novell or NT LAN. If you wanted to use this database on your Linux server (for PPP access, for web access, or even for normal shell access), you can use PAM to authenticate against this existing database, rather than maintain a separate database on both Linux and the LAN server.

PAM configuration files, located in /etc/pam.d and named for the service which they control have three fields, with optional fourth and greater fields. The first field in the configuration file is the module-type indicatiing which of four PAM management services the correspoding module will provide to the application. PAM deals with four separate types of management services. The type token tells PAM what type of authentication is to be used for this module. Modules of the same type can be “stacked”, requiring a user to meet multiple requirements to be authenticated. The four types of management services are: authentication management; account management; session management; and password management.

auth

Determines whether the user is who they claim to be, usually by a password, but perhaps by a more sophistcated means, such as biometrics.

account

Determines whether the user is allowed to access the service. This is different from establishing whether the user is who they say they are. Account management deals with enforcing the expiration of passwords and preventing logins during system time.

password

Provides a mechanism for the user to change their authentication. Again, this usually their password.

session

Things that should be done before and/or after the user is authenticed. This might included things such as mounting/unmounting the user home directory, logging their login/logout, and restricting/unrestricting the services available to the user.

Control:

PAM modules can be stacked – there can be any number of modules of the same module type for a single application. The application is not told of the individual success or failure of any module, only of the success or failure of the stack. The control flags determine how each module affects the success or failure of the stack. Modules in the stack are executed in the order they are listed in the configuration file.

The second field in the configuration file is the control token, which tells PAM what should be done in if authentication by this module fails. PAM recognizes four control types: required, requisite, sufficient, and optional.

requisite
The module must succeed for the stack of this module type to succeed. Failure to authenticate via this module results in immediate denial of authentication.

required
The module must succeed for the stack of this module type to succeed. Failure also results in denial of authentication, although PAM will still call all the other modules listed for this service before denying authentication.

sufficient
Success of this module is sufficient for the stack of this module type to succeed. If authentication by this module is successful, PAM will grant authentication.

optional
Not critical to the success or failure of the stack. If at least one non-optional module succeeds or fails, the result of this module is ignored when calculating the success or failure of the stack. Whether this module succeeds or fails is only significant if it is the only module of its type for this service.

Module Path:

The module-path tells PAM which module to use and (optionally) where to find it. Most configurations only contain the module’s name. Since Linux-PAM-0.56 was released there is support for a default authentication-module directory, and a full path is no longer required, only the name of the module. PAM looks for the modules in the default PAM module directory, normally /usr/lib/security. However, if your linux distribution conforms to the Linux Filesystem standard, PAM modules can be found in /lib/security.

Module Arguments:

Any further fields contain any arguments to the module. Each module has its own arguments. For example, in our login configuration, the “nulok” (“null ok”, argument being passed to pam_unix.so module, indicating the a blank (“null”) password is acceptable (“ok”).

The following are a list of module options that are likely to be recognize by all modules:

  • debugUse the syslog(3) call to log debugging information to the system log files.
  • no_warn
  • Instruct module to not give warning messages to the application.
  • use_first_pass The module should not prompt the user for a password. Instead, it should obtain the previously typed password (from the preceding auth module), and use that. If that doesn’t work, then the user will not be authenticated. (This option is intended for auth and password modules only).
  • try_first_pass The module should attempt authentication with the previously typed password (from the preceding auth module). If that doesn’t work, then the user is prompted for a password. (This option is intended for auth modules only).
  • use_mapped_pass This argument is not currently supported by any of the modules in the Linux-PAM distribution because of possible consequences associated with U.S. encryption exporting restrictions. Within the U.S., module developers are, of course, free to implement it (as are developers in other countries). For compatibility reasons we describe its use as suggested in the DCE-RFC 86.0, see section bibliography for a pointer to this document.The use_mapped_pass argument instructs the module to take the clear text authentication token entered by a previous module (that requests such a token) and use it to generate an encryption/decryption key with which to safely store/retrieve the authentication token required for this module. In this way the user can enter a single authentication token and be quietly authenticated by a number of stacked modules. Obviously a convenient feature that necessarily requires some reliably strong encryption to make it secure. This argument is intended for the auth and password module types only.
  • expose_account In general the leakage of some information about user accounts is not a secure policy for modules to adopt. Sometimes information such as users names or home directories, or preferred shell, can be used to attack a user’s account. In some circumstances, however, this sort of information is not deemed a threat: displaying a user’s full name when asking them for a password in a secured environment could also be called being friendly. The expose_account argument is a standard module argument to encourage a module to be less discrete about account information as it is deemed appropriate by the local administrator.

Example configuration file entries

Let’s look at some examples of pam configuration files. The first example is for the other or default service. If there is not a specific pam configuration file in /etc/pam.d for a service, this is the configuration file that can be used to ease the integration of new services by providing a default selection of modules appropriate to the local security policy. Or, it can be used to deny access to any application that does not have a specific /etc/pam.d entry. The fields in the configuration file are module-type, control-flag and module-filename. Any other fields are optional arguments that are specific to the individual modules.

Default policy

If a system is to be considered secure, it had better have a reasonably secure other entry. The following is a paranoid setting (which is not a bad place to start!):

#
# default configuration: /etc/pam.d/other
#
auth required pam_deny.so
account required pam_deny.so
password required pam_deny.so
session required pam_deny.so

While fundamentally a secure default, this won’t give the administrator any feedback about a misconfigured system. For example, such a system is vulnerable to locking everyone out should the configuration file for a specific service be badly written.

The module pam_deny is not very sophisticated, it logs no information when it is invoked. Unless the users of a system contact the administrator when failing to execute a service application, the administrator may go for a long not knowing that his system is mis-configured.

By changing the configuration to the example below would provide a suitable warning to the administrator. Notice the the stacking of pam_warn.so and pam_deny.so.

#
# default configuration: /etc/pam.d/other
#
auth required pam_deny.so
auth required pam_warn.so
account required pam_deny.so
account required pam_warn.so
password required pam_deny.so 

password required pam_warn.so
session required pam_deny.so
session required pam_warn.so

With this configuration, whenever an unknown service attempts to access any of the four configuration types, PAM denies authentication (via the pam_deny.so module) and then logs a syslog warning (via the pam_warn.so module). Short of a bug in PAM, this configuration is brutally secure. The only problem with that brutality is it may cause problems if your accidentally delete the configuration of another service. If your /etc/pam.d/login was mistakenly deleted, no one would be able to login!

Here’s a little gentler configuration

#
# default configuration: /etc/pam.d/other
#
auth requisite pam_securetty.so
auth required pam_unix.so
auth required pam_warn.so
account required pam_unix.so
account required pam_warn.so
password required pam_unix.so
password required pam_warn.so
session required pam_unix.so
session required pam_warn.so.

The first module (pam_securetty.so) checks to see if the user is root and prevents root from logging in from an insecure terminal. The value requisite for control-flag is used to force immediate authentication failure if the securetty module fails. If this occurs, no more of the auth modules are executed. This has the benefit of preventing root from mistakenly typing a password over an insecure terminal line. This configuration will allow an unknown service to authenticate (via the pam_unix.so module), although it will not allow it to change the user’s password. Although it allows authentication by unknown services, it logs a syslog warning whenever such a service attempts authentication.

A word on null passwords

On many linux systems there are a number of accounts used to assign privileges to system services like ftp, apache, news, and databases. These accounts allow services to run as unprivileged users, providing a level of security, because an intruder that compromises the service only has the limited privileges available to that service, rather than the privileges of root. However, allowing these accounts login privileges is a security risk, as they usually have blank (null) passwords. The nullok options-argument allows passwordless accounts. It is recommended you remove this argument from any modules of auth type for services that allow login. This is usually the login service, may also include services like rlogin and ssh. So the following line in /etc/pam.d/login:

auth required pam_unix.so nullok

Should be changed to:

auth required pam_unix.so

Disable unused services

If you find you have pam configuration files in /etc/pam.d/ that you’re not using, you may want to rename or remove them to prevent their unauthorized use. For example, if you’re not using graphical login (Red Hat runlevel 5) then you might want to rename /etc/pam.d/xdm to /etc/pam.d/noxdm. Not finding the file named after the service requesting authentication, PAM will fall back to the /etc/pam.d/other. If you later want to enable the service, rename to it’s original name and everything will work as it was intended.

Basic PAM modules

pam_unix.so

This module provides traditional Unix authentication, password management, and user account setup. It uses standard system calls to retrieve and set password and account information, and relies on /etc/shadow and /etc/passwd.

  • accountEstablishes the validity of the user’s account and password and may offer advice on changing the user’s password, or force a password change. The actions this module performs are controlled by the /etc/passwd and /etc/shadow files.Arguments: audit, debug.
  • authThis component of the module checks the user’s password against the password databases. Configuration for this component is done in /etc/nsswitch.conf. An additional binary, unix_chkpwd, is used to allow the component to read protected databases without requiring the whole module to be setuid root.Arguments: audit, debug, nodelay, nullok, try_first_pass, use_first_pass.
  • passwordThis component changes the user’s password. The module pam_cracklib.so can be stacked with this component to check password security.Arguments: audit, bigcrypt, debug, md5, nis, not_set_pass, nullok, remember, try_first_pass, use_authtok, and use_first_pass.
  • sessionThis component logs the user name and session type to syslog, at the start and end of the user’s session. There are no arguments to this component.
  • arguments
    • audit A more extensive form of debug
    • bigcrypt Use the DEC “C2” extension to crypt().
    • debug – Log information using syslog
    • md5 – Use md5 encryption instead of crypt().
    • nis – Use NIS (Network Information Service) passwords.
    • nodelay – By default, the module requests a delay-on-failure of a second. This argument overrides the default.
    • not_set_pass – Don’t use the passwords from other stacked modules. Don’t give the new password to other stacked modules.
    • nullok – By default, if the official password is blank, the authentication fails. This argument overrides the default.
    • remember (remember=n) – Save n recent passwords to prevent the user from alternating passwords.
    • try_first_pass – Use the password from the previous stacked auth module, and prompt for a new password if the retrieved password is blank or incorrect.
    • use_authtok – Set the new password to the one provided by a previous module.
    • use_first_pass – Use the result from the previous stacked auth module, never prompts the user for a password, fails if the result was a fail.
pam_access.so

This module intercepts the user’s name and password. If the name is ftp or anonymous, the user’s password is broken up at the @ delimiter into a PAM_RUSER and a PAM_RHOST part; these pam-items being set accordingly. The username is set to ftp. In this case the module succeeds. Alternatively, the module sets the PAM_AUTHTOK item with the entered password and fails.

The behavior of the module can be modified with the following flags:

  • debug – log more information to with syslog(3).
  • users=XXX,YYY,… – instead of ftp or anonymous, provide anonymous login to the comma separated list of users; XXX,YYY,…. Should the applicant enter one of these usernames the returned username is set to the first in the list; “XXX”.
  • ignore – pay no attention to the email address of the user (if supplied).
pam_chroot.so

This module is intended to provide a transparent wrapper around the average user, one that puts them in a fake file-system (eg, their / is really /some/where/else

).

Useful if you have several classes of users, and are slightly paranoid about security. Can be used to limit who else users can see on the system, and to limit the selection of programs they can run.

pam_console.so

This module implements a console permission scheme similar to Solaris’ logindevperms. Allows for the permissioning of certain devices and files at login and logout time.

pam_cracklib.so

This module can be plugged into the password stack of a given application to provide some plug-in strength-checking for passwords.

This module works in the following manner:
it first calls the Cracklib routine to check the strength of the password; if crack likes the password, the module does an additional set of strength checks. These checks are:

  • Palindrome – Is the new password a palindrome of the old one?
  • Case Change Only – Is the new password the the old one with only a change of case?
  • Similar – Is the new password too much like the old one? This is primarily controlled by one argument, difok which is a number of characters that if different between the old and new are enough to accept the new password, this defaults to 10 or 1/2 the size of the new password whichever is smaller. To avoid the lockup associated with trying to change a long and complicated password, difignore is available. This argument can be used to specify the minimum length a new password needs to be before the difok value is ignored. The default value for difignore is 23.
  • Simple – Is the new password too small? This is controlled by 5 arguments minlen, dcredit, ucredit, lcredit, and ocredit. See the section on the arguments for the details of how these work and there defaults.
  • Rotated – Is the new password a rotated version of the old password?
  • Already used – Was the password used in the past? Previously used passwords are to be found in /etc/security/opasswd.

This module with no arguments will work well for standard unix password encryption. With md5 encryption, passwords can be longer than 8 characters and the default settings for this module can make it hard for the user to choose a satisfactory new password. Notably, the requirement that the new password contain no more than 1/2 of the characters in the old password becomes a non-trivial constraint. For example, an old password of the form the quick brown fox jumped over the lazy dogs would be difficult to change… In addition, the default action is to allow passwords as small as 5 characters in length. For a md5 systems it can be a good idea to increase the required minimum size of a password. One can then allow more credit for different kinds of characters but accept that the new password may share most of these characters with the old password.

pam_deny.so

This module can be used to deny access. It always indicates a failure to the application through the PAM framework. As is commented in the overview section above, this module might be suitable for using for default (the OTHER) entries.

pam_env.so

This module allows you to (un)set arbitrary environment variables using fixed strings, the value of previously set environment variables and/or PAM_ITEMs.

All is controlled via a configuration file (by default, /etc/security/pam_env.conf but can be overriden with conffile argument). Each line starts with the variable name, there are then two possible options for each variable DEFAULT and OVERRIDE. DEFAULT allows an administrator to set the value of the variable to some default value, if none is supplied then the empty string is assumed. The OVERRIDE option tells pam_env.so that it should enter in its value (overriding the default value) if there is one to use. OVERRIDE is not used, “” is assumed and no override will be done.

VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]]

(Possibly non-existent) environment variables may be used in values using the ${string} syntax and (possibly non-existent) PAM_ITEMs may be used in values using the &commat;{string} syntax. Both the $ and &commat; characters can be backslash-escaped to be used as literal values (as in \$. Double quotes may be used in values (but not environment variable names) when white space is needed the full value must be delimited by the quotes and embedded or escaped quotes are not supported.

This module can also parse a file with simple KEY=VAL pairs on separate lines (/etc/environment by default). You can change the default file to parse, with the envfile flag and turn it on or off by setting the readenv flag to 1 or 0 respectively.

The behavior of this module can be modified with one of the following flags:

  • debug write more information to syslog(3).
  • conffile=filename by default the file /etc/security/pam_env.conf is used as the configuration file. This option overrides the default. You must supply a complete path + file name.
  • envfile=filename by default the file /etc/environment is used to load KEY=VAL pairs directly into the env. This option overrides the default. You must supply a complete path + file name.
  • readenv=0|1 turns on or off the reading of the file specified by envfile (0 is off, 1 is on). By default this option is on.
pam_filter.so

Each component of the module has the potential to invoke the desired filter. The filter is always execv(2)d with the privilege of the calling application and not that of the user. For this reason it cannot usually be killed by the user without closing their session.

The behavior of the module can be significantly altered by the arguments passed to it in the Linux-PAM configuration file:

  • debug – this option increases the amount of information logged to syslog(3) as the module is executed.
  • new_term – the default action of the filter is to set the PAM_TTY item to indicate the terminal that the user is using to connect to the application. This argument indicates that the filter should set PAM_TTY to the filtered pseudo-terminal.
  • non_term – don’t try to set the PAM_TTY item.
  • runX – in order that the module can invoke a filter it should know when to invoke it. This argument is required to tell the filter when to do this. The arguments that follow this one are respectively the full pathname of the filter to be run and any command line arguments that the filter might expect.Permitted values for X are 1 and 2. These indicate the precise time that the filter is to be run. To understand this concept it will be useful to have read the Linux-PAM Module developer’s guide. Basically, for each management group there are up to two ways of calling the module’s functions.

In the case of the authentication and session components there are actually two separate functions. For the case of authentication, these functions are _authenticate and _setcred – here run1 means run the filter from the _authenticate function and run2 means run the filter from _setcred. In the case of the session modules, run1 implies that the filter is invoked at the _open_session stage, and run2 for _close_session.

For the case of the account component. Either run1 or run2 may be used.

For the case of the password component, run1 is used to indicate that the filter is run on the first occasion _chauthtok is run (the PAM_PRELIM_CHECK phase) and run2 is used to indicate that the filter is run on the second occasion (the PAM_UPDATE_AUTHTOK phase).

pam_ftp.so

This module intercepts the user’s name and password. If the name is ftp or anonymous, the user’s password is broken up at the @ delimiter into a PAM_RUSER and a PAM_RHOST part; these pam-items being set accordingly. The username (PAM_USER) is set to ftp. In this case the module succeeds. Alternatively, the module sets the PAM_AUTHTOK item with the entered password and fails.

The behavior of the module can be modified with the following flags:

  • debug – log more information to with syslog(3).
  • users=XXX,YYY,… – instead of ftp or anonymous, provide anonymous login to the comma separated list of users; XXX,YYY,…. Should the applicant enter one of these usernames the returned username is set to the first in the list; XXX.
  • ignore – pay no attention to the email address of the user (if supplied).
pam_group.so

This module does not authenticate the user, but instead it grants group memberships (in the credential setting phase of the authentication module) to the user. Such memberships are based on the service they are applying for. The group memberships are listed in text form in the /etc/security/group.conf file.

pam_issue.so

This module allows you to prepend an issue file to the username prompt. It also by default parses escape codes in the issue file similar to some common getty’s (using \x format).

Recognized escapes:

  • d – current date
  • s – operating system name
  • l – name of this tty
  • m – architecture of this system (i686, sparc, powerpc, …)
  • n – hostname of this system
  • o – domainname of this system
  • r – release number of the operation system (eg. 2.2.12)
  • t – current time
  • u – number of users currently logged in
  • U – same as u, except it is suffixed with “user” or “users” (eg. “1 user” or “10 users”
  • v – version/build-date of the operating system (eg. “#3 Mon Aug 23 14:38:16 EDT 1999” on Linux).

The behavior of this module can be modified with one of the following flags:

  • issue – the file to output if not using the default
  • noesc – turns off escape code parsing
pam_krb5.so

pam_krb5.so is designed to allow smooth integration of Kerberos 5 password- checking with applications built using PAM. It also supports session-specific ticket files (which are neater), and Kerberos IV ticket file grabbing. Its main use is as an authentication module, but it also supplies the same functions as a session-management module to better support poorly-written applications, and a couple of other workarounds as well. It also supports account management and password-changing.

When a user logs in, the module’s authentication function performs a simple password check and, if possible, obtains Kerberos 5 and Kerberos IV credentials, caching them for later use. When the application requests initialization of credentials (or opens a session), the usual ticket files are created. When the application subsequently requests deletion of credentials or closing of the session, the module deletes the ticket files.

pam_lastlog.so

This module can be used to provide a Last login on … message. when the user logs into the system from what ever application uses the PAM libraries. In addition, the module maintains the /var/log/lastlog file.

The behavior of this module can be modified with one of the following flags:

  • debug – write more information to syslog(3).
  • nodate – neglect to give the date of the last login when displaying information about the last login on the system.
  • noterm – neglect to diplay the terminal name on which the last login was attempt.
  • nohost – neglect to indicate from which host the last login was attempted.
  • silent – neglect to inform the user about any previous login: just update the /var/log/lastlog file.
  • never – if the /var/log/lastlog file does not contain any old entries for the user, indicate that the user has never previously logged in with a welcome… message.
pam_ldap.so

This is a relatively new module that allows the use of ldap instead of something like NIS or NIS+ to do distributed authentication.

pam_limits.so

Through the contents of the configuration file, /etc/security/limits.conf, resource limits are placed on users’ sessions. Users of uid=0 are not affected by this restriction.

The behavior of this module can be modified with the following arguments:

  • debug – verbose logging to syslog(3).
  • conf=/path/to/file.conf – indicate an alternative limits configuration file to the default.
  • change_uid – change real uid to the user for who the limits are set up. Use this option if you have problems like login not forking a shell for user who has no processes. Be warned that something else may break when you do this.
  • utmp_early – some broken applications actually allocate a utmp entry for the user before the user is admitted to the system. If some of the services you are configuring PAM for do this, you can selectively use this module argument to compensate for this behavior and at the same time maintain system-wide consistency with a single limits.conf file.
pam_listfile

The module gets the item of the type specified – user specifies the username, PAM_USER; tty specifies the name of the terminal over which the request has been made, PAM_TTY; rhost specifies the name of the remote host (if any) from which the request was made, PAM_RHOST; and ruser specifies the name of the remote user (if available) who made the request, PAM_RUSER – and looks for an instance of that item in the file filename. filename contains one line per item listed. If the item is found, then if sense=allow, PAM_SUCCESS is returned, causing the authorization request to succeed; else if sense=deny, PAM_AUTH_ERR is returned, causing the authorization request to fail.

If an error is encountered (for instance, if filename does not exist, or a poorly-constructed argument is encountered), then if onerr=succeed, PAM_SUCCESS is returned, otherwise if onerr=fail, PAM_AUTH_ERR or PAM_SERVICE_ERR (as appropriate) will be returned.

An additional argument, apply=, can be used to restrict the application of the above to a specific user (apply=username) or a given group (apply=@groupname). This added restriction is only meaningful when used with the tty, rhost and shell items.

Besides this last one, all arguments should be specified; do not count on any default behavior, as it is subject to change.

No credentials are awarded by this module.

Classic ftpusers authentication can be implemented with this entry in /etc/pam.d/ftp

auth required pam_listfile.so onerr=succeed item=user sense-deny
file=/etc/ftpusers

Note, users listed in /etc/ftpusers file are (counterintuitively) not allowed access to the ftp service.

pam_mail.so

This module provides the you have new mail service to the user. It can be plugged into any application that has credential hooks. It gives a single message indicating the newness of any mail it finds in the user’s mail folder. This module also sets the Linux-PAM environment variable, MAIL, to the user’s mail directory.

The behavior of this module can be modified with one of the following flags:

  • debug – write more information to syslog(3).
  • dir=pathname – look for the users’ mail in an alternative directory given by pathname. The default location for mail is /var/spool/mail. Note, if the supplied pathname is prefixed by a `’, the directory is interpreted as indicating a file in the user’s home directory.
  • nopen – instruct the module to not print any mail information when the user’s credentials are acquired. This flag is useful to get the MAIL environment variable set, but to not display any information about it.
  • close – instruct the module to indicate if the user has any mail at the as the user’s credentials are revoked.
  • noenv – do not set the MAIL environment variable.
  • empty – indicate that the user’s mail directory is empty if this is found to be the case.
  • hash=hashcount – mail directory hash depth. For example, a hashcount of 2 would make the mailfile be /var/spool/mail/u/s/user.
  • standard – old style “You have…” format which doesn’t show the mail spool being used. this also implies empty
  • quiet – only report when there is new mail.
pam_mkhomedir.so

This module is useful for distributed systems where the user account is managed in a central database (such as NIS, NIS+, or LDAP) and accessed through multiple systems. It frees the administrator from having to create a default home directory on each of the systems by creating it upon the first successfully authenticated login of that user. The skeleton directory (usually /etc/skel/) is used to copy default files and also set’s a umask for the creation.

The behavior of this module can be modified with one of the following flags:

  • skel – The skeleton directory for default files to copy to the new home directory.
  • umask – An octal for of the same format as you would pass to the shells umask command.
pam_motd.so

This module allows you to have arbitrary motd’s (message of the day) output after a successful login. By default this file is /etc/motd, but is configurable to any file.

The behavior of this module can be modified with one of the following flags:

  • motd – the file to output if not using the default.
pam_nologin.so

Provides standard Unix nologin authentication. If the file /etc/nologin exists, only root is allowed to log in; other users are turned away with an error message (and the module returns PAM_AUTH_ERR or PAM_USER_UNKNOWN). All users (root or otherwise) are shown the contents of /etc/nologin.

If the file /etc/nologin does not exist, this module defaults to returning PAM_IGNORE, but the successok module argument causes it to return PAM_SUCCESS in this case.

The administrator can override the default nologin file with the file=pathname module argument.

pam_permit.so

No matter what management group, the action of this module is to simply return PAM_SUCCESS – operation successful.

In the case of authentication, the user’s name will be acquired. Many applications become confused if this name is unknown.

pam_pwdb.so

This module is a pluggable replacement for the pam_unix_.. modules. It uses the generic interface of the Password Database library libpwdb.

The debug argument makes the accounting functions of this module syslog(3) more information on its actions. (Remaining arguments supported by the other functions of this module are silently ignored, but others are logged as errors through syslog(3)).

Based on the following pwdb_elements: expire; last_change; max_change; defer_change; warn_change, this module performs the task of establishing the status of the user’s account and password. In the case of the latter, it may offer advice to the user on changing their password or, through the PAM_AUTHTOKEN_REQD return, delay giving service to the user until they have established a new password. The entries listed above are documented in the Password Database Library Guide (see pointer above). Should the user’s record not contain one or more of these entries, the corresponding shadow check is not performed.

pam_rhosts_auth.so

his module performs the standard network authentication for services, as used by traditional implementations of rlogin and rsh etc.

The authentication mechanism of this module is based on the contents of two files; /etc/hosts.equiv (or _PATH_HEQUIV in #include ) and /.rhosts. Firstly, hosts listed in the former file are treated as equivalent to the localhost. Secondly, entries in the user’s own copy of the latter file is used to map remote-host remote-user pairs to that user’s account on the current host. Access is granted to the user if their host is present in /etc/hosts.equiv and their remote account is identical to their local one, or if their remote account has an entry in their personal configuration file.

Some restrictions are applied to the attributes of the user’s personal configuration file: it must be a regular file (as defined by S_ISREG(x) of POSIX.1); it must be owned by the superuser or the user; it must not be writable by any user besides its owner.

The module authenticates a remote user (internally specified by the item PAM_RUSER) connecting from the remote host (internally specified by the item PAM_RHOST). Accordingly, for applications to be compatible this authentication module they must set these items prior to calling pam_authenticate(). The module is not capable of independently probing the network connection for such information.

In the case of root-access, the /etc/host.equiv file is ignored unless the hosts_equiv_rootok option should be used. Instead, the superuser must have a correctly configured personal configuration file.

The behavior of the module is modified by flags:

  • debug – log more information to syslog(3). (XXX – actually, this module does not do any logging currently, please volunteer to fix this!)
  • no_warn – do not give verbal warnings to the user about failures etc. (XXX – this module currently does not issue any warnings, please volunteer to fix this!)
  • no_hosts_equiv – ignore the contents of the /etc/hosts.equiv file.
  • hosts_equiv_rootok – allow the use of /etc/hosts.equiv for superuser. Without this option /etc/hosts.equiv is not consulted for the superuser account. This option has no effect if the no_hosts_equiv option is used.
  • no_rhosts – ignore the contents of all user’s personal configuration file /.rhosts.
  • privategroup – normally, the /.rhosts file must not be writable by anyone other than its owner. This option overlooks group write access in the case that the group owner of this file has the same name as the user being authenticated. To lessen the security problems associated with this option, the module also checks that the user is the only member of their private group.
  • promiscuous – A host entry of `+’ will lead to all hosts being granted access. Without this option, ‘+’ entries will be ignored. Note, that the debug option will syslog a warning in this latter case.
  • suppress – This will prevent the module from syslog(3)ing a warning message when this authentication fails. This option is mostly for keeping logs free of meaningless errors, in particular when the module is used with the sufficient control flag.
pam_rootok.so

This module is for use in situations where the superuser wishes to gain access to a service without having to enter a password.

This module authenticates the user if their uid is 0. Applications that are created setuid-root generally retain the uid of the user but run with the authority of an enhanced effective-uid. It is the real uid that is checked.

pam_securetty.so

Provides standard Unix securetty checking, which causes authentication for root to fail unless PAM_TTY is set to a string listed in the /etc/securetty file. For all other users, it succeeds.

For canonical usage, should be listed as a required authentication method before any sufficient authentication methods.

pam_shells.so

This module checks for the existence of a user’s shell in /etc/shells

pam_stack.so

from the man page

In a nutshell, pam_stack lets you “call”, from inside of the stack for a particular service, the stack defined for any another service. The intention is to allow multiple services to “include” a system-wide setup, so that when that setup needs to be changed, it need only be changed in one place.

pam_stress.so

A stress testing PAM module

pam_tally.so

This module maintains a count of attempted accesses, can reset count on success, can deny access if too many attempts fail.

pam_tally comes in two parts: pam_tally.so and pam_tally. The former is the PAM module and the latter, a stand-alone program. pam_tally is an (optional) application which can be used to interrogate and manipulate the counter file. It can display users’ counts, set individual counts, or clear all counts. Setting artificially high counts may be useful for blocking users without changing their passwords. For example, one might find it useful to clear all counts every midnight from a cron job.

The counts file is organized as a binary-word array, indexed by uid. You can probably make sense of it with od, if you don’t want to use the supplied application.

Note, there are some outstanding issues with this module: pam_tally is very dependent on getpw*() – a database of usernames would be much more flexible; the `keep a count of current logins’ bit has been #ifdef’d out and you can only reset the counter on successful authentication, for now.

The authentication component of this module increments the attempted login counter.

pam_time.so

Running a well regulated system occasionally involves restricting access to certain services in a selective manner. This module offers some time control for access to services offered by a system. Its actions are determined with a configuration file. This module can be configured to deny access to (individual) users based on their name, the time of day, the day of week, the service they are applying for and their terminal from which they are making their request.

This module bases its actions on the rules listed in its configuration file: /etc/security/time.conf. Each rule has the following form,

services;ttys;users;times

In words, each rule occupies a line, terminated with a newline or the beginning of a comment; a `#’. It contains four fields separated with semicolons, `;’. The fields are as follows:

  • services – a logic list of service names that are affected by this rule.
  • ttys – a logic list of terminal names indicating those terminals covered by the rule.
  • user – a logic list of usernames to which this rule applies

By a logic list we mean a sequence of tokens (associated with the appropriate PAM_ item), containing no more than one wildcard character; `*’, and optionally prefixed with a negation operator; `!’. Such a sequence is concatenated with one of two logical operators: & (logical AND) and | (logical OR). Two examples are: !morgan&!root, indicating that this rule does not apply to the user morgan nor to root; and tty*&!ttyp*, which indicates that the rule applies only to console terminals but not pseudoterminals.

  • times – a logic list of times at which this rule applies. The format of each element is a day/time-range. The days are specified by a sequence of two character entries. For example, MoTuSa, indicates Monday Tuesday and Saturday. Note that repeated days are unset; MoTuMo indicates Tuesday, and MoWk means all weekdays bar Monday. The two character combinations accepted are,Mo Tu We Th Fr Sa Su Wk Wd Al

    The last two of these being weekend days and all 7 days of the week respectively.

    The time range part is a pair of 24-hour times, HHMM, separated by a hyphen – indicating the start and finish time for the rule. If the finish time is smaller than the start time, it is assumed to apply on the following day. For an example, Mo1800-0300 indicates that the permitted times are Monday night from 6pm to 3am the following morning.

    Note, that the given time restriction is only applied when the first three fields are satisfied by a user’s application for service.

For convenience and readability a rule can be extended beyond a single line with a `\newline’.

pam_unix.so

This is the standard Unix authentication module. It uses standard calls from the system’s libraries to retrieve and set account information as well as authentication. Usually this is obtained from the /etc/passwd and the /etc/shadow file as well if shadow is enabled.

The debug argument makes the accounting functions of this module syslog(3) more information on its actions. (Remaining arguments supported by the other functions of this module are silently ignored, but others are logged as errors through syslog(3)). The audit argument causes even more logging.

Based on the following shadow elements: expire; last_change; max_change; min_change; warn_change, this module performs the task of establishing the status of the user’s account and password. In the case of the latter, it may offer advice to the user on changing their password or, through the PAM_AUTHTOKEN_REQD return, delay giving service to the user until they have established a new password. The entries listed above are documented in the GNU Libc info documents. Should the user’s record not contain one or more of these entries, the corresponding shadow check is not performed.

pam_userdb.so

Look up users in a .db database and verify their password against what is contained in that database.

This module is used to verify a username/password pair against values stored in a Berkeley DB database. The database is indexed by the username, and the data fields corresponding to the username keys are the passwords, in unencrypted form, so caution must be exercised over the access rights to the DB database itself..

The module will read the password from the user using the conversation mechanism. If you are using this module on top of another authentication module (like pam_pwdb😉 then you should tell that module to read the entered password from the PAM_AUTHTOK field, which is set by this module.

The action of the module may be modified from this default by one or more of the following flags in the /etc/pam.d/ file.

  • debug – Supply more debugging information to syslog(3).
  • icase – Perform the password comparisons case insensitive.
  • dump – dump all the entries in the database to the log (eek, don’t do this by default!)
  • db=XXXX – use the database found on pathname XXXX. Note that Berkeley DB usually adds the needed filename extension for you, so you should use something like /etc/foodata instead of /etc/foodata.db.
pam_warn.so

This module is principally for logging information about a proposed authentication or application to update a password.

Log the service, terminal, user, remote user and remote host to syslog(3). The items are not probed for, but instead obtained from the standard pam-items.

pam_wheel.so

This module is used to enforce the so-called wheel group. By default, it permits root access to the system if the applicant user is a member of the wheel group (better described as the group with group-id 0).

The action of the module may be modified from this default by one or more of the following flags in the /etc/pam.conf file.

  • debug – Supply more debugging information to syslog(3).
  • use_id – This option modifies the behavior of the module by using the current uid of the process and not the getlogin(3) name of the user. This option is useful for being able to jump from one account to another, for example with ‘su’.
  • trust – This option instructs the module to return PAM_SUCCESS should it find the user applying for root privilege is a member of the wheel group. The default action is to return PAM_IGNORE in this situation. By using the trust option it is possible to arrange for wheel-group members to become root without typing a password. USE WITH CARE.
  • deny – This is used to reverse the logic of the module’s behavior. If the user is trying to get uid=0 access and is a member of the wheel group, deny access (for the wheel group, this is perhaps nonsense!): it is intended for use in conjunction with the group= argument…
  • group=XXXX – Instead of checking the gid=0 group, use the user’s XXXX group membership for the authentication. Here, XXXX is the name of the group and not its numeric identifier.

To allow only members of the wheel group to become root through su, use the following line in /etc/pam.d/su:

auth required /lib/security/pam_wheel.so use_uid
pam_warn.so

This module logs information about an authentication or password change attempt to syslog.

This module has no arguments, and only auth and password components. Log the service, terminal, user, remote user and remote host to syslog(3). The items are not probed for, but instead obtained from the standard pam-items.

pam_xauth.so

This module is designed to forward xauth keys (sometimes referred to as “cookies”) between users.

Without pam_xauth, when xauth is enabled and a user uses the su command to assume superuser privileges, that user is not able to run X commands as root without somehow giving root access to the xauth key used for the current X session. pam_xauth solves the problem by forwarding the key from the user running su (the source user) to the user whose identity the source user is assuming (the target user) when the session is created, and destroying the key when the session is torn down.

Resources:

1) http://www.freebsd.org/doc/en_US.ISO8859-1/articles/pam/

2) http://www.kernel.org/pub/linux/libs/pam/FAQ

3) http://tldp.org/HOWTO/User-Authentication-HOWTO/index.html

4) http://www.linuxgeek.net/documentation/authentication#SECTION05010000000000000000

Hope this will help.

Cheers!

Bhaskar

Apache : Get internal information about it

>First of all it is almost a default web server glue with open system( read GNU/Linux).And we are so very accustomed with that that we never look around.But having said that one should if time and situation require.Couple of alternatives might be nginx and lighthttpd.

But in this article I will focus only Apache internal information one can get..so here we go:

Get the module information:

We usually add so many module in the web server(Apache) along with the default module come along with that.Here we will look in how to get the module built with it.How do you do that? Like this:

bhaskar@bhaskar-laptop_19:37:24_Sat Oct 02:/etc/httpd/conf> sudo /usr/sbin/httpd -M

Password:

Loaded Modules:

core_module (static)

mpm_prefork_module (static)

http_module (static)

so_module (static)

php5_module (shared)

authn_file_module (shared)

authn_dbm_module (shared)

authn_anon_module (shared)

authn_dbd_module (shared)

authn_default_module (shared)

authz_host_module (shared)

authz_groupfile_module (shared)

authz_user_module (shared)

authz_dbm_module (shared)

authz_owner_module (shared)

authnz_ldap_module (shared)

authz_default_module (shared)

auth_basic_module (shared)

auth_digest_module (shared)

file_cache_module (shared)

cache_module (shared)

disk_cache_module (shared)

mem_cache_module (shared)

dbd_module (shared)

dumpio_module (shared)

ext_filter_module (shared)

include_module (shared)

filter_module (shared)

substitute_module (shared)

deflate_module (shared)

ldap_module (shared)

log_config_module (shared)

log_forensic_module (shared)

logio_module (shared)

env_module (shared)

mime_magic_module (shared)

cern_meta_module (shared)

expires_module (shared)

headers_module (shared)

ident_module (shared)

usertrack_module (shared)

unique_id_module (shared)

setenvif_module (shared)

version_module (shared)

proxy_module (shared)

proxy_connect_module (shared)

proxy_ftp_module (shared)

proxy_http_module (shared)

proxy_scgi_module (shared)

proxy_ajp_module (shared)

proxy_balancer_module (shared)

ssl_module (shared)

mime_module (shared)

dav_module (shared)

status_module (shared)

autoindex_module (shared)

asis_module (shared)

info_module (shared)

suexec_module (shared)

cgi_module (shared)

cgid_module (shared)

dav_fs_module (shared)

vhost_alias_module (shared)

negotiation_module (shared)

dir_module (shared)

imagemap_module (shared)

actions_module (shared)

speling_module (shared)

userdir_module (shared)

alias_module (shared)

rewrite_module (shared)

Syntax OK

So here we pass the “M” flag with httpd binary.

Syntanx check of config file:

Next how to find the systax of the configuration file of Apache is alright,here is what you have to do:

bhaskar@bhaskar-laptop_19:38:30_Sat Oct 02:/etc/httpd/conf> sudo /usr/sbin/httpd -t

Syntax OK

Check in the compiled module:

Here is the steps to find it:

bhaskar@bhaskar-laptop_19:42:59_Sat Oct 02:/etc/httpd/conf> sudo /usr/sbin/httpd -l

Compiled in modules:

core.c

prefork.c

http_core.c

mod_so.c

Check how the Apache server compiled:

If we want to know the Apache server built initially,then we migth do the following:

bhaskar@bhaskar-laptop_19:43:30_Sat Oct 02:/etc/httpd/conf> sudo /usr/sbin/httpd -V

Server version: Apache/2.2.16 (Unix)

Server built: Aug 17 2010 12:52:36

Server’s Module Magic Number: 20051115:24

Server loaded: APR 1.4.2, APR-Util 1.3.9

Compiled using: APR 1.4.2, APR-Util 1.3.9

Architecture: 32-bit

Server MPM: Prefork

threaded: no

forked: yes (variable process count)

Server compiled with….

-D APACHE_MPM_DIR=”server/mpm/prefork”

-D APR_HAS_SENDFILE

-D APR_HAS_MMAP

-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)

-D APR_USE_SYSVSEM_SERIALIZE

-D APR_USE_PTHREAD_SERIALIZE

-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT

-D APR_HAS_OTHER_CHILD

-D AP_HAVE_RELIABLE_PIPED_LOGS

-D DYNAMIC_MODULE_LIMIT=128

-D HTTPD_ROOT=”/etc/httpd”

-D SUEXEC_BIN=”/usr/sbin/suexec”

-D DEFAULT_PIDLOG=”/var/run/httpd/httpd.pid”

-D DEFAULT_SCOREBOARD=”logs/apache_runtime_status”

-D DEFAULT_LOCKFILE=”/var/run/httpd/accept.lock”

-D DEFAULT_ERRORLOG=”logs/error_log”

-D AP_TYPES_CONFIG_FILE=”conf/mime.types”

-D SERVER_CONFIG_FILE=”conf/httpd.conf”

How to check VirtualHost config check:

If we have so many virtualhost built inside into Apache then we must check the configuration(one of the source of not starting the server properly)beforehand.

bhaskar@bhaskar-laptop_19:48:11_Sat Oct 02:/etc/httpd/conf> sudo /usr/sbin/httpd -S

VirtualHost configuration:

Syntax OK

What are the configuration directives available to the server?

Let’s find out what are the directives we can manipulate for this web server…to unveiled it do the following:

bhaskar@bhaskar-laptop_19:48:54_Sat Oct 02:/etc/httpd/conf> sudo /usr/sbin/httpd -L

<Directory (core.c)

Container for directives affecting resources located in the specified directories

Allowed in *.conf only outside , or

<Location (core.c)

Container for directives affecting resources accessed through the specified URL paths

Allowed in *.conf only outside , or

<VirtualHost (core.c)

Container to map directives to a particular virtual host, takes one or more host addresses

Allowed in *.conf only outside , or

<Files (core.c)

Container for directives affecting files matching specified patterns

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

<Limit (core.c)

Container for authentication directives when accessed using specified HTTP methods

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

<LimitExcept (core.c)

Container for authentication directives to be applied when any HTTP method other than those specified is used to access the resource

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

<IfModule (core.c)

Container for directives based on existance of specified modules

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

<IfDefine (core.c)

Container for directives based on existance of command line defines

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

<DirectoryMatch (core.c)

Container for directives affecting resources located in the specified directories

Allowed in *.conf only outside , or

<LocationMatch (core.c)

Container for directives affecting resources accessed through the specified URL paths

Allowed in *.conf only outside , or

<FilesMatch (core.c)

Container for directives affecting files matching specified patterns

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

AuthType (core.c)

An HTTP authorization type (e.g., “Basic”)

Allowed in *.conf only inside , or and in .htaccess

when AllowOverride includes AuthConfig

AuthName (core.c)

The authentication realm (e.g. “Members Only”)

Allowed in *.conf only inside , or and in .htaccess

when AllowOverride includes AuthConfig

Require (core.c)

Selects which authenticated users or groups may access a protected space

Allowed in *.conf only inside , or and in .htaccess

when AllowOverride includes AuthConfig

Satisfy (core.c)

access policy if both allow and require used (‘all’ or ‘any’)

Allowed in *.conf only inside , or and in .htaccess

when AllowOverride includes AuthConfig

AddDefaultCharset (core.c)

The name of the default charset to add to any Content-Type without one or ‘Off’ to disable

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

AcceptPathInfo (core.c)

Set to on or off for PATH_INFO to be accepted by handlers, or default for the per-handler preference

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

AccessFileName (core.c)

Name(s) of per-directory config files (default: .htaccess)

Allowed in *.conf only outside , or

DocumentRoot (core.c)

Root directory of the document tree

Allowed in *.conf only outside , or

ErrorDocument (core.c)

Change responses for HTTP errors

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

AllowOverride (core.c)

Controls what groups of directives can be configured by per-directory config files

Allowed in *.conf only inside , or

Options (core.c)

Set a number of attributes for a given directory

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes Options

DefaultType (core.c)

the default MIME type for untypable files

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

FileETag (core.c)

Specify components used to construct a file’s ETag

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

EnableMMAP (core.c)

Controls whether memory-mapping may be used to read files

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

EnableSendfile (core.c)

Controls whether sendfile may be used to transmit files

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

Protocol (core.c)

Set the Protocol for httpd to use.

Allowed in *.conf only outside , or

AcceptFilter (core.c)

Set the Accept Filter to use for a protocol

Allowed in *.conf only outside , or

Port (core.c)

Port was replaced with Listen in Apache 2.0

Allowed in *.conf only outside , or

HostnameLookups (core.c)

“on” to enable, “off” to disable reverse DNS lookups, or “double” to enable double-reverse DNS lookups

Allowed in *.conf anywhere

ServerAdmin (core.c)

The email address of the server administrator

Allowed in *.conf only outside , or

ServerName (core.c)

The hostname and port of the server

Allowed in *.conf only outside , or

ServerSignature (core.c)

En-/disable server signature (on|off|email)

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

ServerRoot (core.c)

Common directory of server-related files (logs, confs, etc.)

Allowed in *.conf only outside , or

ErrorLog (core.c)

The filename of the error log

Allowed in *.conf only outside , or

ServerAlias (core.c)

A name or names alternately used to access the server

Allowed in *.conf only outside , or

ServerPath (core.c)

The pathname the server can be reached at

Allowed in *.conf only outside , or

Timeout (core.c)

Timeout duration (sec)

Allowed in *.conf only outside , or

ContentDigest (core.c)

whether or not to send a Content-MD5 header with each request

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes Options

UseCanonicalName (core.c)

How to work out the ServerName : Port when constructing URLs

Allowed in *.conf anywhere

UseCanonicalPhysicalPort (core.c)

Whether to use the physical Port when constructing URLs

Allowed in *.conf anywhere

Include (core.c)

Name of the config file to be included

Allowed in *.conf anywhere

LogLevel (core.c)

Level of verbosity in error logging

Allowed in *.conf only outside , or

NameVirtualHost (core.c)

A numeric IP address:port, or the name of a host

Allowed in *.conf only outside , or

ServerTokens (core.c)

Determine tokens displayed in the Server: header – Min(imal), OS or Full

Allowed in *.conf only outside , or

LimitRequestLine (core.c)

Limit on maximum size of an HTTP request line

Allowed in *.conf only outside , or

LimitRequestFieldsize (core.c)

Limit on maximum size of an HTTP request header field

Allowed in *.conf only outside , or

LimitRequestFields (core.c)

Limit (0 = unlimited) on max number of header fields in a request message

Allowed in *.conf only outside , or

LimitRequestBody (core.c)

Limit (in bytes) on maximum size of request message body

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

LimitXMLRequestBody (core.c)

Limit (in bytes) on maximum size of an XML-based request body

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

RLimitCPU (core.c)

Soft/hard limits for max CPU usage in seconds

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

RLimitMEM (core.c)

Soft/hard limits for max memory usage per process

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

RLimitNPROC (core.c)

soft/hard limits for max number of processes per uid

Allowed in *.conf anywhere and in .htaccess

when AllowOverride isn’t None

LimitInternalRecursion (core.c)

maximum recursion depth of internal redirects and subrequests

Allowed in *.conf only outside , or

ForceType (core.c)

a mime type that overrides other configured type

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

SetHandler (core.c)

a handler name that overrides any other configured handler

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

SetOutputFilter (core.c)

filter (or ; delimited list of filters) to be run on the request content

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

SetInputFilter (core.c)

filter (or ; delimited list of filters) to be run on the request body

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

AddOutputFilterByType (core.c)

output filter name followed by one or more content-types

Allowed in *.conf anywhere and in .htaccess

when AllowOverride includes FileInfo

AllowEncodedSlashes (core.c)

Allow URLs containing ‘/’ encoded as ‘%2F’

Allowed in *.conf only outside , or

PidFile (core.c)

A file for logging the server process ID

Allowed in *.conf only outside , or

ScoreBoardFile (core.c)

A file for Apache to maintain runtime process management information

Allowed in *.conf only outside , or

LockFile (core.c)

The lockfile used when Apache needs to lock the accept() call

Allowed in *.conf only outside , or

MaxRequestsPerChild (core.c)

Maximum number of requests a particular child serves before dying.

Allowed in *.conf only outside , or

CoreDumpDirectory (core.c)

The location of the directory Apache changes to before dumping core

Allowed in *.conf only outside , or

AcceptMutex (core.c)

Valid accept mutexes for this platform and MPM are: default, flock, fcntl, sysvsem, pthread.

Allowed in *.conf only outside , or

MaxMemFree (core.c)

Maximum number of 1k blocks a particular childs allocator may hold.

Allowed in *.conf only outside , or

TraceEnable (core.c)

‘on’ (default), ‘off’ or ‘extended’ to trace request body content

Allowed in *.conf only outside , or

User (prefork.c)

Effective user id for this server

Allowed in *.conf only outside , or

Group (prefork.c)

Effective group id for this server

Allowed in *.conf only outside , or

ChrootDir (prefork.c)

The directory to chroot(2) into

Allowed in *.conf only outside , or

ListenBacklog (prefork.c)

Maximum length of the queue of pending connections, as used by listen(2)

Allowed in *.conf only outside , or

Listen (prefork.c)

A port number or a numeric IP address and a port number, and an optional protocol

Allowed in *.conf only outside , or

SendBufferSize (prefork.c)

Send buffer size in bytes

Allowed in *.conf only outside , or

ReceiveBufferSize (prefork.c)

Receive buffer size in bytes

Allowed in *.conf only outside , or

StartServers (prefork.c)

Number of child processes launched at server startup

Allowed in *.conf only outside , or

MinSpareServers (prefork.c)

Minimum number of idle children, to handle request spikes

Allowed in *.conf only outside , or

MaxSpareServers (prefork.c)

Maximum number of idle children

Allowed in *.conf only outside , or

MaxClients (prefork.c)

Maximum number of children alive at the same time

Allowed in *.conf only outside , or

ServerLimit (prefork.c)

Maximum value of MaxClients for this run of Apache

Allowed in *.conf only outside , or

GracefulShutdownTimeout (prefork.c)

Maximum time in seconds to wait for child processes to complete transactions during shutdown

Allowed in *.conf only outside , or

KeepAliveTimeout (http_core.c)

Keep-Alive timeout duration (sec)

Allowed in *.conf only outside , or

MaxKeepAliveRequests (http_core.c)

Maximum number of Keep-Alive requests per connection, or 0 for infinite

Allowed in *.conf only outside , or

KeepAlive (http_core.c)

Whether persistent connections should be On or Off

Allowed in *.conf only outside , or

LoadModule (mod_so.c)

a module name and the name of a shared object file to load it from

Allowed in *.conf only outside , or

LoadFile (mod_so.c)

shared object file or library to load into the server at runtime

Allowed in *.conf only outside , or

Now get few information from your browser,most probably you are running headless server(as the norm in the production environment or data center as I have had worked for)YMMV..here is the screenshot of it how it look like with “lynx” commandline browser:

Apache Server Status

Apache Server Info

Specifically the info thing shows lot of internals.I have snipped the picture for only one window,it might consist of serveral window full of information.

Now for those two information one has to have two module must loaded into the Apache server,otherwise it won’t be accissible like I showed.So the evidence of those two modules are below:

mod_status:

bhaskar@bhaskar-laptop_20:11:24_Sat Oct 02:/etc/httpd/conf> sudo grep “mod_status” /etc/httpd/conf/httpd.conf

LoadModule status_module modules/mod_status.so

And

mod_info:

bhaskar@bhaskar-laptop_20:11:40_Sat Oct 02:/etc/httpd/conf> sudo grep “mod_info” /etc/httpd/conf/httpd.conf

LoadModule info_module modules/mod_info.so

Plus one has to have an entry in main apache main configuration file for those two module to show up on the browser like below:



SetHandler server-status

Order deny,allow

Deny from all

Allow from 127.0.0.1

SetHandler server-info

Order deny,allow

Deny from all

Allow from 127.0.0.1

One can put the server ip or name of the host where the apache server running with Allow from directive.

Last but not the least for heaven’s sake please look into apache log file if you find any inconsistencies.Generally those are located in /var/log directory as apache/apache2/httpd/httpd2,because different distro maintain different name for that dir.Now basically it consists of few files like this:

access.log,error.log…… and name signifies it.Looking for the logs if something goes wrong considered to be a good starting point and practice.

Hope this will help.

Cheers!

Bhaskar