'리눅스'에 해당되는 글 4건

  1. 2011.05.09 Linux_관리_점검스크립트
  2. 2011.05.09 Linux_JDK(Java) 설치
  3. 2011.05.06 Linux_파일시스템_samba 구성
  4. 2011.03.26 Eclipse Helios에서 Cygwin을 이용한 C/C++개발환경 구축

Linux_관리_점검스크립트

|

좀 된거라, 어디서 참조를 했는지 기억이 가물가물함.

아래는 스크립트 전문이므로 사용법은 별도로 설명하지 않겠음

스크립트 사용법을 모르는 분들은 사용자제 부탁(이 스크립트로 인한 오류를 스스로 수정볼 수 있는 분들만 사용바람)

 

필자 주) 파일의 변경을 요구하는 스크립트가 아닌, 시스템정보만 출력하는 스크립트로 대체로 무해함.

일종의 Solaris Explorer 같은 것임.

 

#!/bin/bash

##############################################################################

# Copyright (c) J.S Unix Consultants Ltd

##############################################################################

#

#

# FILE : linux-explorer.sh

# Last Change Date : 14-12-2008

# Author(s) : Joe Santoro

# Date Started : 15th April, 2004

# Email : linuxexplo [ at ] unix-consultants.com

# Web : http://www.unix-consultants.co.uk/examples/scripts/linux/linux-explorer

#

# Usage : ./linux-explorer.sh [-d] [-v] [-s] [-h] [-V]

#

# Purpose : This script is a linux version of the Solaris explorer

# (SUNWexplo) script.

#

# Used to collect as much information about a linux

# system build for remote support supposes.

# This script is a general purpose script for ALL linux

# systems and therefore NOT tied into any one distro.

#

##############################################################################

#

# J.S UNIX CONSULTANTS LTD MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE

# SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT

# LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A

# PARTICULAR PURPOSE, OR NON-INFRINGEMENT. J.S UNIX CONSULTANTS LTD SHALL

# NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,

# MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.

#

##############################################################################

 

COPYRIGHT="Copyright (c) J.S Unix Consultants Ltd"

MYVERSION="0.102"

MYDATE="$(/bin/date +'%Y%m%d')"    # Date and time now

MYNAME=$(basename $0)

WHOAMI=$(/usr/bin/whoami)        # The user running the script

HOSTID=$(/usr/bin/hostid)        # The Hostid of this server

MYHOSTNAME=$(/bin/uname -n)        # The hostname of this server

TMPFILE="/tmp/$(basename $0).$$"    # Tempory File

TOPDIR="/sase/pm"        # Top level output directory

 

 

VERBOSE=0                # Set to see the scripts progress used

                     # only if connected to a terminal session.

 

FULLSOFT=0                # Set to Verify Software installation

                     # this takes a very long time

 

 

#

# Ensure that we are the root user

#

if [ "$WHOAMI" != "root" ] ; then

/bin/echo    

    /bin/echo "ERROR: Sorry only the root user can run this script"

    /bin/echo    

    exit 1

fi

 

 

#

# Set the path for the script to run.

#

PATH=/bin:/usr/sbin:/sbin:/usr/sbin:/usr/local/bin:$PATH

export PATH

 

if [ -d /opt/VRTSvcs/bin ] ; then

        PATH=$PATH:/opt/VRTSvcs/bin

        export PATH

fi

 

# Remove any temporary files we create

trap '$RM -f $TMPFILE >/dev/null 2>&1; exit' 0 1 2 3 15

 

 

 

##############################################################################

#

# Function : Usage

#

# Notes : N/A

#

##############################################################################

 

function ShowUsage

{

 

    #-------------------------------------------------------------------

    # Show help message

    #-------------------------------------------------------------------

 

    echo

    echo "$MYNAME Version $MYVERSION - $COPYRIGHT "

    echo

    echo "    usage: $MYNAME [option] "

    echo

    echo "        -d Target directory for explorer files"

    echo "        -v Verbose output"

    echo "        -s Verify Package Installation"

    echo "        -h This help message"

    echo "        -V Version Number of LINUXEXPLO"

    echo

    exit 0

}

 

 

 

 

 

##############################################################################

#

# Function : Echo

#

# Parameters : String to display what function is about to run

#

# Output : Print what section we are about to collect data for

#

# Notes : N/A

#

##############################################################################

 

 

 

function Echo ()

{

 

    if [ -t 0 ] ; then

 

        if [ ${VERBOSE} -ne 0 ] ; then

            /bin/echo "$*"

            echo "============================================="

        fi

 

        if [ ${VERBOSE} -gt 1 ] ; then

            echo "Press Return to Continue.........."

            read A

        fi

    fi

}

 

 

##############################################################################

#

# Function : mywhich

#

# Parameters : name of program

#

# Output : path of executable

#

# Notes : Return back the location of the executable

#         I need this as not all linux distros have the files

#         in the same location.

#

##############################################################################

 

 

 

function mywhich ()

{

 

    local command=$1

 

    local mypath=$(which $command 2>/dev/null)

 

    if [ "$mypath" = "" ] ; then

        echo "Command $command not found" >> $NOTFNDLOG

        echo "NOT_FOUND"

    elif [ ! -x "$mypath" ] ; then

        echo "Command $command not executable" >> $NOTFNDLOG

        echo "NOT_FOUND"

    else

        echo "$mypath"

    fi

 

}

 

 

 

##############################################################################

#

# Function : findCmds

#

# Parameters : None

#

# Output : None

#

# Notes : Goes and find each of the commands I want to use and

#            stores the information into the various variables which

#            is the uppercase version of the command itself.

#

#            I need this as not all linux distros have the files

#            in the same location.

#

##############################################################################

 

function findCmds

{

 

    # Standard commands

 

AWK=$(mywhich awk )

BASENAME=$(mywhich basename )

CAT=$(mywhich cat )

CHKCONFIG=$(mywhich chkconfig )

CP=$(mywhich cp )

CUT=$(mywhich cut )

CHMOD=$(mywhich chmod )

DATE=$(mywhich date )

DF=$(mywhich df )

DMESG=$(mywhich dmesg )

ECHO=$(mywhich echo )

FILE=$(mywhich file )

FIND=$(mywhich find )

FREE=$(mywhich free )

GREP=$(mywhich grep )

EGREP=$(mywhich egrep )

LS=$(mywhich ls )

MKDIR=$(mywhich mkdir )

LOCALE=$(mywhich locale )

PSTREE=$(mywhich pstree )

PS=$(mywhich ps )

RM=$(mywhich rm )

SLEEP=$(mywhich sleep )

MOUNT=$(mywhich mount )

MV=$(mywhich mv )

SORT=$(mywhich sort )

TAIL=$(mywhich tail )

UNAME=$(mywhich uname )

UPTIME=$(mywhich uptime )

WHO=$(mywhich who )

ZIP=$(mywhich zip )

GZIP=$(mywhich gzip )

GAWK=$(mywhich gawk )

SED=$(mywhich sed )

GUNZIP=$(mywhich gunzip )

 

# Selinux

SESTATUS=$(mywhich sestatus )

GETSEBOOL=$(mywhich getsebool )

SEMANAGE=$(mywhich semanage )

 

# Samba

TESTPARM=$(mywhich testparm )

WBINFO=$(mywhich wbinfo )

 

 

# Apache

APACHECTL=$(mywhich apachectl )

APACHE2CTL=$(mywhich apache2ctl )

 

# Packages

APTCONFIG=$(mywhich apt-config )

RPM=$(mywhich rpm )

DPKG=$(mywhich dpkg )

EMERGE=$(mywhich emerge )

YUM=$(mywhich yum )

 

 

# Kernel Info

SYSCTL=$(mywhich sysctl )

KSYMS=$(mywhich ksyms )

 

    # H/W Info

ACPI=$(mywhich acpi )

CARDCTL=$(mywhich cardclt )

DUMPE2FS=$(mywhich dumpe2fs )

DMIDECODE=$(mywhich dmidecode )

FDISK=$(mywhich fdisk     )    

HDPARM=$(mywhich hdparm )

HOSTNAME=$(mywhich hostname )

HWINFO=$(mywhich hwinfo )

HWCLOCK=$(mywhich hwclock )

LVDISPLAY=$(mywhich lvdisplay )

LSMOD=$(mywhich lsmod )

LSPCI=$(mywhich lspci )

LSPNP=$(mywhich lspnp )

IPVSADM=$(mywhich ipvsadm )

LSUSB=$(mywhich lsusb )

LSDEV=$(mywhich lsdev )

LSHAL=$(mywhich lshal )    

LSRAID=$(mywhich lsraid )

MDADM=$(mywhich mdadm )

SMARTCTL=$(mywhich smartclt )

PROCINFO=$(mywhich procinfo )

SFDISK=$(mywhich sfdisk )

HWPARM=$(mywhich hwparm )

SCSI_ID=$(mywhich scsi_id )    

MULTIPATH=$(mywhich multipath )

DMSETUP=$(mywhich dmsetup )

NTPQ=$(mywhich ntpq )

     SYSP=$(mywhich sysp )

_3DDIAG=$(mywhich 3Ddiag )

LSHW=$(mywhich lshw )

SYSTOOL=$(mywhich systool )

SWAPON=$(mywhich swapon )

 

 

    # Disks

LVM=$(mywhich lvm )

VGSCAN=$(mywhich vgscan )

VGDISPLAY=$(mywhich vgdisplay )

VGDISKSCAN=$(mywhich vgdiskscan )

PVSCAN=$(mywhich pvscan )

DEBUGREISERFS=$(mywhich debugreiserfs )

HDPARM=$(mywhich hdparm )

EXPORTFS=$(mywhich exportfs )

REPQUOTA=$(mywhich repquota )

 

    TUNE2FS=$(mywhich tune2fs )

 

    # Veritas FS

PVDISPLAY=$(mywhich pvdisplay )

VXDG=$(mywhich vxdg )

VXDISK=$(mywhich vxdisk )

VXPRINT=$(mywhich vxprint )

VXLICREP=$(mywhich vxlicrep )

 

    # Veritas Cluster

HASTATUS=$(mywhich hastatus )

HARES=$(mywhich hares )

HAGRP=$(mywhich hagrp )

HATYPE=$(mywhich hatype )

HAUSER=$(mywhich hauser )

LLTSTAT=$(mywhich lltstat )

GABCONFIG=$(mywhich gabconfig )

HACF=$(mywhich hacf )

 

    # Redhat Cluster

CLUSTAT=$(mywhich clustat )

CLUSVCADM=$(mywhich clusvcadm )

 

    # Network

IFCONFIG=$(mywhich ifconfig )

IWCONFIG=$(mywhich iwconfig )

NETSTAT=$(mywhich netstat )

NFSSTAT=$(mywhich nfsstat )

ROUTE=$(mywhich route )

YPWHICH=$(mywhich ypwhich )

IP=$(mywhich ip      )

MIITOOL=$(mywhich mii-tool )

IPTABLES=$(mywhich iptables )

IPCHAINS=$(mywhich ipchains )

ETHTOOL=$(mywhich ethtool )

BRCTL=$(mywhich brctl )

 

 

    # Tuning

IOSTAT=$(mywhich iostat )

VMSTAT=$(mywhich vmstat )

IPCS=$(mywhich ipcs )    

MODPROBE=$(mywhich modprobe )

DEPMOD=$(mywhich depmod )

 

    # Other

RUNLEVEL=$(mywhich runlevel )

LSOF=$(mywhich lsof      )

LPQ=$(mywhich lpq )    

TAR=$(mywhich tar      )

XVINFO=$(mywhich xvinfo )

POSTCONF=$(mywhich postconf )

 

    # Virtual Server

XM=$(mywhich xm )

VIRSH=$(mywhich virsh )

 

    # Gentoo

RC_UPDATE=$(mywhich rc-update )

 

 

}

 

 

 

 

 

 

 

