Updated: March 20th, 2008
The purpose of this article is to:
- introduce the new Linux section of the site (specifically dedicated to openSUSE).
- provide a very short description of Linux and compare it to other operating systems.
- answer some installation questions.
I'm a Windows user, I admit it. Not because I enjoy frequent reboots, freezes, and other unexplainable quirks. It's mostly because I have so many programs I'm used to, it would be impossible to switch to anything else, and I know ins and outs that allow me to be very comfortable with the Windows. I'm talking 20-30 programs I'm not willing to give up any time soon.
However, I also have deep respect for *nix based systems. I started using them back in college and continued later on when I worked at Intel (Solaris) and other jobs. Stability and abundance of open-source software that just works attracted me to Linux. Finally, being a user just wasn't going to cut it: I had way too many questions about how things work, how the OS boots, what the conventions are, etc, etc, etc. So, finally, a couple of days ago I picked openSUSE 10.2 as my distro (distribution) of choice to play around with. The Linux section here on the site has been empty for a while, so I'm going to fill it up by documenting all my experiences and questions throughout the whole learning process as seen with the eyes of an amateur, which, I think, is what most tutorials are missing. So, let's begin.
OK, so… what are all these distributions? Ubuntu, who hasn't heard that by now? SUSE? Fedora? Why can't Linux be just Linux, just like Windows is just Windows? In short, in my opinion, because nobody but Microsoft has access to the Windows code (technically, after that leak a couple of years ago, everyone had a chance to see kernel source, but nobody can actually modify the OS or release another one based on it). Linux is open source, anybody can contribute to its development. That's the beauty of Linux: collaboration of
hundreds thousands of people often working on their own time with passion no employee on payroll can match. Some motivated individuals go even further: they compile a set of Linux components that they think would work best together and release it as a distribution. openSUSE is a fine example of that. A bunch of smart people over at Novell got together and produced openSUSE a while ago, with its main goals being:
- Make openSUSE the easiest Linux distribution for anyone to obtain and the most widely used open source platform.
- Provide an environment for open source collaboration that makes openSUSE the world's best Linux distribution for new and experienced Linux users.
- Dramatically simplify and open the development and packaging processes to make openSUSE the platform of choice for Linux hackers and application developers.
See this openSUSE.org about page for more info.
Installing Linux is easier than ever. Back in the day, Linux puzzled average users. Nowadays, for everyday activities Linux is as easy to use as Windows (or Mac if you're into big shiny objects). A short installation guide by Novel is available here and a very nice long guide by HowToForge is available here. If you breeze through the installation steps, you should have a shiny desktop ready to rock and roll in about 30 minutes. While the installation itself is very easy (just burn a CD/DVD from http://download.opensuse.org and reboot the computer), I had a couple of questions about things I wasn't quite sure about. Here they are:
- You're prompted to select your Desktop. The choices are KDE, GNOME, and Other (the Other menu has serveral options, one being no graphical desktop, which you would use if you didn't want a GUI at all, for example for server installs or if you imagined myself as an uber leet hax0r). A graphical desktop is a bit like a skin for the OS. Each also includes different sets of tools, for example KDE's default editor is KEdit while GNOME's is gedit. There are other differences, but for now we have to pick one. The good news is that you can install both later via the software update tool called YaST (actually it's yast2 in SUSE 10.2, yast is just a symlink to /sbin/yast2) and switch between them with ease. For my particular installation, I picked KDE as the desktop manager, which I ended up enjoying quite a lot.
- Correct partitioning of my 110GB hard drive raised the most questions out of all the installation prompts. After consulting with a friendly sysadmin from work, I ended up with
- 1.0GB swap partition with swap filesystem. I have 2GB RAM, so 1GB swap in case I run out of RAM should suffice.
- 100MB /boot partition with ext3 filesystem. /boot is where a boot loader like GRUB will reside. We don't want to piss off GRUB, so we'll give it a separate partition.
- ###MB /tmp partition with ext3 filesystem. /tmp stores temp files for all users. It is better to assign a separate partition to it so that malicious users cannot potentially flood it with useless data and cause the server to run out of space. Don't make this space too small though, so that legitimate users don't run out of temp space.
- ###MB /var partition with ext3 filesystem. /var can also run the server out of space quickly if a runaway log file fills it up (normally, in /var/log). Assign a few gigs to this dir depending on total space.
- The rest of the drive I assigned to / with ext3 filesystem. Some people also recommend assigning a separate partition to /home, which is probably a good idea if you're planning on having multiple users on the box. I picked ext3 after reading up online about various filesystem types. ReiserFS was not really an option anymore, since it wasn't too stable yet, and the creator of Reiser was recently arrested for murdering his wife. 2 days after the news broke out, SUSE creators officially announced ext3 as the recommended SUSE filesystem. When ext4 comes out, ext3 partitions will be easily upgradeable to ext4 without the need for repartitioning. The only drawback that I could find for ext3 is the ~32k directory and file limit in a single directory. Oh well, as long as I know about it, I'll be able to craft my applications with that in mind.
- Update 3/20/2008: I found a great Filesystem Hierarchy Standard document that explains all the dirs in detail here.
- Since I was planning on letting my router (Linksys WRT54G with HyperWRT firmware) handle the firewall duties, I disabled the firewall in the Network part of the installation. It's probably a good idea to leave it on and open ports like SSH (22), FTP (20-21), or HTTP (80) manually. I'm probably going to turn the firewall back on after a couple of weeks once I get the hang of everything.
Well, that should do it for this introduction. In the following articles, I will share my experiences dealing with something something specific, writing as I learn myself. They may be dedicated to software installation and usage, for example, proftpd ftp server. In other articles I may visit Linux concepts, like how to make programs start up at boot time.
In the meantime, if you found this article useful, feel free to buy me a cup of coffee below.