Linux Frequently Asked Questions with Answers

This is the list of Frequently Asked Questions for Linux, the free, POSIX compatible operating system kernel that runs on many modern computer systems. Linux uses free, GNU system utilities and application software, although commercial programs are available also. Originally written for 386/486/586 Intel/ISA bus machines, Linux versions exist for Alpha, Sparc, MIPS, ARM, 680x0, PPC, and many other platforms. (``What is Linux?'') This FAQ is meant to be read in conjunction with the Linux Documentation Project's HOWTO series. (``Where Can I Get Linux Material by FTP?'' and, ``Where Can I Get the HOWTO's and Other Documentation?'') The INFO-SHEET and META-FAQ also list sources of Linux information. Please read them, and, ``You Still Haven't Answered My Question!'' before posting to a Usenet news group. You can also get Postscript, HTML, and SGML versions of this document. (``Formats in Which This FAQ Is Available.'')


Table of Contents
1. Introduction and General Information
1.1. What is Linux?
1.2. Where Do I Start?
1.3. What Software Does Linux Support?
1.4. Does Linux Run on My Computer? What Hardware Is Supported?
1.5. What Ports to Other Processors Are There?
1.6. How Much Hard Disk Space Does Linux Need?
1.7. How Much Memory Does Linux Need?
1.8. How Much Memory Can Linux Use?
1.9. Does Linux Support the USB Bus?
1.10. Is Linux Public Domain? Copyrighted?
1.11. Is Linux *nix?
2. Topics of Current Interest.
2.1. What Resources Are There for Linux DeCSS and Other Open Source DVD Software?
2.2. Where Is Information About Electronic Privacy Laws that Affect ISP's?
2.3. Where Can I Find Out About Linux and the Millennium (Y2K) Bug?
2.4. How Is the DocBook Version of the FAQ Produced?
3. Network Sources and Resources
3.1. Where Can I Get the Latest Kernel Version?
3.2. Where Can I Get the HOWTO's and Other Documentation?
3.3. Where Should I Look on the World Wide Web for Linux Stuff?
3.4. What News Groups Are There for Linux?
3.5. What Other FAQ's Are There for Linux?
3.6. Where Can I Get Linux Material by FTP?
3.7. I Don't Have FTP Access. Where Do I Get Linux?
3.8. I Don't Have Usenet Access. Where Do I Get Information?
3.9. What Mailing Lists Are There?
3.10. Where Are Linux Legal Issues Discussed?
3.11. Are the News Groups Archived Anywhere?
3.12. Where Can I Find Out About Security Related Issues?
4. Compatibility with Other Operating Systems
4.1. Can Linux Share My Disk with DOS? OS/2? 386BSD? Win95?
4.2. How Do I Access Files on My DOS Partition Or Floppy?
4.3. Does Linux Support Compressed Ext2 file Systems?
4.4. Can I Use My Stacked/DBLSPC/Etc. DOS Drive?
4.5. Can I Access OS/2 HPFS Partitions from Linux?
4.6. Can Linux Access Amiga File Systems?
4.7. Can Linux Access BSD, SysV, Etc. UFS?
4.8. Can Linux Access SMB File Systems?
4.9. Can Linux Access Macintosh File Systems?
4.10. Can I Run Microsoft Windows Programs under Linux?
4.11. Where Can I Get Information about NFS Compatibility?
4.12. Can I Use True Type Fonts with Linux?
4.13. How Can I Boot Linux from MS-DOS?
4.14. How Can I Boot Linux from OS/2's Boot Manager?
5. File Systems, Disks, and Drives
5.1. How Can I Get Linux to Work with My Disk?
5.2. How Can I Undelete Files?
5.3. How Do I Make Backups?
5.4. How Do I Resize a Partition (Non-Destructively)?
5.5. Is There a Defragmenter for Ext2fs, Etc.?
5.6. How Do I Format and Create a File System on a Floppy?
5.7. Does Linux Support Virtualized File Systems Like RAID?
5.8. Does Linux Support File System Encryption?
5.9. I Get Nasty Messages about Inodes, Blocks, and the Like.
5.10. My Swap Area Isn't Working.
5.11. How Do I Add Temporary Swap Space?
5.12. How Do I Remove LILO So My System Boots DOS Again?
5.13. Why Can't I Use fdformat Except as Root?
5.14. My Ext2fs Partitions Are Checked Each Time I Reboot.
5.15. My Root File System Is Read-Only!
5.16. I Have a Huge /proc/kcore! Can I Delete It?
5.17. The AHA1542C Doesn't Work with Linux.
5.18. Where Do I Find the Journalling File System?
6. Porting, Compiling and Obtaining Programs
6.1. How Do I Compile Programs?
6.2. How Do I Install GNU Software?
6.3. Where Do I Get Java?
6.4. How Do I Port XXX to Linux?
6.5. What Is ld.so and Where Do I Get It?
6.6. How Do I Upgrade the Libraries without Trashing My System?
6.7. Has Anyone Ported/Compiled/Written XXX for Linux?
6.8. Can I Use Code or a Compiler Compiled for a 486 on My 386?
6.9. What Does ``gcc -O6'' Do?
6.10. Where Are linux/*.h and asm/*.h?
6.11. I Get Errors when I Try to Compile the Kernel.
6.12. How Do I Make a Shared Library?
6.13. My Executables Are (Very) Large.
6.14. Does Linux Support Threads or Lightweight Processes?
6.15. Where Can I Get lint for Linux?
6.16. Where Can I find Kermit for Linux?
6.17. I Want to Use Linux with My Cable Modem.
6.18. Is There an ICQ Program That Runs under Linux?
7. Solutions to Common Miscellaneous Problems
7.1. PPP Connection Dies when Sending Large Files.
7.2. Free Dumps Core.
7.3. How Do I Keep Track of All My Bookmarks in Netscape?
7.4. The Computer Has the Wrong Time.
7.5. Setuid Scripts Don't Seem to Work.
7.6. Free Memory as Reported by free Keeps Shrinking.
7.7. When I Add More Memory, the System Slows to a Crawl.
7.8. Some Programs (E.g. xdm) Won't Let Me Log in.
7.9. Some Programs Let Me Log in with No Password.
7.10. My Machine Runs Very Slowly when I Run GCC / X / ...
7.11. I Can Only Log in as Root.
7.12. My Screen Is All Full of Weird Characters Instead of Letters.
7.13. I Have Screwed Up My System and Can't Log in to Fix It.
7.14. I Forgot the root Password.
7.15. I've Discovered a Huge Security Hole in rm!
7.16. lpr and/or lpd Don't Work.
7.17. Timestamps on Files on MS-DOS Partitions Are Set Incorrectly
7.18. How Do I Get LILO to Boot the Kernel Image?
7.19. I Upgraded the Kernel and Now My PCMCIA Card Doesn't Work.
8. How Do I Do This or Find Out That...
8.1. How Do I Know If My Notebook Runs Linux?
8.2. How Do I Install Linux Using FTP?
8.3. How Can I Get Scrollback in Text Mode?
8.4. How Do I Get E-mail to Work?
8.5. How Do I Switch Virtual Consoles? How Do I Enable Them?
8.6. How Do I Set the Time Zone?
8.7. How Do I Get Dial-up PPP to Work?
8.8. What Version of Linux and What Machine Name Am I Using?
8.9. How Can I Enable or Disable Core Dumps?
8.10. How Do I Upgrade/Recompile My Kernel?
8.11. Can I Have More than 3 Serial Ports by Sharing Interrupts?
8.12. How Do I Update (For Example) the System's Perl Documentation?
8.13. How Do I Configure Emacs to Start with My Default Settings?
8.14. How Do I Make a Rescue Floppy?
8.15. How Do I Remap My Keyboard to UK, French, Etc.?
8.16. How Do I Get NUM LOCK to Default to On?
8.17. How Do I Set (Or Reset) My Initial Terminal Colors?
8.18. How Can I Have More Than 128Mb of Swap?
9. Miscellaneous Information and Questions Answered
9.1. How Do I Program XYZ Under Linux?
9.2. What's All This about ELF? glibc?
9.3. How Do I Determine What Packages Are Installed on My System?
9.4. What Is a .gz file? And a .tgz? And .bz2? And... ?
9.5. What Does VFS Stand For?
9.6. What is a BogoMip?
9.7. What Online/Free Periodicals Exist for Linux?
9.8. How Many People Use Linux?
9.9. How Many People Use Linux? (Redux.)
9.10. How Should I Pronounce Linux?
9.11. Where Is the Linux Food Page?
9.12. Where Can I Find Out about Free Software Projects?
10. Frequently Encountered Error Messages
10.1. Modprobe Can't Locate Module, XXX, and Similar Messages.
10.2. Unknown Terminal Type ``linux'' and Similar.
10.3. INET: Warning: old style ioctl... called!
10.4. ld: unrecognized option '-m486'
10.5. GCC says, ``Internal compiler error.''
10.6. Make Says, ``Error 139.''
10.7. Shell-Init: Permission Denied when I Log in.
10.8. No Utmp Entry. You Must Exec ... when Logging in.
10.9. Warning--bdflush Not Running.
10.10. Warning: obsolete routing request made.
10.11. EXT2-fs: warning: mounting unchecked file system.
10.12. EXT2-fs warning: maximal count reached.
10.13. EXT2-fs warning: checktime reached.
10.14. df Says, ``Cannot read table of mounted file systems.''
10.15. fdisk Says, ``Partition X has different physical/logical...''
10.16. fdisk: Partition 1 does not start on cylinder boundary.
10.17. fdisk Says Partition n Has an Odd Number of Sectors.
10.18. A Mtools Utility Says It Cannot Initialize Drive XYZ.
10.19. At the Start of Booting: Memory tight
10.20. My Syslog says, ``end_request: I/O error, ....''
10.21. ``You don't exist. Go away.''
11. The X Window System
11.1. Does Linux Support X?
11.2. How Do I Get the X Window System to Work?
11.3. Where Can I Get a Ready-Made XF86Config for My System?
11.4. What Desktop Environments Run on Linux?
11.5. xterm Logins Show Up Strangely in who, finger.
12. How to Get Further Assistance
12.1. You Still Haven't Answered My Question!
12.2. What to Put in a Request for Help.
12.3. I Want to Mail Someone about My Problem.
13. Acknowledgments and Administrivia
13.1. Feedback Is Invited.
13.2. Formats in Which This FAQ Is Available.
13.3. Authorship and Acknowledgments.
13.4. Disclaimer and Copyright.

1. Introduction and General Information

1.1. What is Linux?

Linux is the kernel of operating systems that look like and perform as well or better than the famous operating system from AT&T Bell Labs. Linus Torvalds and a loosely knit team of volunteer hackers from across the Internet wrote (and still are writing) Linux from scratch. It has all of the features of a modern, fully fledged operating system: true multitasking, virtual memory, shared libraries, demand loading, shared, copy-on-write executables, proper memory management, and TCP/IP networking.

Most people, however, refer to the operating system kernel, system software, and application software, collectively, as "Linux," and the convention is used in this FAQ as well.

Linux ran originally on 386/486/586-based PC's, using the hardware facilities of the 80386 processor family (TSS segments, et al.) to implement its features. There are now many ports to other hardware platforms. (``What Ports to Other Processors Are There?'')

Linus Torvalds is working on a Linux distribution specifically designed for mobile computers and the Crusoe Smart Microprocessor developed by Transmeta. There is a API specification and developer's kit that are available from Transmeta. There is more information at http://www.transmeta.com/. The Crusoe is a microprocessor chip that provides low power consumption, power management features, workstation performance, and in-software configuration, but it's not a complete system, so it's probably mostly harmless.

See the Linux INFO-SHEET for more details. (``Where Can I Get the HOWTO's and Other Documentation?'')

The Linux kernel is distributed under the GNU General Public License. (``Is Linux Public Domain? Copyrighted?'')

There is a historical archive of all versions of the Linux kernel at http://ps.cus.umist.ac.uk/~rhw/kernel.versions.html.

1.2. Where Do I Start?

There are a handful of major Linux distributions. For information about them, and how they are installed, see Matthew Welsh's Installation and Getting Started, or IGS for short. It's located at the Linux Documentation Project Home Page, http://www.linuxdoc.org/, and on the Linux FAQ home page, http://www.mainmatter.com/

The information in IGS is somewhat dated now. More up-to-date information about first-time Linux installation is located in the LDP's Installation HOWTO, also located at the LDP Home Page.

Commercial distributions have begun to appear on the shelves of many book and electronics stores in the last six months, at least in the U.S., and some hardware vendors now ship systems with Linux pre-installed.

There is a very thorough installation guide on line at http://heather.cs.ucdavis.edu/~matloff/linux.html.

Some distributions can still be installed via anonymous FTP from various Linux archive sites, but in many cases, the size of the distribution makes this impractical. (``Where Can I Get Linux Material by FTP?'') There are also a large number of other releases which are distributed less globally that suit special local and national needs.

1.3. What Software Does Linux Support?

Linux supports GCC, Emacs, the X Window System, all the standard Unix utilities, TCP/IP (including SLIP and PPP), and all of the hundreds of programs that people have compiled or ported to it.

There is a DOS emulator, called DOSEMU. The latest stable release is 0.98.3. The FTP archives are at ftp://ftp.dosemu.org/dosemu The Web site is http://www.dosemu.org.

The emulator can run DOS itself and some (but not all) DOS applications. Be sure to look at the README file to determine which version you should get. Also, see the DOSEMU-HOWTO (slightly dated at this point--it doesn't cover the most recent version of the program), at ftp://metalab.unc.edu/pub/Linux/docs/HOWTO.

Work has been progressing on an emulator for Microsoft Windows binaries. (``Can I Run Microsoft Windows Programs under Linux?'')

iBCS2 (Intel Binary Compatibility Standard) emulator code for SVR4 ELF and SVR3.2 COFF binaries can be included in the kernel as a compile-time option. There is information at ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2/README.

For more information see the INFO-SHEET, which is one of the HOWTO's (``Where Can I Get the HOWTO's and Other Documentation?'' and ``How Do I Port XXX to Linux?'')

Some companies have commercial software available, including Motif, WordPerfect, and Framemaker. They often announce their availability in comp.os.linux.announce-- try searching the archives. (``Are the News Groups Archived Anywhere?'')

1.4. Does Linux Run on My Computer? What Hardware Is Supported?

Giving Linux a try requires a machine with an Intel '386, '486, or '586 processor with at least 2Mb of RAM and a single floppy drive. To do anything useful, more RAM and disk space is needed. (``How Much Memory Does Linux Need?'')

VESA Local Bus and PCI are supported.

MCA (IBM's proprietary bus) and ESDI hard drives are mostly supported. There is further information on the MCA bus and what cards Linux supports on the Micro Channel Linux Web page, http://www.dgmicro.com/mca. See also (``Where Should I Look on the World Wide Web for Linux Stuff?'')

Linux runs on most current laptops, with a decent X display. Refer to How do I know if my notebook runs Linux? For details of exactly which PC's, video cards, disk controllers, etc. work see the INFO-SHEET and the Hardware-HOWTO. (``Where Can I Get the HOWTO's and Other Documentation?'')

There is a port of Linux to the 8086, known as the Embeddable Linux Kernel Subset (ELKS). This is a 16-bit subset of the Linux kernel which will mainly be used for embedded systems. See http://www.linux.org.uk/Linux8086.html for more information. Linux will never run fully on an 8086 or '286, because it requires task-switching and memory management facilities not found on these processors.

Linux supports multiprocessing with Intel MP architecture. See the file Documentation/smp.tex in the Linux kernel source code distribution.

See the question below for a (probably incomplete) list of hardware platforms Linux has been ported to.

1.5. What Ports to Other Processors Are There?

There is a reasonably complete list of Linux ports at http://www.ctv.es/USERS/xose/linux/linux_ports.html, and at http://www.linuxhq.com/dist-index.html.

A project has been underway for a while to port Linux to suitable 68000-series based systems like Amigas and Ataris. The Linux/m68K FAQ is located at http://www.clark.net/pub/lawrencc/linux/faq/faq.html. The URL of the Linux/m68k home page is http://www.linux-m68k.org.

There is a m68k port for the Amiga by Jes Sorensen, which is located at ftp://sunsite.auc.dk/pub/os/linux/680x0/redhat/. The installation FAQ for the package, by Ron Flory, is at http://www.feist.com/~rjflory/linux/rh/.

There is also a linux-680x0 mailing list. (``What Mailing Lists Are There?'')

There is (or was) a FTP site for the Linux-m68k project on ftp.phil.uni-sb.de/pub/atari/linux-68k, but this address may no longer be current.

Debian GNU/Linux is being ported to Alpha, Sparc, PowerPC, and ARM platforms. There are mailing lists for all of them. See http://www.debian.org/MailingLists/subscribe

One of the Linux-PPC project pages has moved recently. Its location is http://www.debian.org/MailingLists/subscribe. http://www.linuxppc.org, and the archive site is ftp://ftp.linuxppc.org/linuxppc.

There is a Linux-PPC support page at http://www.cs.nmt.edu/~linuxppc/. There you will find the kernel that is distributed with Linux.

Apple now supports MkLinux development on Power Macs, based on OSF and the Mach microkernel. See http://www.mklinux.apple.com.

There are two sites for the Linux iMac port: http://w3.one.net/~johnb/imaclinux, and http://www.imaclinux.net:8080/content/index.html.

A port to the 64-bit DEC Alpha/AXP is at http://www.azstarnet.com/~axplinux/. There is a mailing list at vger.rutgers.edu. (``What Mailing Lists Are There?'')

Ralf Baechle is working on a port to the MIPS, initially for the R4600 on Deskstation Tyne machines. The Linux-MIPS FTP sites are ftp://ftp.fnet.fr/linux-mips and ftp://ftp.linux.sgi.com/pub/mips-linux. Interested people may mail their questions and offers of assistance to mailto:linux@waldorf-gmbh.de.

There is (or was) also a MIPS channel on the Linux Activists mail server and a linux-mips mailing list. (``What Mailing Lists Are There?'')

There are currently two ports of Linux to the ARM family of processors. One of these is for the ARM3, fitted to the Acorn A5000, and it includes I/O drivers for the 82710/11 as appropriate. The other is to the ARM610 of the Acorn RISC PC. The RISC PC port is currently in its early to middle stages, owing to the need to rewrite much of the memory handling. The A5000 port is in restricted beta testing. A release is likely soon.

For more, up-to-date information, read the newsgroup comp.sys.acorn.misc. There is a FAQ at http://www.arm.uk.linux.org.

The Linux SPARC project is a hotbed of activity. There is a FAQ available from Jim Mintha's Linux for SPARC Processors page, http://www.geog.ubc.ca/sparclinux.html. The SPARC/Linux archives are at ftp://vger.rutgers.edu/pub/linux/Sparc.

The Home Page of the UltraSPARC port ("UltraPenguin") is located at http://sunsite.mff.cuni.cz/linux/ultrapenguin-1.0/.

There is also a port ("Hardhat") to SGI/Indy machines. The URL is http://www.linux.sgi.com/.

1.6. How Much Hard Disk Space Does Linux Need?

About 10Mb for a very minimal installation, suitable for trying Linux, and not much else.

You can fit an installation that includes X into 80Mb. Installing Debian GNU/Linux takes 500Mb--1GB, including kernel source code, some space for user files, and spool areas.

Installing a commercial distribution that has a desktop GUI environment, commercial word processor, and front-office productivity suite, will claim an additional 1 GB of disk space, approximately.

1.7. How Much Memory Does Linux Need?

At least 4MB, and then you will need to use special installation procedures until the disk swap space is installed. Linux will run comfortably in 4MB of RAM, although X Apps will run slowly because they need to swap out to disk.

Some recent applications, like the later versions of Netscape, require as much as 64MB of physical memory.

There is a distribution, "Small Linux," that will run on machines with 2MB of RAM. Refer to Where can I get Linux material by FTP?

1.8. How Much Memory Can Linux Use?

A number of people have asked how to address more than 64 MB of memory, which is the default upper limit. Place the following in your lilo.conf file:

append="mem=XXM"

Where "XX" is the amount of memory, specified as megabytes; for example, '128M'. For further details, see the lilo manual page.

1.9. Does Linux Support the USB Bus?

Linux supports a few dozen USB devices at present, and work is underway to develop device drivers for additional hardware devices. There is a Web page devoted to the subject, at http://www.linux-usb.org/. In addition, there is a LDP HOWTO. See also, (``Where Should I Look on the World Wide Web for Linux Stuff?'')

1.10. Is Linux Public Domain? Copyrighted?

The Linux trademark belongs to Linus Torvalds. He has placed the Linux kernel under the GNU General Public License, which basically means that you may freely copy, change, and distribute it, but you may not impose any restrictions on further distribution, and you must make the source code available.

This is not the same as Public Domain. See the Copyright FAQ, ftp://rtfm.mit.edu/pub/usenet/news.answers/law/copyright, for details.

Full details are in the file COPYING in the Linux kernel sources (probably in /usr/src/linux on your system).

The licenses of the utilities and programs which come with the installations vary. Much of the code is from the GNU Project at the Free Software Foundation, and is also under the GPL.

Note that discussion about the merits or otherwise of the GPL should be posted to the news group gnu.misc.discuss, and not to the comp.os.linux hierarchy.

For other legal questions, see (``Where Are Linux Legal Issues Discussed?'')

1.11. Is Linux *nix?

Not officially, until it passes the Open Group's certification tests, and supports the necessary API's. Even very few of the commercial operating systems have passed the Open Group tests. For more information, see http://www.unix-systems.org/what_is_unix.html.

[Bob Friesenhahn]