Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Rev1.8 2001/03/14
- #
- echo "Network printer install shell"
- echo " Copyright RICOH CO., LTD. 1994-2000"
- umask 022
- if test -f /usr/bin/logname;then WHOAMI=/usr/bin/logname; fi
- if test -f /usr/bin/whoami;then WHOAMI=/usr/bin/whoami; fi
- if test -f /usr/ucb/whoami;then WHOAMI=/usr/ucb/whoami; fi
- if test `$WHOAMI` != root
- then echo "This program must be run by root!"
- exit 1
- fi
- if test -f /usr/5bin/cut;then CUT=/usr/5bin/cut; fi
- if test -f /usr/bin/cut;then CUT=/usr/bin/cut; fi
- if test -f /bin/cut;then CUT=/bin/cut; fi
- cat << OS_SELECT
- Select your workstation OS type.
- 1. SunOS 4.x.x
- 2. Solaris 2.x, Solaris 7-8 (Sun0S5.x)
- 3. HP-UX 8.x,9.x,10.x,11.x
- 4. UnixWare
- 5. Linux
- 6. other
- OS_SELECT
- echo "Enter <1-6>: \c"
- read SELECT
- case $SELECT in
- 1) OS_TYPE="SunOS4" ;;
- 2) OS_TYPE="Solaris2" ;;
- 3) OS_TYPE="HPUX" ;;
- 4) OS_TYPE="UnixWare" ;;
- 5) OS_TYPE="Linux" ;;
- *) exit 1 ;;
- esac
- if test "$OS_TYPE" = "Solaris2"
- then OS_VERSION=`uname -r | /usr/bin/awk -F'.' '{print $1 $2}'`
- if test $OS_VERSION -ge 56
- then OS_TYPE="Solaris2.6"
- else OS_TYPE="Solaris2.5"
- fi
- fi
- echo "Enter Printer host IP address <xxx.xxx.xxx.xxx> [return=skip]: \c"
- read IP_ADDRESS
- echo "Enter Printer host name : \c"
- read HOST_NAME
- if test -z "$HOST_NAME"
- then echo "Invalid host name"
- exit 1
- fi
- echo "Enter logical printer name [default ${HOST_NAME}_prn]: \c"
- read PRINTER
- if test -z "$PRINTER"
- then PRINTER=${HOST_NAME}_prn
- fi
- DEFAULT_REMOTE="lp"
- echo "Enter remote printer name [default $DEFAULT_REMOTE]: \c"
- read REMOTE
- if test -z "$REMOTE"
- then REMOTE=$DEFAULT_REMOTE
- fi
- if test -n "$IP_ADDRESS"
- then cd /etc
- if test ! -f hosts
- then touch hosts
- fi
- ENTRY=`grep "^$IP_ADDRESS\>" hosts|$CUT -f1`
- if test -z "$ENTRY"
- then cat >> hosts << HOSTS_END
- $IP_ADDRESS $HOST_NAME # Network Printer
- HOSTS_END
- echo "hosts file is modified"
- else echo "IP address is already entered"
- fi
- fi
- case $OS_TYPE in
- SunOS4)
- cd /etc
- SPOOL=${PRINTER}d
- LOG=${SPOOL}-errs
- if test ! -f printcap
- then echo "Created /etc/printcap"
- fi
- cat >> printcap << PRINTCAP_END
- $PRINTER|Network printer \\
- :rm=$HOST_NAME:\\
- :rp=$REMOTE:\\
- :sd=/usr/spool/$SPOOL:\\
- :lf=/usr/adm/$LOG:\\
- :mx#0:
- PRINTCAP_END
- cd /usr/spool
- if test ! -d $SPOOL
- then mkdir $SPOOL
- chown daemon $SPOOL
- chgrp daemon $SPOOL
- fi
- cd /usr/adm
- if test ! -f $LOG
- then touch $LOG
- chown daemon $LOG
- chgrp daemon $LOG
- fi
- ;;
- Solaris2.5)
- /usr/lib/lpsystem -t bsd -R 0 -y "NetWork Printer " $HOST_NAME
- /usr/lib/lpadmin -p $PRINTER -s $HOST_NAME!$REMOTE -T dumb -I any
- /usr/lib/accept $PRINTER
- /usr/bin/enable $PRINTER
- ;;
- Solaris2.6)
- REMOTE=`echo $REMOTE | /usr/bin/sed 's/=/_/'`
- /usr/sbin/lpadmin -p $PRINTER -s $HOST_NAME!$REMOTE -T dumb -I any
- ;;
- HPUX)
- /usr/lib/lpshut
- /usr/lib/lpadmin -P$PRINTER -v/dev/null -mrmodel -orm$HOST_NAME -orp$REMOTE -ob3
- /usr/lib/accept $PRINTER
- /usr/bin/enable $PRINTER
- /usr/lib/lpsched
- ;;
- UnixWare)
- /usr/lib/lpshut
- SYSTEM=`/usr/sbin/pmadm -l|grep tcp|grep listenS5`
- /usr/sbin/lpsystem -t bsd -y "NetWork Printer " $HOST_NAME
- /usr/lib/lpadmin -p $PRINTER -s $HOST_NAME!$REMOTE -I simple,postscript,plot
- /usr/lib/lp/lpsched
- sleep 1
- /usr/lib/accept $PRINTER
- /usr/bin/enable $PRINTER
- ;;
- Linux)
- cd /etc
- SPOOL=${PRINTER}d
- LOG=${SPOOL}-errs
- if test ! -f printcap
- then echo "Created /etc/printcap"
- fi
- cat >> printcap << PRINTCAP_END
- ##PRINTTOOL3## REMOTE
- $PRINTER|Network printer :\\
- :rm=$HOST_NAME:\\
- :rp=$REMOTE:\\
- :sd=/var/spool/lpd/$SPOOL:\\
- :lf=/var/log/$LOG:\\
- :sh:\\
- :mx#0:
- PRINTCAP_END
- cd /var/spool/lpd
- if test ! -d $SPOOL
- then mkdir $SPOOL
- chown root $SPOOL
- chgrp lp $SPOOL
- fi
- cd /var/log
- if test ! -f $LOG
- then touch $LOG
- chown root $LOG
- chgrp lp $LOG
- fi
- # LPRng
- if [ -f /usr/sbin/lpd ] ; then
- if [ -f /usr/sbin/checkpc ] ; then
- /usr/sbin/checkpc -f >/dev/null 2>&1
- /usr/sbin/lpc reread >/dev/null 2>&1
- fi
- fi
- ;;
- esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement