What my experiences have tought me and what you need to know to successfully make the switch
By: Cas Mollien Last modified on: 29 October 2008, 14:06h
Switching from a smooth and dumbed down operating system like Microsoft Windows to a Linux based version brings about some intersting challenges. I have made the switch about a year ago and am still getting used to all the ins and outs.
This guide is not meant to be a how-to on switching, However, I have noticed that switching would have been an lot more easy if I would have known some basic commands and had some basic knowledge of what is going on!
First of all, what 'they' say is true: If you are not ready to get comfortable with the command line, don't switch. It is as simple as that. To get certain hardware to work, or to work properly, some basic command line knowledge is absolutely necessary. The command line will open your eyes, though: Good use of the command line, configuration files, log files and the tools that are available in this environment make troubleshooting problems very easy.
Choosing the right distribution As far as distributions go, for beginners there is only 1 system that is easy to understand and work with: Debian and Debian based distros. This is ofcourse a personal opinion, so please feel free to experiment. Experimenting is what I did with a LOT of different Linux flavors. I settled on SimplyMepis, since it incorporates the functionality of Ubuntu with an even more balanced and easy to understand KDE GUI. An other good option is PCLinuxOS. All three of the above mentioned products, Mepis, PCLinuxOS and Ubuntu, are great products for beginners and will grow with you to infinity.
Installing software: Packages The reason why I choose Debian, is mainly based on it's package management system. Packages in Linux are, well, software packages.
Basically, when you install a software package in Windows, you download the software and click on the MSI or EXE file.
In Linux, you use a package manager to automatically download and install software, drivers, etc.. Debian uses the apt system. Either use the GUI application 'Synaptic' or, on the command line, type:
apt-get update --> Updates the available software list.
apt-cache search XXX --> Searches the available software list for a package with description XXX.
apt-get install XXX --> Installs package XXX, including all it;s dependencies.
Since there are literally thousands of packages to choose from, there is always something that will do what you want. In the beginning, I would advise not to use other sources then the default ones, and not to install .deb packages that you have downloaded somewhere. Using the default repositories ensures system stability and will make sure that all 'dependencies' are met.
Dependencies Dependencies are other components that need to be installed for a certain program to work. 'Dependency hell' is trying to meet all the dependency requirements, where every piece of software you install reguires an other, while the other requires yet an other, thus bringing you into a seemingly infinite loop of packages that need to be found and installed.
Dependencies are like DLL's in Windows. If you do not have a specific DLL, if your DLL version is too old or not registered properly, your application will not work. Change the DLL and your application may work, but some other ones that require an older version, will not work anymore....
File Extensions: They don't really matter File extensions in Linux are used mainly to tell you something about the file, but are not used for associations (eventhough they can be). This means that any file can be an executable, and often executables are actually text files.
The only way to tell if a file is executable, is to run a directory listing with 'ls -alF' and to look at the first column: an 'x' means 'eXecutable'.
Hardware In Windows you have the device manager. In Linux there is no such thing. Most likely there is a package out there that does exactly that, but I have not found it.
The command line comes to the rescue and tells you even more then Windows does:
lsmod -> LiStMODules: Basically, show all installed drivers.
lspci -> LiStPCI: Show all the detected PCI devices in the system.
lsusb -> LiStUSB: You guessed it: Show all detected USB devices.
modprobe XXX -> Probe to see if driver XXX is loaded. If no errors are returned, the driver is loaded.
less /proc/bus/usb/devices -> Additional info on USB devices, such as what driver a device uses.
This page is updated continuously and should be considered a work in progress. Please visit back to learn more.
Found this article useful? Please consider buying me a beer - or something else useful..