[K12OSN] Mobile Wireless Lab?

Jon Spriggs jon.spriggs at gmail.com
Sun Apr 17 07:52:08 UTC 2005


Wow! That's really good! Thanks for the guide! Perhaps it might be
worth publishing it somewhere - maybe even submitting it to TLDP -
especially if you can specify which version of Debian you used, which
packages etc...? If you need any help putting something like it
together, I'd be glad to help out :)

Regards,

Jon

On 4/17/05, Kevin Squire <gentgeen at linuxmail.org> wrote:
> I have a set up here in my house that would be similar/perfect to what
> you are mentioning.  Been meaning to write it up, but have not had time.
> So, I guess "here goes nothing".
> 
> Laptop is a Thinkpad 380D (133MZ, orig. 32MB ram).  I installed just
> enough Debian to get it running X, and ESD (for sound).  No X/K/G-DM,
> nothing fancy.  I was NOT planning on using this laptop outside of my
> network, I just wanted a "dummy terminal" to use around the house, but
> the LTSP wireless floppy would not work with the card I already own.  I
> created one user (USERNAME=val) besides the root user.  (If I was doing
> this in a "hostile" environment, I would find ways to limit what user
> "val" can/can not do.  Basically the only thing she needs is a bash
> terminal, and the ability to run X).  For sound to work, I did have to
> use sudo and give val permission to run ESD, maybe there was a better
> way, but that is what I did :-)
> 
> I then followed the directions found here:
> http://www.linuxgazette.com/issue72/chung.html
> 
> to create an auto-login into console mode.  When val gets automatically
> logged in, the ~/.bash_profile script gets read.  Her file looks like
> this:
> 
> # ~/.bash_profile
> ## Start X upon console login, logout when X is exited
> ##
> if [ "`tty`" = "/dev/tty1" ] ; then
> exec /home/val/bin/desktop
> fi
> 
> I probably could have put all of the desktop script into the
> ~/.bash_profile, but I separated it for troubleshooting reasons.
> 
> And the /home/val/bin/desktop script looks like this:
> 
> #!/bin/sh
> #
> #
> echo "Starting X Server to linuxbox ..."
> 
> # To kill remnants of ESD from reboots, drops, etc. and start again.
> # Not sure why, but paused seemed necessary for success.  echo's are
> # just there to let me know it is working :-)
> echo "5"; sleep 1
> sudo /usr/bin/pkill esd &
> echo "4" ; sleep 1
> sudo /usr/bin/esd &
> echo "3" ; sleep 1 ; echo "2" ; sleep 1 ; echo "1" ; sleep 1 ; echo
> "GO.."
> 
> # Used to execute XDM on linuxbox
> #
> echo "starting X"
> exec X :0 -query 192.168.0.3
> 
> So that take care of the a lot of the LTSP mimicing.  But it does leave
> out the LTSP benefit of only having to keep one machine up-to-date.  Now
> you still have to worry about keeping 21 machines (20 laptops, plus the
> server) up-to-date.  This is where the Debian stuff comes in hand.
> 
> On the laptop, I have a cron job run once a day, to let me know if there
> are any packages that need updated.  I have all mail from that machine
> (which would include the cron info) to my server machine.  The script
> looks like this (I got it off the web, but don't know the address to
> give the proper credit) :
> 
> #!/bin/bash
> #
> # Script from web to produce an email whenever system needs updated
> # lined added to /etc/crontab to run this at 4:00 AM daily
> #
> # Update the package cache but don't spit anything out to stdout or #
> stderr; that way, if there's nothing to update we won't get a #
> pointless mail from cron ...
> 
> apt-get update 2>&1 > /dev/null
> 
> # Do a "trial" run of updating our packages (note the -s switch). #
> apt-get will report something along the lines of ...
> #
> # n packages upgraded, n newly installed, n to remove and n not upgraded
> #
> # Strip out the number of packages to upgrade via a bit of grepery and
> # awkery ...
> 
> report=`apt-get -s upgrade | grep '^[0-9]\{1,\} upgraded'`
> if [[ -z "$report" ]]; then
>        exit 0          # Move on - there's nothing to do here
> fi
> 
> to_upgrade=`echo $report | awk -F, '{print $0}' | awk '{print $1}' `
> if [[ $to_upgrade -gt 0 ]]; then
>      # We've got potential packages to upgrade, spit out our original
>      # message from apt-get upgrade to force a mail to be sent for this
>      # cron job ...
>      echo "$report"
> fi
> 
> exit 0
> 
> Then on my server, I have a script called "update_all" that I run
> whenever I get a notice from the laptop (and/or from "kingpin" another
> Debian box in my house).  With a little help from ssh keys, I do not
> need to enter a password for the other boxs, just my server box.  The
> script is just:
> 
> #!/bin/bash
> clear
> # Starting with Linuxbox - my desktop/X server
> echo "Updating Linuxbox first,"
> echo "Need root at linuxbox's password ..."
> su -c /root/bin/update-linuxbox
> echo " "
> 
> # Updating Kingpin - my print/file/anything else server
> ssh -p 22 -l root 192.168.0.10 /root/bin/update-local
> 
> # Next to Thinkpad - the old laptop
> ssh -p 22 -l root 192.168.0.8 /root/bin/update-local
> 
> # System's now complete
> echo "House update complete."
> echo " "
> 
> Where the /root/bin/update-local is just a script with:
>   apt-get update && apt-get dist-upgrade
> 
> Since you are going to do this on (what I assume to be) 20 identical
> machines, I'm sure you can do the install on just one, then ghost the
> image to the others.  The cron script would only have to be run on one
> of the laptops, since they are all going to be identical.  Then you
> won't get 20 "update me" emails at a time.  Then as for the update-all
> script, you could write that as a loop with some addtitional "fancies"
> added in.  I only have 3 machines to deal with, so my scripts are all
> pretty basic/linear.
> 
> As an extra note, this has worked really well with my 802.11b network,
> and the laptop only having 32MB ram. The "server" is my desktop machine
> with a 1GHz processor, and 512MB ram.  The laptop typically is running
> IceWM or Blackbox as the WM, but GNOME works at an acceptable pace.  The
> laptop is now used by my wife A LOT and I see that she will use it with
> Firefox, Thunderbird, GAIM, and Rox-Filer all running at the same time.
> With the occational AbiWord, GQview, gxine, or xmms thrown in.  Thanks
> to "Uncle Sam" I did max. out the Laptop at 80MB ram, and this really
> helped out a lot.
> 
> BOY THAT GOT REALLY LONG -- SORRY
> 
> Maybe I can get all that put into the wiki, or now take this as my
> outline and write up a nice "howto" for the web.  If anyone has any
> questions about it, feel free to contact me off list.
> 
> Kevin
>   gentgeen at linuxmail.org
> 
> On Fri, 15 Apr 2005 20:17:53 -0500
> Les Mikesell <les at futuresource.com> wrote:
> 
> > On Fri, 2005-04-15 at 17:07, Huck wrote:
> > > Yeah, I just let it start it's own desktop deal...
> > > so if I go runlevel2 it will drop me to command prompt then I can do
> > > the x -query server deal and be happy eh?
> >
> > Yes, that ends up about the same as a thin client booting from
> > the network except that you have access to a lot more drivers
> > before you need network access.   I don't think I've tried it
> > with anything less than 96M RAM but if you ignore the warning
> > about memory when booting it should be OK.
> >
> > --
> >   Les Mikesell
> >    les at futuresource.com
> >
> >
> > _______________________________________________
> > K12OSN mailing list
> > K12OSN at redhat.com
> > https://www.redhat.com/mailman/listinfo/k12osn
> > For more info see <http://www.k12os.org>
> 
> _______________________________________________
> K12OSN mailing list
> K12OSN at redhat.com
> https://www.redhat.com/mailman/listinfo/k12osn
> For more info see <http://www.k12os.org>
> 


-- 
Jon "Four Star Gun" Spriggs AKA
Jon "The Nice Guy" Spriggs




More information about the K12OSN mailing list