• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

FAQ 2.0-Updated for Your Linux Pleasure

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

Christoph

JAPH Senior
Joined
Oct 8, 2001
Location
Redmond, WA
The Alt OS FAQ v2

How do I use this FAQ?
In order to cover as much information as possible without drowning potential Linux users in details, questions are organized by topic. The first topics are ones which beginning Linux users will want. Questions further down the list will become progressively more advanced.
This FAQ will be done in OSS style: I'll be happy to accept corrections, expansions or entirely new questions from anyone who cares to write them. If you find a thread or offsite link that you think is especially helpful, PM me and I'll be glad to add it. Alternately, if you start a thread about a specific question, I'll be glad to link to it from the relevant question. As in OSS, I will give credit where credit is due.
For those who aren't familiar with our forums, stars and postcount are secondary. Contributions really are welcome from anyone who can send them. The only factor I care about is the quality of the contribution.
With that said, enjoy!


Unless otherwise noted, everything is my original work. If you find it useful, contribute back to it or the OSS community when you're able. Please do not copy this FAQ. If you want to distribute this information, post a link so that everyone who reads it will have the chance to contribute back to it and will know where to come for more information. Thanks.



Starting out:
  • link: What's Linux?
  • link: What's a distro?
  • link: What should I know before installing Linux?
  • link: What's *nix?
  • link: Where do I start?
  • link: How do distros differ from each other?
  • link: What distros are popular on these forums?
  • link: What's a good book?
  • link: What kind of hardware do I need?
  • link: Linux is slow. How do I make it faster?
  • link: Where can I get Linux CDs sent to me for the cost of shipping?
  • link: Why do I need a Knoppix or Overclockix CD?
Interoperability:
  • link: Does Linux have NTFS read/write support?
  • link: Does Linux have FAT r/w support?
  • link: Can a Linux computer and a windows computer share files?
  • link: How can I share one Internet connection with a mixed Linux/Windows LAN?
  • link: Can I dual boot with windows?
  • link: How do I dual boot with LILO?
  • link: How do I dual boot with GRUB?
  • link: How can I run Linux in windows?
  • link: Can I run OSX on an x86 box?
Games:
  • link: How good is Linux gaming support?
  • link: What video cards support 3D acceleration under Linux?
  • link: What native Linux games can you buy?
  • link: Can I run windows games in Linux?
Semi-Advanced:
  • link: Where can I find guides on many various subjects?
  • link: What are tarballs and why do I care?
  • link: Where can I find CLI tips?
  • link: How can I log into my computer remotely?
  • link: Can I use a GUI remotely?
  • link: What are patches? How can I use them?
  • link: I only have network access (ie no disk drives). Can I still install Linux?
  • link: Some people say that Linux has the best backup tool. What is it?
Distributed Computing:
  • link: What is distributed computing?
  • link: My puppy died from cancer. Can I fold so that other puppies won't have to die?
  • link: Can I crunch for SETI, even though they only find stuff in movies like "Contact"?
  • link: Can I look for prime numbers, even though it only makes number theory geeks happy?
  • link: My favorite DC project only has a windows client. What can I do?
Hardware:
  • link: Can I use my nVidia card?
  • link: Can I use my ATi card?
  • link: Does Linux support SMP and hyperthreading?
  • link: What's a good distro for an old computer (100+ mHz range) ?
  • link: My computer's even slower than that. What can I do?
  • link: Why are binary-only drivers like nVidia and ATi's a Bad Thing?
  • link: How good is Linux USB support?
  • link: What about wireless?
  • link: Can I use a modem under Linux?
  • link: Which winmodems work with Linux?
  • link: What about sound cards?
Configuration:
  • link: X won't start. How do I configure it?
  • link: How do I get/compile the kernel?
  • link: LILO just died. How can I recover my install?
  • link: I can't su to root. What's wrong?
Misc:
  • link: What are modules? Why do I need them and how do I use them?
  • link: Linux looks hard. Why should I bother?
  • link: Why is running as root bad?
  • link: Where can I get Linux news?
  • link: Where can I comment on this FAQ?

In-Depth Guides:
  • link: ATi Guide by rogerdugans
  • link: OS guide by kaltag
  • link: Samba guide by Titan386
 
Last edited:
What's Linux?

Technically, Linux refers to only the Linux kernel. (In short, the kernel is the piece of software that lets your other software talk to each other and to your hardware.)
However, when people say that they're running Linux, they mean that they're running an collection of software (see What's a Distro?) that uses the Linux kernel as a base. The source code for Linux is freely available and can compile for many different architectures (different types of CPU, like x86, PPC, Itanium, Sparc, ARM, Alpha, etc), so there are lots of unusually large and small devices that run Linux, in addition to the machines people usually think of as computers.
The Linux kernel also contains almost all available non-proprietary drivers. Often finding a driver is simply a matter of searching through the kernel's config menus.
 
Last edited:
What's a distro?

"Distro" is short for (Linux) distribution. It refers to the collection of packages, init scripts, package management tools, the kernel and documentation that you get when you install a Linux-based OS. Distros usually come in a convenient format such as a bootable CD image (ie ISO). Most of these are 600-700M. There's another class of ISO that's significantly smaller (~186MB). These have just enough software to get the computer and network connection started. Once that's set up, the installer downloads the rest of the distro.
There are also a couple less common methods for distrubuting a distro. Distros that install from floppies are a dying breed, but still exist. Some distros can even be installed with only a network connection, although they require a PXE boot server with a somewhat tricky setup.
Finally, there's the class of distros that includes Knoppix and Overclockix. These distros are designed to run entirely off a CD and RAM, and automatically detect your hardware. You need one of these. They don't touch your hdd unless you tell them too. There are also Knoppix-like miminalist distros such as DSL, and even some that fit on a floppy or two. Note that DSL strips out documentation and some other important goodies in an effort to stay below 50M. Full Knoppix is a better choice as a rescue disk.
You can find an overview of some major distros in this thread, and can find a list of all distros, along with some distro news at DistroWatch.
 
Last edited:
What should I know before installing Linux?

There are some newbie-friendly distros that require *no* previous Linux experience or knowledge. These include Mandrake, Fedora Core and SUSE, among others. I started out with one of these distros (Mandrake) and eventually dropped it because I didn't learn enough. If you just want to be free of MS, these are the way to go. They won't be as efficient as the distros below because they do many things that most people don't need. That's part of the cost of a simplified distro.
Other distros are intended for people with more experience. These include Debian (pure, not any of the many Debian-based distros), Gentoo and Yoper, among others. These aren't as easy to install, but they allow the user much more fine-grained control over what services are run and what software is installed. If you have an older machine, these distros will let you do something useful with it. (If you have really old hardware, see this question)
 
Last edited:
What's *nix?

On the Unix and Linux command-line, * means "any sequence of characters", so *nix means "anything that ends in 'nix'". This isn't completely accurate, since *nix doesn't refer to the Phoenix or a fornix, and since it refers to a number of OSs that don't end in "nix". When you see it in the OSS world, it means any OS that was somehow based on a Unix, even if there isn't any original Unix code in it, as is the case with Linux. This includes Linux, Lunix, AIX, IRIX, Solaris, FreeBSD, OpenBSD, NetBSD, BSD/OS and many, many others.
 
Last edited:
Where do I start?

Grab a newbie distro and dive in. You'll learn more and you'll learn it faster if you nuke windows, but you can happily install Linux along other Linux distros and windows. See Can I dual boot with windows?
You can find an overview of some different distros in this thread by kaltag.
 
Last edited:
How do distros differ from each other?

Among the different Linux distros, everything differs except that they all use some version of the Linux kernel. Things that differ include:
* init script style
* package management system
* what's installed by default
* configuration tools
* user friendlieness
* CLI- or GUI-based
* available packages
* what (if any) proprietary tools are included
Of course, not everything is different between every distro. Many are based on the big distros like Debian and Redhat, but add features like Asian language support, nicer hardware management tools or GUI-centrism. DistroWatch has separate pages comparing major aspects of every Linux and BSD distro, including release dates, supported architectures, default desktop environment and versions of major packages.
You can find kaltag's overview of some different distros in this thread.

DarkArctic suggested adding DistroWatch. DreamingWolf suggested some clarifications.
 
Last edited:
What's a good book?

ESR maintains a good long list of recommended books on different Linux subjects. If you're getting started and want a good reference. any of the books under "Linux Basics" will serve you well. My favorite is "A Practical Guide to Linux", and O'Reilly's "Running Linux" is also popular.
Another good book is the Red Hat Linux 9 Bible. In spite of what the title suggests, much of the information is distribution independent. The book covers everything from how to use the shell to gaming (yes, 3d gaming). It is both excellent and long, and will be a useful reference for newbies and experienced users alike. It covers how to set up web, ftp, email and other servers, in addition to almost everything one could imagine doing, with the singular exceptions of bootloaders and recompiling the kernel. While The RHL9 Bible is a very thorough reference, it's a supplement to online documentation, not a replacement.
When buying a book, don't worry about out-of-date information. The purpose of a book is to help you get the basics down. Once you know that, you can fill in the gaps with what you find online. For example, "The C Programming Language" by K&R is still an excellent (possibly the best) way to learn pure C, even if it's 14 years old.

SewerBeing added the information about the RHL9 Bible.
 
Last edited:
What kind of hardware do I need?

In the past, you had to be very careful about what hardware you picked for a Linux box, since there were many unsupported devices. Today, you're unlikely to run into any major difficulties. The biggest exception to look for is winmodems (ie modems that make the CPU do most of the work), many of which aren't supported. If you find yourself with a winmodem or want one that's supported under Linux, check Linmodems to see what your options are.
If you find an unusual device, it's a good idea to check for a Linux driver before you buy it, but you'll probably find one.
It's also important to mention that Linux isn't limited to x86. The kernel can be compiled for a large number of architectures and Debian is available for all of the following: Alpha, Arm, PA-RISC, x86, IA-64, 680x0, MIPS, DEC, PPC, S/390 and SPARC, and has unreleased ports for x86-64 and SuperH.
If you want to run Linux on a PPC system, Yellow Dog Linux, which specializes in PPC, may be of interest. PPC LiveCDs are also available, although my experience is that there's still some work to do to get it up to snuff with x86 Knoppix.

Ryan0rZ and stabob helped edit and proofread this answer. DarkArctic suggested that I mention architectures other than x86.
 
Last edited:
Linux is slow. How do I make it faster?

Linux can be as slow or fast as you want it to be. If you want to speed it up, make sure it doesn't start any unnecessary services while it's booting. How to do this is very distro-dependent. Switching to a lightweight windowmanager like Fluxbox will also make a noticeable difference.
A less impactful way of making your system faster is prelinking all the binaries. In the simplest terms, prelinking is a way to make binary programs run faster by telling programs where they'll need to go in a library. Once you've run prelink, your programs will load faster without any additional configuration. You can find a guide on prelinking here. While some information is specific to Gentoo, much of it applies to any distro. You can find the original source and documenation for prelink here.
For prelinking, you need glibc 2.3.1-rc2 or higher. Below are instructions to find out which version is installed on various popular distros.
On an RPM-based system, you can find your version of glibc with rpm -q glibc . On Debian-based systems, you can use apt-cache show --no-all-versions libc6 (libc6 is another name for glibc). On Gentoo, you can use esearch glibc or emerge search glibc if you don't have esearch installed (or esearch -o "%n %vi\n" glibc if you want concise formatting).

DarkArctic suggested mentioning prelink and pointed out an inaccuracy in my desciption of it.
 
Last edited:
Why do I need a Knoppix or Overclockix CD?

First of all, when I say "Knoppix", I mean any semi-recent version or derivative of Knoppix. Overclockix, which our own Arkaine23 started and maintains, has some goodies that stock Knoppix doesn't. You can use either (or something else entirely), but Overclockix has a local connection.

The thing about Knoppix is that it *will* save your bacon at least once. If you (assuming you're a Linux newbie) burn a Knoppix CD on my advice and don't need to use it within 2 months, I'll send you a new blank CDR. (Obviously, you have to stick with Linux. I'm not going to send a free CDR to an exclusive windows user just because he burned Knoppix and forgot about it.)
LiveCDs are uncannily useful. When you screw up your system so that it can't even boot, just pop in Knoppix, chroot into your system, make your repairs and you're good to go. When you need to convince your family that Linux is a Good Thing, bring along a Knoppix CD. When you need to get something off your NTFS partiton, but windows refuses to boot, Knoppix comes to the rescue. When you need to backup a whole partition, you can use Knoppix to ensure that nothing's touched while you're backing up. When you're too lazy to configure X yourself, you can use Knoppix. You can even use it for the first stages of a Gentoo install to read stuff online while you're installing. (Note that this last method only makes the initial sections of a Gentoo install easier. Don't consider Knoppix an substitute for a careful reading and re-reading of the Gentoo install guide.)
Additionally, the Knoppix hdd install will automatically add any windows partitions it finds to your bootloader.
I'm sure there are more reasons, but that should give you a good idea of the role of Knoppix.
In addition to Knoppix and Overclockix, there are many, many other liveCD distros. An exhaustive list of Linux liveCDs, is kept here.

SewerBeing and stabob helped edit and proofread this answer.
 
Last edited:
Does Linux have NTFS read/write support?

The Linux kernel has had full read support for NTFS for several years. Some limited safe NTFS write support was introduced in 2.5.11, but it can only deal with existing files. If you want complete r/w support, you can install Captive-NTFS. Captive-NTFS is basically an emulation layer around the native windows driver. This means that it's exactly as safe as the native windows NTFS driver, but it also means that it's quite slow. If you need to backup a large amount of data, figure on about 1hr/GB (XP1600+ @ stock). Since this is very CPU-intensive, more power will mean a faster transfer.
Although development on the Captive-NTFS project is going along very slowly (It's not dead yet!), the files are still available. I got it working with a 2.4.24 kernel. I haven't tested it with anything other than 2.4.24.

Ryan0rZ and 9mmCensor helped edit and proofread this answer.
 
Last edited:
Does Linux have FAT r/w support?

It sure does. In the kernel config menu (any kernel 2.0 and up will be fine), it's with the other filesystems. If you use a GUI-centric distro, vfat support should be available as a module. If this is the case, you can insert it with sudo modprobe vfat. See this question for more infomation about modules and this one to learn about sudo.
 
Last edited:
Can a Linux computer and a windows computer share files?

Yes. If you're dual-booting or have some other kind of shared filesystem (eg zip disk, USB drive, etc), you can use Linux's vfat or NTFS drivers, or make windows do the work with a 3rd-party ext3 or reiserfs driver. If you want to share files among two or more computers, you can use Samba from Linux (for windows-native filesharing), or you can download MS' Services That are For Unix (for *nix-native filesharing).
 
Last edited by a moderator:
How can I share one Internet connection across a mixed Linux/Windows LAN?

(The following answer assumes you understand how to connect to the Internet either directly or through a gateway.)
The biggest factor in determining the structure of your LAN is what type of modem have. A overview of common home network topologies (how a network connects different computers) can be found here. If you aren't connected or networked yet, this discussion can help you decide which route (no pun intended) to go.
If you already have the hardware, you'll need to consider three factors when deciding how to hook up your network; how does the modem connect to your computer (ethernet or USB/serial), is the Internet connection analog (dial-up) or digital (cable,DSL,ISDN), and is the modem based in hardware or software. Since internal digital modems are increasingly rare, this answer won't cover them.

Internal Modems
With an internal modem, you'll need one computer set up as a gateway through which the other computers will access the Internet. If the modem is software-based (ie a winmodem), a newbie-friendly distro may make your life easier by setting up the modem, if it's possible. It's important to note that many winmodems aren't supported at all under Linux. Check Linmodems and the winmodems and Linux howto for more information. If you're on a mixed LAN and using a non-newbie distro to learn Linux, it will be simpler to use ICS on the windows machine as a gateway, until you get the hang of Linux. Microsoft ICS has a number of silly limitations, so once you know your way around well enough you'll probably want to switch the modem to Linux.
If you have a hardware-based phone modem, use whichever OS you're more comfortable with as the gateway. Both Linux and windows support modems well, though Linux is the better choice for security and stability.
This page goes over the most common home network topologies, along with a basic explanation of each. If you end up using a windows box as a gateway, this page will come in handy.

External Modems
The main factor with external modems is how the modem connects to your computer or network. If the modem connects through a serial or USB port, treat is as internal and refer to the Internal Modem section above.
If the modem connects via ethernet, it can be connected directly to the LAN. With this layout you can still set up one computer as the router, but that raises the possibility of a bandwidth bottleneck if the router box and another machine access the Internet at the same time. A better solution is to connect to the Internet through a dedicated router. Many external modems include a built-in router and/or switch, but it's just as effective to use a separate router if your modem doesn't provide one. Configuration via DHCP is usually the easiest to set up, since the only thing that needs configuring is the router. The individual computers just default to 'LAN connection' with automatic configuration in windows and eth0 with DHCP in Linux. In this configuration, the only bottlenecks will be the speed of the ethernet and throughput of the modem. This configuration is demonstrated in figure 3 on this page.
For more detailed information on networking your Linux machine(s), check out this page. If you want to set up a computer as a router or gateway, you can find a number of links to windows programs and single-purpose Linux distros to help you out here.
Enjoy!

DreamingWolf wrote the original draft of this answer.
 
Last edited:
Can I dual boot with windows?

Yes, but don't tell windows. Windows doesn't like to cooperate with other OSs, so you'll have to install windows first and Linux second. The tricky part is usually getting your bootloader to gracefully load both your windows and Linux installations. Some distros will automatically detect windows and set up their bootloader accordingly. If you need to do it manually, you can use either LILO or GRUB.
SickBoy has successfully installed and booted from Gentoo and Yoper on an SATA drive. With a >=2.6.7 kernel, both installers detected his Promise K8V SE Deluxe controller and used the drive as /dev/sda with no special configuration.

SickBoy informed me he is booting from an SATA drive. The man who says it cannot be done should not interrupt the man who is doing it.
 
Last edited:
How do I dual boot with LILO? If windows and Linux are both already installed, but your distro didn't set LILO up to dual boot correctly, you'll have to do it yourself. Just add the following lines to the end of /etc/lilo.conf and run /sbin/lilo . LILO handles drives the same way you would in a terminal. i.e. /dev/hdxy. For x, a and b are the primary master and slave, c and d are the secondary master and slave, and later letters are used for extra controllers. y is 0-3 for the first 4 primary partitions and 4+ for logical partitions.
For the dual boot you'll just need to know which partition windows is on.
Code:
 [/color]
[color=#FFFFFF]  <other LILO stuff> [/color]
[color=#FFFFFF]  other=/dev/hd[i]xy[/i] #(fill in x and y as appropriate)[/color] [color=#FFFFFF]  label=windows [/color] [color=#FFFFFF]
 
Last edited:
How do I dual boot with GRUB?

If you've already got windows and Linux installed, but your distro didn't set GRUB up to dual boot correctly, the solution is simple but takes some effort to get the hang of. Just add the lines in the code block below to the end of /boot/grub/menu.lst . The file /boot/grub/grub.conf is a symlink (the Linux version of a windows shortcut or Mac alias) to menu.lst, so it will work too. Unlike LILO, you don't need to re-run GRUB after making changes.
(hdx,y) refers to the hard drive and partition that windows boots from. x is the number of the hd that contains the windows boot partition, and is determined by the order in which GRUB detects the drives. The first hd that GRUB detects is 0, the second is 1, and so on. GRUB will look first for primary IDE drives, then secondary IDE, then SCSI. This may be different if you have you BIOS detect SCSI before IDE.
y is the number of windows' partition on that drive. The primary partitions are 0,1,2 and 3, and the logical (aka extended) partitions start at 4, even if there are less than 4 primary partitions.
Code:
[/color]
[color=#FFFFFF]<other GRUB stuff>[/color]
[color=#FFFFFF]title=Windows[/color]
[color=#FFFFFF]  rootnoverify (hdx,y)[/color]
[color=#FFFFFF]  makeactive[/color]
[color=#FFFFFF]  chainloader +1[/color]
[color=#FFFFFF]

If you weren't able to follow this, you can find GRUB's documentation on naming conventions here.

SewerBeing contributed the information for this answer and helped proofread it.
 
Last edited:
Can I run OSX on an x86 box?

The short answer is no. PPC (aka PowerPC, the CPU architecture that OSX macs use) and x86 are very different, and Apple would have to do all the work, since the source code for their desktop is closed. There are rumors that an x86 version of OSX exists, but it's definitely not available to the general public.
The long answer is yes and maybe. Anyone with the right motherboard can run Darwin (discussion here), which OSX's GUI runs on top of. However, if you're not into special Unicies, there's not much point. It will look like most other CLI interfaces to most people.
The maybe is that you can run PearPC (discussion here), which is a PPC emulator. It can run OSX in a very limited and slow capacity, but you can get screenshots and impress all your friends.

SewerBeing helped proofread this answer.
 
Last edited:
How good is Linux gaming support?

The general consensus is that once a game runs natively under Linux, it runs as well as or better than its windows counterpart installed on a similar computer with an nVidia card. ATi's Linux support lags behind nVidia's, but rogerdugans' results indicate that Linux has a significantly lower framerate (approx 25% by his estimation). This difference is likely to decrease as ATi continue to get their act together with regard to Linux.The problem is that many games aren't ported to (or written for) Linux. The selection, not the quality of the games is usually the factor that keeps potential Linux users on windows.
 
Last edited:
Back