Quantcast

Don't have an account? Register Now! Forgot password?

Maximum IT
Features

Linux Troubleshooting Guide: Fix the Most Common Problems

comment Commentsprint Printemail EmailDeliciousDiggStumbleUponRedditFacebookSlashdot

Understand the Nature of Problem

Before you can solve a problem, you must be aware of what the problem is. Although this sounds ridiculously simple, it is often easier said than done. The key is to understand the nature of a problem in a comprehensive sense rather than abstractly. Fortunately, there are always clues which can help you achieve this level of understanding. These clues are the symptoms of the underlying problem, and they are your main guide. Ultimately, you must look at each problem in a forensic or diagnostic sense like a physician or a detective. When you encounter a problem, try to apply the following questions to it and then answer them:

  • What is the specific problem?
  • Why am I seeing this problem?
  • What has changed in the time between now and when everything last worked perfectly?
  • How is this problem manifested?
  • What are the symptoms?
  • What is the extent of the problem?
  • Under what conditions does the problem appear?

You must first identify what the specific problem is. On the surface, this sounds trivial and even self-evident, but there is often more to it than reading an error message. Error messages are often less than ideal at describing the particular problem they are supposed to address, so you must learn to look past them and identify what has really happened.

Ideally, you should try to understand the problem as specifically as possible; instead of saying “Program A doesn't work”, you should think of it as “Program A produces Result B when I try to perform Task C under Condition D”. Once you are able to accurately fill in the variables, you will have a more concrete understanding of the situation than if you try to deal with the problem more abstractly. Googling this concise description of the problem once you have it figured out often yields results that may help you fix the problem or may even offer a solution outright. Try to think of the reasons as to why you are seeing a particular error message, and then form a hypothesis based on that assumption.

When forming your hypothesis, you must take into account any changes that have been made to the system. Quite often, problems arise due to a change in the system rather than for unrelated reasons. As a result, any system changes should play a central role in your hypothesis. In this instance, the system logs would likely hold useful information, so that would be a good place to start looking.

Next, you must understand how the problem is manifested. The best place to start is with the symptoms of the problem. You must ask yourself what the symptoms are trying to tell you; is there something wrong with the hardware, or is it a software problem? How is this problem being shown, and does the situation fit with your assumptions? This is the reason why knowing about your hardware and software is a prerequisite to troubleshooting, since deductive reasoning relies on your ability to discard a hypothesis if it turns out to be unlikely or even impossible when weighed against what you know to be true.

A good hypothesis stands up when weighed against the evidence. It is important to answer all the questions listed above when forming your hypothesis, since you need as much observation data as possible to fine-tune the hypothesis. Failure to do so results in a bad hypothesis. For example, if you believe that a problem must be hardware-based because it happens consistently at a certain time, your hypothesis is far from sound. You may be right in that particular instance, but it is difficult to approach the problem with any certainty since you failed to take other factors into account. To see whether your hypotheses are true, you must be prepared to test them.

Problems must often be addressed in a specific order. For example, you may have to fix something separate yet related to the main problem before you are able to attack the main problem itself. Based on your observations and your prerequisite knowledge of how your computer operates, you must decide what to focus on first and where to go on from there until everything is fixed. Your hypothesis plus your planned repair method becomes your strategy for fixing the problem.

Experiment to solve the problem

Quite often, the key to solving a problem is a process of elimination in which one strategy after another is tested and then discarded or revised until the correct solution is found. Keep in mind that there may be more than one way to fix a problem, and the least risky methods should be attempted first. It is possible that testing may reveal more clues that were not present before, and you should definitely take these into account and revise your hypotheses and strategies accordingly.

Another thing you must consider is whether you have seen this problem before in another situation. No two separate problems are exactly alike, but comparing the present situation to a past experience may grant you additional insight as to what is going on. Try to focus on similarities and differences between this situation and previous ones; the more factors you are able to correlate or eliminate, the better. After doing that, you should try to remember what you did to solve the previous problem(s) and then try to find out if the same solution can be applicable to your current problem. If this tactic is successful, you could be well on your way to solving the problem. If not, you have uncovered more clues that you can use to help understand the situation further. For example, if a previous solution will not work on the current problem even though it may be similar, try to understand why. Ask the following questions and try to answer them:

