saylinux.com

Linux sites & information !!!!

 

The 7 Habits of Highly Effective Linux Users

16Apr2008 Filed under: Linux:General, Linux:Howto

Passing it onSwitching to Linux can be very daunting, most seasoned Linux users experienced that first hand. After all, at some point they were also “noobs”. However, the Linux community has excelled in making the switch for beginners as easy as possible by providing guides, howtos, tweaks, and general advocacy articles. When I first made the switch 3 years ago, I found the community welcoming me with open hands on forums, IRC channels, and E-mail, I was surprised how helpful these penguins were!

For this, I feel obliged to give back to the community that has always been there for me. To pass down the torch to newer Linux generations. Over here I compiled a list of 7 habits that I wish someone told me when I started out. I believe that getting into these habits will make the Linux experience more secure, convenient, educational, and ultimately more enjoyable.

1-Never Login Using ‘root’ GUI

If there was one habit that one should strictly abide by, it’s probably this one. Most of us come from a Windows background, and we have the notion that more power is better, so we login using our administrator accounts. Well let me tell you my friend, that this is a major reason that Windows is plagued with viruses and insecurities, half the world is currently running ‘root’ accounts!

Suse on RootWith great power comes great responsibility, and with ‘root’ powers you should be aware of the consequences of EVERYTHING you’re doing, and even then, mistakes happen. I remember my beginnings with SUSE Linux, there were lot of administrative tasks I needed to do but had no idea how to go about them without the GUI, so I so innocently log out and login onto the ‘root‘ GUI. The default wallpaper of the ‘root‘ GUI on SUSE were lit fuse bombs tiled beside each other. Back then, the symbolism totally flew over my head, coming from a Windows background, I wasn’t really doing anything wrong.

But what are the dangers of logging in as root?

  1. Well imagine you’re on the trapeze without a safety net, frightening isn’t it? Well that’s effectively what you are doing when you login as root, you can inadvertently hose your whole system
  2. You are at the risk of running malware. Any program that is started under root mode will automatically be given root privileges
  3. If there is a common security hole that hasn’t been patched yet, you could be totally “pwned”
  4. It’s common Unix convention, never run anything in root mode unless absolutely necessary. If a non-admin program asks for root access, you should be suspicious

Generally, instead of logging onto your root GUI, use any of the following techniques:

  • Use “sudo” or “su” , and kill the session when your done
  • If you don’t know how to do it in the command line, use “gksu” or “kdesu”. For example, press alt+f2 and type “gksu nautilus“. Close the app as soon as you finish

2-Properly Name Your Files

In a Linux environment, you can name your files whatever you want except for, 1) the forward slash “/” which is reserved for the root directory, and 2) a null character. Anything else is technically acceptable, however there are some best practices that you should abide by in order to avoid any future complications:

  • As a rule of thumb, only use alphanumeric characters, hyphens, periods, and underscores
  • Avoid special symbols like dollar signs, brackets, and percentages. These symbols have special meanings to the shell, and could cause conflicts
  • Avoid using spaces, handling files with spaces in the terminal is kind of awkward. Replace spaces with either hyphens or underscores

I personally have grown into this habit, I find myself following these guidelines even in a Windows or Mac environment.

3-Place /home on a Different Partition

Doing this gives you extreme flexibility, a kind that you never imagined before. Having /home in a separate partition enables you to reinstall your system or even change your whole distro without losing your data and personal settings. Just keep the “/home” partition intact and reinstall whatever you want on your “/”. Now you can try out distros as much as you want, without worrying about your data and personal settings, they go with you on the go ;).

If you weren’t lucky enough to know this before installing your system, then do not despair! Carthik from Ubuntu Blog takes you in a step-by-step guide titled “Move /home to it’s own partition

4-Proper Crash Management

Learn how to avoid this!Linux is very robust and stable, however every system can come down to it’s knees every once in a while. Before you head to CTRL-ALT-DEL, the restart button, or the plug, you should know how to properly handle any crash. As opposed to another un-named operating system, you should be able to easily recover your system without actually restarting! I personally go through different levels, if one doesn’t work I elevate it to next step:

  1. I have the “force quit” applet on my taskbar, if any app starts to act up just click on the “force quit” icon and then kill the app
  2. If that doesn’t work, draw up a terminal and type “ps -A” , and take note of the Process ID (PID) of the culprit app, then kill it. “kill PID”
  3. Use the “killall” command, for example, “killall firefox-bin”
  4. If your whole GUI is frozen, and drawing up a terminal is impossible, then press CTRL-ALT-F1, this will take you to another terminal, and virtually a whole new session. From there kill the culprit app using step 2 and 3.
  5. If that doesn’t work, you might want to restart your GUI using the CTRL-ALT-Backspace combo. Beware, that this will kill all your GUI apps currently running
  6. Invoke CTRL-ALT-F1 and do CTRL+ALT+DEL from here. This will not instantly reset your system, merely perform a standard reboot, it’s safe. (Assuming you want to restart and CTLR-ALT-F1 works)
  7. Finally if nothing works, don’t rush to the hard reset button, try to Raise a Skinny Elephant

5-Play The Field


You were probably recruited to your current distro by a friend, it suited you, and stuck with it. That’s great, but there is probably something better for you out there. Why not harness the flexibility and richness of Linux and Open Source? Don’t be afraid to experiment around with different distros, apps, window managers, and desktops. Experiment until you find the best fit. Think of it this way, if you are currently living in the best place on earth for you, traveling around the world wouldn’t really harm right? In fact you might find a better place to live in, but if you didn’t, the time you spent traveling would not have gone to waste, you would have learned a lot about other countries, other people and traditions, different ways of thinking, and ultimately had fun!

Every new thing you try out will contribute to your incremental learning, in a year’s time you will have a good grasp on Linux and the Open Source world. I personally tried out at least 10 distros, 4 desktops, and 5 window managers. My recent article Etymology of A Distro got me interested in a couple more distros such as Zenwalk, Foresight, and Sabayon. Play the field, my friend, it will do you good.

But before you proceed, pay heed to these few hints:

  • Set up your perfect system that you feel comfortable with, you need a workable system 24/7 right? Then test around using one of the below points
  • Harness the power of virtualization! Install Vmware or Virtualbox. Use them to test out the distros
  • Alternatively, if you are not big on virtualization, you can set up a separate partition to test new distros. A partition that you couldn’t care less about
  • Ultimately, you can have a main PC and a test one. Wreak havoc on the test one
Anime image is licensed by Creative Commons BY-NC 3.0
Original Artwork by Juzo Kun, Modified by Wayne Richardson.

6-Nurture Your CLI Adoption

Now I am not going to advocate learning the command line, there are numerous articles that emphasise on it’s importance. What I am assuming here is that you already know it’s importance, and have a rudimentary understanding on how to do some simple administrative tasks. You are already hacking away, tweaking and configuring, following the different guides and howtos scattered all over the tubes, but don’t just copy and paste!! Meaning, instead of just headlessly executing commands some random guy half way across the world told you to execute, try to understand what every command does. Why did the guide ask you to do this, as opposed to something else? Understand the rationale of the steps you are asked to do. These commands are highly relevant to you, and will help you gain a better understanding than any 101 guide.

After a while you will notice that you have amassed a good deal of CLI lore.

At the end of the day it’s just a pseudo-language! Every command is probably just an acronym of something, or a cut down version of a real word. You expect your dog to understand “Spike fetch ball” so why don’t you expect to understand “sudo mv /file1 /file2″?

7-Always Be Ready to Unleash The Power Within

Personally, I had numerous occasions when a friend asked me to do something on his/her computer, but found myself crippled because of his/her choice of OS. At other times I wanted to do something urgently but the only computer had another crippled OS. Spare yourself the agony, have Linux with you all the time, whether it’s on a USB pendrive, a live CD, or even a live CD business card ! There are dozens of good Linuces out there that are perfect for on-the-go computing. Knoppix, DSL, and Puppy Linux are just a few examples.

68 Linux Related Free E-books


I have decide to make a comprehensive list of Free Linux related e-books. E-books:


  1. Advanced Linux Programming by CodeSourcery LLC
  2. Comprehensive Linux Textbook by Muayyad Saleh Al-Sadi
  3. Java Application Development on Linux by Carl Albing and Michael Schwarz (PDF)
  4. Linux Client Migration Cookbook, Version 2: A Practical Planning and Implementation Guide for Migrating to Desktop Linux by Chris Almond
  5. Linux Compute Clusters by Chander Kant
  6. The Linux Cookbook: Tips and Techniques for Everyday Use by Michael Stutz
  7. Linux Device Drivers by Alessandro Rubini and Jonathan Corbet
  8. Linux Installation and Getting Started by Matt Welsh
  9. Linux Kernel Module Programming Guide by Ori Pomerantz
  10. Linux Network Administrator’s Guide by Olaf Kirch and Terry Dawson
  11. Securing and Optimizing Linux by Gerhard Mourani
  12. Self-Service Linux: Mastering the Art of Problem Determination by Dan Behman and Mark Wilding
  13. Slackware Linux Essentials by Alan Hicks, Chris Lumens, David Cantrell, and Logan Johnson
  14. Linux Admins Security Guide
  15. Linux Security Howto
  16. Linux Firewall Configuration, Packet Filtering & netfilter/iptables
  17. Linux Device Drivers, Third Edition
  18. GNU Bash Reference Manual
  19. Knowing Knoppix
  20. Linux Client Migration Cookbook
  21. Vi iMproved (VIM)
  22. Linux: Rute User’s Tutorial and Exposition
  23. The Book of Webmin
  24. Linux From Scratch
  25. GNU Emacs manual
  26. Writing GNOME Applications
  27. KDE 2.0 Development
  28. GTK+/Gnome Application Development
  29. GNU Autoconf, Automake and Libtool
  30. Advanced Linux Programming
  31. Secure Programming for Linux and Unix
  32. The Art of Unix Programming
  33. The Linux Development Platform
  34. C++ GUI Programming With Qt 3
  35. Unofficial Ubuntu Guide
  36. The Easiest Linux Guide You’ll Ever Read - An Introduction to Linux for Windows users
  37. SUSE Linux Administration Guide
  38. Red Hat Enterprise Linux Installation Guide
  39. Red Hat Enterprise Linux Reference Guide
  40. Red Hat Enterprise Linux Step By Step Guide
  41. Fedora Linux EssentialsVisual Basic Essentials
  42. Fedora Core 7 Desktop Guide
  43. Ubuntu Linux Essentials
  44. PHP Essentials
  45. Javascript Essentials
  46. Red Hat Fedora Core 7 Installation Guide
  47. The Art of Unix Programming
  48. Bash Guide for Beginners
  49. Beyond Linux from Scratch
  50. The Book of Webmin Or: How I Learned to Stop Worrying and Love UNIX
  51. Brian and Tom’s Linux Book
  52. Debian GNU/Linux Desktop Survival Guide
  53. Debian GNU/Linux System Administrator’s Manual
  54. Everyday Linux
  55. FreeBSD HandbookGNU Manuals OnlineIn The Beginning Was The Command Line
  56. Introduction to Linux - A Hands on Guide
  57. LDAP Operations HOWTOLearning Debian GNU/Linux
  58. Learning the Unix Operating System
  59. Linux Administration Made Easy
  60. Linux Dictionary
  61. The Linux kernel
  62. Linux Kernel 2.4 Internals
  63. The Linux Kernel Module Programming Guide
  64. LINUX: Rute User’s Tutorial and Exposition
  65. Maximum RPM, Taking the Red Hat Package Manager to the Limit
  66. Pocket Linux Guide
  67. Secure Programming for Linux and Unix HOWTO
  68. Linux+ Study Guide

10 Sites Offering Free Linux Courses Online

Whether you're new to Linux or an advanced user, you're bound to have questions. Read on to get a list of universities and other institutions offering free Linux courses, training and tutorials online.

1. VTC University (vtc.com)

Most VTC University computer software training courses require some sort of payment; however, you can take advantage of free Linux training straight from the University website. The free video tutorials vary in length and can be viewed with QuickTime or Flash.

2. Novell - OpenCourseWare Project (novell.com)

Novell Training Services offers a huge collection of free Linux courses online through their OpenCourseWare project. Courses can be accessed directly from the site without registration. You'll also find product documentation, downloadable software and tips and articles from the Novell community.

3. IBM - Linux Professional Institute (LPI) Exam Prep (ibm.com)

IBM provides a series of Linux tutorials via their website to help people study for the Linux Professional Institute (LPI) Exam. There are 13 tutorials in all. You'll need to register to access the training, but it is free for everyone.

4. University of Surrey - Department of Electronic Engineering (www.ee.surrey.ac.uk)

The University of Surrey's Department of Electronic Engineering offers an excellent beginner's guide to the Unix and Linux operating systems. The guide includes an introduction and eight comprehensive tutorials that are free to everyone. The tutorials are accessible via the University's website--no registration required.

5. Shuttleworth Foundation - Learn Linux Open Source Project (learnlinux.tsf.org)

Learn Linux is an Open Source project initiative supported by the Shuttleworth Foundation. Courses are free for everyone and can be accessed directly from the site without registration.

6. University of California at Davis - Professor Norm Matloff's Unix and Linux Tutorial Center (ucdavis.edu)

Professor Norm Matloff of the University of California at Davis offers a wonderful Unix and Linux Tutorial Center that contains detailed text on every topic imaginable. Tutorials are free to students and non-students alike and can be accessed directly from the website without registration.

7. Linux Online (linux.org)

Linux Online offers a broad range of free courses for students at any level. You can also find how-to's and quick tips to help you work with Linux more efficiently. Everything can be viewed easily directly on the site--no downloading or registration required.

8. About.com Linux Courses (linux.about.com)

About.com (part of the New York Times Company) offers many different free courses online. Those devoted to Linux can be delivered directly to an e-mail account on a daily or weekly basis, depending on the course you choose. The site also includes an endless supply of informational articles, how-to's and tutorials, as well as a forum devoted to Linux topics.

9. Begin Linux (beginlinux.org)

Begin Linux provides free Linux training courses via their website. Guest login is allowed for nearly all of the courses, which means registration is not necessary in most cases. Courses include everything from text to movies.

10. The Linux Tutorial (linux-tutorial.info)









 

Back to top