Suramya's Blog : Welcome to my crazy life…

August 18, 2007

’10 commandments for Linux users’ and some thoughts on them

Filed under: Linux/Unix Related,My Thoughts — Suramya @ 7:39 PM

I was browsing the web and I found this post called “The 10 Commandments for New Linux Users” with some simple rules for new linux users that the author thought might be useful for new users. Before I start with my comments, lets just read the ‘commandments’:

1. Thou shalt not log in as root.
    Use “sudo” or “su -” for administrative tasks.

2. Thou shalt use the package manager when possible.
    Sometimes installing from source code can’t be avoided, but when you use your distro’s package manager to install software, you can also use it to update and remove it. This is one of the main strengths of Linux.

3. Thou shalt be a part of the community.
    Freely give what you have received for free. Offer help and advice whenever you can.

4. Thou shalt read documentation and man pages.
    Always read the documentation. The people who wrote the software tried to anticipate your questions, and provided answers before you asked.

5. Thou shalt use the available support system.
    Switching to Linux can be tough. It can be frustrating, but there are a lot of people out there who want to help you. Let them.

6. Thou shalt search.
    In most cases, your question or problem has already been addressed. Try to find the answers that are already out there before asking someone to provide a new one.

7. Thou shalt explore.
    Linux opens a whole new world of options and possibilities. Try everything you can.

8. Thou shalt use the command line.
    Especially when it comes to configuration, use the GUI tools to get your system working, but get to know the command line versions as well. In many cases, the command line is the only way to use some of the more advanced features.

9. Thou shalt not try to recreate Windows.
    Linux is not meant to be a clone of Windows. It’s different. Embrace and appreciate the differences.

10. Thou shalt not give up.
    I tried several distributions before I found one I liked. I still try other distros from time to time. I also tried several different programs to serve one purpose before settling on what I use now (amarok, xmms, beep, exaile for music – azureus, ktorrent, deluge for bittorrents). If you don’t like the defaults, remember that you can change almost everything to suit you.

You won’t believe the responses he got to this post. They ranged from helpful additions to the list, some jokes and some rather rude personal comments on the author and the Linux community in general. This is one of the things I hate about the Fanboy and zealots that abound on the internet. They don’t have the knowledge to actually help someone and are retarded idiots whose sole purpose in life is to provoke a reaction from the other person. They don’t have the guts to standup to someone in real life so they hide behind their computer and make rude remarks about everyone else. I have found a couple of them on my site also and usually I either ignore them or make fun of them. What these idiots don’t realize that the person they are making fun of and calling a nerd/geek/looser is a person who probably earns 10 times more and probably has double their IQ.

Anyways, now that we have that out of the way lets talk about the Commandments themselves:

1. Thou shalt not log in as root.

This doesn’t mean that you shouldn’t log in to root at all. It means that you should login as your normal user for everyday tasks and only login to root when required. I have worked as root for hours when it was required (I was troubleshooting an install) but once I was done I logged out immediately. The issue is that if a root account is compromised or you make a mistake as root it can have a huge impact.