1. How does this situation differ from the previous one?
2. How is this situation similar to the previous one?
3. What happens when the previous solution is applied to this problem?
4. What does the answer to question #3 tell me?

At this stage, it is critical that you document each repair attempt before you do it. Take note of any change you make, and make a note of the previous setting. If you change a registry value or edit a configuration file, you should make a note of how it was before. Many configuration files allow lines to be commented out; it is generally a good idea to use the commenting system to make notes of how the file used to be whenever you change a setting. If you replace files, make a copy of the original file before you replace it. That way, if your repair strategy backfires, you will be able to go back to the previous configuration and try something else without having made the problem irrevocably worse.

To be effective, you should also document the results of each experiment so you will be able to go back and remember what worked and what didn't. Your experimentation attempts will allow you to pinpoint or eliminate specific factors as the cause of the underlying problem. This works on the principle that if you eliminate all the wrong possibilities, you will eventually arrive at the correct solution.

Know When to Stop

Although you can solve many computer problems through deductive reasoning, there are still limits to what it can accomplish. Some computer problems are beyond any degree of troubleshooting, since it is often impossible to know whether or not the problem has been completely fixed. In such cases, your only real strategy is to recover what data you can and start over with a clean operating system installation.

You have to know when to stop working on a problem or your attempts will become counter-productive. You can spend hours on a single problem, but if you make no real progress, you are just wasting your time. Also, you must know if your attempts are effective. If your repair attempts are causing more problems, it is time to stop since you will never be able to fix all of them.

COMMENTS
avatarLinux article sighting

MaximumPC:  thanks for the Linux exposure guys, keep it up.

th3madscientist:  the nice people at MaximumPC have to find ways to continually deliver computer related content, this article is one of them; unless they are holding out on us, I have yet to read a letter to them from a reader stating their articles broke their PC.  Worry about your own rig and let Linux users play with their system as they choose.

maxFan:  good job, you suceeded in coming across as a punk; if you really care to correct someone learn some diplomacy.

whiplash55:  that's like saying "best fix for dealing with people like whiplash55, get rid of them."  why would you think anyone reading this article would care that you don't understand Linux.

Login or register to post comments
avatarLinux articles

Thanks for the continuing Linux articles and never mind the naysayers. I'm just a hack, but I enjoy experimenting and dual booting my Vista (soon-to-be W7)/Ubuntu Dell laptop, and my aging desktop's XP has been replaced by Fedora. Almost everything on my PC's is open source and/or freeware, in large part due to MPC.

Keep up the good work!

Login or register to post comments
avatarlast step

Best fix for Linux

Install Windows 7 enjoy and decent OS with real games and apps.

Login or register to post comments
avatarPointless

Your going to shoot yourself in the foot following this advice. Your basically saying a non-savy computer user can follow your advice and fix his own computer by using your troubleshooting methods. Wrong, to troubleshoot effectively there is one thing needed and that is experience. With experience all this comes as second nature. You can document all you want, but as soon as someone who doesnt know what they are doing makes a mistake editting the registry and now cannot get into their OS, he has just made the problem worse. Although i do agree with experimentation but you need more knowledge then just hardware, you need to know the ramifications of your actions to experiment effectively not just "oh this did not work, but what do I do now since I can't get back into my OS."

This is like saying oh you can fix your own car if you follow these steps but how to take apart your car and put it back together is none of my concern and if something happens that is out of the ordinary then nothing will help you but someone who is experienced....i want my 2 minutes back.

Login or register to post comments
avatarI just reinstall.... (yes i know, its the geek squad way :)