##############################################################################

# Get the command line options

##############################################################################

 

 

while getopts "d:vhV" OPT

do

case "$OPT" in

 

 

d)    if [ $OPTARG = "/" ] ; then

            echo "ERROR: root directory selected as target! "

            echo "Exiting."

            exit 1

        elif [ $OPTARG != "" ] ; then

            TOPDIR=${OPTARG%%/}

fi

        ;;

 

v) VERBOSE="1"

;;

 

s) FULLSOFT="1"

;;

 

h) ShowUsage

;;

 

V) echo

     echo "LINUXexplo Version : $MYVERSION"

     echo

     exit 0

;;

esac

 

done

 

 

 

 

 

##############################################################################

# MAIN

##############################################################################

 

 

 

if [ ${VERBOSE} -gt 0 ] ; then

 

    if [ -t 0 ] ; then

        tput clear

    fi

fi

 

 

LOGTOP="$TOPDIR"

LOGDIR="${LOGTOP}/${MYHOSTNAME}-${MYDATE}"

TARFILE="${LOGTOP}/${MYHOSTNAME}-${MYDATE}.tar.gz"

NOTFNDLOG="${LOGDIR}/command_not_found.out"

 

 

 

if [ ! -d $LOGDIR ] ; then

    /bin/mkdir -p $LOGDIR

fi

 

# go away and find ALL my commands for this script

findCmds

 

 

Echo "Creating Explorer Directory : $LOGDIR"

 

 

if [ -d "$LOGTOP" ] ; then

if [[ "${LOGTOP}" != "/" && "${LOGTOP}" != "/var" && "${LOGTOP}" != "/usr" ]] ; then

 

    if [ ${VERBOSE} -gt 0 ] ; then

    $ECHO "Removing ${LOGTOP}"

    fi

 

    $RM -rf ${LOGTOP}

 

fi

fi

 

# echo "LOGDIR : \"$TOPDIR${MYHOSTNAME}-${DATE}/output\" "

 

# make sure this is a linux system

 

if [ "$($UNAME -s)" != "Linux" ] ; then

    $ECHO "ERROR: This script is only for Linux systems "

    exit 1

fi

 

 

 

# Make the directory I'm going to store my files

 

if [ ! -d $LOGDIR ] ; then

    $MKDIR -p $LOGDIR

    

    if [ $? -ne 0 ] ; then

        $ECHO "ERROR: Creating directory $LOGDIR"

        exit 1

    else

        $CHMOD 750 $LOGDIR

    fi

fi

 

 

# Create the default directories I'm going to use.

 

for Dir in etc system disks lp san var logs hardware boot

do

    if [ ! -d ${LOGDIR}/${Dir} ] ; then

 

        $MKDIR -p ${LOGDIR}/${Dir}

 

        if [ $? -ne 0 ] ; then

            $ECHO "ERROR: Creating directory $LOGDIR"

            exit 1

        else

            $CHMOD 750 ${LOGDIR}/${Dir}

        fi

    fi

done

 

 

##############################################################################

# We need the password file and the group file so that we can work out who

# owns what file.

# Notice we are not copying the shadow file !!

##############################################################################

 

$CP -p /etc/passwd ${LOGDIR}/etc/passwd

$CP -p /etc/group ${LOGDIR}/etc/group

 

 

 

if [ -f /etc/sudoers ] ; then

    $CP -p /etc/sudoers ${LOGDIR}/etc/sudoers

fi

 

 

##############################################################################

# Release Section

##############################################################################

 

Echo "Release Section"

 

$CP -p /etc/*-release ${LOGDIR}/system

 

if [ -f /etc/issue ] ; then

$CP -p "/etc/issue" ${LOGDIR}/system/issue

fi

 

if [ -f /etc/issue.net ] ; then

    $CP -p /etc/issue.net ${LOGDIR}/etc/issue.net

fi

 

if [ -f /etc/motd ] ; then

    $CP -p /etc/motd ${LOGDIR}/etc/motd

fi

 

 

##############################################################################

# Hardware/Proc Section

##############################################################################

 

Echo "Hardware/Proc Section"

 

# Collecting information from the proc directory

 

$MKDIR -p ${LOGDIR}/proc

 

$FIND /proc -type f -print 2>/dev/null | \

$GREP -v "/proc/kcore" | \

$GREP -v "/proc/bus/usb" | \

$GREP -v "/proc/xen/xenbus" | \

$GREP -v "/proc/acpi/event" | \

$GREP -v "pagemap" | \

$GREP -v "clear_refs" | \

$GREP -v "/proc/kmsg" > $TMPFILE

 

 

for i in $($CAT $TMPFILE)

do

Dirname=$(dirname $i)

Filename=$(basename $i)

 

if [ ! -d ${LOGDIR}${Dirname} ] ; then

$MKDIR -p ${LOGDIR}${Dirname}

fi

 

if [ -e "$i" ] ; then

            $CAT "$i" > ${LOGDIR}${Dirname}/${Filename} 2>&1

fi

 

done

 

 

 

$RM -f $TMPFILE

 

 

 

##############################################################################

# Device Information

##############################################################################

 

if [ -x $CARDCTL ] ; then

    $CARDCTL info     > ${LOGDIR}/hardware/cardctl-info.out 2>&1

    $CARDCTL status     > ${LOGDIR}/hardware/cardctl-status.out 2>&1

    # $CARDCTL ident     > ${LOGDIR}/hardware/cardctl-ident.out 2>&1

fi

 

 

if [ -x $LSPCI ] ; then

    $LSPCI > ${LOGDIR}/hardware/lspci.out 2>&1

    $LSPCI -n > ${LOGDIR}/hardware/lspci-n.out 2>&1

 

    $LSPCI | while read line

    do

    Bus=$($ECHO $line 2>/dev/null | awk '{ print $1 }')

    $LSPCI -vv -s $Bus > ${LOGDIR}/hardware/lspci_-vv_-s_${Bus}.out 2>&1

    done

fi

 

 

 

if [ -x "$LSUSB" ] ; then

    $LSUSB -xv > ${LOGDIR}/hardware/lsusb_-xv.out 2>&1

    $LSUSB -tv > ${LOGDIR}/hardware/lsusb_-tv.out 2>&1

fi

 

 

if [ -x "$LSDEV" ] ; then

    $LSDEV -type adaptor > ${LOGDIR}/hardware/lsdev_-type_adaptor.out 2>&1

fi

 

if [ -x "$ACPI" ] ; then

    $ACPI -V > ${LOGDIR}/hardware/acpi-V.out 2>&1

fi

 

 

if [ -x $FREE ] ; then

    $FREE > ${LOGDIR}/hardware/free.out

    $FREE -k > ${LOGDIR}/hardware/free_-k.out

fi

 

 

$LS -laR /dev > ${LOGDIR}/hardware/ls-laR_dev.out

 

if [ -d /udev ] ; then

$LS -laR /udev > ${LOGDIR}/hardware/ls-laR_udev.out

fi

 

 

# Tape information

if [ -f /etc/stinit.def ] ; then

    $CP -p /etc/stinit.def ${LOGDIR}/etc/stinit.def

fi

 

 

# Global Devices list

if [ -x "$LSHAL" ] ; then

    $LSHAL > ${LOGDIR}/hardware/lshal.out

fi

 

if [ -x /usr/share/rhn/up2date_client/hardware.py ] ; then

    /usr/share/rhn/up2date_client/hardware.py > ${LOGDIR}/hardware/hardware.py.out 2>&1

fi

 

 

 

 

if [ -x "$SMARTCTL" ] ; then

    for device in $( $LS /dev/hd[a-z] /dev/sd[a-z] /dev/st[0-9] /dev/sg[0-9] 2> /dev/null)

    do

        name=$( $ECHO $device | sed 's/\//_/g' )

        ${SMARTCTL} -a $device 2>/dev/null 1> ${LOGDIR}/hardware/smartctl-a_${name}.out

    done

fi

 

 

 

##############################################################################

# Collect Hardware information from the hwinfo program if installed

##############################################################################

 

if [ -x $HWINFO ] ; then

    $HWINFO > ${LOGDIR}/hardware/hwinfo.out 2>&1

    $HWINFO --isapnp > ${LOGDIR}/hardware/hwinfo_--isapnp.out 2>&1

    $HWINFO --scsi > ${LOGDIR}/hardware/hwinfo_--scsi.out 2>&1

    $HWINFO --framebuffer > ${LOGDIR}/hardware/hwinfo_--framebuffer.out 2>&1

fi

 

 

if [ -x "$PROCINFO" ] ; then

    $PROCINFO > ${LOGDIR}/hardware/procinfo.out 2>&1

fi

 

 

if [ -x "$DMIDECODE" ] ; then

    $DMIDECODE > ${LOGDIR}/hardware/dmidecode.out 2>&1

fi

 

 

if [ -x $LSHW ] ; then

    $LSHW > ${LOGDIR}/hardware/lshw.out 2>&1

fi

 

 

##############################################################################

# Boot Section

##############################################################################

 

Echo "Boot Section"

 

if [ -x "/sbin/lilo" ] ; then

    /sbin/lilo -q     > $LOGDIR/system/lilo_-q 2>&1

fi

 

$LS -alR /boot    > ${LOGDIR}/system/ls-alR_boot.out 2>&1

 

$MKDIR -p ${LOGDIR}/boot/grub

 

for i in /boot/grub/menu.lst /boot/grub/grub.conf \

        /boot/grub.conf /boot/grub/device.map

do

    if [ -f ${i} ] ; then

        $CP -p ${i} ${LOGDIR}/${i}

    fi

done

 

if [ -f /etc/inittab ] ; then

    $CP -p /etc/inittab    ${LOGDIR}/etc/inittab

fi

 

 

 

##############################################################################

# /etc Config Files Section

##############################################################################

 

Echo "/etc Config Files Section"

 

for i in $( $FIND /etc -name "*.conf" -o -name "*.cf" )

do

dirname="$(dirname $i)"

filename="$(basename $i)"

 

    if [ ! -d ${LOGDIR}/${dirname} ] ; then

        $MKDIR -p ${LOGDIR}/${dirname}

    fi

 

    $CP -p $i ${LOGDIR}/${dirname}/${filename}

 

done

 

 

 

if [ -f /etc/nologin.txt ] ; then

    $CP -p /etc/nologin.txt ${LOGDIR}/etc/nologin.txt

fi

 

 

$CP -p /etc/securetty     ${LOGDIR}/etc/securetty

$CP -p /etc/shells         ${LOGDIR}/etc/shells

 

if [ -f /etc/krb.realms ] ; then

    $CP -p /etc/krb.realms     ${LOGDIR}/etc/krb.realms

fi

 

 

 

##############################################################################

# Copy the /etc/profile.d scripts

##############################################################################

 

if [ -d /etc/profile.d ] ; then

    $CP -Rp /etc/profile.d ${LOGDIR}/etc

fi

 

 

##############################################################################

# New in Fedora 9

##############################################################################

 

if [ -d /etc/event.d ] ; then

    $CP -Rp /etc/event.d ${LOGDIR}/etc

fi

 

 

##############################################################################

# Get all the pcmcia config information

##############################################################################

 

if [ -d /etc/pcmcia ] ; then

 

    if [ ! -d ${LOGDIR}/pcmcia ] ; then

        $MKDIR -p ${LOGDIR}/etc/pcmcia

    fi

 

    $CP -R -p /etc/pcmcia/*.opts     ${LOGDIR}/etc/pcmcia

 

fi

 

 

##############################################################################

# Performance/System Section

##############################################################################

 

Echo "Performance/System Section"

 

if [ -e /proc/loadavg ] ; then

    $CAT /proc/loadavg     > ${LOGDIR}/system/loadavg.out

fi

 

if [ -e /proc/stat ] ; then

    $CAT /proc/stat     > ${LOGDIR}/system/stat.out

fi

 

$DATE                > ${LOGDIR}/system/date.out

$FREE                > ${LOGDIR}/system/free.out

$PS auxw            > ${LOGDIR}/system/ps-auxw.out

$PSTREE                 > ${LOGDIR}/system/pstree.out

$HOSTNAME            > ${LOGDIR}/system/hostname.out

$IPCS -a            > ${LOGDIR}/system/ipcs-a.out

$IPCS -u            > ${LOGDIR}/system/ipcs-u.out

$IPCS -l            > ${LOGDIR}/system/ipcs-l.out

$UPTIME                > ${LOGDIR}/system/uptime.out

ulimit -a            > ${LOGDIR}/system/ulimit-a.out

 

 

 

 

##############################################################################

# OK not sure where this should go so I've put it here instead

##############################################################################

 

if [ "$LSOF" != "" ] ; then

    $LSOF > ${LOGDIR}/system/lsof.out    2>&1

fi

 

##############################################################################

# Kernel Section

##############################################################################

 

Echo "Kernel Section"

 

$SYSCTL -A            > ${LOGDIR}/etc/sysctl_-A.out 2>&1

$UNAME -a             > ${LOGDIR}/system/uname_-a.out

$RUNLEVEL            > ${LOGDIR}/system/runlevel.out

$WHO -r                > ${LOGDIR}/system/who_-r.out

 

 

 

if [ -f /etc/conf.modules ] ; then

    $CP -p /etc/conf.modules        ${LOGDIR}/etc/conf.modules

fi

 

 

if [ ! -d ${LOGDIR}/kernel/info ] ; then

    $MKDIR -p ${LOGDIR}/kernel/info

fi

 

$LSMOD | while read line

do

    kernmod=$( $ECHO $line | $AWK '{ print $1 }' )

    $MODINFO $kernmod > ${LOGDIR}/kernel/info/${kernmod}.out 2>&1

done

 

$LSMOD            > ${LOGDIR}/kernel/lsmod.out 2>&1

$KSYMS             > ${LOGDIR}/kernel/ksyms.out 2>&1

 

$CP -p /lib/modules/$($UNAME -r)/modules.dep ${LOGDIR}/kernel/modules.dep

 

 

$MODPROBE -n -l -v        > ${LOGDIR}/kernel/modprobe_-n-l-v.out 2>&1

$DEPMOD -av            > ${LOGDIR}/kernel/depmod_-av.out 2>&1

$CAT /proc/modules        > ${LOGDIR}/kernel/modules.out 2>&1

 

 

##############################################################################

# Just incase we have a debian system

##############################################################################

 

if [ -f /etc/kernel-pkg.conf ] ; then

    $CP -p /etc/kernel-pkg.conf ${LOGDIR}/etc/kernel-pkg.conf

fi

 

if [ -f /etc/kernel-img.conf ] ; then

    $CP -p /etc/kernel-img.conf ${LOGDIR}/etc/kernel-img.conf

fi

 

##############################################################################

# Get the kernel configuration details from a 2.6 kernel

##############################################################################

 

if [ -f /proc/config.gz ] ; then

    gunzip -c /proc/config.gz > ${LOGDIR}/kernel/config

fi

 

 

##############################################################################

# Hot Plug Section

##############################################################################

 

Echo "Hot Plug Section"

 

if [ -d /etc/hotplug ] ; then

 

    if [ ! -d ${LOGDIR}/etc/hotplug ] ; then

        $MKDIR -p ${LOGDIR}/etc/hotplug

    fi

 

    cd /etc/hotplug

    $CP -Rp * ${LOGDIR}/etc/hotplug/

fi

 

 

##############################################################################

# Disk Section

##############################################################################

 

 

Echo "Disk Section"

 

 

# Check to see what is mounted

 

$DF -k         > ${LOGDIR}/disks/df_-k.out    2>&1

$DF -ki         > ${LOGDIR}/disks/df_-ki.out    2>&1

$DF -aki         > ${LOGDIR}/disks/df_-aki.out    2>&1

$DF -akih         > ${LOGDIR}/disks/df_-akih.out    2>&1

 

if [ -x $SWAPON ] ; then

    $SWAPON -s > ${LOGDIR}/disks/swapon_-s.out    2>&1

fi

 

$MOUNT         > ${LOGDIR}/disks/mount.out         2>&1

 

$CAT /proc/mounts > ${LOGDIR}/disks/mounts.out        2>&1

 

 

# fstab Information

$CP -p /etc/fstab ${LOGDIR}/disks/fstab

 

 

# Display any quotas that my have been set

$REPQUOTA -av     > ${LOGDIR}/disks/repquota_-av    2>&1

 

 

##############################################################################

# Disk Format Information

##############################################################################

 

DISKLIST=$($FDISK -l 2>/dev/null | grep "^/dev" | sed 's/[0-9]//g' | awk '{ print $1 }' | sort -u)

 

if [ -x $FDISK ] ; then

    $FDISK -l            > ${LOGDIR}/disks/fdisk_-l.out 2>&1

fi

 

if [ -x $SFDISK ] ; then

    $SFDISK -l            > ${LOGDIR}/disks/sfdisk_-l.out 2>&1

    $SFDISK -s            > ${LOGDIR}/disks/sfdisk_-s.out 2>&1

fi

 

for DISK in $DISKLIST

do

    NEWDISK=$($ECHO $DISK | sed s'/\/dev\///g' )

 

    if [ -x $HDPARM ]; then

        $HDPARM -vIi $DISK         > ${LOGDIR}/disks/hdparm_-vIi_${NEWDISK} 2>&1

    fi

 

    if [ -x $SFDISK ] ; then

        $SFDISK -l $DISK        > ${LOGDIR}/disks/sfdisk_-l_-${NEWDISK}.out 2>&1

    fi

 

    if [ -x $FDISK ] ; then

        $FDISK -l $DISK        > ${LOGDIR}/disks/fdisk_-l_-${NEWDISK}.out 2>&1

    fi

    

done

 

if [ -x "$DUMPE2FS" ] ; then

 

    PARTS=$($FDISK -l 2>/dev/null | grep "^/dev" | awk '{ print $1 }')

 

    for parts in $PARTS

    do

    name=$(echo $parts | sed 's/\//_/g')

    $DUMPE2FS $parts         > ${LOGDIR}/disks/dumpe2fs${name}.out 2>&1

    done

 

fi

 

 

 

##############################################################################

# Collect Detailed SCSI information about the disks

##############################################################################

 

if [ -x "$SCSI_ID" ] ; then

 

for i in $($LS sd[a-z] 2>/dev/null)

do

 

if [ -b /dev/${i} ] ; then

 

        disk_name=$(echo /dev/${i} | sed 's/\//_/g')

 

$SCSI_ID -g -p 0x80 -d /dev/${i} -s /block/${i} \

> ${LOGDIR}/disks/scsi_id_-g_-p_0x80_${disk_name}.out 2>&1

 

$SCSI_ID -g -p 0x83 -d /dev/${i} -s /block/${i} \

> ${LOGDIR}/disks/scsi_id_-g_-p_0x83_${disk_name}.out 2>&1

 

fi

 

done

 

fi

 

if [ -x $SYSTOOL ] ; then

$SYSTOOL -c scsi_host -v > ${LOGDIR}/disks/systool_-c_scsi_host_-v.out 2>&1

fi

 

 

##############################################################################

# If we are using multi-pathings then print out the

# multi-pathing information

##############################################################################

 

if [ -x "$MULTIPATH" ] ; then

    $MULTIPATH -ll > ${LOGDIR}/disks/multipath_-ll.out 2>&1

    $MULTIPATH -v2 > ${LOGDIR}/disks/multipath_-v2.out 2>&1

 

fi

 

if [ -x "$DMSETUP" ] ; then

    $DMSETUP ls > ${LOGDIR}/disks/dmsetup_ls.out 2>&1

fi

 

##############################################################################

# Veritas Volume Manager / Symantec Veritas Storage Foundation Information

##############################################################################

#

# Changes - "Vincent S. Cojot" - 04-11-2008

# added licence checks

# VxVM/VxFS Configuration Backups

# Some minor bug fixes

#

##############################################################################

 

if [ -d /etc/vx/licenses/lic ] ; then

Echo "Veritas Volume Manager / Symantec Veritas Storage Foundation Section"

Echo "VxVM/VxFS/VCS/VVR licensing Section"

 

if [ ! -d ${LOGDIR}/etc/vx/licenses/lic ] ; then

$MKDIR -p ${LOGDIR}/etc/vx/licenses/lic

fi

 

$CP -Rp /etc/vx/licenses/lic ${LOGDIR}/etc/vx/licenses/

$VXLICREP -e > ${LOGDIR}/system/vxlicrep_-e.out 2>&1

fi

 

if [ -d /etc/vx/cbr/bk ] ; then

Echo "VxVM/VxFS Configuration Backups"

 

if [ ! -d ${LOGDIR}/etc/vx/cbr/bk ] ; then

$MKDIR -p ${LOGDIR}/etc/vx/cbr/bk

fi

 

$CP -Rp /etc/vx/cbr/bk ${LOGDIR}/etc/vx/cbr/

fi

 

 

if [ -d /dev/vx ] ; then

 

Echo "VxVM live configuration"

 

    if [ ! -d ${LOGDIR}/disks/vxvm ] ; then

        $MKDIR -p ${LOGDIR}/disks/vxvm

        $MKDIR -p ${LOGDIR}/disks/vxvm/logs

        $MKDIR -p ${LOGDIR}/disks/vxvm/disk_groups

    fi

 

 

    $LS -laR /dev/vx > ${LOGDIR}/disks/vxvm/ls-lR_dev_vx.out 2>&1

 

    if [ -x $VXDISK ] ; then

        $VXDISK list             > ${LOGDIR}/disks/vxvm/vxdisk_list.out         2>&1

        $VXDISK -o alldgs list     > ${LOGDIR}/disks/vxvm/vxdisk_-o_alldgs_list.out 2>&1

        $VXPRINT -Ath             > ${LOGDIR}/disks/vxvm/vxprint_-Ath.out      2>&1

        $VXPRINT -h             > ${LOGDIR}/disks/vxvm/vxprint_-h.out      2>&1

        $VXPRINT -hr             > ${LOGDIR}/disks/vxvm/vxprint_-hr.out      2>&1

        $VXPRINT -th             > ${LOGDIR}/disks/vxvm/vxprint_-th.out      2>&1

        $VXPRINT -thrL             > ${LOGDIR}/disks/vxvm/vxprint_-thrL.out      2>&1

    fi

 

 

    if [ -x $VXDG ] ; then

        $VXDG -q list             > ${LOGDIR}/disks/vxvm/vxdg_-q_-list.out 2>&1

    fi

 

 

 

#------------------------------------------------------------------------

# Collect individual volume information

#------------------------------------------------------------------------

 

    for i in $($VXDG -q list|awk '{print $1}')

    do

        $VXDG list $i > ${LOGDIR}/disks/vxvm/disk_groups/vxdg_list_${i}.out

        $VXDG -g $i free > ${LOGDIR}/disks/vxvm/disk_groups/vxdg_-g_free_${i}.out

 

        $VXPRINT -vng $i > ${LOGDIR}/disks/vxvm/disk_groups/vxprint_-vng_${i}.out

 

VOL=$(cat ${LOGDIR}/disks/vxvm/disk_groups/vxprint_-vng_${i}.out)

 

        $VXPRINT -hmQqg $i $VOL \

            > ${LOGDIR}/disks/vxvm/disk_groups/vxprint_-hmQqg_4vxmk=${i}.out 2>&1

 

        $VXPRINT -hmQqg $i \

            > ${LOGDIR}/disks/vxvm/disk_groups/vxprint_-hmQqg=${i}.out 2>&1

 

    done

 

fi

 

##############################################################################

# Get the filesystems Characteristics

##############################################################################

 

for i in $($DF -kl | grep ^/dev | awk '{ print $1 }')

do

    if [ -x $TUNE2FS ] ; then

        name=$(echo $i | sed 's/\//_/g')

        $TUNE2FS -l $i > ${LOGDIR}/disks/tunefs_-l_${name}.out 2>&1

    fi

 

done

 

 

##############################################################################

# NFS Information

##############################################################################

 

# Copy NFS config files around

if [ -f /etc/auto.master ] ; then

    $CP -p /etc/auto*     ${LOGDIR}/etc

fi

 

# lets see what we have really exported

if [ -x $EXPORTFS ] ; then

    $EXPORTFS -v    > ${LOGDIR}/disks/exportfs_-v.out 2>&1

fi

 

# This is what we have configured to be exported

if [ -f /etc/exports ] ; then

    $CP -p /etc/exports     ${LOGDIR}/etc/exports

fi

 

 

if [ -x "$NFSSTAT" ] ; then

    $NFSSTAT -a > ${LOGDIR}/disks/nfsstat_-a.out 2>&1

fi

 

 

##############################################################################

# Raid Information

##############################################################################

 

if [ -f /etc/raidtab ] ; then

    $CP -p /etc/raidtab ${LOGDIR}/etc/raidtab

fi

 

 

$MKDIR ${LOGDIR}/disks/raid

 

if [ -x "$LSRAID" ] ; then

    for i in $( $LS /dev/md[0-9]* 2>/dev/null )

    do

        name=$($ECHO $i | sed 's/\//_/g')

         $LSRAID -a $i > ${LOGDIR}/disks/raid/lsraid_-a_${name}.out > /dev/null 2>&1

    done

fi

 

 

 

if [ -x "$MDADM" ] ; then

    for i in $( $LS /dev/md[0-9]* 2>/dev/null )

    do

        name=$( $ECHO $i | sed 's/\//_/g' )

         $MDADM --detail $i > ${LOGDIR}/disks/raid/mdadm_--detail_${name}.out > /dev/null 2>&1

 

if [ ! -s ${LOGDIR}/disks/raid/mdadm--detail_${name}.out ] ; then

$RM -f ${LOGDIR}/disks/raid/mdadm--detail_${name}.out

fi

    done

fi

 

 

 

 

##############################################################################

# LVM Information

##############################################################################

 

 

LVMDIR=${LOGDIR}/disks/lvm

 

$MKDIR -p ${LVMDIR}

 

if [ -x "$LVDISPLAY" ] ; then

    $LVDISPLAY -v     > ${LVMDIR}/lvdisplay_-v.out 2>&1

    $VGDISPLAY -vv     > ${LVMDIR}/vgdisplay_-vv.out 2>&1

    $VGSCAN -v     > ${LVMDIR}/vgscan_-v.out 2>&1

    $VGDISKSCAN -v > ${LVMDIR}/vgdiskscan_-v.out 2>&1

    $PVSCAN -v > ${LVMDIR}/pvscan_-v.out 2>&1

    $PVDISPLAY -v > ${LVMDIR}/pvdisplay_-v.out 2>&1

fi

 

if [ -x "$LVM" ] ; then

    $LVM dumpconfig > ${LVMDIR}/lvm_dumpconfig.out        2>&1

    $LVM lvs > ${LVMDIR}/lvm_lvs.out         2>&1

fi

 

 

 

##############################################################################

# Software Section

##############################################################################

 

 

 

Echo "Software Section"

$MKDIR -p ${LOGDIR}/software/rpm-packages

 

if [ -x "$RPM" ] ; then

 

    if [ -x "$CHKCONFIG" ] ; then

        $CHKCONFIG --list > ${LOGDIR}/software/chkconfig--list.out 2>&1

    fi

 

    #

    # Short Description of all packages installed

    #

 

    $ECHO "Package_Name        Version        Size        Description"     > ${LOGDIR}/software/rpm-qa--queryformat.out

    $ECHO "===================================================================================" >> ${LOGDIR}/software/rpm-qa--queryformat.out

    

    $RPM -qa --queryformat '%-25{NAME} %-16{VERSION} %-10{RELEASE} %-10{DISTRIBUTION} %-10{SIZE} %-10{INSTALLTIME:date} %{SUMMARY}\n' | sort >> ${LOGDIR}/software/rpm-qa--queryformat.out 2>&1

 

 

    #

    # Long Description of all packages installed

    #

 

    $RPM -qa > ${LOGDIR}/software/rpm_-qa 2>&1

 

    $CAT ${LOGDIR}/software/rpm_-qa | while read line

    do

        $RPM -qi $line > ${LOGDIR}/software/rpm-packages/${line}.out 2>&1

 

        if [ $? -ne 0 ] ; then

            $ECHO "ERROR: ${line} problem"

        fi

    done

 

 

    #############################################################

    # If you enable verification then this then it's going to

    # take a some time to complete........

    #############################################################

 

    if [ ${FULLSOFT} -gt 0 ] ; then

         $RPM -Va > ${LOGDIR}/software/rpm-Va.out 2>&1

    fi

fi

 

if [ -f /usr/lib/rpm/rpmrc ] ; then

    $CP -p /usr/lib/rpm/rpmrc ${LOGDIR}/software/rpmrc

fi

 

 

 

# Make a copy of the yum config files so that we can compare them

YUMDIR=${LOGDIR}/software/yum

 

if [ -d /etc/yum.repos.d ] ; then

    $MKDIR -p $YUMDIR/yum.repos.d

    $CP /etc/yum.repos.d/* $YUMDIR/yum.repos.d/

fi

 

if [ -x "$YUM" ] ; then

    $YUM list installed > ${YUMDIR}/yum_list_installed.out 2>&1

    $YUM info installed > ${YUMDIR}/yum_info_installed.out 2>&1

fi

 

 

 

##############################################################################

# Some Debian specific info here for packages

##############################################################################

 

 

if [ -f /var/lib/dpkg/available ] ; then

 

    $MKDIR -p ${LOGDIR}/var/lib/dpkg

 

    if [ -d /etc/apt ] ; then

        $MKDIR -p ${LOGDIR}/etc/apt

    fi

 

    if [ -f /etc/apt/sources.list ] ; then

        $CP -p /etc/apt/sources.list ${LOGDIR}/etc/apt/sources.list

    fi

 

 

    if [ -f /etc/apt/apt.conf ] ; then

        $CP -p /etc/apt/apt.conf ${LOGDIR}/etc/apt/apt.conf

    fi

 

 

    if [ -f /etc/apt/apt.conf ] ; then

        $CP -p /etc/apt/apt.conf ${LOGDIR}/etc/apt/apt.conf

    fi

 

 

    if [ -f /var/lib/dpkg/status ] ; then

        $CP -p /var/lib/dpkg/status ${LOGDIR}/var/lib/dpkg/status

    fi

 

 

    if [ -x "$DPKG" ] ; then

        $DPKG --list            > ${LOGDIR}/software/dpkg_--list.out

        $DPKG -al            > ${LOGDIR}/software/dpkg_-al.out

        $DPKG --get-selections        > ${LOGDIR}/software/dpkg_-get-selections.out

    fi

    

 

    if [ -x /usr/bin/apt-config ] ; then

        /usr/bin/apt-config dump     > ${LOGDIR}/software/apt-config_dump.out

    fi

 

fi

 

 

##############################################################################

# This Section is for Gentoo - so we can work out what packages are installed

# Provided by Adam Bills

##############################################################################

 

GENTOPKGS=${LOGDIR}/software/gento_kgs.out

if [ -d /var/db/pkg ] ; then

 

    ( find /var/db/pkg -type f -name environment.bz2 | while read x; do bzcat $x | \

        awk -F= '{

            if ($1 == "CATEGORY"){

                printf "%s ", $2;

            }

            if ($1 == "PN"){

                printf "%s ",$2;

            }

 

            if ($1 == "PV"){

                print $2;

            }

        }' ; done

 

    ) >> $GENTOPKGS

fi

 

 

# Show the bootup info

if [ -x $RC_UPDATE ] ; then

    $RC_UPDATE show >> ${LOGDIR}/software/rc-update_show.out

fi

 

 

##############################################################################

# sysconfig Section

##############################################################################

 

Echo "sysconfig Section"

 

if [ -d /etc/sysconfig ] ; then

 

    if [ ! -d ${LOGDIR}/etc/sysconfig ] ; then

        $MKDIR -p ${LOGDIR}/etc/sysconfig

    fi

 

    $CP -p -R /etc/sysconfig/*    ${LOGDIR}/etc/sysconfig

fi

 

##############################################################################

# RHN Section

##############################################################################

 

if [ -d /etc/sysconfig/rhn ] ; then

 

    Echo "RedHat Network Section"

 

    RDIR=${LOGDIR}/rhn

    $MKDIR -p ${RDIR}

 

    if [ -d /etc/rhn ] ; then

 

     $CP -pR /etc/rhn/ ${LOGDIR}/etc/rhn/

 

     if [ -f /etc/sysconfig/rhn/systemid ] ; then

         if [ -x /usr/bin/xsltproc ] ; then

             /usr/bin/xsltproc $UTILDIR/text.xsl $RDIR/systemid \

                 > $ROOT/$RHNDIR/systemid 2>&1

         fi

     fi

fi

fi

 

# if [ -x /usr/bin/rhn-schema-version ] ; then

#     /usr/bin/rhn-schema-version >$RDIR}/

# fi

 

# if [ -x /usr/bin/rhn-charsets ] ; then

#     /usr/bin/rhn-charsets

# fi

 

 

 

##############################################################################

# Systems Log Section

##############################################################################

 

Echo "Systems Log Section"

 

$CP -R -p /var/log/* ${LOGDIR}/logs

 

$DMESG > ${LOGDIR}/logs/dmesg.out

 

 

##############################################################################

# SELINUX

##############################################################################

 

Echo "SElinux Section"

 

SELINUXDIR=${LOGDIR}/selinux

$MKDIR -p ${SELINUXDIR}

 

if [ -x $SESTATUS ] ; then

    $SESTATUS -bv > ${SELINUXDIR}/sestatus_-bv.out 2>&1

fi

 

if [ -x $SEMANAGE ] ; then

    $SEMANAGE fcontexts -l > ${SELINUXDIR}/semanage_fcontexts_-l.out 2>&1

fi

 

 

if [ -x $GETSEBOOL ] ; then

    $GETSEBOOL -a > ${LOGDIR}/selinux/getsebool_-a.out 2>&1

else

    echo "getsebool not installed " > ${LOGDIR}/selinux/getsebool_-a.out

fi

 

 

##############################################################################

# Xen Information

##############################################################################

 

 

if [ -d /etc/xen ] ; then

 

    Echo "Xen Section"

 

    VIRT=${LOGDIR}/virtuals

    $MKDIR -p ${VIRT}

 

 

    XENETC=${LOGDIR}/xen

 

    if [ ! -d $XENETC ] ; then

        mkdir -p $XENETC

    fi

 

    $CP -Rp /etc/xen/* ${XENETC}/

 

 

    $MKDIR -p ${VIRT}/xen

 

    if [ -x $XM ] ; then

        $XM list        > $VIRT/xen/xm_list.out        2>&1

        $XM info        > $VIRT/xen/xm_info.out        2>&1

        $XM logs        > $VIRT/xen/xm_log.out        2>&1

        $XM dmesg        > $VIRT/xen/xm_dmesg.out    2>&1

        $XM vcpu-list        > $VIRT/xen/xm_vcpu-list.out    2>&1

 

        for myHost in $($XM list 2>/dev/null | egrep -v "VCPUs |^Domain-0")

        do

            $XM network-list $myHost     > $VIRT/xen/xm_network-list_${myHost}.out 2>&1

            $XM uptime $myHost        > $VIRT/xen/xm_uptime_${myHost}.out 2>&1

            $VIRSH dominfo $myHost     > $VIRT/xen/virsh_dominfo_${myHost}.out 2>&1

        done

 

    fi

fi

 

 

##############################################################################

#    yp services

##############################################################################

 

Echo "YP Services Section"

YPDIR=${LOGDIR}/yp

$MKDIR -p ${YPDIR}

 

if [ -x "$YPWHICH" ] ; then

    $YPWHICH -m > ${YPDIR}/ypwhich-m.out 2>&1

fi

 

if [ -f /etc/domainname ] ; then

    $CP -p /etc/domainname ${LOGDIR}/etc/

 

    $LS -lR /var/yp/$(cat /etc/domainname) > ${YPDIR}/ls_-lR.out 2>&1

 

fi

 

 

 

 

##############################################################################

# Networking Section

##############################################################################

 

 

Echo "Networking Section"

 

for i in $($LS -d /etc/host* )

do

    filename=$(basename $i)

    $CP -p $i ${LOGDIR}/etc/${filename}

done

 

 

for i in $( $LS -d /etc/ftp* 2>/dev/null )

do

    filename=$(basename $i)

    $CP -p $i ${LOGDIR}/etc/$filename

done

 

 

$CP -p /etc/services ${LOGDIR}/etc/services

 

if [ -f /etc/HOSTNAME ] ; then

    $CP -p /etc/HOSTNAME ${LOGDIR}/etc/HOSTNAME

fi

 

if [ -f /etc/hostname ] ; then

    $CP -p /etc/hostname ${LOGDIR}/etc/hostname

fi

 

if [ -f /etc/networks ] ; then

    $CP -p /etc/networks ${LOGDIR}/etc/networks

fi

 

if [ -f /etc/hosts.allow ] ; then

    $CP -p /etc/hosts.allow ${LOGDIR}/etc/hosts.allow

fi

 

if [ -f /etc/hosts.deny ] ; then

    $CP -p /etc/hosts.deny ${LOGDIR}/etc/hosts.deny

fi

 

if [ -f /etc/shells ] ; then

    $CP -p /etc/shells ${LOGDIR}/etc/shells

fi

 

if [ -f /etc/network/interfaces ] ; then

 

    if [ ! -d ${LOGDIR}/etc/network/interfaces ] ; then

         $MKDIR -p ${LOGDIR}/etc/network/interfaces

    fi

 

    $CP -p /etc/network/interfaces ${LOGDIR}/etc/network/interfaces

 

fi

 

 

 

$MKDIR -p ${LOGDIR}/network

 

$IFCONFIG -a        > ${LOGDIR}/network/ifconfig_-a.out 2>&1

$NETSTAT -rn        > ${LOGDIR}/network/netstat_-rn.out 2>&1

$NETSTAT -lan        > ${LOGDIR}/network/netstat_-lan.out 2>&1

$NETSTAT -lav        > ${LOGDIR}/network/netstat_-lav.out 2>&1

$NETSTAT -tulpn        > ${LOGDIR}/network/netstat_-tulpn.out 2>&1

$NETSTAT -ape        > ${LOGDIR}/network/netstat_-ape.out 2>&1

$NETSTAT -uan        > ${LOGDIR}/network/netstat_-uan.out 2>&1

$NETSTAT -s         > ${LOGDIR}/network/netstat_-s.out 2>&1

$ROUTE -nv        > ${LOGDIR}/network/route_-nv.out 2>&1

 

if [ -x "$IP" ] ; then

    $IP add    > ${LOGDIR}/network/ip_add.out 2>&1

    $IP route    > ${LOGDIR}/network/ip_route.out 2>&1

    $IP link    > ${LOGDIR}/network/ip_link.out 2>&1

    $IP rule    > ${LOGDIR}/network/ip_rule.out 2>&1

fi

 

if [ -x "$IWCONFIG" ] ; then

    $IWCONFIG    > ${LOGDIR}/network/iwconfig.out 2>&1

fi

 

if [ -x "${MIITOOL}" ] ; then

     ${MIITOOL}    > ${LOGDIR}/network/mii-tool.out 2>&1

fi

 

 

#

# Collect bridging information

#

if [ -x "${BRCTL}" ] ; then

 

$BRCTL show > ${LOGDIR}/network/brctl_show.out 2>&1

 

for myBridge in $($BRCTL show | grep -v "STP enabled" | grep ^[a-zA-Z] | awk '{ print $1}')

do

 

$BRCTL showmacs $myBridge > ${LOGDIR}/network/btctl_showmacs_${myBridge}.out 2>&1

$BRCTL showstp $myBridge > ${LOGDIR}/network/btctl_showstp_${myBridge}.out 2>&1

 

done

 

fi

 

 

##############################################################################

# Get the iptable information

##############################################################################

 

if [ -x "$IPTABLES" ] ; then

    $IPTABLES -L          > ${LOGDIR}/network/iptables-L.out

    $IPTABLES -t filter -nvL     > ${LOGDIR}/network/iptables-t_filter-nvL.out

    $IPTABLES -t mangle -nvL     > ${LOGDIR}/network/iptables-t_mangle-nvL.out

    $IPTABLES -t nat -nvL        > ${LOGDIR}/network/iptables_-t_nat_-nvL.out

 

else

    $ECHO "no iptables in kernel" > ${LOGDIR}/network/iptables-NO-IP-TABLES

fi

 

 

 

##############################################################################

# List the ipchains rules

##############################################################################

 

if [ -x "$IPCHAINS" ] ; then

    $IPCHAINS -L -n > ${LOGDIR}/network/ipchains_-L_-n.out

fi

 

 

##############################################################################

# Lets now check the network cards speeds

##############################################################################

 

 

ETHTOOL="X"

 

 

if [ -x "$ETHTOOL" ] ; then

 

    for version in 4 6

    do

        dir=/proc/sys/net/ipv${version}/conf

 

        if [ ! -d ${dir} ] ; then

            continue

        fi

 

        cd $dir

 

        INTERFACES=$( cat /proc/net/dev | grep ":" | awk '{print $1 }' | sed 's/://g')

 

        for i in $INTERFACES

        do

        $ETHTOOL $i > ${LOGDIR}/network/ethtool_ipv${version}_${i}.out 2>&1

        $ETHTOOL -i $i >> ${LOGDIR}/network/ethtool_ipv${version}_${i}.out 2>&1

        done

 

    done

 

fi

 

 

##############################################################################

# xinetd Section

##############################################################################

 

Echo "xinetd Section"

 

if [ -d /etc/xinet.d ] ; then

    XINETD=${LOGDIR}/etc/xinet.d

 

    $MKDIR -p ${XINETD}

 

    for i in $($LS -d /etc/xinetd.d/* )

    do

        filename=$(basename $i)

        $CP -p $i ${XINETD}/$filename

    done

fi

 

 

if [ -f /etc/xinetd.log ] ; then

    $CP -p /etc/xinetd.log ${LOGDIR}/etc/xinetd.log

fi

 

 

##############################################################################

# DNS Section

##############################################################################

 

Echo "DNS Section"

 

 

if [ -f /etc/named.boot ] ; then

    $CP -p /etc/named.boot ${LOGDIR}/etc/named.boot

fi

 

 

DNSDIR=""

# if [ -f "/etc/named.conf" ] ; then

#     DNSDIR=$($GREP -i directory /etc/named.conf | \

#          $GREP -v ^# | \

#          $GAWK '{ print $2 ;}' | \

#          $SED s/\"//g|/bin/sed s/\;//g

#         )

# fi

 

 

if [ "${DNSDIR}" != "" ] ; then

 

    if [ ! -d ${LOGDIR}${DNSDIR} ] ; then

        $MKDIR -p ${LOGDIR}${DNSDIR}

    fi

 

    cd ${DNSDIR}

     $TAR cf - . 2>/dev/null | ( cd ${LOGDIR}${DNSDIR} ; tar xpf - ) > /dev/null 2>&1

fi

 

 

##############################################################################

# Cluster Section

##############################################################################

 

 

CLUSTERDIR=${LOGDIR}/clusters

 

Echo "Cluster Section"

 

# Oracles OCFS2 cluster filesystems

if [ -f /etc/ocfs2/cluster.conf ] ; then

    $MKDIR -p ${LOGDIR}/etc/ocfs2

    $CP -p /etc/ocfs2/cluster.conf ${LOGDIR}/etc/ocfs2/cluster.conf

fi

 

# Redhat Cluster

if [ -x $CLUSTAT ] ; then

 

    Echo "Veritas Cluster Section"

 

    MyClusterDir=$CLUSTERDIR/redhat

    mkdir -p $CLUSTERDIR/redhat

 

    $CLUSTAT    > $MyClusterDir/clustat.out 2>&1

    $CLUSTAT -f    > $MyClusterDir/clustat_-f.out 2>&1

    $CLUSTAT -l    > $MyClusterDir/clustat_-l.out 2>&1

    $CLUSTAT -I    > $MyClusterDir/clustat_-I.out 2>&1

    $CLUSTAT -v    > $MyClusterDir/clustat_-v.out 2>&1

    $CLUSTAT -x    > $MyClusterDir/clustat_-x.out 2>&1

 

    $CLUSVCADM -v    > $MyClusterDir/clusvcadm_-x.out    2>&1

    $CLUSVCADM -S    > $MyClusterDir/clusvcadm_-S.out    2>&1

 

fi

 

 

if [ -f /etc/cluster.xml ] ; then

    $CP -p /etc/cluster.xml ${LOGDIR}/etc/cluster.xml

fi

 

 

 

# Veritas Cluster

if [ -f /etc/VRTSvcs/conf/config/main.cf ] ; then

 

Echo "Veritas Cluster Section"

 

VCSDIR=${LOGDIR}/clusters/veritas

$MKDIR -p ${VCSDIR}

 

 

$MKDIR -p ${LOGDIR}/etc/VRTSvcs/conf/config

$CP -p /etc/VRTSvcs/conf/config/* ${LOGDIR}/etc/VRTSvcs/conf/config

 

 

if [ -d /var/VRTSvcs/log ] ; then

        $MKDIR -p ${LOGDIR}/var/VRTSvcs/log

        $CP -p /var/VRTSvcs/log/* ${LOGDIR}/var/VRTSvcs/log

fi

 

 

$HASTATUS -sum > ${VCSDIR}/hastatus_-sum.out 2>&1

$HARES -list > ${VCSDIR}/hares_-list.out 2>&1

$HAGRP -list > ${VCSDIR}/hagrp_-list.out 2>&1

$HATYPE -list > ${VCSDIR}/hatype_-list.out 2>&1

$HAUSER -list > ${VCSDIR}/hauser_-list.out 2>&1

$LLTSTAT -vvn > ${VCSDIR}/lltstat_-vvn.out 2>&1

$GABCONFIG -a > ${VCSDIR}/gabconfig_-a.out 2>&1

 

$HACF -verify /etc/VRTSvcs/conf/config/main.cf > ${VCSDIR}/hacf-verify.out 2>&1

 

$CP -p /etc/llthosts ${LOGDIR}/etc

$CP -p /etc/llttab ${LOGDIR}/etc

$CP -p /etc/gabtab ${LOGDIR}/etc

 

 

fi

 

 

 

##############################################################################

# Crontab Section

##############################################################################

 

Echo "Crontab Section"

 

$MKDIR -p ${LOGDIR}/etc/cron

$CP -R -p /etc/cron* ${LOGDIR}/etc

 

 

if [ -d /var/spool/cron ] ; then

$MKDIR -p ${LOGDIR}/var/spool/cron

cd /var/spool/cron

$TAR cf - . | ( cd ${LOGDIR}/var/spool/cron ; tar xpf - )

fi

 

 

 

##############################################################################

# Printer Section

##############################################################################

 

Echo "Printer Section"

 

PRINTDIR=${LOGDIR}/lp

 

$MKDIR -p ${PRINTDIR}

$MKDIR -p ${PRINTDIR}/general

$MKDIR -p ${LOGDIR}/etc/printcap

 

if [ -x /usr/bin/lpstat ] ; then

    /usr/bin/lpstat -t    > ${PRINTDIR}/lpstat_-t.out 2>&1

fi

 

if [ -x /usr/sbin/lpc ] ; then

    /usr/sbin/lpc status    > ${PRINTDIR}/lpstat_status.out 2>&1

fi

 

if [ -f /etc/printcap ] ; then

    $CP /etc/printcap     ${LOGDIR}/etc/printcap

fi

 

 

if [ -d /etc/cups ] ; then

    $MKDIR -p ${LOGDIR}/etc/cups

    $CP -p -R /etc/cups/* ${LOGDIR}/etc/cups

fi

 

/usr/bin/lpq > ${PRINTDIR}/general/lpq.out 2>&1

 

 

if [ -x /usr/bin/lpq.cups ] ; then

    /usr/bin/lpq.cups    > ${PRINTDIR}/lpq.cups.out 2>&1

fi

 

 

##############################################################################

# openldap Section

##############################################################################

 

Echo "Openldap Section"

 

if [ -d /etc/openldap ] ; then

    $MKDIR -p ${LOGDIR}/etc/openldap

    $CP -p -R /etc/openldap/* ${LOGDIR}/etc/openldap

fi

 

 

##############################################################################

# pam Section

##############################################################################

 

Echo "Pam Section"

 

$MKDIR -p ${LOGDIR}/etc/pam

 

$CP -p -R /etc/pam.d/* ${LOGDIR}/etc/pam/

 

 

 

 

##############################################################################

# Sendmail Section

##############################################################################

 

Echo "Sendmail Section"

 

$MKDIR -p ${LOGDIR}/etc/mail

 

if [ -f /etc/sendmail.cf ] ; then

    $CP -p /etc/sendmail.cf ${LOGDIR}/etc/sendmail.cf

fi

 

if [ -f /etc/sendmail.cw ] ; then

    $CP -p /etc/sendmail.cw ${LOGDIR}/etc/sendmail.cw

fi

 

 

if [ -d /etc/mail ] ; then

    for i in $($LS -d /etc/mail/* | $GREP -v \.db) ; do

        $CP -R -p $i ${LOGDIR}/etc/mail

    done

fi

 

if [ -f /etc/aliases ] ; then

    $CP -p /etc/aliases ${LOGDIR}/etc/aliases

fi

 

if [ -f /etc/mail/aliases ] ; then

    $CP -p /etc/mail/aliases ${LOGDIR}/etc/mail/aliases

fi

 

 

##############################################################################

# Postfix Section

##############################################################################

 

Echo "Postfix Section"

 

if [ -d /etc/postfix ] ; then

    POSTDIR=${LOGDIR}/etc/postfix

    $MKDIR -p $POSTDIR

    $CP -p -R /etc/postfix/* ${POSTDIR}

    $POSTCONF -v        > ${POSTDIR}/postconf_-v.out 2>&1

    $POSTCONF -l        > ${POSTDIR}/postconf_-l.out 2>&1

fi

 

##############################################################################

# Exim Section

##############################################################################

 

Echo "Exim Section"

 

if [ -d /etc/exim ] ; then

EXIMDIR=${LOGDIR}/etc

$CP -p -R /etc/exim ${EXIMDIR}

fi

 

 

 

##############################################################################

# Time Section

##############################################################################

 

Echo "Time Section"

 

TIMEDIR=${LOGDIR}/etc/time

 

if [ ! -d ${TIMEDIR} ] ; then

    $MKDIR -p ${TIMEDIR}

fi

 

$DATE         > ${TIMEDIR}/date

 

if [ -f /etc/timezone ] ; then

    $CP -p /etc/timezone ${TIMEDIR}/timezone

fi

 

if [ -f /usr/share/zoneinfo ] ; then

    $CP -p /usr/share/zoneinfo ${TIMEDIR}/zoneinfo

fi

 

if [ -f /etc/ntp.drift ] ; then

    $CP -p /etc/ntp.drift ${TIMEDIR}/ntp.drift

fi

 

if [ -x $HWCLOCK ] ; then

    $HWCLOCK --show > ${TIMEDIR}/hwclock_--show.out

fi

 

if [ -x $NTPQ ] ; then

    $NTPQ -p > ${TIMEDIR}/ntpq_-p.out 2>&1

fi

 

if [ -f /etc/ntp/step-tickers ] ; then

    $CP -p /etc/ntp/step-tickers ${LOGDIR}/etc

fi

 

if [ -f /etc/ntp/ntpservers ] ; then

    $CP -p /etc/ntp/ntpservers ${LOGDIR}/etc

fi

 

 

##############################################################################

# PPP Section

##############################################################################

 

Echo "PPP Section"

 

PPPDIR=${LOGDIR}/etc/ppp

 

if [ ! -d ${PPPDIR} ] ; then

    $MKDIR -p ${PPPDIR}

    $MKDIR -p ${PPPDIR}/peers

fi

 

if [ -d /etc/ppp ] ; then

    $CP -R -p /etc/ppp/*         ${PPPDIR} 2>&1

fi

 

if [ -d /etc/wvdial ] ; then

    $CP -p /etc/ppp/options.*     ${PPPDIR} > /dev/null 2>&1

    $CP -p -R /etc/ppp/peers/*     ${PPPDIR}/peers

fi

 

 

 

 

##############################################################################

# Apache Section

##############################################################################

 

Echo "Apache Section"

 

if [ -d /etc/httpd ] ; then

    APACHEDIR=${LOGDIR}/httpd

else

    APACHEDIR=${LOGDIR}/apache

fi

 

if [ ! -d $APACHEDIR ] ; then

    $MKDIR -p ${APACHEDIR}

fi

 

 

if [ -x $APACHECTL ] ; then

    $APACHECTL status > ${APACHEDIR}/apachectl_status.out 2>&1

fi

 

if [ -x $APACHE2CTL ] ; then

    $APACHE2CTL status > ${APACHEDIR}/apache2ctl_status.out 2>&1

fi

 

 

 

##############################################################################

# Samba Section

##############################################################################

 

Echo "Samba Section"

 

SAMBADIR=${LOGDIR}/disks/samba

 

if [ ! -d ${SAMBADIR} ] ; then

    $MKDIR -p ${SAMBADIR}

fi

 

if [ -x $TESTPARM ] ; then

    $ECHO "y" | $TESTPARM > ${SAMBADIR}/testparm.out 2>&1

fi

 

if [ -x $wBINFO ] ; then

    $WBINFO -g > ${SAMBADIR}/wbinfo_-g.out 2>&1

    $WBINFO -u > ${SAMBADIR}/wbinfo_-g.out 2>&1

fi

 

 

##############################################################################

# Openssh Section

##############################################################################

 

Echo "Openssh Section"

 

 

SSHDIR=${LOGDIR}/etc/ssh

 

$MKDIR -p ${SSHDIR}

 

 

if [ -f /etc/nologin ] ; then

    $CP -p /etc/nologin ${LOGDIR}/etc/nologin

fi

 

if [ -d /etc/ssh/ssh_config ] ; then

    $CP -p /etc/ssh/ssh_config ${SSHDIR}/ssh_config

fi

 

if [ -d /etc/ssh/sshd_config ] ; then

    $CP -p /etc/ssh/sshd_config ${SSHDIR}/sshd_config

fi

 

 

 

##############################################################################

# X11 Section

##############################################################################

 

Echo "X11 Section"

XDIR=${LOGDIR}/X

 

$MKDIR -p $XDIR

 

if [ -d /etc/X11 ] ; then

    $CP -R -p /etc/X11     ${LOGDIR}/etc

fi

 

 

if [ -x $SYSP ] ; then

    $SYSP -c          > ${XDIR}/sysp_-c.out

    $SYSP -s mouse        > ${XDIR}/sysp_-s_mouse.out

    $SYSP -s keyboard     > ${XDIR}/sysp_-s_keyboard.out

fi

 

if [ -x $_3DDIAG ] ; then

    $_3DDIAG     > ${XDIR}/3Ddiag.out

fi

 

 

##############################################################################

# This section is for removing any information

# about hardcoded passwords inserted in files.

##############################################################################

 

if [ -f /etc/wvdial.conf ] ; then

    $CAT /etc/wvdial.conf | sed -e /^Password/d > ${LOGDIR}/etc/wvdial.conf

fi

 

 

##############################################################################

# Tar Up Support Directory

##############################################################################

 

cd $LOGDIR

 

$TAR czf ${TARFILE} . > /dev/null 2>&1

 

if [ -t 0 ] ; then

 

    if [ ${VERBOSE} -gt 0 ] ; then

        ## tput clear

 

        $CAT <<- EOF

    

        The Tar file

      

            ${TARFILE}

    

        has been created for support purposes

    

        You can email/sftp the tar file to those providing you

        with technical support

    

        EOF

    fi

fi

 

 

##############################################################################

#         That's ALL Folks !!!

##############################################################################

'OS > Linux' 카테고리의 다른 글

리눅스 hostid 변경  (0) 2012.09.13
Linux_관리_점검스크립트  (0) 2011.05.09
Linux_RPM을 이용한 패키지 설치  (0) 2011.05.09
Linux_JDK(Java) 설치  (0) 2011.05.09
Linux_시간(date)설정 및 시간동기화  (0) 2011.05.09
Linux_파일시스템_samba 구성  (0) 2011.05.06
Trackback 3 And Comment 0

Linux_JDK(Java) 설치

|

Linux에서 JDK설치

(본 문서는 CentOS5.5에 JDK1.6.0_21설치 및 테스트후 작성되었음)

 

1. JDK 다운로드

    - http://java.sun.com

    또는

    - http://www.oracle.com/technetwork/java/javase/downloads/index.html

    에서 해당 버전을 다운로드

    (본 문서는 jdk-6u21-linux-x64-rpm.bin를 다운로드 하였고, 실행권한을 부여하여 자동설치 하였음)    

 

2. JDK 설치

    [saweb:/app]chmod 755 jdk*

    [saweb:/app]jdk*

    

3. JAVA 환경설정

    [saweb:/]vi ~/.bash_profile

        export JAVA_HOME=/usr/java/default #자바 설치 디렉토리추가

        export CLASSPATH=$JAVA_HOME/lib/tools.jar #클래스패스 추가

        export PATH=$PATH:$JAVA_HOME/bin:$CLASSPATH #실행디렉토리와 클래스패스를 등록

 

4. 설치 확인

    [saweb:/app]java -version

        java version "1.6.0_21"

        Java(TM) SE Runtime Environment (build 1.6.0_21-b06)

        Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)

'OS > Linux' 카테고리의 다른 글

리눅스 hostid 변경  (0) 2012.09.13
Linux_관리_점검스크립트  (0) 2011.05.09
Linux_RPM을 이용한 패키지 설치  (0) 2011.05.09
Linux_JDK(Java) 설치  (0) 2011.05.09
Linux_시간(date)설정 및 시간동기화  (0) 2011.05.09
Linux_파일시스템_samba 구성  (0) 2011.05.06
Trackback 0 And Comment 0

Linux_파일시스템_samba 구성

|

1. Samba 서버의 기능

    1) 리눅스 파일시스템을 공유합니다.

    2) 리눅스에 연결된 프린터를 공유합니다.

    3) 윈도우즈 공유폴더를 공유합니다.

    4) 윈도우즈에 연결된 프린터를 공유합니다.

 

2. Samba 패키지 확인

    # rpm –qa | grep samba

     samba-client-3.0.10-1.4E.9

samba-common-3.0.10-1.4E.9

samba-3.0.10-1.4E.9

(samba, samba-common, samba-client 패키지 확인)

 

3. 인증을 요구하지 않는 Samba서버 구축하기

•삼바서버를 구현하는 방법으로 크게 공유디렉토리접근시 인증절차를 거치는 경우와 그렇지 않은 경우로 나누어 집니다.

이때 인증절차를 거치는 경우는 리눅스를 이용한 인증과 윈도우즈를 이용하는 인증으로 나누어지며, 윈도우즈를 이용하는 인증은 다시 패스워드 서버를 통한 인증 및 도메인 콘트롤러를 이용한 인증으로 나누어집니다.

•여기서는 인증을 요구하지 않는 삼바서버와, 리눅스를 통한 인증을 제공하는 삼바서버를 구현하도록 하겠습니다.

 

3.1. Samba 설정파일 수정

    1) smb.conf파일 수정

        •# vi /etc/samba/smb.conf

[ g l o b a l ]

dos charset = CP949

unix charset = euc-KR (한글 깨짐을 방지하는 옵션)

netbios name = vpdev(네트워크공유에 나타날 이름)

workgroup = WORKGROUP (윈도우에서 사용하는 워크그룹)

server string = vpdev (네트워크공유에 나타날 이름)

hosts allow = 192.168.1.0/255.255.255.0 (허용할 네트웍대역)

security = share (인증없이 로그온)

    encrypt passwords = yes (패스워드 암호화)

    smb passwd file = /etc/samba/smbpasswd (패스워드 참조 파일)

    guest account = rinoc (로그온 계정)

    log file = /var/log/samba/%m.log

    socket options = TCP_NODELAY SO_RCVBUF=32768 SO_SNDBUF=32768

 

[ p u b l i c ]

    comment = home samba

    path = /rinoc/rinoc (공유할 폴더)

    public = yes (인증없는 삼바서버일지라도 이 문구가 없으면, 삼바계정이 없는 유저는 접근이 통제됨)

    writable = yes

    browseable = yes (폴더를 보일것인지 감출것인지)

    3) Samba 기동

        •# /etc/init.d/smb start

            SMB서비스를 시작하고 있습니다: [ 확인 ]

            NMB서비스를 시작하고 있습니다: [ 확인 ]

 

    4) 사용자 추가

        •samba 계정 생성

         - # useradd -u 10001 -g 10000 -m -d /rinoc/rinoc rinoc

 

[rinoc$] ($붙이면 사용은 가능하지만, 검색되지 않음 browseable = no와 같음)

path = /rinoc/rinoc

username = rinoc

read only = no (읽고 쓰기가능 writable = yes와 같음)

      

3.2. 윈도우서버에서 공유폴더 접근

 

3.2.1. 공유폴더 접근

    1) Netbios 설치

    2) 시작 -> 실행 -> \\vpdev

 

3.2.2. 네트워크 드라이브 연결

 

    1) 네트워크 드라이브 연결

 

    2) 로그온시 자동으로 마운트 하도록 설정

  

    3) 드라이브 마운트 확인

 

4. 인증을 요구하는 Samba서버 설치

    Samba서버의 공유디렉토리 및 프린터를 이용시 인증을 요구하는 서버는 보안문제를 강화하며, 더 세밀    한 접근 제한이 가능하다는 장점이 있습니다.

 

4.1. Samba 설정파일 수정

    1) 인증받을 유저생성

        •# groupadd -g 10000 samba

        •# useradd -g samba -u 10001 -s /bin/bash -m -d /home/samba

 

[ g l o b a l ]

dos charset = CP949

unix charset = euc-KR (한글 깨짐을 방지하는 옵션)

netbios name = linux (네트워크공유에 나타날 이름)

workgroup = WORKGROUP (윈도우에서 사용하는 워크그룹)

server string = Samba Server (네트워크공유에 나타날 이름)

hosts allow = 192.168.1.0/255.255.255.0 (허용할 네트웍대역)

security = user (smbpasswd에 정의된 유저만 허용)

    encrypt passwords = yes (패스워드 암호화)

    smb passwd file = /etc/samba/smbpasswd (패스워드 참조 파일)

    guest account = samba (로그온 계정)

    log file = /var/log/samba/%m.log

    socket options = TCP_NODELAY SO_RCVBUF=32768 SO_SNDBUF=32768

 

[ samba]

    comment = home samba

    path = /home/samba (공유할 폴더)

    writable = yes

    browseable = yes (폴더를 보일것인지 감출것인지)


    2) smb.conf 파일 수정

        (public을 공유하고자 하는 이름으로 변경하면 해당 폴더명으로 공유됨)

 

    3) Password 추가

        •# smbpasswd -a samba

 

    4) Samba 기동

        •# /etc/init.d/smb restart

            SMB 서비스를 종료함: [ 확인 ]

            NMB 서비스를 종료함: [ 확인 ]

            SMB서비스를 시작하고 있습니다: [ 확인 ]

            NMB서비스를 시작하고 있습니다: [ 확인 ]

 

4.2 윈도우 서버에서 공유폴더로 접근

 

5. 리눅스에서 윈도우서버 공유폴더 사용하기

    1) 윈도우에서 공유폴더를 지정

 

    2) 공유된 디렉토리 사용하기

        •# smbclient //Choi-jin/data

 

    3) 공유 디렉토리 마운트 하기

        •# smbmount //Choi-jin/"자료" /mnt

        •# cd /mnt ; ls

            AMD LINUX NT Network UNIX XL-Datamover 보안 스토리지

 

6. Samba를 이용한 프린터 공유

    1) 리눅스상에 프린터설정을 마친 후 smb.conf에 다음영역을 추가

        •# vi /etc/samba/smb.conf

 

 

 

 

'OS > Linux' 카테고리의 다른 글

리눅스 hostid 변경  (0) 2012.09.13
Linux_관리_점검스크립트  (0) 2011.05.09
Linux_RPM을 이용한 패키지 설치  (0) 2011.05.09
Linux_JDK(Java) 설치  (0) 2011.05.09
Linux_시간(date)설정 및 시간동기화  (0) 2011.05.09
Linux_파일시스템_samba 구성  (0) 2011.05.06
Trackback 0 And Comment 0

Eclipse Helios에서 Cygwin을 이용한 C/C++개발환경 구축

|

1. 시작하기 전에
eclipse의 CDT에는 C/C++컴파일러 및 디버깅를 포함하고 있지 않지만, 일괄된 방법으로 통합된 Framework을 제공한다.
각 프로젝트의 요구사항에 맞게 각 툴들을 혼합할 수 있다.

1.1 컴파일러 및 디버깅 도구 선택하기
Windows환경을 지원하는 도구로는 MinGW, Cygwin이 있다.

가. MinGW : 윈도우로 포팅한 GNU소프트웨어 도구모음
(유닉스계통의 기능을 가상으로 구현하는 런타임에 의존하지않기 때문에, 마이크로소프트 윈도우 기반 프로그램들을 만들수 있다.)
이클립스에서 Wascana를 얻는방법 : http://www.eclipselabs.org/p/wascana
홈페이지에서 얻는방법 : http://www.mingw.org

나. CygWin : 다양한 버전의 MS윈도우에서 유닉스 시스템과 유사하게 동작하도록 한 에뮬레이터
홈페이지에서 Setup.exe 파일을 가져와 설치한다. : http://www.cygwin.com

/- 필자는 윈도우/리눅스/유닉스용 개발환경을 구축하기 위해 CygWin을 설치 하였다. *-


1.2 컴파일러 및 디버깅 도구 설치하기

가. CygWin Setup.exe 파일 가져오기 : http://www.cygwin.com
- 홈페이지 중간의 <Current Cygwin DLL version>섹션에서 setup.exe를 클릭한다.
- 다운받은 Setup.exe를 실행시킨후 기초 환경설정을 하며 <다음>을 클릭하여 진행한다.

나. Download Site 지정
- 하단 부분에 kaist FTP사이트가 나오는데, 간혹 에러가 난다.
/- 필자의 경우 귀차니즘으로 맨 위 사이트 선택했는데, 평균 20kbp/s 나왔다... 대략 난감했다 *-

다. 패키지 선택
- 진행하다 보면 패키지를 선택하라는 아래와같은 화면이 나오는데
- 대충 Linux/Unix를 다뤄 본 사람들은 알아서 잘 설치하면 된다.
/- 필자는 Accessibility, Admin, Archive, Base, Devel(GCC/GDB.. 필수), Doc, Editors(vim만 설치), Interpreters, Libs, Mingw, Net, Perl, Python, Security, Shells, System, Text, Utils, X11을 설치하였다. 필요없는 부분은 추후 Setup.exe를 다시 실행 후 Unintall로 바꾸어서 제거 하면된다 *-

라. 환경설정
- C:\cygwin\bin;C:\cygwin\usr\include; 를 환경변수 PATH에 추가한다.

마. Cygwin 실행하기
- 설치가 끝난후 바탕화면의 Cygwin 바로가기가 등록 되는데, 클릭하면 유닉스 쉘창이 나타나며, 유닉스 명령이 실행되는 것을 볼 수 있다.


2. C/C++ Development Tools(CDT) 설치하기
- eclipse를 실행 후 Help -> Install New Software 선택

- C/C++ Development Tools를 선택 후 <다음>을 눌러 설치 진행


3. C/C++ 프로젝트 생성

3.1 프로젝트 환경설정
- 이클립스 실행 후 Window -> Preference 선택
- C/C++ 항목의 New CDT Project Wizard를 확장 후 Makefile Project를 클릭한다.
- Binary Parsers에 아래와 같이 선택한다.

- Error Parsers는 사용중지된 항목을 제외하곤 전부 선택되어 있다.

- 가장 우측에 있는 Behaviour탭에 [Build on resource save(Auto build)]항목에 체크하여 Auto Debugging이 되도록 설정한다.


3.2 프로젝트 생성 및 실행
- 이클립스 실행 후 File -> New -> Other 에서 C Project를 선택한다.

- 프로젝트명과 프로젝트 타입, 도구 선택 후 Finish를 클릭


- 프로젝트가 생성된것을 확인(puts로 되있는데.. printf로 변경해도 무방)

- Run을 클릭 또는 Ctrl + F11을 눌러서 실행
- Console창에 "!!!Hello World!!!"가 뜨면 끝.

Trackback 1 And Comment 0
prev | 1 | next