Advertisement
Guest User

not in there

a guest
Oct 23rd, 2014
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. #!/bin/sh
  2. # Rev1.8 2001/03/14
  3. #
  4. echo "Network printer install shell"
  5. echo " Copyright RICOH CO., LTD. 1994-2000"
  6.  
  7. umask 022
  8.  
  9. if test -f /usr/bin/logname;then WHOAMI=/usr/bin/logname; fi
  10. if test -f /usr/bin/whoami;then WHOAMI=/usr/bin/whoami; fi
  11. if test -f /usr/ucb/whoami;then WHOAMI=/usr/ucb/whoami; fi
  12. if test `$WHOAMI` != root
  13. then echo "This program must be run by root!"
  14. exit 1
  15. fi
  16.  
  17. if test -f /usr/5bin/cut;then CUT=/usr/5bin/cut; fi
  18. if test -f /usr/bin/cut;then CUT=/usr/bin/cut; fi
  19. if test -f /bin/cut;then CUT=/bin/cut; fi
  20.  
  21. cat << OS_SELECT
  22. Select your workstation OS type.
  23. 1. SunOS 4.x.x
  24. 2. Solaris 2.x, Solaris 7-8 (Sun0S5.x)
  25. 3. HP-UX 8.x,9.x,10.x,11.x
  26. 4. UnixWare
  27. 5. Linux
  28. 6. other
  29. OS_SELECT
  30. echo "Enter <1-6>: \c"
  31. read SELECT
  32. case $SELECT in
  33. 1) OS_TYPE="SunOS4" ;;
  34. 2) OS_TYPE="Solaris2" ;;
  35. 3) OS_TYPE="HPUX" ;;
  36. 4) OS_TYPE="UnixWare" ;;
  37. 5) OS_TYPE="Linux" ;;
  38. *) exit 1 ;;
  39. esac
  40.  
  41. if test "$OS_TYPE" = "Solaris2"
  42. then OS_VERSION=`uname -r | /usr/bin/awk -F'.' '{print $1 $2}'`
  43. if test $OS_VERSION -ge 56
  44. then OS_TYPE="Solaris2.6"
  45. else OS_TYPE="Solaris2.5"
  46. fi
  47. fi
  48.  
  49. echo "Enter Printer host IP address <xxx.xxx.xxx.xxx> [return=skip]: \c"
  50. read IP_ADDRESS
  51.  
  52. echo "Enter Printer host name : \c"
  53. read HOST_NAME
  54. if test -z "$HOST_NAME"
  55. then echo "Invalid host name"
  56. exit 1
  57. fi
  58.  
  59. echo "Enter logical printer name [default ${HOST_NAME}_prn]: \c"
  60. read PRINTER
  61. if test -z "$PRINTER"
  62. then PRINTER=${HOST_NAME}_prn
  63. fi
  64.  
  65. DEFAULT_REMOTE="lp"
  66. echo "Enter remote printer name [default $DEFAULT_REMOTE]: \c"
  67. read REMOTE
  68. if test -z "$REMOTE"
  69. then REMOTE=$DEFAULT_REMOTE
  70. fi
  71.  
  72. if test -n "$IP_ADDRESS"
  73. then cd /etc
  74. if test ! -f hosts
  75. then touch hosts
  76. fi
  77. ENTRY=`grep "^$IP_ADDRESS\>" hosts|$CUT -f1`
  78. if test -z "$ENTRY"
  79. then cat >> hosts << HOSTS_END
  80. $IP_ADDRESS $HOST_NAME # Network Printer
  81. HOSTS_END
  82. echo "hosts file is modified"
  83. else echo "IP address is already entered"
  84. fi
  85. fi
  86.  
  87. case $OS_TYPE in
  88. SunOS4)
  89. cd /etc
  90. SPOOL=${PRINTER}d
  91. LOG=${SPOOL}-errs
  92. if test ! -f printcap
  93. then echo "Created /etc/printcap"
  94. fi
  95. cat >> printcap << PRINTCAP_END
  96.  
  97. $PRINTER|Network printer \\
  98. :rm=$HOST_NAME:\\
  99. :rp=$REMOTE:\\
  100. :sd=/usr/spool/$SPOOL:\\
  101. :lf=/usr/adm/$LOG:\\
  102. :mx#0:
  103. PRINTCAP_END
  104. cd /usr/spool
  105. if test ! -d $SPOOL
  106. then mkdir $SPOOL
  107. chown daemon $SPOOL
  108. chgrp daemon $SPOOL
  109. fi
  110.  
  111. cd /usr/adm
  112. if test ! -f $LOG
  113. then touch $LOG
  114. chown daemon $LOG
  115. chgrp daemon $LOG
  116. fi
  117. ;;
  118. Solaris2.5)
  119. /usr/lib/lpsystem -t bsd -R 0 -y "NetWork Printer " $HOST_NAME
  120. /usr/lib/lpadmin -p $PRINTER -s $HOST_NAME!$REMOTE -T dumb -I any
  121. /usr/lib/accept $PRINTER
  122. /usr/bin/enable $PRINTER
  123. ;;
  124. Solaris2.6)
  125. REMOTE=`echo $REMOTE | /usr/bin/sed 's/=/_/'`
  126. /usr/sbin/lpadmin -p $PRINTER -s $HOST_NAME!$REMOTE -T dumb -I any
  127. ;;
  128. HPUX)
  129. /usr/lib/lpshut
  130. /usr/lib/lpadmin -P$PRINTER -v/dev/null -mrmodel -orm$HOST_NAME -orp$REMOTE -ob3
  131. /usr/lib/accept $PRINTER
  132. /usr/bin/enable $PRINTER
  133. /usr/lib/lpsched
  134. ;;
  135.  
  136. UnixWare)
  137. /usr/lib/lpshut
  138. SYSTEM=`/usr/sbin/pmadm -l|grep tcp|grep listenS5`
  139. /usr/sbin/lpsystem -t bsd -y "NetWork Printer " $HOST_NAME
  140. /usr/lib/lpadmin -p $PRINTER -s $HOST_NAME!$REMOTE -I simple,postscript,plot
  141. /usr/lib/lp/lpsched
  142. sleep 1
  143. /usr/lib/accept $PRINTER
  144. /usr/bin/enable $PRINTER
  145. ;;
  146.  
  147. Linux)
  148. cd /etc
  149. SPOOL=${PRINTER}d
  150. LOG=${SPOOL}-errs
  151. if test ! -f printcap
  152. then echo "Created /etc/printcap"
  153. fi
  154. cat >> printcap << PRINTCAP_END
  155.  
  156. ##PRINTTOOL3## REMOTE
  157. $PRINTER|Network printer :\\
  158. :rm=$HOST_NAME:\\
  159. :rp=$REMOTE:\\
  160. :sd=/var/spool/lpd/$SPOOL:\\
  161. :lf=/var/log/$LOG:\\
  162. :sh:\\
  163. :mx#0:
  164. PRINTCAP_END
  165. cd /var/spool/lpd
  166. if test ! -d $SPOOL
  167. then mkdir $SPOOL
  168. chown root $SPOOL
  169. chgrp lp $SPOOL
  170. fi
  171.  
  172. cd /var/log
  173. if test ! -f $LOG
  174. then touch $LOG
  175. chown root $LOG
  176. chgrp lp $LOG
  177. fi
  178.  
  179. # LPRng
  180. if [ -f /usr/sbin/lpd ] ; then
  181. if [ -f /usr/sbin/checkpc ] ; then
  182. /usr/sbin/checkpc -f >/dev/null 2>&1
  183. /usr/sbin/lpc reread >/dev/null 2>&1
  184. fi
  185. fi
  186. ;;
  187. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement