Skip to main content

TFTP on Mac OS X 10.7 shell script

I've just started getting into Cisco support a little more. It's my goal to eventually specialise (its probably the first time I've found something in I.T. support that I don't eventually get bored with ). Since I've got about 1 of each OS I need make sure I can perform my job on anything. Was working on my macbook pro and needed to download some router configs. Give tftp a kick on Mac OS X 10.7

#!/bin/bash
#* TFTP.sh
#+ A quick script to enable/disable tftp (for use with cisco devices).
#+ Usage: TFTP.sh on

NO_ARGS=0

if [ $# -eq "$NO_ARGS" ] # no arguments?
then
 /bin/echo "Disabling tftp."
 #+ Always unload, just to be on the safe side.
 sudo launchctl unload -w /System/Library/LaunchDaemons/tftp.plist
 #+ Cleanup any files so they aren't floating around ;)
 /bin/echo "Removing default tftp files."
 sudo /bin/rm -f /private/tftpboot/running-config
 sudo /bin/rm -f /private/tftpboot/startup-config
 sudo /bin/rm -f /private/tftpboot/flash
else
 if [ $1 == on ]; then
  /bin/echo "Enabling tftp."
  #+ Load the daemon
  sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
  #+ Must be a file to send/receive one. Setup some Cisco defaults.
  /bin/echo "Creating default tftp files."
  sudo touch /private/tftpboot/running-config
  sudo chmod 777 /private/tftpboot/running-config
  sudo touch /private/tftpboot/startup-config
  sudo chmod 777 /private/tftpboot/startup-config
  sudo touch /private/tftpboot/flash
  sudo chmod 777 /private/tftpboot/flash
  pushd /private/tftpboot
  /bin/ls -la /private/tftpboot
 fi
fi

exit 0

Popular posts from this blog

Mac OS X "SOE" Day 7

Page Redirection> continued from day 6...

In summary, here is my method for creating a Mac OS X 10.7.3 Standard Operating Environment "SOE" Image.


Overview The goal is to create a "MASTER" non-booted SOE that can be used with multiple models and it multiple sites with different local requirements.

My intention is to use this "MASTER" image in a manual restore procedure due to the fact netboot facilities cannot be made available to all the sites I support however the DMG files are netboot compatible.

RequirementsLion Recovery Disk Assistant v1.0"TARGET" workstation. A compatible workstation that will be used to install Mac OS X 10.7.3 and capture a DMG image(s)."ADMIN" workstation. A workstation with Disk Utility that you will use to capture your DMG image(s).External storage such as a USB HARD DISK. SetupDownloaded the Lion Recovery Disk Assistant v1.0 and followed the instructions to setup an external Recovery D…

Mac OS X "SOE" Day 6

Page Redirection> continued from day 5...

Continuing on from the "firstboot" phase setup we need to script our "localiser" options.

I previously set my build phase to autologin and run the firstboot script, the localiser phase essentially sits there and waits for you to run it.

In my case I have an applescript GUI wrapper that requests some info to use in the localisation. I request a TAG number which is an organisational internal number and I also request a user name that will be set as the OWNER.

NOTE : I ordered these specifically...not just because it makes sense logically but also technically. For example, setting the Language actually zaps a plist file (.GlobalPreferences) which you need to write to for Locale and Country info.

This stuff is going to be totally dependant on your environment, as an example here is what I do.

So what's the minimum we need in the "localiser" phase? Depends on how many sites you support, I support over 50 si…

Portable TextWrangler (kinda)

Terminal is great, but sometimes I'm too lazy to use vi and editing lots of shell scripts is waaaayyyyy more efficient with TextWrangler. I use this small dropbox hack so I can sync my stationery and settings across multiple macs. #!/bin/bash #+ Portable TextWrangler #* Formatted date & time string. FORMATTED_DATE=`/bin/date "+%Y-%m-%d%H%M%S"` #+ Remove it from /Applications (optional, just so you can replace it with a ln to your dropbox) sudo /bin/mv -f /Applications/TextWrangler.app ~/.Trash/ #* Add a link in /Applications to your DropBox copy sudo /bin/ln -Fs ~/DropBox/TextWrangler.app /Applications/TextWrangler.app #* Archive existing folder /bin/mv -f ~/Library/Application\ Support/TextWrangler{,.$FORMATTED_DATE} #+ Create cloud app support folder /bin/mkdir -p ~/DropBox/TextWrangler #+ Link cloud app support folder to your local workstation (this contains your stationery etc etc) sudo /bin/ln -Fs ~/DropBox/TextWrangler ~/Library/Application\ Support/TextWra…