I suggested some books.
Some to get him started. Definitely download Linux and play with it. I say run that shyt natively. Install Ubuntu/Fedora first, then when you're ready for the harder shyt install ArchLinux or Gentoo. I run ArchLinux myself on one of my laptops.
I definitely like using Vagrant + VirtualBox because you can download Vagrant files with prebuilt enviornments from github and play with them.
Learn configuration management / automation. Here's something to look at
Demo Environment
Be comfortable with the command line. Learn the shell, play with bash.
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
Learn networking of course. Learn the OSI Model, learn TCP/IP.
So far what I can think you need to cover.
I can't see the books.