I am web programmer and I deal with html, css, javascript, php and asp.net.
Is there some good books/sites that I can use to become also a bit of a sys admin? And by sys admin I mean to have knowledge of TCP/IP, Linux/Win Networks etc.
Please don't say "google is your friend" I know it is but I just want either good sites or books and not the trillion of links google gives me.
I know this isn't an easy step, but it isn't impossible right?
Don't know of any sites since I learned most of my sys admin stuff before there was a web. :-(
Here's a few, non-technical things that I learned to get you started:
- Backups are your friend, but only if you verify them.
- Track every change you make to the system.
- A test environment is just as important to a sysadmin as it is to a developer.
- Get used to working while everyone else is asleep.
In addition to tvanfosson's answer, I have to add:
Document EVERYTHING - even the stuff you think you'll never forget.
I sent your question to some of the members on the team here.
This is what we came up with.
- Learn configuration management with puppet, cfengine
- Learn and memorize what the common raid levels are. You need to swap disks and you need to know when you can and cannot. You also need to know why you use one raid level over the other.
- Increase your familiarity with different FS types ext3/ext4 etc.
- Learn the linux boot process
- Increase your familiarity with the Linux kernel, specifically virtual memory, paging, memory allocation, process creation.
- Learn your package manager inside and out. Know how to revert, apply, update and install packages from source or binary with your pkg manager.
- Learn how to read the data contained in "iostat, vmstat, free, valgrind, top, traceroute, ping, netstat, route and chkconfig (if you use it)"
- Learn how to read strace output. I cannot stress this enough. It is not hard to read at all.
- Learn the different between Unix and Linux
- Learn scripting language X where X is whatever you like(I use Perl and Python)
- Learn some C. Really, it helps when you are figuring out weird memory issues.
- Learn how to start, stop, enable and disable services.
- Learn troubleshooting methodologies from different people. Sys admins are not one man armies, they work in teams. Learn where you are weak, admit it and strengthen that area.
- Learn how to have a lot of fun at work when you are knee deep in outages. I hope this never happens to you.
- Cultivate your ability to manage projects and deadlines.
- Learn how to say "no"
- Think critically, even when the person that is telling you "there is no way my code crashed that server" investigate it anyway.
- Learn how to manage apache, mail servers (I recommend postfix)
- Learn how to add ips, routes, etc and make them persistent through boots.
- Learn, love, memorize, eat, sleep and drink disaster recovery and being a great planner and organizer. If you suck at these things, work on them.
- Develop a sense of duty to maintain uptime and the privacy of your users. This is the paramount value of a system admin. An honest desire to do what is right is critical in being a good system admin in my opinion.
- Read, read, read and be passionate. Deliberate practice will make you great!
- Learn to remain calm. Panic will not return your services to operation. - Contributed by Eric Ericson, Production Ops Manager - Baynote, Inc
- Evaluate and learn about different authentication such as NIS/LDAP/AD vs local authenticated - Contributed by Truong Pham, Senior System Administrator - Baynote, Inc
- Be active in LISA or some other sys admin group. And hang out in sysadmin forums/blogs/newslists. - Contributed by Anonymous - Baynote, Inc.
Required reading:
http://en.wikipedia.org/wiki/Man_page#Manual_sections - Seriously, read the entire wiki page on the man pages.
Cricket Liu's DNS & Bind - You must read this book and learn to love it.
O'Reilly's Essential System Administration - A very good book for newbies
There is a site called http://www.linux-tutorial.info/modules.php?name=MContent&pageid=89
Some of the data on the site is antiquated but it is good to read through because some shops still use very old distributions in production.
I subscribe to the O'Reilly library myself.
You know what! I love being a sys admin. I also love to write code. Being a sys admin allows me to work with a lot of people, which is something I really like. I also like it when I have little information but I can determine the root cause of an issue through analysis and critical thinking. I love being a system administrator in all of its ups and downs.
I am not sure if you are looking to make a career out of it but I have done very well financially as a system administrator. I hope you enjoy the reading. Feel free to contact me if you want. I love talking to people, especially those that share my passion for maintaining long uptime and helping others.
Sorry for the long article.