Getting started with linux and sysadmin

This question comes up often : how does one get started in the
world of Linux sysadmin. And to be honest, I dont think there is a clear
answer to that. The state of Linux certification is not ideal. There
are a few courses one might get onto, like the RHCE. But doing those
without any background info will leave you unable to really get the full
benefit since they all makes assumptions : that you are already aware
of the basics.

One way to start off in sysadmin, is to grab a good book about the
topic. Then install and run through the various install options and get a
couple of VM’s setup with your favourite Linux distro. Start with one
distro and stay with that one distro for the first few months atleast.
But its also important that once you are familiar with the basics, you
do move onto some other distro and see how things work there. One cant
really put down into words or ever really express easily that the bottom
line is Linux. No matter what distro you move onto, the only thing
different would be how things are laid out and general communication
around the platform – the main OS is Linux, and that never changes.

While you work with a new platform, its quite important that you
really get involved with it and an easy way to do that is to look at
what you are doing now, whatever platform that might be on, and try to
do the same thing, in the same way on the Linux machines. Once you can
get the basics in place, you should really switch to using that linux
install as your main workstation. While this might not give you much in
terms of low level admin abilities, it will give you a user perspective
on things. And I have always thought that the best admins are those who
consider the user pespective, the developer perspective and then the
platform ( and admin ) perspective. End of the day, lets not forget that
the computers are here to do a job, and the admins role is to make sure
that the job is done to its best ability. But dont lose context : the
aim is still to run that job.

In the early days of my Linux experience, I used to find it hard to
relate to other people’s applications and what they might be doing with
their computers and their networks. It was hard since I wasent actually
in those roles, so even coming up with situations was hard. And looking
for experience-situations I realised that the best way to get one’s
hooks into an app was to join the mailing list for that app. And work on
some of the issues that people brought up, ask questions about why
certain things were being done in a specific way and to look at bug
reports that people were posting about that app – since that clearly
showed how that app was being used ‘in the real world’, and it gave me a
very good foundation to build on. About 14 years later, I still think
that the usergrounps for specific apps are the best way to really learn
about the app, how its managed, what best practises around that might be
and what the developer / user perspective is for those apps.

Finally, being able to program and write real code helps. Dont
believe the people who go around saying that admin needs no coding. On
the other hand, speak to some of the good sysadmin people around ( and
there are plenty ): pretty much everyone will tell you that they spend
between 40 to 60% of their time writing scripts and working with apps
where knowing the basics of development help. I am not saying that a
certification in Java is needed, but having a good understanding of the
basics for bash and atleast one of python,perl or ruby should be
considered essential. The traditional mindset of unix/c still exists,
but not many sysadmins these days need to get down to driver level
development, and most functional code that sysadmins need to work with
are well handled in the bash, ruby, perl and python worlds.

– KB



by Karanbir Singh