#!/bin/sh # /usr/local/sbin/update-issue # # This script is based upon a similar script popularized with Red Hat # and Mandrake. Execute this script automatically from within one of # the boot scripts, such as rc.local, or execute manually from the # command line. source /etc/functions-colors ISSUE_LOCAL="/etc/issue" ISSUE_NET="/etc/issue.net" RELEASE_FILE="/etc/slackware-version" WARNING="Unallowed access prohibited. All access and activities not\nexplicitly allowed by the administrator are prohibited.\nAll activities are monitored and logged. There is no privacy\non this system. Unallowed access and activities or any\ncriminal activity will be reported to appropriate personnel." # determine the current Slackware release version and date if [ -f $RELEASE_FILE ]; then RELEASE_VERSION=$(cat $RELEASE_FILE) RELEASE_DATE=`find $RELEASE_FILE -printf "%TY-%Tb-%Td\n"` fi OS=$(uname -o) KERNEL_NAME=$(uname -s) KERNEL_RELEASE=$(uname -r) KERNEL_VERSION=$(uname -v) # ${VARIABLE:Offset:Count} # LOCALISP=${LOCALISP:((${#KEYWORD})):((${#LOCALISP}-((${#KEYWORD}))))} #without a SMP box I am only guessing at the following CPU_INFO=`cat /proc/cpuinfo | grep -i "processor"` CPU_INFO=${CPU_INFO:12:1} if [ "$CPU_INFO" = "0" ] ; then NUM_CPUS="Single" else NUM_CPUS="Multiple" fi CPU_INFO=`cat /proc/cpuinfo | grep -i "cpu MHz"` CPU_SPEED=${CPU_INFO:11:((${#CPU_INFO}-15))} CPU_INFO=`cat /proc/cpuinfo | grep -i "model name"` CPU_MODEL=${CPU_INFO:13:((${#CPU_INFO}-13))} CPU_TYPE=$(uname -m) RAM_INFO=`cat /proc/meminfo | grep -i "MemTotal"` RAM_INFO=${RAM_INFO:16:((${#RAM_INFO}-19))} RAM_INFO=$(($RAM_INFO/1000)) RAM=$RAM_INFO BOX_NAME=$(uname -n) ROOT_PARTITION="`mount | grep "on / type"`" # ${VARIABLE:Offset:Count} ROOT_PARTITION=${ROOT_PARTITION:8:2} # delete the existing /etc/issue rm -f $ISSUE_LOCAL rm -f $ISSUE_NET # Clear the screen. Some people do not like doing this # so comment out as necessary. Do know that when /etc/issue.net # is called then /etc/issue is sourced and called immediately # thereafter. Thus, best not to clear the screen in /etc/issue. # echo -e -n "${ESC}H${ESC}2J\n" >$ISSUE_LOCAL echo -e -n "${ESC}H${ESC}2J\n" >$ISSUE_NET # warning banner for remote network logins echo -e ${BOLDWHITE}"****************************************************************" >>$ISSUE_NET echo >>$ISSUE_NET echo -e $BOLDRED$WARNING${COLOR_RESET} >>$ISSUE_NET echo >>$ISSUE_NET echo -e ${BOLDWHITE}"****************************************************************" >>$ISSUE_NET echo >>$ISSUE_NET # distro intro banner echo -e ${BOLDGREEN}$RELEASE_VERSION" $OS ("$RELEASE_DATE")"${COLOR_RESET} >>$ISSUE_LOCAL # kernel info echo -e ${BOLDCYAN}$KERNEL_NAME "Kernel $KERNEL_RELEASE"${COLOR_RESET} >>$ISSUE_LOCAL # cpu info echo -e ${BOLDWHITE}"$NUM_CPUS $CPU_SPEED MHz $CPU_MODEL $CPU_TYPE CPU with $RAM MB RAM"${COLOR_RESET} >>$ISSUE_LOCAL # add white space echo >>$ISSUE_LOCAL # box info echo -e "The hostname of this box is "${BOLDYELLOW}$BOX_NAME${COLOR_RESET}"." >>$ISSUE_LOCAL # terminal info; nice to have with local logins echo -e "This is terminal ${BOLDYELLOW}\l${COLOR_RESET}." >>$ISSUE_LOCAL if [ "$ROOT_PARTITION" = "13" ] || [ "$ROOT_PARTITION" = "26" ]; then echo -e "You are using the ${BOLDRED}Alternate${COLOR_RESET} Partition!" >>$ISSUE_LOCAL elif [ "$ROOT_PARTITION" = "16" ] ; then echo -e "You are using the ${BOLDRED}Testing${COLOR_RESET} Partition!" >>$ISSUE_LOCAL fi echo >>$ISSUE_LOCAL