Tuesday, May 08, 2012

Linux help sources

When you run into a question with Linux, where do you go for help? Things have changed a lot since I started using Linux 8 years ago. Back then, the default answer was RTFM, and so it was a lot of trial and error, sprinkled with a few tidbits of information from people who were kind enough to help. So where are people going for help now?

Sources of help:

  • Linux Users Groups (LUGs) - I personally never got involved in a live meeting with other Linux users to discuss Linux and help each other, but I know they were big at one point in time. I instead joined an online LUG, hosted at Google Groups. It's still there, though it's activity has dwindled significantly, which is what sparked the idea for this post. I joined in 2005, and shortly became one of the moderators of the LUG, and eventually part owner. Our LUG still has archives of great information, and there are active members who will try to answer your questions. I am sure there are still live LUGs out there, just search the web for your area or a college/university near you.
  • Forums - Forums have become a wealth of information, and are one best places to get answers. This is because most forums specialize in a specific distribution of Linux. The downside is it may take a day or two before someone comes along and knows how to help solve your problem. I still occasionally see people throw the RTFM attitude with their replies if they don't come out and say it. But my experiences with forums has been quite pleasant. Being an Arch Linux user, I go to the Arch forums for help with my distro. I have heard Ubuntu does a really good job with their forums, but I'm not a *buntu fan.
  • Blogs - Your reading one! In fact, the whole point of why I started the Penguin Geek blog was I got tired of searching for those little solutions that evaded my memory. It was more of a resource for me than anyone else, but I don't mind sharing. There are many other blogs out there ranging on many different topics dealing with Linux. One great blog I subscribe to and I highly recommend is nixCraft
  • Wikis - More and more non-Linux related sites are setting up Wikis to contain important information, logically organized for ease of use. Linux sites are also following this trend. And let's face it, it's easier to look up info in a wiki than to search through threads of posts to find the answer one person mentions. I don't want this post to sound like an Arch advertisement, but Arch Linux has what has been termed the best documentation of any distro, thanks to the correct use of a wiki.
  • Social Media - For the last few years, it's been popular for companies to keep customers and users up to date with information through social media outlets. These include but are not limited to Facebook, Twitter, and Google+. I find these methods have more to do with news about Linux or a specific distro, rather than anything actually helpful. I tend not to rely on them, but to each his/her own.
  • IRC - Internet Relay Chat, for those of you who weren't born in the 70's-80's. This was the first instant messaging method, and is surprisingly still around today. For each server you can connect to, there are channels for a specific discussion topic. This is as close to having real-time help as you can get over the internet. I personally found IRC noisy, with lots of crosstalk and off-topic chit-chat. I have used it once or twice, but have since decided it not worth my while.
  • Google Search - Oh Google, what would we do without you? Google is now an official verb in dictionaries now. As anyone in IT, including myself, can tell you, Google is the first place to go when you have a problem with anything IT-related. It's surprising what answers you can find if your Google-fu is strong. I have found that this picture is accurate.
  • Friends/Acquaintances - This, sad to say, is an avenue of assistance I have not utilized, as I don't know too many people that use Linux. But even if I did, I think I would have to exhaust all the other methods before I asked for help from a friend or co-worker. It's a pride thing. But for others who don't have that pride problem, you have an excellent source of help here.
  • The man pages - Remember the RTFM response? Well it actually is good advice, if delivered in a teaching manner. If you give a man a fish, you feed him for a day. If you teach him to fish, you feed him for a lifetime. Knowing how to use the man pages can reveal the syntax of a command or config file, little known/used command parameters, and many man pages have some decent examples at the bottom.
So what sources of help do you use most often? Did I miss any? I'd be interested in hearing your responses, post a comment below if you'd like to share.

2 comments:

Anonymous said...

Unix Family,

I am new to Shell Scripting and way behind in my class. Unfortunately, I am in a accelerated 10 wk class and my instructor is working the previous instructors lessons plans. I feel so lost and discouraged. If anyone is available show me how to write a shell script using the below parameters that would be great.

Thanks...

A glass return company requires a program which will calculate the amount of credit due to a customer who returns cases of empty bottles. (One case contains 10 bottles.)

Input to the program is a record containing the customer's name, the number of full cases and the number of bottles in a partial case, if any. If a partial case returned by a customer contains 5 or more bottles, it is to be counted as a full case. Partial cases of less than 5 bottles are not counted.

If 8 or more cases are returned, the customer is credited $4.00 per case, otherwise the customer is credited $3.00 per case.

The program is to print the customer's name, the number of full cases credited, and the credit amount due.


Inputs
------
Customer
Number of cases
Number of bottles in last case

Processes
---------
If number of bottles is grater then or equal to 5, then add 1 to cases
If Total Cases grater then or equal to 8, then multiply cases by 4
else then multiply cases by 3

Outputs
-------
Customer
Total Cases credited
Total Credit

Jeremiah Bess said...

Anon,

I can't give you a full answer, cause that would defeat the purpose of your exercise.

However, I can give you some hints to point you in the right direction. It's best to take complex programs or scripts and break them down into logical multiple parts.

Create a simple script that reads the input from the command line, or an input file and puts it into separate variables (your description was unclear how the data is obtained). Then have it echo that data out in a sentence structure, just to be sure you are getting all the information inputted into variables. ($cust, $cases, $bottles, etc)

Then add lines to complete an IF/ELSE statement. You can either use a nested IF/ELSE, or separate them, one for bottles greater than 5, and one for cases greater than 8. This is where you do the math according to your outlined "Processes".

Lastly, format the output of the math in the manner directed.

Post what script you have already, and any problems you have, and I can help out more if you need it.