Lets take an example: lets say you are trying to delete all files in your home directory and you wanted to enter the following command: rm -rf ~/* but because you were tired you entered the following instead: rm -rf ~ /* (Notice the space between the ~ and the /). Now, if you are logged in as a normal user you will get a bunch of permission denied messages and you are fine. BUT if you are logged in as root it will delete every file in the / directory (Which is the top folder on the disk and hence contains all the files on your system). In one step you have made your system scrap. You will have to restore from backups or re-install which will take time.

Think that wont happen? It does. More times than you can imagine. Think that this just happens on Linux? Sorry, wrong again. I have personal experience with it on Windows (It was Windows 3.1) and at that time I was just learning how to use computers. I had installed a bunch of fonts on the computer thinking I was installing a fonts program. When I realized that the few 100 MB’s worth of stuff I installed on my system didn’t give me any new programs I was upset. So I decided to delete the fonts from my system. Unfortunately the command I entered was: “deltree c:\Windows”. This command deleted my entire windows directory and I spent a week reinstalling. This would not have happened if I was on Linux or if DOS/Windows had any concept of multiuser access controls. They have gotten a lot better at it and XP/Vista is a whole lot more secure than the older versions.

2. Thou shalt use the package manager when possible.

Usually a good idea unless you have a specific reason for not using it. Think of the package manager as the ‘Add/Remove’ programs equivalent in the Linux world. Only its a lot more powerful and versatile than it. Basically it makes managing the system/installing new software a lot easier. Basically all you have to do is select the program you want to install (using the gui frontend or the commandline) and it does the work for you. The same goes for removing programs. Adding a program manually (by compiling it) confuses the system as the package manager doesn’t know its there so if it needs it for some other program it will just download and install the latest version which might not be compatible with the version you installed.

Compiling programs and installing them is usually only required for users with specific needs or for software that doesn’t exist in the package manager repository. (Most popular programs do exist in the repositories)

3. Thou shalt be a part of the community.

An important part. This doesn’t mean that we expect you to start handing in code patches and fixes. It just means that you share your experiences and if someone asks a question that you can answer, you reply. You can be a part of the community by reporting bugs, creating documentation, help organize a meeting or create a new logo or layout thats more efficient. Proofreading the guides and reporting the issues you found while following it is also helpful. Feedback from a new user is an important step in software development and is appreciated.

4. Thou shalt read documentation and man pages.

Also important, but it doesn’t mean that if you have read it and still don’t understand it you can’t ask questions. It just means that if you want to know what the command is to delete files, you search on google for ‘how to delete files in linux’ before asking questions. Its an important rule because it saves both your time and ours. In the time it took you to ask someone and wait for a reply you could have found the answer if you looked first.

5. Thou shalt use the available support system.

Don’t really agree with this one because sometimes the hardest part is finding the support system. I face this problem when I try to fix issues on Windows systems. If I hit an issue I sometimes have a hard time because I don’t know the correct forums/news groups to ask questions in, while I do know what forums to look in when I have a linux question. So I guess new Linux users face the same issue also.

6. Thou shalt search.

See Point 4.

7. Thou shalt explore.

This is true on both Windows and Linux. Don’t be scared of your computer, its not an evil machine plotting to make your life miserable. Its a tool. When you buy a new car don’t you want to explore all the features in it? Same with a computer.

My cousin just bought a new computer for my nephew and the first thing I told him was “don’t be afraid to experiment whatever you break in the software can be fixed.” (so can the hardware. But that might cost money. 😉 ) I have learned more by breaking down the system and then trying to fix it than just playing with it.

If in doubt ask.

8. Thou shalt use the command line.

I would rephrase this as “Thou shalt learn to use the command line”. Because if you want to (and are interested in it) you can save a lot of time by entering a command to do something instead of clicking through 10 dialog boxes.

9. Thou shalt not try to recreate Windows.

Good one. Linux is a new system. Think of it like a new language. When you are learning Spanish, would you try to enforce English vocabulary rules in it? No right… So why do the same in Linux? You can recreate the layout, etc but don’t expect it to behave exactly like Windows.

10. Thou shalt not give up.

Very important rule. For everything in life as well as computers. If you give up you will never know what you are missing. You are more than welcome to try it and decide that it isn’t for you (Thats your choice) but don’t start installing and then quit the minute you hit the first obstruction.

Finally a new addition from my side:

11. Thou are more than welcome to use whatever OS that suites your needs

The main idea is to get the computer to work for you. If you are happy with Windows and if it works for you then you are more than welcome to continue using it. After all its all a matter of choice. I won’t force you to follow mine and I expect the same from you.

Enjoy the computing world. This is all for now. Will post more later.

– Suramya

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress