128 lines
4.6 KiB
HTML
128 lines
4.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML>
|
|
<head><title>Network Environment Script</title></head>
|
|
<BODY BGCOLOR="#EEE1CC" TEXT="#000000" LINK="#0000FF" VLINK="#0020F0"
|
|
ALINK="#FF0000">
|
|
|
|
<P> <HR> <P>
|
|
|
|
<pre>
|
|
#******************************************************************
|
|
#ident /etc/init.d/netenv Time-stamp: <97/07/04 11:13:44 bav>
|
|
#******************************************************************
|
|
# Gerd Bavendiek bav@rw.sni.de 97-05-00
|
|
#
|
|
# This script is used to set up a file containing information about
|
|
# the actual network environment. This can be esp. useful for a
|
|
# laptop being used in multiple environment: at home, in the office,
|
|
# at a customers site.
|
|
#
|
|
# This is done as follows: When "lilo" prompts, type e.g.
|
|
# linux netoff=
|
|
# This sets up an shell variable "netoff", containing nothing. The
|
|
# kernel starts the init process with "netoff" as part of its
|
|
# environment, so does init. So this script can check for
|
|
# "netoff". Placing assignments in a file is a convenient way to
|
|
# enable user processes to deal with multiple environments (login
|
|
# provides user processes with a complete new environment, so they do
|
|
# not longer know about "netoff").
|
|
#
|
|
# I took "netoff=" just for convenient typing. Of course you can use
|
|
# something like "PROFILE=34" and scan for that ...
|
|
#
|
|
# Right now I use this mechanism for setting up my .fvwm95rc and my
|
|
# printing environment. My .fvwm95rc is pre-compiled by means of the
|
|
# variable "PROFILE". This way I can use one source for different
|
|
# displays and so on.
|
|
#
|
|
# As is this script eventually tries to set up a plip connection by
|
|
# executing /etc/init.d/plip. To be able to do so, it must be called
|
|
# after "kerneld" is started ! (One example: S12kerneld, ...
|
|
# S30netstd_misc, S40netenv, ....)
|
|
#
|
|
# Another hint regarding pcmcia:
|
|
# My Debian GNU/Linux 1.2 used to set up the PCMCIA-Ethernet-Card in
|
|
# /etc/pcmcia/network.opts. I changed this slightly by simply
|
|
# . /tmp/netenv
|
|
# This way the assignments in /tmp/netenv are passed to the calling
|
|
# script. You HAVE to reorder the calling sequence of scripts in
|
|
# /etc/rc2.d. Example:
|
|
# S10sysklogd S12kerneld S15netstd_init S18netbase S19netenv S19pcmcia
|
|
#
|
|
# The profiles I defined are as follows:
|
|
# 1x Tower Home, system name "nana", network plip only.
|
|
# 2x Desktop Office, system name "zaza", Ethernet.
|
|
# 3x Laptop, system name "lulu".
|
|
# 30 at home, no Ethernet, eventually connected to tower via plip
|
|
# 31 in the office
|
|
# 32 at customer site 1
|
|
# 33 at customer site 2
|
|
#-------------------------------------------------------------------
|
|
NETENV=/tmp/netenv # When located in /tmp, script must be called
|
|
# AFTER wiping out /tmp has been done ...
|
|
|
|
if [ `uname -n` = "nana" ]; then
|
|
(
|
|
echo "# Networkenvironment: Home Tower (Network-Interface: Plip)"
|
|
echo "export PROFILE=10"
|
|
) > $NETENV
|
|
/etc/init.d/plip start
|
|
elif [ `uname -n` = "zaza" ]; then
|
|
(
|
|
echo "# Networkenvironment: Office Desktop (Network-Interface: Ethernet)"
|
|
echo "export PROFILE=20"
|
|
|
|
echo "export RLPR_PRINTHOST=printer-off"
|
|
echo "export PRINTER=pr1"
|
|
) > $NETENV
|
|
elif env | grep '^netoff=' > /dev/null; then
|
|
(
|
|
echo "# Networkenvironment: Laptop at office (Network-Interface: Ethernet)"
|
|
echo "export PROFILE=31"
|
|
echo "IPADDR=\"123.456.78.9\""
|
|
echo "NETMASK=\"255.255.255.0\""
|
|
echo "NETWORK=\"123.456.78.0\""
|
|
echo "BROADCAST=\"123.456.78.255\""
|
|
echo "GATEWAY=\"123.456.78.1\""
|
|
echo "DOMAIN=\"rw.sni.de\""
|
|
echo "DNS_1=\"123.456.78.9\""
|
|
|
|
echo "export RLPR_PRINTHOST=printer-off"
|
|
echo "export PRINTER=pr1"
|
|
) > $NETENV
|
|
elif env | grep '^netetc=' > /dev/null; then
|
|
(
|
|
echo "# Networkenvironment: Laptop at customer site (Network-Interface: Ethernet)"
|
|
echo "export PROFILE=32"
|
|
echo "IPADDR=\"123.456.8.89\""
|
|
echo "NETMASK=\"255.255.255.0\""
|
|
echo "NETWORK=\"123.456.7.0\""
|
|
echo "BROADCAST=\"123.456.7.255\""
|
|
echo "GATEWAY=\"123.456.7.1\""
|
|
|
|
echo "export RLPR_PRINTHOST=printer-etc"
|
|
echo "export PRINTER=pr1"
|
|
) > $NETENV
|
|
else
|
|
if [ `uname -n` = "lulu" ]; then # just to double check
|
|
# We are at home, let's start the plip-Interface
|
|
(
|
|
echo "# Networkenvironment: Laptop at home (Network-Interface: Plip)"
|
|
echo "export PROFILE=30"
|
|
) > $NETENV
|
|
/etc/init.d/plip start
|
|
fi
|
|
fi
|
|
|
|
chmod 644 $NETENV
|
|
</pre>
|
|
<!--===================================================================-->
|
|
<P> <hr> <P>
|
|
<center><H5>Copyright © 1997, Gerb Bavendiek<BR>
|
|
Published in Issue 20 of the Linux Gazette, August 1997</H5></center>
|
|
|
|
<!--===================================================================-->
|
|
</BODY>
|
|
</HTML>
|
|
|