Andrew Craig on 23 Oct 2011 16:05:29 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] ideas for class material


On Sun, 23 Oct 2011 14:28:42 -0400
JP Vossen <jp@jpsdomain.org> wrote:

> > Date: Sat, 22 Oct 2011 19:24:09 -0400
> > From: Andrew Craig<axcraig@gmail.com>
> > Subject: [PLUG] ideas for class material
> 
> > I am currently in a Computer Technology program and have an
> > upcoming Linux III class.  The professor is open to ideas for
> > curriculum.
> [...]
> > I want to do stuff, not write about it, excluding any documentation
> > of course.  I was thinking of the following ideas
> >
> > - fix broken stuff
> > - break working stuff
> > - ssh stuff
> > - scripts
> > - hacking
> > - build an arch or BSD system
> > - build up workstations and / or server
> 
> - Try different Rescue and other LiveCDs
> - Try recovering deleted data from a "bad" hard drive
> 	Create a loop mount volume
> 	Damage it
> 	Give everyone copies
> 	See what they can recover
> 
> All of the above are good, though I can't say I'd suggest building
> BSD for a Linux class--they are quite different things.  :-)
> 
> And I'm shocked that Rich already replied to this and didn't say what
> I thought he'd say, which is--build a Gentoo box!  Or "Linux from
> scratch" or maybe even Slackware...  You will learn more about the
> guts of Linux using any of those than you will using Debian, Ubuntu,
> Fedora, CentOS, etc.
> 
> "Build a box" is boring though.  Build it for what?  How about
> building a general "services" server for a small business or branch
> office?  This is a single sever (also a single point of failure) that
> does just about everything:
> 	Linux software RAID1 or RAID5
> 	DHCP
> 	Internal DNS
> 	Internal email
> 		SMTP (authenticated?)
> 		IMAP (authenticated?)
> 		(external email relay config for extra credit)
> 	Samba (SMB/CIFS, WINS) for Windows clients
> 		& groups and permissions
> 	NFS for Linux clients
> 		& groups and permissions
> 	SSH (which facilitates tons of stuff, like remote admin
> 		sshfs, rsync, and much more)
> 	Local client backup (BackupPC, Duplicity, Backula, Amanda,
> etc.) Test a restore
> 	Off-site server backup (Box Backup, rsync.net, some cloud)
> 		Test a restore
> 	LAMP for Intranet
> 		Some CMS/wiki (Drupal or Mediawiki)
> 		MySQL database
> 		Write server docs in the CMS/wiki
> 	Print server (CUPS)
> 	syslog (rsyslog, syslog-ng) log aggregator
> 	LogCheck, swatch or other log monitoring
> 	Monit, Cacti, OpenNMS or similar network monitoring
> 	Set up cron jobs for something
> 		e.g. use wget to mirror a web site (get permission!)
> 	Caching proxy server for Internet surfing
> 		Write a script to run from cron to summarize logs
> 	Revision control server
> 		Subversion
> 		Bazaar
> 		Web GUI for either/both
> 		etckeeper or similar
> 	Write an acceptance test plan for all of the above
> 
> This is a pretty big project if you've never done it before.  It
> could be broken up, or limited as needed.  It also doesn't require
> too much in the way of security (firewall, separating internal and
> external services) or scripting, both of which are critical.  So
> maybe: Firewall config for services server (arguably overkill)
> 	VPN to HQ office?
> 	Find some simple tasks to automate with scripts
> 
> Pick a virtualization solution everyone can live with and build the 
> server to spec in that so you can "hand in" the machines for testing. 
> Yes, I know that doing software RAID in a VM is silly.  Do it anyway
> for the experience.
> 
> The no-cost VMware Player runs on Windows or Linux and would work. 
> OTOH, since this server is a single point of failure, building it to
> run in a KVM or similar VM that runs on a minimal "headless" Linux
> host makes DR (disaster recovery) or hardware swaps almost trivial.
> Or maybe build in free Amazon EC2 micro instances 
> (http://aws.amazon.com/free/what-is-aws-free-usage-tier/)?  That
> might already automate too much of the above though.
> 
> 
> Having said all of that, shell scripting is easily a whole course by 
> itself but is often overlooked, especially by those with a
> Windows/GUI point-and-click perspective.  (That may be changing with
> Win8 that can be CLI/headless.  Only took 'em just under 20 years to
> see the light.) _Learning the bash Shell_ would be a good textbook,
> and I have a ton of other resources listed in
> http://www.bashcookbook.com/bashinfo.  I also have a few presos in
> http://www.phillylinux.org/talks.html.
> 
> 
> This is all very system administration focused, and is arguably not 
> "Linux" at all, since Linux is really just a kernel.  But to really 
> focus on Linux then means mostly kernel guts, configs, compiling,
> etc. While that's interesting, it's not similar to the list at the
> top, and you probably should walk (& build some servers) before you
> try brain surgery (custom kernels).  IMO.
> 
> Hope this is useful,
> JP
> ----------------------------|:::======|-------------------------------
> JP Vossen, CISSP            |:::======|      http://bashcookbook.com/
> My Account, My Opinions     |=========|      http://www.jpsdomain.org/
> ----------------------------|=========|-------------------------------
> "Microsoft Tax" = the additional hardware & yearly fees for the add-on
> software required to protect Windows from its own poorly designed and
> implemented self, while the overhead incidentally flattens Moore's
> Law.
> ___________________________________________________________________________
> Philadelphia Linux Users Group         --
> http://www.phillylinux.org Announcements -
> http://lists.phillylinux.org/mailman/listinfo/plug-announce General
> Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug


wow what a great set of ideas.  Thank you.  You sent so much great
info, I need to read it over a few times!  

I guess I should have mentioned it is only a 6 week course, albeit
accelerated. 

Lamp, shell scripting, revision control (my paper for last class was
on git), backup, recovery and test, cron jobs. All of those would make
for a great class.   

Really appreciate the time you took to put this together.  

- Andrew
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug