GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have a friend that is a chip designer. He is nervous that his job will be eventually outsourced. He currently works on and manages a few Linux servers and is thinking of making the transition to a unix admin.
I am a Java developer but also the default Linux admin here as I am the only one that understands Unix (and loves it). So my question to my fellow forum members is this.
1) What should he do to try and become a Linux/Unix admin?
2) What skills should be in his arsenal and is learning on the side the only way to do it?
I told him to install Slackware and set up a network with DNS and postfix but not sure what else he would need or be required to do.
Well, I don't think any admin can be "ready" enough for everything..so it's always learning. Basic knowledge about "how things work" is a necessity (so when a problem rises that you've never ever heard about before, you have a small clue where to start digging), and it's good to know how to handle most of the everyday jobs, like the most important services running on the server (how to configure them, how to trouble-shoot or test them..) and so on.
Taking a course on Unix isn't a bad idea, but the best way to learn well is to try, break and fix things. There is a ready answer for many questions on the web, so a monkey with a reading ability can fix many situations if there's internet connection available..and to most of the rest trouble an answer can be found if you know where to look, and that skill (knowing where to look) grows only with day-to-day work.
Installing slackware and configuring sendmail probably does give you some work and if it succeeds, makes you feel like a king. But really, it's not probable that you'll have to install Slackwares and setup sendmails every day..so maybe it's better to come up with something else. Like heading to IRC and helping out people with trouble; if you can do it, you can solve sudden problems and may be an admin. If you can't, it's time to start learning more..
I haven't worked as a professional Unix sys asdmin, although I have done sys admin on other systems and managed people who do sys admin, so you might want to take my opinion with a pinch of salt.
For me, the most important thing isn't particular skills, it's an attitude. When you do something, you have to think about the potential consequences of the actions that you are about to take and if it is too risky or you don't have a way of reducing the risk to a tolerable level, don't so it. This is sometimes unpopular with users (and maybe managers), but you have to stick with it.
Also 'the just reboot it and don't worry about it' default attitude of some people and that seems to come with a certain common brand of certification, won't do.
Then a real, in detail, understanding of networking would be useful. By this I mean an understanding of what is going on in IP packets and not just a set of recipes for what to do in a few common situations.(And the system at boot time and how at least your chosen package manager works, assuming that you've got one). A general understanding of security (the risks, some 'never do, under any circumstances' stuff) I'm almost taking for granted.
If you've got all that stuff, I would say that you are well positioned. Ideally, on top of those things, you add some specific skills (choose a small number from (in no particular order, there are probably others and these are not of equal significance):
- NFS
- Samba,
- nameserving {DNS/Bind or others and the internal network stuff},
DHCP
- practical security/firewalls
- scripting {bash/python/ruby...}
- interoperation with other OS's
-databases,
- GUIs and user support (inc user permissions and access rights)
- one of many e-mail systems
- squid
- Linux/other programming
- web site admin {being able to say Web 2.0 will impress many, but it
probably shouldn't}
- hardware and installations
and I think you are there. Ideally, you'd choose exactly the ones that your potential employer wants, but that's difficult and i think most employers would understand with the right attitude and a willingness to learn.
That list might seem excessively broad, and maybe even frighteningly so, but I'm only suggesting that you need to have a sound understanding and ability to practically implement to a timescale in at a couple of the categories at the start, and that as your experience grows you will add to the list.
If your friend is worried about outsourcing, then going into linux admin may just be jumping out of the frying pan and into the fire.
Really ?? I would have thought that admins are generally required to physically be with/near the equipment. I know I do a lot of admin remotely but there are always times you need to be there.
If your friend is worried about outsourcing, then going into linux admin may just be jumping out of the frying pan and into the fire.
I would say just the opposite of this. While it is true that many smaller corporations do use outside firms to handle their administration needs, it is very unlikely that someone from a different country would be able to efficiently handle this task. What would he/she do in the case of a failed HD? How about dead memory? How about a networking issue? Dead port on a switch?
So, I guess my point is that while programming jobs, etc. are being sent overseas to emerging powers such as India, I have always felt as though any systems administration jobs would be a safe way to go. Yes, there is the fear of your IT position being replaced by a consulting firm or something similar, but hey, go get a job with them if you are worried about that.
Just my two cents.
As for what it takes to be a *nix administrator. I would say that you should first and foremost have an exceptional understanding of the way the system boots, and functions in general. You should most definitely be somewhat proficient in some sort of a scripting language (start with sh). In addition to that, you should have a good understanding of most of the server softwares used. This list includes, but is not limited to:
- Apache
- BIND (most everyone uses this)
- Some FTPd (I use vsFTPd)
- SSHd (an absolute must)
- MySQL (or equivalent)
- Logging systems
- E-mail** (I use postfix)
- <Insert others>
In my experience in the IT job market, knowing something is useless unless you claim recent, professional, experience.
I have perused hundreds of job ads, I don't know if I have seen a sys admin job advertised, where you can start without already having years of professional experience. IMO: it is a tough job market, employers can afford to cherry pick.
I have done an informal survey of pay rates, and basic requirements for IT jobs in the Denver area. Feel free to take a look:
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.