Read Me
DIS - Device Interaction Suite README
--------------------------------------------------------------------------------
DIS, The Device Interaction Suite
Copyright (C) 2006-2007 Phillip Heller
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 2
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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Full Text of the GNU General Public License is contained within the
LICENSE file.
--------------------------------------------------------------------------------
The Device Interaction Suite is a set of Perl modules that implements
Transport, Authentication, and device Connection Classes.
These classes create an object oriented API for dealings with devices
such as routers and switches. Additionally, these classes extend and
abstract the perl Expect module, and many of Expect's functions are
wrapped, or made otherwise available.
A design goal of DIS was to implement the ability for a user to
interactively login to a router with or without knowledge of the
Transport or Authentication mechanisms, or execute specific or script
actions, with our without logic both serially and parallel.
In support of this design goal, Dis.pm wraps around the Transport,
Authentication, and Connection classes to provide a simplified API to
the end-user. This API is intended to be utilized by the 'dis' script,
and other scripts which have a common need for similar command-line
argument processing and options.
Prerequisites
Prior to attempting installation, ensure Module::Build is installed.
Without it,the following steps will fail.
Other modules required by DIS are:
IO::File File::Path
IO::Pipe File::Where
Carp File::Which
Expect Date::Format
Error Parallel::ForkManager
Getargs::Longa Term::ReadKey
Getopt::Simple IO:Stty
File::Basename Crypt::SKey
Log::Log4Perl Sys::Hostname
Installation Instructions
Please reference the "INSTALL PATHS" section in the Module::Build
documentation for an explanation of installation path directives.
% perldoc Module::Build
% perl Build.PL
% ./Build
% ./Build install
It is recommended that etc/system.disrc.sample be copied to a sensible
location, such as /usr/local/etc/system.disrc , and that system shell
skeleton files set the environment variable DISCONFIG to that location.
Additionally, within the system shell skeleton files, administrators
may wish to set the environment variable DISUSERNAME to equal the
environment variable $USER, and/or include $PREFIX/bin within the
path.
Caveats:
Crypt::SKey requires several modules, though does not explicitly
install them via CPAN, and thus fails installation itself. To solve,
simply install them by hand:
% sudo cpan -i Digest::MD4 Digest::SHA1
Authors:
Mark Warren <mwarren42@gmail.com>
Phillip Heller <pheller@gmail.com>