I know it seems horible but it just makes it easier, and since I dont have a dedicated linux rig I dont want to risk screwing up anything else :( 

Login or register to post comments
avatarGeek Squad

Its linux, they just say your computer isn't working and be nice enough to help you get a new one.

Login or register to post comments
avatarWrong type of reasoning

Sir Arthur Conan Doyle's Sherlock Holmes really confused readers, but crime solving and the scientific method use inductive reasoning, not deductive reasoning.

Login or register to post comments
avatarYour premise is in error. Sorry!

Sigh.  Ok One more time for those of you who STILL dont get it.  The Scientific Method is neither straight Deductive reasoning Nor is it Inductive reasoning.  It is a synergy of both and has elements that are unique to it and belong to no other social endeavour.  

From Wikipedia:

Deductive reasoning, sometimes called deductive logic, is reasoning which constructs or evaluates deductive arguments. In logic, an argument is said to be deductive when the truth of the conclusion is purported to follow necessarily or be a logical consequence of the premises and (consequently) its corresponding conditional is a necessary truth. Deductive arguments are said to be valid or invalid, never true or false. A deductive argument is valid if and only if the truth of the conclusion actually does follow necessarily (or is indeed a logical consequence of) the premises and (consequently) its corresponding conditional is a necessary truth. If a deductive argument is not valid then it is invalid. A valid deductive argument with true premises is said to be sound; a deductive argument which is invalid or has one or more false premises or both is said to be not sound (unsound).

An example of a deductive argument and hence of deductive reasoning:

All men are mortal
Socrates is a man
(Therefore,) Socrates is mortal

And again from Wikipedia:

Induction or inductive reasoning, sometimes called inductive logic, is reasoning which takes us "beyond the confines of our current evidence or knowledge to conclusions about the unknown."[1] The premises of an inductive argument indicate some degree of support (inductive probability) for the conclusion but do not entail it; i.e. they do not ensure its truth. Induction is used to ascribe properties or relations to types based on an observation instance (i.e., on a number of observations or experiences); or to formulate laws based on limited observations of recurring phenomenal patterns. Induction is employed, for example, in using specific propositions such as:

This ice is cold. (or: All ice I have ever touched was cold.)
This billiard ball moves when struck with a cue. (or: Of one hundred billiard balls struck with a cue, all of them moved.)

...to infer general propositions such as:

All ice is cold.
All billiard balls move when struck with a cue.

Another example would be:

3+5=8 and eight is an even number. Therefore, an odd number added to another odd number will result in an even number.

The Scientific Method uses elements of both and is a synergy between the two rather than just one or the other.

Again from Wikipedia:

 

Four essential elements[17][18][19] of a scientific method[20] are iterations,[21][22] recursions,[23] interleavings, and orderings of the following:

Sir Aurthur Conan Doyle's Great Detective used Deductive Logic in nearly (I say nearly although I rather suspect that it was indeed all; however, it has been quite some time since I have read all of his stories so for the nonce I shall equivocate) ALL of his stories.  If you understood Doyle's Science background and his upbringing especially in reference to a aprticular Don of Chemistry he had during his formal education one Professor Bell, who became a template of the Great Detective, you would realize that Holmes used almost pure deduction which as we have seen from wiki starts with a premise that is supposed to be true and then falsifies each argument in turn until there are no more arguments left save one.  That one argument of course when left and assuming that the premise itself is true must also be true by the Identity principle: A union B must be equal to  B union A.  All things equal to each other must be equal to themselves.

Holmes actually makes reference to this in the story The Blanched Soldier:  "When you have eliminated all which is possible, then whatever remains, however improbable, must be the truth."  This is the essence of deductive reaasoning or logic.  Assuming that the premise is true this particular method works 100% of the time provided that A the premise one starts with IS indeed true and B that you have investigated and eliminated ALL that is impossible for a given premise to be true and C that you have been honest with your self about both the premise and your observations. Indeed Holmes propounded on the latter quite vehemently in several stories where he is involved.  Case in point "A Scandal In Bohemia":  It is a capital mistake to theorize before one has data. Insensibly one begins to twist facts to suit theories, instead of theories to suit facts.

Before you equate one argument to another or decide that one methodology must use a particular type of logic or reasoning.  Please make sure you understand the actual definition of both the Methodology AND the logic or reasoning.

 

 

 

Login or register to post comments
avatarA spell checked version of

A spell checked version of your nifty user name would of been nice.

Otherwise, great name.  

Ah, lol, I kid.  I actually agree, a nice 1680x1050 res img would be cool for a wallpaper on my desktop!

Login or register to post comments
avatarA higher res picture of that

A higher res picture of that nifty flowchart would be nice.

 Otherwise, great article. Will probably be very useful to me in the near future.

Login or register to post comments

This Month's Issue
FEATURE How to Get FREE Programs, Services, Software & MoreFEATURE Digital Photo Printer RoundupHOW TOBuild a 3D CameraFEATUREDIY Arcade PCWHITE PAPERHow TRIM Works