home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-03-06 | 114.3 KB | 2,638 lines |
- LINUX FREQUENTLY ASKED QUESTIONS WITH ANSWERS
- 06 Mar 1996
- Ian Jackson <ijackson@gnu.ai.mit.edu>
-
- This is the list of Frequently Asked Questions about Linux, the free Unix
- for 386/486/586 [see Q1.1 `What is Linux ?' for more details]. It should
- be read in conjunction with the HOWTO documents, which are available in
-
- * ftp.funet.fi (128.214.6.100) : /pub/OS/Linux/doc/HOWTO
- * tsx-11.mit.edu (18.172.1.2) : /pub/linux/docs/HOWTO
- * sunsite.unc.edu (152.2.22.81) : /pub/Linux/docs/HOWTO
-
- and mirror sites thereof -- see Q2.5 `Where can I get Linux material by
- FTP ?'. See Q2.1 `Where can I get the HOWTOs and other documentation ?'
- for a list of the HOWTOs and more information. The INFO-SHEET and
- META-FAQ, found in the same place, also list other sources of Linux
- information.
-
- The Linux Documentation Project documentation is available on
- sunsite.unc.edu in /pub/Linux/docs/LDP. These documents (more are in
- preparation) are invaluable to the newcomer or for use as a reference
- work.
-
- Please check out these documents and this FAQ, especially Q12.1 `You still
- haven't answered my question !', before posting your question to a
- newsgroup.
-
- See Q13.2 `Formats in which this FAQ is available' for details of where to
- get the PostScript, Emacs Info, HTML (WWW) and plain ASCII versions of
- this document.
-
- A new version of this document appears approximately monthly. If this
- copy is more than a month old it may be out of date.
-
- ===============================================================================
-
- Index
-
- Section 1. Introduction and General Information
- Q1.1 What is Linux ?
- Q1.2 What software does it support ?
- Q1.3 Does it run on my computer ? What hardware is supported ?
- Q1.4 What ports to other processors are there ?
- Q1.5 How much hard disk space does Linux need ?
- Q1.6 Is Linux PD ? Copyrighted ?
-
- Section 2. Network sources and resources
- Q2.1 Where can I get the HOWTOs and other documentation ?
- Q2.2 Where should I look on the World Wide Web for Linux stuff ?
- Q2.3 What newsgroups are there for Linux ?
- Q2.4 How do I install Linux ?
- Q2.5 Where can I get Linux material by FTP ?
- Q2.6 I don't have FTP access. Where do I get Linux ?
- Q2.7 I don't have Usenet access. Where do I get information ?
- Q2.8 What mailing lists are there ?
- Q2.9 Are the newsgroups archived anywhere ?
-
- Section 3. Compatibility with other operating systems
- Q3.1 Can Linux share my disk with DOS ? OS/2 ? 386BSD ? Win95 ?
- Q3.2 How do I access files on my DOS partition or floppy ?
- Q3.3 Can I use my Stacked/DBLSPC/etc. DOS drive ?
- Q3.4 Can I access OS/2 HPFS partitions from Linux ?
- Q3.5 Can I access BSD FFS, SysV UFS, Mac, Amiga, etc filesystems ?
- Q3.6 Can I run Microsoft Windows programs under Linux ?
- Q3.7 How can I boot Linux from OS/2's Boot Manager ?
- Q3.8 How can I share a swap partition between Linux and MS Windows ?
-
- Section 4. Linux's handling of filesystems, disks and drives
- Q4.1 How can I get Linux to work with my large disk ?
- Q4.2 How can I undelete files ?
- Q4.3 Is there a defragmenter for ext2fs etc. ?
- Q4.4 How do I format and create a filesystem on a floppy ?
- Q4.5 I get nasty messages about inodes, blocks, and the suchlike
- Q4.6 My swap area isn't working.
- Q4.7 How do I remove LILO so my system boots DOS again ?
- Q4.8 Why can't I use fdformat except as root ?
- Q4.9 Is there something like Stacker or Doublespace for Linux ?
- Q4.10 My ext2fs partitions are checked each time I reboot.
- Q4.11 My root filesystem is read-only !
- Q4.12 I have a huge /proc/kcore ! Can I delete it ?
- Q4.13 My AHA1542C doesn't work with Linux.
-
- Section 5. Porting, compiling and obtaining programs
- Q5.1 How do I port XXX to Linux ?
- Q5.2 What is ld.so and where do I get it ?
- Q5.3 Has anyone ported / compiled / written XXX for Linux ?
- Q5.4 Can I use code or a compiler compiled for a 486 on my 386 ?
- Q5.5 What does gcc -O6 do ?
- Q5.6 Where are <linux/*.h> and <asm/*.h> ?
- Q5.7 I get errors when I try to compile the kernel.
- Q5.8 How do I make a shared library ?
- Q5.9 My executables are (very) large.
- Q5.10 Does Linux support threads or lightweight processes ?
- Q5.11 Where can I get `lint' for Linux ?
- Q5.12 Where can I find `kermit' for Linux ?
-
- Section 6. Solutions to common miscellaneous problems
- Q6.1 free dumps core.
- Q6.2 My clock is very wrong.
- Q6.3 Setuid scripts don't seem to work.
- Q6.4 Free memory as reported by free keeps shrinking.
- Q6.5 When I add more memory it slows to a crawl.
- Q6.6 Some programs (e.g. xdm) won't let me log in.
- Q6.7 Some programs let me log in with no password.
- Q6.8 My machine runs very slowly when I run GCC / X / ...
- Q6.9 I can only log in as root.
- Q6.10 My screen is all full of weird characters instead of letters.
- Q6.11 I have screwed up my system and can't log in to fix it.
- Q6.12 I've discovered a huge security hole in rm !
- Q6.13 lpr and/or lpd aren't working.
- Q6.14 Timestamps on files on msdos partitions are set incorrectly.
- Q6.15 How do I get LILO to boot the vmlinux file ?
-
- Section 7. How do I do this or find out that ... ?
- Q7.1 How can I get scrollback in text mode ?
- Q7.2 How do I switch virtual consoles ? How do I enable them ?
- Q7.3 How do I set the timezone ?
- Q7.4 What version of Linux and what machine name am I using ?
- Q7.5 How can I enable or disable core dumps ?
- Q7.6 How do I upgrade/recompile my kernel ?
- Q7.7 Can I have more than 3 serial ports by sharing interrupts ?
- Q7.8 How do I make a bootable floppy ?
- Q7.9 How do I remap my keyboard to UK, French, etc. ?
- Q7.10 How do I get NUM LOCK to default to on ?
- Q7.11 How can I have more than 128Mb of swap ?
-
- Section 8. Miscellaneous information and questions answered
- Q8.1 How do I program XYZ under Linux ?
- Q8.2 What's all this about ELF ?
- Q8.3 What is a .gz file ? And a .tgz ? And ... ?
- Q8.4 What does VFS stand for ?
- Q8.5 What is a BogoMip ?
- Q8.6 What is the Linux Journal and where can I get it ?
- Q8.7 How many people use Linux ?
- Q8.8 How should I pronounce Linux ?
-
- Section 9. Frequently encountered error messages
- Q9.1 Unknown terminal type linux and similar
- Q9.2 During linking I get Undefined symbol _mcount
- Q9.3 lp1 on fire
- Q9.4 INET: Warning: old style ioctl(IP_SET_DEV) called!
- Q9.5 ld: unrecognized option '-m486'
- Q9.6 GCC says Internal compiler error
- Q9.7 make says Error 139
- Q9.8 shell-init: permission denied when I log in.
- Q9.9 No utmp entry. You must exec ... when I log in.
- Q9.10 Warning - bdflush not running
- Q9.11 Warning: obsolete routing request made.
- Q9.12 EXT2-fs: warning: mounting unchecked filesystem
- Q9.13 EXT2-fs warning: maximal count reached
- Q9.14 EXT2-fs warning: checktime reached
- Q9.15 df says Cannot read table of mounted filesystems
- Q9.16 fdisk says Partition X has different physical/logical ...
- Q9.17 fdisk: Partition 1 does not start on cylinder boundary
- Q9.18 fdisk says partition n has an odd number of sectors
- Q9.19 mtools says cannot initialise drive XYZ
- Q9.20 At the start of booting: Memory tight
- Q9.21 You don't exist. Go away.
-
- Section 10. The X Window System
- Q10.1 Does Linux support X Windows ?
- Q10.2 Where can I get an XF86Config for my system ?
- Q10.3 xterm logins show up strangely in who, finger
- Q10.4 I can't get X Windows to work right.
-
- Section 11. Questions applicable to very out-of-date software
- Q11.1 Emacs just dumps core.
- Q11.2 fdisk says cannot use nnn sectors of this partition
- Q11.3 GCC sometimes uses huge amounts of virtual memory and thrashes
- Q11.4 My keyboard goes all funny after I switch VC's.
-
- Section 12. How to get further assistance
- Q12.1 You still haven't answered my question !
- Q12.2 What to put in a request for help
- Q12.3 I want to mail someone about my problem.
-
- Section 13. Administrative information and acknowledgements
- Q13.1 Feedback is invited
- Q13.2 Formats in which this FAQ is available
- Q13.3 Authorship and acknowledgements
- Q13.4 Disclaimer and Copyright
-
- ===============================================================================
-
- Section 1. Introduction and General Information
-
- Q1.1 What is Linux ?
- Q1.2 What software does it support ?
- Q1.3 Does it run on my computer ? What hardware is supported ?
- Q1.4 What ports to other processors are there ?
- Q1.5 How much hard disk space does Linux need ?
- Q1.6 Is Linux PD ? Copyrighted ?
-
- -------------------------------------------------------------------------------
-
- Question 1.1. What is Linux ?
-
- Linux is a Unix clone written from scratch by Linus Torvalds with
- assistance from a loosely-knit team of hackers across the Net. It aims
- towards POSIX compliance.
-
- It has all the features you would expect in a modern fully-fledged Unix,
- including true multitasking, virtual memory, shared libraries, demand
- loading, shared copy-on-write executables, proper memory management and
- TCP/IP networking.
-
- It runs mainly on 386/486/586-based PCs, using the hardware facilities of
- the 386 processor family (TSS segments et al) to implement these features.
- Ports to other architectures are underway [Q1.4 `What ports to other
- processors are there ?'].
-
- See the Linux INFO-SHEET [Q2.1 `Where can I get the HOWTOs and other
- documentation ?'] for more details.
-
- The Linux kernel is distributed under the GNU General Public License - see
- Q1.6 `Is Linux PD ? Copyrighted ?' for more details.
-
- -------------------------------------------------------------------------------
-
- Question 1.2. What software does it support ?
-
- Linux has GCC, Emacs, X-Windows, all the standard Unix utilities, TCP/IP
- (including SLIP and PPP) and all the hundreds of programs that people have
- compiled or ported for it.
-
- There is a DOS emulator (look on tsx-11.mit.edu in
- /pub/linux/ALPHA/dosemu) which can run DOS itself and some (but not all)
- DOS applications. I'm told that it can now run Windows 3.1 in Enhanced
- Mode.
-
- An iBCS2 (Intel Binary Compatibility Standard) emulator for SVR4 ELF and
- SVR3.2 COFF binaries is at a fairly advanced stage of development. See
- the file /pub/linux/BETA/ibcs2/README on tsx-11.mit.edu.
-
- Work is progressing on an emulator for Microsoft Windows binaries [Q3.6
- `Can I run Microsoft Windows programs under Linux ?']; alternatively, I'm
- told that the DOS emulator team have been having some success getting MS
- Windows to run inside dosemu - there will be an announcement if and when
- they get it working.
-
- For more information see the INFO-SHEET, which is one of the the HOWTOs
- [Q2.1 `Where can I get the HOWTOs and other documentation ?']. See also
- Q5.1 `How do I port XXX to Linux ?'.
-
- Some companies have commercial software available, including Motif. They
- announce their availability in comp.os.linux.announce --- try searching
- the archives [Q2.9 `Are the newsgroups archived anywhere ?'].
-
- -------------------------------------------------------------------------------
-
- Question 1.3. Does it run on my computer ? What hardware is supported ?
-
- You need a 386, 486 or 586, with at least 2Mb of RAM and a single floppy,
- to try it out. To do anything useful more RAM (4Mb to install most
- distributions, and 8Mb is highly recommended for running X) and a hard
- disk are required.
-
- VESA local bus and PCI are both supported.
-
- There are problems with machines using MCA (IBM's proprietary bus), mainly
- to do with the hard disk controller. There is a developers' release for
- PS/2 ESDI drives on invaders.dcrl.nd.edu in /pub/misc/linux. Certain
- kinds of SCSI controllers also work, I understand. Work is in progress to
- create a suitable version of the Slackware distribution. I'm afraid I
- don't have any further details; you could try asking Arindam Banerji
- <axb@defender.dcrl.nd.edu>.
-
- Linux runs on 386 family based laptops, with X on most of them. There is
- a relevant Web page at
- http://www.cs.utexas.edu/users/kharker/linux-laptop/.
-
- For details of exactly which PC's, video cards, disk controllers, etc.
- work see the INFO-SHEET and the Hardware HOWTO [Q2.1 `Where can I get the
- HOWTOs 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.
-
- Recent versions of Linux (1.3.35 and later) do support multiprocessor
- machines, though this is still rather less stable than one would hope.
-
- -------------------------------------------------------------------------------
-
- Question 1.4. What ports to other processors are there ?
-
- A project has been underway for a while to port Linux to suitable
- 68000-series based systems such as Amigas and Ataris. This has now
- reached beta test quality and there is an X server. There is a
- linux-680x0 mailing list [Q2.8 `What mailing lists are there ?'], and a
- Linux/68K FAQ at
- http://pfah.informatik.uni-kl.de:8000/pers/jmayer/linux68k-faq and on
- tsx-11.mit.edu in /pub/linux/680x0/FAQ; further information is at
- http://www-users.informatik.rwth-aachen.de/~hn/linux68k.html. There is a
- mailing list for the Atari port - mail <majordomo@phil.uni-sb.de> with a
- body containing only subscribe atarix - and an ftp area on
- ftp.phil.uni-sb.de in /pub/atari/linux.
-
- There used to be a project to port Linux too 68K-based Macintoshes, but
- its FTP site disappeared recently and the project appears to be dead.
-
- There is a port to the PowerPC. As of the 7th of July it is rather
- fragmentary and cannot recompile itself, and only supports Motorola 1603
- boards. Work on Motorola Ultra, PowerStack, RS/6000 and NuBus machines
- continues. If you wish to contribute to the project join the linux-ppc
- mailing list [Q2.8 `What mailing lists are there ?']. There is a FAQ on
- liber.stanford.edu in /pub/linuxppc/linux-ppc-FAQ or on the WWW at
- http://liber.stanford.edu/linuxppc/linux-ppc-FAQ.html.
-
- Apple and the OSF are working on a PowerPC port of Linux based on the OSF
- Mach microkernel. See http://mklinux.apple.com/.
-
- There is a port to the 64-bit DEC Alpha/AXP. See
- http://www.azstarnet.com/~axplinux/. Again, there is a mailing list at
- vger.rutgers.edu.
-
- Ralf Baechle is working on a port to the MIPS, initially for the R4600 on
- Deskstation Tyne machines. The Linux/MIPS FAQ is available on the WWW and
- in the MIPS port area on ftp.waldorf-gmbh.de in /pub/linux/mips. There is
- also a MIPS channel on the Linux Activists mailserver and a linux-mips
- mailing list [Q2.8 `What mailing lists are there ?']. Interested people
- may mail their questions and offers of assistance to
- <linux@waldorf-gmbh.de>.
-
- There are currently two ports of Linux to the ARM family of processors
- ongoing; one of these is to the ARM3 as fitted to the Acorn A5000, and
- includes I/O drivers for the 82710/11 as appropriate, and the other is to
- the ARM610 as fitted to 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 fairly soon. For more up to date information watch the
- newsgroup comp.sys.acorn.misc, or look on the WWW at
- http://whirligig.ecs.soton.ac.uk/~rmk92/armlinux.html; if you want to
- volunteer you should contact Martin Ebourne <mje@soton.ac.uk>.
-
- David Miller is working on a port to the Sparc. It is at a very early
- stage; people who are willing to dedicate lots of time and have access to
- Sparc boxes for testing should get in touch with <davem@caip.rutgers.edu>.
-
- None of the above ports will be capable of running Linux/386 binaries.
-
- Linux port to the Aleph One 486 card (*not* the second processor card for
- the Risc PC yet, but the original PC-on-a-podule card) has been completed
- and appears stable. Full details on this version, and updates on general
- ports in progress, can be found on the WWW at
- http://www.ph.kcl.ac.uk/~amb/linux.html.
-
- -------------------------------------------------------------------------------
-
- Question 1.5. How much hard disk space does Linux need ?
-
- 10Mb for a very minimal installation, suitable for trying it out and not
- much else.
-
- You can squeeze a more complete installation including X Windows into
- 80Mb. Installating almost all of Debian 0.93R6 takes around 500Mb,
- including some space for user files and spool areas.
-
- -------------------------------------------------------------------------------
-
- Question 1.6. Is Linux PD ? Copyrighted ?
-
- The Linux kernel copyright belongs to Linus Torvalds. He has placed it
- under the GNU General Public Licence, which basically means that you may
- freely copy, change and distribute it, but that you may not impose any
- restrictions on further distribution, and that you must make the source
- code available. This is not the same as Public Domain (see the Copyright
- FAQ, available on rtfm.mit.edu in
- /pub/usenet/news.answers/law/Copyright-FAQ, for details).
-
- Full details are in the file COPYING in the Linux kernel sources (probably
- in /usr/src/linux on your system).
-
- The licences 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 gnu.misc.discuss and not to the comp.os.linux groups.
-
- ===============================================================================
-
- Section 2. Network sources and resources
-
- Q2.1 Where can I get the HOWTOs and other documentation ?
- Q2.2 Where should I look on the World Wide Web for Linux stuff ?
- Q2.3 What newsgroups are there for Linux ?
- Q2.4 How do I install Linux ?
- Q2.5 Where can I get Linux material by FTP ?
- Q2.6 I don't have FTP access. Where do I get Linux ?
- Q2.7 I don't have Usenet access. Where do I get information ?
- Q2.8 What mailing lists are there ?
- Q2.9 Are the newsgroups archived anywhere ?
-
- -------------------------------------------------------------------------------
-
- Question 2.1. Where can I get the HOWTOs and other documentation ?
-
- Look in the following places, and on sites that mirror them.
-
- * ftp.funet.fi (128.214.6.100) : /pub/OS/Linux/doc/HOWTO
- * tsx-11.mit.edu (18.172.1.2) : /pub/linux/docs/HOWTO
- * sunsite.unc.edu (152.2.22.81) : /pub/Linux/docs/HOWTO
-
- For a complete list of Linux FTP sites see Q2.5 `Where can I get Linux
- material by FTP ?'.
-
- If you don't have access to FTP try using the FTP-by-mail servers at
- ftpmail@decwrl.dec.com, ftpmail@doc.ic.ac.uk or
- ftp-mailer@informatik.tu-muenchen.de.
-
- A complete list of HOWTO's is available in the file HOWTO.INDEX in the
- docs/HOWTO directory at the FTP sites, or on the Web at
- http://sunsite.unc.edu/mdw/HOWTO/HOWTO-INDEX.html but here is a (possibly
- incomplete) list:
-
- Linux INFO-SHEET Linux META-FAQ
- Bootdisk HOWTO Busmouse HOWTO
- CDROM HOWTO Commercial HOWTO
- Cyrillic HOWTO DOSEMU HOWTO
- Danish HOWTO Distribution HOWTO
- ELF HOWTO Ethernet HOWTO
- Firewall HOWTO Ftape HOWTO
- German HOWTO HAM HOWTO
- Hardware HOWTO Installation HOWTO
- JE HOWTO Kernel HOWTO
- MGR HOWTO Electronic Mail HOWTO
- NET-2 HOWTO NIS HOWTO
- News HOWTO PCI-HOWTO
- PCMCIA HOWTO PPP HOWTO
- Printing HOWTO SCSI HOWTO
- SCSI Programming HOWTO Serial HOWTO
- Sound HOWTO Term HOWTO
- Tips HOWTO UPS HOWTO
- UUCP HOWTO XFree86 HOWTO
- More of these documents are always in preparation. You should check in
- nearby directories on the FTP sites if you can't find the answer in one of
- the HOWTOs. There are also several mini-HOWTOs on sunsite.unc.edu in the
- /pub/Linux/docs/HOWTO/mini directory.
-
- The file WRITING contains information on how to write a new HOWTO.
-
- The HOWTOs are coordinated by Greg Hankins, <gregh@cc.gatech.edu>.
-
- The `books' produced by the Linux Documentation Project are available in
- /pub/Linux/docs/LDP on sunsite.unc.edu. Please read them if you are new
- to Unix and Linux. Here is a list of those released so far:
-
- * The Linux Documentation Project manifesto
- * Installation and Getting Started Guide
- * The Kernel Hacker's Guide
- * Network Administration Guide
- * Linux System Administrator's Guide
-
- -------------------------------------------------------------------------------
-
- Question 2.2. Where should I look on the World Wide Web for Linux stuff ?
-
- Matt Welsh maintains the Linux Documentation Project Home Page, at
- http://sunsite.unc.edu/mdw/linux.html.
-
- This page refers to all the FAQs and HOWTOs, both those which are
- available in HTML (WWW) format, like this FAQ, and those which aren't.
-
- -------------------------------------------------------------------------------
-
- Question 2.3. What newsgroups are there for Linux ?
-
- There are ten international Usenet newsgroups devoted to Linux.
-
- comp.os.linux.announce is the moderated announcements group; you should
- read this if you intend to use Linux. Submissions for that group should
- be emailed to linux-announce@news.ornl.gov.
-
- comp.os.linux.answers contains all the FAQs, HOWTOs and other important
- documentation. You should subscribe to this too.
-
- Also worth reading are the other groups in the comp.os.linux.* hierarchy
- -- you may find that many common problems are too recent to find in this
- FAQ but are answered in the newsgroups. These groups are
- comp.os.linux.setup, comp.os.linux.hardware, comp.os.linux.networking,
- comp.os.linux.x, comp.os.linux.development.apps,
- comp.os.linux.development.system, comp.os.linux.advocacy and
- comp.os.linux.misc.
-
- Remember that since Linux is a Unix clone, most all of the material in
- comp.unix.* and comp.windows.x.* groups will be relevant. Apart from
- hardware considerations, and some obscure or very technical low-level
- issues, you'll find that these groups are the right place to start.
-
- Please read Q12.1 `You still haven't answered my question !' before
- posting, and make sure you post to the right newsgroup -- see `Welcome to
- the comp.os.linux.* hierarchy' which is posted every two weeks to
- comp.os.linux.announce, comp.os.linux.answers and other groups.
-
- Crossposting between different comp.os.linux.* groups is rarely a good
- idea.
-
- There may well be Linux groups local to your institution or area - check
- there first.
-
- The groups comp.os.linux.development, comp.os.linux.admin and
- comp.os.linux.help were superseded in a recent newsgroup reorganisation.
- You should no longer use them.
-
- See also Q2.7 `I don't have Usenet access. Where do I get information ?'.
-
- Other regional and local newsgroups also exist - you may find the traffic
- more manageable there. The French Linux newsgroup is fr.comp.os.linux;
- The German one is de.comp.os.linux. In Australia, try
- aus.computers.linux. In Croatia there is the moderated group
- hr.comp.linux.m. In Italy, it.comp.linux.
-
- -------------------------------------------------------------------------------
-
- Question 2.4. How do I install Linux ?
-
- There are several pre-packaged releases of Linux available, including
- Debian, Red Hat and Slackware. Each contains the software you need to run
- Linux, ready to install and use. The exact details of which software is
- included and how to install them vary from release to release.
-
- You should read the Installation HOWTO for more details on how to go about
- installing Slackware. Red Hat and Debian are both more recent and less
- buggy, and have more sophisticated installation schemes, but they are less
- widely used and don't contain quite as wide a range of software.
-
- All of those releases are available via anonymous FTP from various Linux
- archive sites [Q2.5 `Where can I get Linux material by FTP ?']. There are
- also a large number of other releases which are distributed less globally,
- which suit special local and national requirements (for example, better
- internationalisation support).
-
- -------------------------------------------------------------------------------
-
- Question 2.5. Where can I get Linux material by FTP ?
-
- There are three main archive sites for Linux:
-
- * ftp.funet.fi (Finland, 128.214.6.100) : /pub/OS/Linux
- * sunsite.unc.edu (US, 152.2.22.81) : /pub/Linux
- * tsx-11.mit.edu (US, 18.172.1.2) : /pub/linux
-
- The best place to get the Linux kernel is on ftp.cs.helsinki.fi in
- /pub/Software/Linux/Kernel; Linus Torvalds uploads the most recent kernel
- versions to this site.
-
- The Debian distribution is available at ftp.debian.org and the Red Hat
- distribution at ftp.redhat.com.
-
- The contents of these sites is mirrored (copied, usually approximately
- daily) by a number of other sites. Please use one close to you -- that
- will be faster for you and easier on the network.
-
- * src.doc.ic.ac.uk : /packages/Linux (UK)
- * sunacm.swan.ac.uk : /pub/Linux (UK)
- * ftp.ibp.fr : /pub/linux (France)
- * ftp.cc.gatech.edu : /pub/linux (US - southeast: Suranet)
- * wuarchive.wustl.edu : /systems/linux (US)
- * uiarchive.cso.uiuc.edu : /pub/systems/linux (US)
- * ftp.cdrom.com : /pub/linux (US)
- * ftp.informatik.tu-muenchen.de : /pub/comp/os/linux (Germany)
- * ftp.ibr.cs.tu-bs.de : /pub/os/linux (Germany)
- * ftp.dfv.rwth-aachen.de : /pub/linux (Germany)
- * ftp.informatik.rwth-aachen.de : /pub/Linux (Germany)
- * bond.edu.au : /pub/OS/Linux (Australia)
- * ftp.cc.monash.edu.au : /pub/linux (Australia)
- * ftp.dstc.edu.au : /pub/Linux (Australia: Queensland)
- * ftp.sun.ac.za : /pub/linux (South Africa)
- * ftp.inf.utfsm.cl : /pub/Linux (Chile)
- * ftp.zel.fer.hr : /pub/Linux (Croatia)
-
- Not all of these mirror all of the other `source' sites, and some have
- material not available on the `source' sites.
-
- -------------------------------------------------------------------------------
-
- Question 2.6. I don't have FTP access. Where do I get Linux ?
-
- The easiest thing is probably to find a friend with FTP access. If there
- is a Linux users group near you they may be able to help.
-
- If you have a reasonably good email connection you could try the
- FTP-by-mail servers at ftpmail@decwrl.dec.com, ftpmail@doc.ic.ac.uk or
- ftp-mailer@informatik.tu-muenchen.de.
-
- Linux is also available via traditional mail on diskette, CD-ROM and tape.
- The Installation HOWTO, and the file /pub/Linux/docs/distributions on
- sunsite.unc.edu, contain information on these distributions.
-
- You could also try Zane Healy <healyzh@holonet.net>'s list of Linux BBS's,
- which is posted regularly (1st and 15th of each month) to
- comp.os.linux.announce and occasionally to the Fidonet and RIME UNIX
- echoes.
-
- -------------------------------------------------------------------------------
-
- Question 2.7. I don't have Usenet access. Where do I get information ?
-
- A digest of comp.os.linux.announce is available by mailing the word
- subscribe as the body of a message to
- <linux-announce-REQUEST@news-digests.mit.edu>. You are strongly advised
- to subscribe to this list, as it carries important information and
- documentation about Linux.
-
- Please remember to use the -request addresses for your subscription and
- unsubscription messages; mail to the other address is posted to the
- newsgroup !
-
- -------------------------------------------------------------------------------
-
- Question 2.8. What mailing lists are there ?
-
- The Linux developers now mainly use the Majordomo server at
- <majordomo@vger.rutgers.edu>. Send a message with lists in the body to
- get a list of the lists there; add a line with help to get the standard
- Majordomo help file which has instructions for subscribing and
- unsubscribing.
-
- Note that most of these lists are used by the developers of Linux to talk
- about technical issues and future developments. These are not intended
- for new users' questions.
-
- There is a linux-newbie list where `no question is too stupid';
- unfortunately it seems that few of the experienced users read that
- channel. It does have very low volume.
-
- There used to be a multi-channel Linux mailing list server on
- niksula.hut.fi. This shut down during the summer of 1995.
-
- -------------------------------------------------------------------------------
-
- Question 2.9. Are the newsgroups archived anywhere ?
-
- sunsite.unc.edu contains archives of comp.os.linux.announce, in
- /pub/Linux/docs/linux-announce.archive. These are mirrored from /usenet
- on src.doc.ic.ac.uk.
-
- There is an `easy to access' archive of comp.os.linux.announce on the
- World Wide Web at http://www.leo.org/archiv/linux/archiv/ann_index.html.
- It supports searching and browsing.
-
- I do not know of any (current) archives of the other groups in the
- comp.os.linux hierarchy.
-
- ===============================================================================
-
- Section 3. Compatibility with other operating systems
-
- Q3.1 Can Linux share my disk with DOS ? OS/2 ? 386BSD ? Win95 ?
- Q3.2 How do I access files on my DOS partition or floppy ?
- Q3.3 Can I use my Stacked/DBLSPC/etc. DOS drive ?
- Q3.4 Can I access OS/2 HPFS partitions from Linux ?
- Q3.5 Can I access BSD FFS, SysV UFS, Mac, Amiga, etc filesystems ?
- Q3.6 Can I run Microsoft Windows programs under Linux ?
- Q3.7 How can I boot Linux from OS/2's Boot Manager ?
- Q3.8 How can I share a swap partition between Linux and MS Windows ?
-
- -------------------------------------------------------------------------------
-
- Question 3.1. Can Linux share my disk with DOS ? OS/2 ? 386BSD ? Win95 ?
-
- Yes. Linux uses the standard PC partitioning scheme, so it can share your
- disk with other operating systems. Note, however, that many of these
- other operating systems are rather cranky: DOS FDISK and FORMAT can
- sometimes overwrite data in a Linux partition because they sometimes
- incorrectly use partition data from the partition's boot sector rather
- than the partition table. In order to prevent them from doing this it is
- a good idea to zero out under Linux the start of a partition you've just
- created, before you use MSDOS or whatever to format it. Type:
- dd if=/dev/zero of=/dev/hdXY bs=512 count=1
- where hdXY is the relevant partition, eg, hda1 for the first partition of
- the first (IDE) disk.
-
- Linux can read and write the files on your DOS and OS/2 FAT partitions and
- floppies using either the DOS filesystem type built into the kernel or
- mtools. There is an alpha version of kernel support for the VFAT
- filesystem used by Windows 95 and Windows NT; it is available from
- mm-ftp.cs.berkeley.edu in /pub/multimedia/linux/vfat/vfat-0.3.0.tgz. This
- was integrated into the standard kernel in version 1.3.60.
-
- See Q1.2 `What software does it support ?' for details and status of the
- emulators for DOS, MS Windows and System V programs.
-
- See also Q3.5 `Can I access BSD FFS, SysV UFS, Mac, Amiga, etc filesystems
- ?'.
-
- -------------------------------------------------------------------------------
-
- Question 3.2. How do I access files on my DOS partition or floppy ?
-
- Use the DOS filesystem, i.e. type, for example:
- mkdir /dos
- mount -t msdos -o conv=text,umask=022,uid=100,gid=100 /dev/hda3 /dos
- If it's a floppy, don't forget to umount it before ejecting it !
-
- You can use the conv=text/binary/auto, umask=nnn, uid=nnn and gid=nnn
- options to control the automatic line-ending conversion, permissions and
- ownerships of the files in the DOS filesystem as they appear under Linux.
- If you mount your DOS filesystem by putting it in your /etc/fstab you can
- record the options (comma-separated) there, instead of defaults.
-
- Alternatively you can use `mtools', available in both binary and source
- form on the FTP sites -- see Q2.5 `Where can I get Linux material by FTP
- ?'.
-
- A kernel patch (known as the fd-patches) is available which allows
- floppies with nonstandard numbers of tracks and/or sectors to be used;
- this patch is included in the 1.1 alpha testing kernel series.
-
- -------------------------------------------------------------------------------
-
- Question 3.3. Can I use my Stacked/DBLSPC/etc. DOS drive ?
-
- Not very easily. You can access them from within the DOS emulator [Q1.2
- `What software does it support ?'], but it's harder to do as a normal
- filesystem under Linux or using mtools. There is a module available for
- the Linux kernel which can do read-only access of the compressed volume.
- Look on sunsite.unc.edu in /pub/Linux/system/Filesystems, for the ths
- package.
-
- -------------------------------------------------------------------------------
-
- Question 3.4. Can I access OS/2 HPFS partitions from Linux ?
-
- Yes, but it's only read-only at the moment. To use it you must compile a
- kernel with support for it enabled [Q7.6 `How do I upgrade/recompile my
- kernel ?']. Then you can mount it using the mount command, for example:
- mkdir /hpfs
- mount -t hpfs /dev/hda5 /hpfs
-
- -------------------------------------------------------------------------------
-
- Question 3.5. Can I access BSD FFS, SysV UFS, Mac, Amiga, etc filesystems ?
-
- I'm told that there is a primitive, alpha test read-only Amiga filesystem
- on sunsite.unc.edu in /pub/Linux/patches/amigaffs.tar.Z. More information
- is in affs-readme in the tarfile.
-
- Recent kernels contain support for the UFS filesystem used by System V,
- Coherent and Xenix.
-
- There is alpha kernel support, readonly for the moment, for the 4.2BSD
- UFS, on sunsite.unc.edu in /pub/Linux/ALPHA/ufs.
-
- There is a set of user-level programs that provides read-only access to
- the Macintosh hierarchical filing system (HFS). It is available on
- sunsite.unc.edu in /pub/Linux/utils/disk-management/hfs0_36.tgz. This is
- being turned into a kernel module, which is available on sunsite.
-
- A suite of programs called Samba provide support for Windows for
- Workgroups networked filesystems (provided it's configured to use TCP/IP).
- Information is available at http://lake.canberra.edu.au/samba/samba.html.
- There is alpha kernel support for mounting such filesystems, on
- sunsite.unc.edu in /pub/Linux/ALPHA/smbfs.
-
- There is no support for the rest of those yet; I have not heard of any
- recent work on providing some.
-
- -------------------------------------------------------------------------------
-
- Question 3.6. Can I run Microsoft Windows programs under Linux ?
-
- Not yet. There is a project, known as WINE, to build an MS Windows
- emulator for Linux, but it is not ready for users yet. Don't ask about it
- unless you think you can contribute; look out for the status reports in
- comp.emulators.ms-windows.wine.
-
- In the meantime if you need to run MS Windows programs your best bet is
- probably to reboot when you want to switch environments. LILO (the Linux
- bootloader) has the facility for a boot menu --- see its documentation for
- more details.
-
- -------------------------------------------------------------------------------
-
- Question 3.7. How can I boot Linux from OS/2's Boot Manager ?
-
- 1. Create a partition using OS/2's FDISK (Not Linux's fdisk).
-
- 2. Format the partition under OS/2, either with FAT or HPFS. This is so
- that OS/2 knows about the partition being formatted. (This step is not
- necessary with OS/2 "warp" 3.0.)
-
- 3. Add the partition to the Boot Manager.
-
- 4. Boot Linux, and create a filesystem on the partition using mkfs -t ext2
- or mke2fs. At this point you may, if you like, use Linux's fdisk to
- change the partition type code of the new partition to type 83 (Linux
- Native) -- this may help some automated installation scripts find the
- right partition to use.
-
- 5. Install Linux on the partition.
-
- 6. Install LILO on the Linux partition -- NOT on the master boot record of
- the hard drive. This installs LILO as a second-stage boot loader on the
- Linux partition itself, to start up the kernel specified in the LILO
- config file. To do this you should put
- boot = /dev/hda2
- (where /dev/hda2 is the *partition* you want to boot off) in your
- /etc/lilo/config or /etc/lilo.config file.
-
- 7. Make sure that it is the Boot Manager partition that is marked active,
- so that you can use Boot Manager to choose what to boot.
-
- -------------------------------------------------------------------------------
-
- Question 3.8. How can I share a swap partition between Linux and MS Windows ?
-
- See the Mini-HOWTO on the subject by H. Peter Anvin, <hpa@yggdrasil.com>.
- It is available on sunsite.unc.edu in
- /pub/Linux/docs/HOWTO/mini/Swap-Space.
-
- ===============================================================================
-
- Section 4. Linux's handling of filesystems, disks and drives
-
- Q4.1 How can I get Linux to work with my large disk ?
- Q4.2 How can I undelete files ?
- Q4.3 Is there a defragmenter for ext2fs etc. ?
- Q4.4 How do I format and create a filesystem on a floppy ?
- Q4.5 I get nasty messages about inodes, blocks, and the suchlike
- Q4.6 My swap area isn't working.
- Q4.7 How do I remove LILO so my system boots DOS again ?
- Q4.8 Why can't I use fdformat except as root ?
- Q4.9 Is there something like Stacker or Doublespace for Linux ?
- Q4.10 My ext2fs partitions are checked each time I reboot.
- Q4.11 My root filesystem is read-only !
- Q4.12 I have a huge /proc/kcore ! Can I delete it ?
- Q4.13 My AHA1542C doesn't work with Linux.
-
- -------------------------------------------------------------------------------
-
- Question 4.1. How can I get Linux to work with my large disk ?
-
- If your disk is an IDE or EIDE drive you should read the file
- /usr/src/linux/drivers/block/README.ide (part of the Linux kernel source
- code). This README contains many helpful hints about IDE drives. Many
- modern IDE controllers do translation between `physical'
- cylinders/heads/sectors and `logical' ones.
-
- SCSI disks are accessed by linear block numbers; the BIOS invents some
- `logical' cylinders/heads/sectors fiction to support DOS.
-
- DOS will usually not be able to access partitions which extend beyond 1024
- logical cylinders, and will make booting a Linux kernel from such
- partitions using LILO problematic at best.
-
- You can still use such partitions for Linux or other operating systems
- that access the controller directly.
-
- I'd recommend creating at least one Linux partition entirely under the
- 1024-logical-cylinder limit and booting off that; the other partitions
- will then be OK.
-
- -------------------------------------------------------------------------------
-
- Question 4.2. How can I undelete files ?
-
- In general, this is very hard to do on Unices because of their
- multitasking nature. Undelete functionality for the ext2fs is being
- worked on, but don't hold your breath.
-
- There are a number of packages available that work by providing new
- commands for deletion and sometimes copying that move deleted files into a
- `wastebasket' directory instead; they can then be recovered until cleaned
- out automatically by background processing.
-
- Alternatively you can search the raw disk device which holds the
- filesystem in question. This is hard work, and you will need to be root
- to do this.
-
- -------------------------------------------------------------------------------
-
- Question 4.3. Is there a defragmenter for ext2fs etc. ?
-
- Yes. There is a Linux filesystem defragmenter for ext2, minix and
- old-style ext filesystems available on sunsite.unc.edu in
- system/Filesystems/defrag-0.6.tar.gz.
-
- Users of the ext2 filesystem can probably do without defrag since ext2
- contains extra code to keep fragmentation reduced even in very full
- filesystems.
-
- -------------------------------------------------------------------------------
-
- Question 4.4. How do I format and create a filesystem on a floppy ?
-
- For a 3.5 inch high density floppy:
- fdformat /dev/fd0H1440
- mkfs -t ext2 -m 0 /dev/fd0H1440 1440
- For a 5.25 inch floppy use fd0h1200 and 1200 as appropriate. For the `B'
- drive use fd1 instead of fd0. Full details of which floppy devices do
- what can be found in the Linux Device List [Q2.1 `Where can I get the
- HOWTOs and other documentation ?']. You may have to run mke2fs directly
- instead of mkfs -t ext2. The -m 0 option tells mkfs.ext2 not to reserve
- any space on the disk for the superuser --- usually the last 10% is
- reserved for root.
-
- The first command low-level formats the floppy; the second creates an
- empty filesystem on it. After doing this you can mount the floppy like a
- hard disk partition and simply cp and mv files, etc.
-
- -------------------------------------------------------------------------------
-
- Question 4.5. I get nasty messages about inodes, blocks, and the suchlike
-
- You probably have a corrupted filesystem, probably caused by not shutting
- Linux down properly before turning off the power or resetting. You need
- to use a recent shutdown program to do this --- for example, the one
- included in the util-linux package, available on sunsite and tsx-11.
-
- If you're lucky the program fsck (or e2fsck or xfsck as appropriate if you
- don't have the automatic fsck front-end) will be able to repair your
- filesystem; if you're unlucky the filesystem is trashed and you'll have to
- reinitialise it with mkfs (or mke2fs, mkxfs etc.) it and restore from a
- backup.
-
- NB: don't try to check a filesystem that's mounted read-write - this
- includes the root partition if you don't see
- VFS: mounted root ... read-only
- at boot time.
-
- -------------------------------------------------------------------------------
-
- Question 4.6. My swap area isn't working.
-
- When you boot (or enable swapping manually) you should see
- Adding Swap: NNNNk swap-space
-
- If you don't see any messages at all you are probably missing swapon -av
- (the command to enable swapping) in your /etc/rc.local or /etc/rc.d/* (the
- system startup scripts), or have forgotten to make the right entry in
- /etc/fstab:
- /dev/hda2 none swap sw
- for example.
-
- If you see
- Unable to find swap-space signature
- you have forgotten to run mkswap. See the manpage for details; it works
- much like mkfs.
-
- Check the Installation HOWTO for detailed instructions of how to set up a
- swap area.
-
- -------------------------------------------------------------------------------
-
- Question 4.7. How do I remove LILO so my system boots DOS again ?
-
- Using DOS (MS-DOS 5.0 or later, or OS/2), type FDISK /MBR (which is not
- documented). This will restore a standard MS-DOS Master Boot Record. If
- you have DR-DOS 6.0, go into FDISK in the normal way and then select the
- `Re-write Master Boot Record' option.
-
- If you don't have DOS 5 or DR-DOS you need to have the boot sector that
- LILO saved when you first installed it. You did keep that file, didn't
- you ? It's probably called boot.0301 or some such. Type
- dd if=boot.0301 of=/dev/hda bs=445 count=1
- (or sda if you're using a SCSI disk). This may also wipe out your
- partition table, so beware ! If you're desperate, you could use
- dd if=/dev/zero of=/dev/hda bs=512 count=1
- which will erase your partition table and boot sector completely: you can
- then reformat the disk using your favourite software; however this will
- render the contents of your disk inaccessible --- you'll lose it all
- unless you're an expert.
-
- Note that the DOS MBR boots whichever (single!) partition is flagged as
- `active'; you may need to use fdisk to set and clear the active flags on
- partitions appropriately.
-
- -------------------------------------------------------------------------------
-
- Question 4.8. Why can't I use fdformat except as root ?
-
- The system call to format a floppy may only be done as root, regardless of
- the permissions of /dev/fd0*. If you want any user to be able to format a
- floppy try getting the fdformat2 program; this works around the problems
- by being setuid to root.
-
- -------------------------------------------------------------------------------
-
- Question 4.9. Is there something like Stacker or Doublespace for Linux ?
-
- Currently none of the Linux filesystems can do compression in the
- filesystem.
-
- There is a program called Zlibc which allows existing applications to read
- compressed (GNU zipped) files as if they were not compressed. After
- installing it you can compress files using gzip and programs will still
- find them, without having to change the programs. Look on sunsite.unc.edu
- in /pub/Linux/libs. The author is <Alain.Knaff@imag.fr>.
-
- There is a compressing block device driver that can provide
- filesystem-independant on the fly disk compression in the kernel. It is
- called `DouBle'. There is a source only distribution on sunsite.unc.edu
- in /pub/Linux/kernel/patches/diskdrives; the author is Jean-Marc Verbavatz
- <jmv@receptor.mgh.harvard.edu>. Note that since this compresses inodes
- (administrative information) and directories as well as file contents any
- corruption is quite likely to be serious.
-
- There is also a package available called tcx (Transparently Compressed
- Executables) which allows you to keep infrequently used executables
- compressed and only uncompress them temporarily while you use them.
- You'll find it on the Linux FTP sites [Q2.5 `Where can I get Linux
- material by FTP ?']; it was also announced in comp.os.linux.announce.
- Note - this is not the same as gzexe, which is an inferior implementation
- of the same concept.
-
- -------------------------------------------------------------------------------
-
- Question 4.10. My ext2fs partitions are checked each time I reboot.
-
- See Q9.12 `EXT2-fs: warning: mounting unchecked filesystem'.
-
- -------------------------------------------------------------------------------
-
- Question 4.11. My root filesystem is read-only !
-
- Remount it. If /etc/fstab is correct you can simply mount -n -o remount
- /. If /etc/fstab is wrong you must give the device name and posibly the
- type too: e.g. mount -n -o remount -t ext2 /dev/hda2 /. To understand why
- you got into this state see Q9.12 `EXT2-fs: warning: mounting unchecked
- filesystem'.
-
- -------------------------------------------------------------------------------
-
- Question 4.12. I have a huge /proc/kcore ! Can I delete it ?
-
- None of the files in /proc are really there - they're all "pretend" files
- made up by the kernel, to give you information about the system, and don't
- take up any hard disk space.
-
- /proc/kcore is like an "alias" for the memory in your computer; its size
- is the same as the amount of RAM you have, and if you ask to read it as a
- file the kernel does memory reads.
-
- -------------------------------------------------------------------------------
-
- Question 4.13. My AHA1542C doesn't work with Linux.
-
- The option to allow disks with more than 1024 cylinders is only required
- as a workaround for a DOS misfeature and should be turned *off* under
- Linux. For older Linux kernels you need to turn off most of the "advanced
- BIOS" options - all but the one about scanning the bus for bootable
- devices.
-
- ===============================================================================
-
- Section 5. Porting, compiling and obtaining programs
-
- Q5.1 How do I port XXX to Linux ?
- Q5.2 What is ld.so and where do I get it ?
- Q5.3 Has anyone ported / compiled / written XXX for Linux ?
- Q5.4 Can I use code or a compiler compiled for a 486 on my 386 ?
- Q5.5 What does gcc -O6 do ?
- Q5.6 Where are <linux/*.h> and <asm/*.h> ?
- Q5.7 I get errors when I try to compile the kernel.
- Q5.8 How do I make a shared library ?
- Q5.9 My executables are (very) large.
- Q5.10 Does Linux support threads or lightweight processes ?
- Q5.11 Where can I get `lint' for Linux ?
- Q5.12 Where can I find `kermit' for Linux ?
-
- Please see also the Linux GCC-FAQ, available in HTML format by FTP from
- www.mrc-apu.cam.ac.uk in /pub/linux/GCC-FAQ.html.
-
- -------------------------------------------------------------------------------
-
- Question 5.1. How do I port XXX to Linux ?
-
- In general Unix programs need very little porting. Simply follow the
- installation instructions. If you don't know and don't know how to find
- out the answers to some of the questions asked during or by the
- installation procedure you can guess, but this tends to produce buggy
- programs. In this case you're probably better off asking someone else to
- do the port.
-
- If you have a BSD-ish program you should try using -I/usr/include/bsd and
- -lbsd on the appropriate parts of the compilation lines.
-
- -------------------------------------------------------------------------------
-
- Question 5.2. What is ld.so and where do I get it ?
-
- ld.so is the dynamic library loader. Each binary using shared libraries
- used to have about 3K of start-up code to find and load the shared
- libraries. Now that code has been put in a special shared library,
- /lib/ld.so, where all binaries can look for it, so that it wastes less
- disk space, and can be upgraded more easily.
-
- It can be obtained from tsx-11.mit.edu in /pub/linux/packages/GCC and
- mirror sites thereof. The latest version at the time of writing is
- ld.so.1.7.11.tar.gz.
-
- /lib/ld-linux.so.1 is the same thing for ELF [Q8.2 `What's all this about
- ELF ?'], and comes in the same package as the a.out loader.
-
- -------------------------------------------------------------------------------
-
- Question 5.3. Has anyone ported / compiled / written XXX for Linux ?
-
- First, look in the Linux Software Map (LSM) --- it's in the docs directory
- on sunsite.unc.edu, and on the other FTP sites. A search engine is
- available on the WWW at http://www.boutell.com/lsm/.
-
- Check the FTP sites (see Q2.5 `Where can I get Linux material by FTP ?')
- first --- search the find-ls or INDEX files for appropriate strings.
- Check the Linux Projects Map (LPM), on ftp.ix.de in
- /pub/Linux/docs/Projects-Map.gz.
-
- If you don't find anything, you could either download the sources to the
- program yourself and compile them -- see Q5.1 `How do I port XXX to Linux
- ?' -- or, if it's a large package which may require some porting, post a
- message to the newsgroup comp.os.linux.development.apps.
-
- If you compile a largeish program please upload it to one or more of the
- FTP sites and post a message to comp.os.linux.announce (submit your
- posting to <linux-announce@news.ornl.gov>).
-
- If you're looking for an application-type program the chances are someone
- has already written a free verson. Try reading the FAQ in
- comp.sources.wanted for instructions on how to find sources.
-
- You should also check the Projects-FAQ, available in
- /pub/Linux/docs/faqs/Projects-FAQ on sunsite.unc.edu.
-
- -------------------------------------------------------------------------------
-
- Question 5.4. Can I use code or a compiler compiled for a 486 on my 386 ?
-
- Yes, unless it's the kernel.
-
- The -m486 option to GCC, which is used to compile binaries for 486
- machines, merely changes certain optimisations. This makes for slightly
- larger binaries which run somewhat faster on a 486. They still work fine
- on a 386, though, with little performance hit.
-
- However, from version 1.3.35 the kernel will use 486- or Pentium-specific
- instructions if configured for a 486 or Pentium, thus making it unusable
- on a 386.
-
- GCC can be configured for a 386 or 486; the only difference is that
- configuring it for a 386 makes -m386 the default and configuring for a 486
- makes -m486 the default; in either case these can be overriden on a
- per-compilation basis or by editing /usr/lib/gcc-lib/i*-linux/n.n.n/specs.
-
- There is an alpha version of GCC that knows how to do optimisation well
- for the 586, but it is quite unreliable, especially at high optimisation
- settings. The Pentium GCC can be found on tsx-11.mit.edu in
- /pub/linux/ALPHA/pentium-gcc. I'd recommend using the ordinary 486 GCC
- instead; word has it that using -m386 produces code that's better for the
- Pentium, or at least slightly smaller.
-
- -------------------------------------------------------------------------------
-
- Question 5.5. What does gcc -O6 do ?
-
- Currently the same as -O2 (GCC 2.5) or -O3 (GCC 2.6, 2.7); any number
- greater than that currently does the same thing. The Makefiles of newer
- kernels use -O2, you should probably do the same.
-
- -------------------------------------------------------------------------------
-
- Question 5.6. Where are <linux/*.h> and <asm/*.h> ?
-
- These are in the directories /usr/include/linux and /usr/include/asm.
-
- However they should be symbolic links to your kernel sources in
- /usr/src/linux and not real directories.
-
- If you don't have the kernel sources download them --- see Q7.6 `How do I
- upgrade/recompile my kernel ?'.
-
- Then use rm to remove any garbage, and ln to create the links:
- rm -rf /usr/include/linux /usr/include/asm
- ln -sf /usr/src/linux/include/linux /usr/include/linux
- ln -sf /usr/src/linux/include/asm /usr/include/asm
-
- Nowadays /usr/src/linux/include/asm is a symbolic link to an
- architecture-specific asm-<arch> directory - if you have a freshly
- unpacked kernel source tree you must use make symlinks. You'll also find
- that you may need to do make config in a newly-unpacked kernel source
- tree, to create <linux/autoconf.h>.
-
- -------------------------------------------------------------------------------
-
- Question 5.7. I get errors when I try to compile the kernel.
-
- Make sure that /usr/include/linux and /usr/include/asm aren't actual
- directories but instead symbolic links to /usr/src/linux/include/linux and
- /usr/src/linux/include/asm respectively.
-
- If necessary, delete them using rm and then use ln -s to make the links as
- in Q5.6 `Where are <linux/*.h> and <asm/*.h> ?'.
-
- Remember that when you apply a patch to the kernel you must use the -p0 or
- -p1 option: otherwise the patch may be misapplied. See the manpage for
- patch for details.
-
- If you're patching to a kernel more recent than 1.1.44 you should find
- that there are new directories /usr/src/linux/include/asm-i386. The
- directory asm there should be removed. The symlinks Makefile target will
- make these be symbolic links to asm-i36 and arch/i386/boot respectively.
- The easiest way to make sure all this gets done is not to try to patch
- 1.1.44 to make 1.1.45, but to download linux-1.1.45.tar.gz instead.
-
- ld: unrecognised option `-qmagic' means you should get a newer linker,
- from tsx-11.mit.edu in /pub/linux/packages/GCC, in the file
- binutils-2.6.0.2.bin.tar.gz.
-
- -------------------------------------------------------------------------------
-
- Question 5.8. How do I make a shared library ?
-
- For ELF,
- gcc -fPIC -c *.c
- gcc -shared -Wl,-soname,libfoo.so.1 -o libfoo.so.1.0 *.o
-
- For a.out, get tools-n.nn.tar.gz from tsx-11.mit.edu, in
- /pub/linux/packages/GCC/src. It comes with documentation that will tell
- you what to do. Note that a.out shared libraries are a very tricky
- business.
-
- -------------------------------------------------------------------------------
-
- Question 5.9. My executables are (very) large.
-
- With an ELF compiler (see Q8.2 `What's all this about ELF ?') the most
- common cause of large executables is the lack of an appropriate .so
- library link for one of the libraries you're using. There should be a
- link like libc.so for every library like libc.so.5.2.18.
-
- With an a.out compiler (see Q8.2 `What's all this about ELF ?') the most
- common cause of large executables is the -g linker (compiler) flag. This
- produces (as well as debugging information in the output file) a program
- which is statically linked, i.e. one which includes a copy of the C
- library instead of using a dynamically linked copy.
-
- Other things that are worth investigating are -O and -O2 which enable
- optimisation (check the GCC documentation) and -s (or the strip command)
- which strip the symbol information from the resulting binary (making
- debugging totally impossible).
-
- You may wish to use -N on very small executables (less than 8K with the
- -N), but you shouldn't do this unless you understand its performance
- implications, and definitely never with daemons.
-
- -------------------------------------------------------------------------------
-
- Question 5.10. Does Linux support threads or lightweight processes ?
-
- As well as the Unix multiprocessing model involving heavyweight processes,
- which is of course part of the standard Linux kernel, there are several
- implementations of lightweight processes or threads, most of which are
- generic packages for any Unix:
-
- * In sipb.mit.edu:/pub/pthread or ftp.ibp.fr:/pub/unix/threads/pthreads.
- Documentation isn't in the package, but is available on the World Wide
- Web at http://www.mit.edu:8001/people/proven/home_page.html. Newer
- Linux libcs contain the pthreads source; the GNU Ada compiler on
- sunsite.unc.edu in /pub/Linux/devel/lang/ada/gnat-3.01-linux+elf.tar.gz
- contains binaries made from that source code.
- * In ftp.cs.washington.edu:/pub/qt-001.tar.Z is QuickThreads. More
- information can be found in the technical report, available on the same
- site as /tr/1993/05/UW-CSE-93-05-06.PS.Z.
- * In gummo.doc.ic.ac.uk:/rex is lwp, a very minimal implementation.
- * In ftp.cs.fsu.edu:/pub/PART, an Ada implementation. This is useful
- mainly because it has a lot of PostScript papers that you'll find useful
- in learning more about threads. This is not directly usable under
- Linux.
-
- Please contact the authors of the packages in question for details.
-
- Kernel version 1.3.35 contains some support for kernel threads, but this
- code has not been well-tested.
-
- -------------------------------------------------------------------------------
-
- Question 5.11. Where can I get `lint' for Linux ?
-
- Roughly equivalent functionality is built into the GNU C compiler (gcc)
- which is used by Linux systems. Use the -Wall option to turn on most of
- the useful extra warnings. Check the GCC manual for more details (type
- control-h followed by i in Emacs and select the entry for GCC).
-
- There is a freely available program called `lclint' that does much the
- same thing as traditional lint. The announcement and source code are
- available at on larch.lcs.mit.edu in /pub/Larch/lclint; on the World Wide
- Web look at http://larch-www.lcs.mit.edu:8001/larch/lclint.html.
-
- -------------------------------------------------------------------------------
-
- Question 5.12. Where can I find `kermit' for Linux ?
-
- Kermit has a restrictive copyright which has forced most distribution
- maintainers to remove it, or to move the package containing it into an
- obscure directory.
-
- The source code is available on kermit.columbia.edu in
- /kermit/archives/cku190.tar.gz; Linux binaries are available in
- /kermit/bin/ckuker.linux and /kermit/bin/ckuker.linuxtcp.
-
- ===============================================================================
-
- Section 6. Solutions to common miscellaneous problems
-
- Q6.1 free dumps core.
- Q6.2 My clock is very wrong.
- Q6.3 Setuid scripts don't seem to work.
- Q6.4 Free memory as reported by free keeps shrinking.
- Q6.5 When I add more memory it slows to a crawl.
- Q6.6 Some programs (e.g. xdm) won't let me log in.
- Q6.7 Some programs let me log in with no password.
- Q6.8 My machine runs very slowly when I run GCC / X / ...
- Q6.9 I can only log in as root.
- Q6.10 My screen is all full of weird characters instead of letters.
- Q6.11 I have screwed up my system and can't log in to fix it.
- Q6.12 I've discovered a huge security hole in rm !
- Q6.13 lpr and/or lpd aren't working.
- Q6.14 Timestamps on files on msdos partitions are set incorrectly.
- Q6.15 How do I get LILO to boot the vmlinux file ?
-
- -------------------------------------------------------------------------------
-
- Question 6.1. free dumps core.
-
- In Linux 1.3.57 and later the format of /proc/meminfo was changed in a way
- that the implementation of free doesn't understand.
-
- Get the latest version, from sunsite.unc.edu in
- /pub/Linux/system/Status/ps/procps-0.99.tgz.
-
- -------------------------------------------------------------------------------
-
- Question 6.2. My clock is very wrong.
-
- There are two clocks in your computer. The hardware (CMOS) clock runs
- even when the computer is off and is used to when the system starts up and
- by DOS (if you use it). The ordinary system time, shown and set by date,
- is maintained by the kernel while Linux is running.
-
- You can display the CMOS clock time, or set either clock from the other,
- with /sbin/clock program - see man 8 clock.
-
- There are various other programs that can correct either or both clocks
- for systematic drift or transfer time across the network. Some of them
- may already be installed on your system. Try looking at or for adjtimex
- (corrects for drift), netdate and getdate (simply get the time from the
- network) or xntp (accurate fully-featured network time daemon).
-
- -------------------------------------------------------------------------------
-
- Question 6.3. Setuid scripts don't seem to work.
-
- That's right. This feature has been deliberately disabled in the Linux
- kernel because setuid scripts are almost always a security hole. If you
- want to know why read the FAQ for comp.unix.questions.
-
- -------------------------------------------------------------------------------
-
- Question 6.4. Free memory as reported by free keeps shrinking.
-
- The `free' figure printed by free doesn't include memory used as a disk
- buffer cache - shown in the `buffers' column. If you want to know how
- much memory is really free add the `buffers' amount to `free' - newer
- versions of free print an extra line with this info.
-
- The disk buffer cache tends to grow soon after starting Linux up, as you
- load more programs and use more files and the contents get cached. It
- will stabilise after a while.
-
- -------------------------------------------------------------------------------
-
- Question 6.5. When I add more memory it slows to a crawl.
-
- This is quite a common symptom of a failure to cache the additional
- memory. The exact problem depends on your motherboard.
-
- Sometimes you have to enable caching of certain regions in your BIOS
- setup. Look in the CMOS setup and see if there is an option to cache the
- new memory area which is currently switched off. This is apparently most
- common on a 486.
-
- Sometimes the RAMs have to be in certain sockets to be cached.
-
- Sometimes you have to set jumpers to enable the caching.
-
- Some motherboards don't cache all the RAM if you have more RAM per amount
- of cache than they expect. Usually a full 256K cache will solve this
- problem.
-
- If in doubt, check your motherboard manual. If you still can't fix it
- because the documentation is inadequate you might like to post a message
- to comp.os.linux.hardware giving *all* the details - make, model number,
- date code, etc. so that other Linux users can avoid it.
-
- -------------------------------------------------------------------------------
-
- Question 6.6. Some programs (e.g. xdm) won't let me log in.
-
- You are probably using non-shadow-password programs but are using shadow
- passwords.
-
- If so, you have to get or compile a shadow password version of the
- program(s) in question. The shadow password suite can be found in
- (amongst other places):
- tsx-11.mit.edu:/pub/linux/sources/usr.bin/shadow-*
- This is the source code; you will probably find the binaries in
- .../linux/binaries/usr.bin.
-
- -------------------------------------------------------------------------------
-
- Question 6.7. Some programs let me log in with no password.
-
- You probably have the same problem as in Q6.6 `Some programs (e.g. xdm)
- won't let me log in.', with an added wrinkle:
-
- If you are using shadow passords you should put a letter x or an asterisk
- in the password field of /etc/passwd for each account, so that if a
- program doesn't know about the shadow passwords it won't think it's a
- passwordless account and let anyone in.
-
- -------------------------------------------------------------------------------
-
- Question 6.8. My machine runs very slowly when I run GCC / X / ...
-
- You may not have any swap enabled. You need to enable swapping to allow
- Linux to page out bits of data programs aren't using at the moment to disk
- to make more room for other programs and data. If you don't Linux has to
- keep data in memory and throw away in-memory copies of programs (which are
- paged straight from the filesystem) and so less and less program is in
- memory and everything runs very slowly.
-
- See the Installation HOWTO and the Installation and Getting Started Guide
- [Q2.1 `Where can I get the HOWTOs and other documentation ?'] for details
- of how to set up a swap partition or swapfile; see also Q4.6 `My swap area
- isn't working.'.
-
- Alternatively you may have too little real memory. If you have less RAM
- than all the programs you're running at once use Linux will use your hard
- disk instead and thrash horribly. The solution in this case is to not run
- so many things at once or to buy more memory. You can also reclaim some
- memory by compiling and using a kernel with less options configured. See
- Q7.6 `How do I upgrade/recompile my kernel ?'.
-
- You can tell how much memory and/or swap you're using by using the free
- command, or by typing
- cat /proc/meminfo
-
- If your kernel is configured with a ramdisk this is probably wasted space
- and will cause things to go slowly. Use LILO or rdev to tell the kernel
- not to allocate a ramdisk (see the LILO documentation or type man rdev).
-
- -------------------------------------------------------------------------------
-
- Question 6.9. I can only log in as root.
-
- You probably have some permission problems, or you have a file
- /etc/nologin.
-
- If the latter put rm -f /etc/nologin in your /etc/rc.local or /etc/rc.d/*
- scripts.
-
- Otherwise check the permissions on your shell, and any filenames which
- appear in error messages, and also the directories containing these files
- all the way up the tree, up to and including the root directory.
-
- -------------------------------------------------------------------------------
-
- Question 6.10. My screen is all full of weird characters instead of letters.
-
- You probably sent some binary data to your screen by mistake. Type echo
- '\033c' to fix it. Many Linux distributions have a command reset that
- does this.
-
- -------------------------------------------------------------------------------
-
- Question 6.11. I have screwed up my system and can't log in to fix it.
-
- Reboot from an emergency floppy or floppy pair, for example the Slackware
- boot- and root-disk pair (in the install subdirectory of the Slackware
- mirrors) or the MCC installation boot floppy. There are also two diy
- rescue disk creation packages on sunsite.unc.edu in
- /pub/Linux/system/Recovery. These are better as they'll have your own
- kernel on them, so that you don't run the risk of missing devices,
- filesystems, etc.
-
- Get to a shell prompt and mount your hard disk with something like
- mount -t ext2 /dev/hda1 /mnt
-
- Then your filesystem is available under the directory /mnt and you can fix
- the problem. Remember to unmount your hard disk before rebooting (cd back
- down to / first or it will say it's busy).
-
- -------------------------------------------------------------------------------
-
- Question 6.12. I've discovered a huge security hole in rm !
-
- No you haven't. You are obviously new to Unix and need to read a good
- book on it to find out how things work. Clue: ability to delete files
- under Unix depends on permission to write the directory they are in.
-
- -------------------------------------------------------------------------------
-
- Question 6.13. lpr and/or lpd aren't working.
-
- Check the Printing HOWTO [Q2.1 `Where can I get the HOWTOs and other
- documentation ?'].
-
- -------------------------------------------------------------------------------
-
- Question 6.14. Timestamps on files on msdos partitions are set incorrectly.
-
- There is a bug in the program clock (often found in /sbin) - it miscounts
- a timezone offset, confusing seconds with minutes or some such. Get a new
- version of it.
-
- -------------------------------------------------------------------------------
-
- Question 6.15. How do I get LILO to boot the vmlinux file ?
-
- In kernel versions 1.1.80 and later the compressed kernel image, which is
- what you have to give to LILO, has been moved to arch/i386/boot/zImage.
- The vmlinux file in the root directory is the uncompressed kernel, and you
- shouldn't try to boot it.
-
- This change has been made to make it easier to build the versions for
- several different processors from the same source tree.
-
- ===============================================================================
-
- Section 7. How do I do this or find out that ... ?
-
- Q7.1 How can I get scrollback in text mode ?
- Q7.2 How do I switch virtual consoles ? How do I enable them ?
- Q7.3 How do I set the timezone ?
- Q7.4 What version of Linux and what machine name am I using ?
- Q7.5 How can I enable or disable core dumps ?
- Q7.6 How do I upgrade/recompile my kernel ?
- Q7.7 Can I have more than 3 serial ports by sharing interrupts ?
- Q7.8 How do I make a bootable floppy ?
- Q7.9 How do I remap my keyboard to UK, French, etc. ?
- Q7.10 How do I get NUM LOCK to default to on ?
- Q7.11 How can I have more than 128Mb of swap ?
-
- -------------------------------------------------------------------------------
-
- Question 7.1. How can I get scrollback in text mode ?
-
- With the default US keymap you can use Shift with the PageUp and PageDown
- keys (NB: these must be the grey ones, not the ones on the numeric keypad
- !). With other keymaps check the maps in /usr/lib/keytables; you can
- remap the scroll up and down keys to be whatever you like --- for example,
- in order to remap them to keys that exist on an 84-key AT keyboard.
-
- You can't increase the amount of scrollback, because of the way it is
- implemented using the video memory to store the scrollback text, though
- you may be able to get more scrollback in each virtual console by reducing
- the total number of VC's --- see <linux/tty.h>.
-
- -------------------------------------------------------------------------------
-
- Question 7.2. How do I switch virtual consoles ? How do I enable them ?
-
- In text mode, press Left Alt-F1 to Alt-F12 to select the consoles tty1 to
- tty12; Right Alt-F1 gives tty13 and so on. To switch out of X windows you
- must press Ctrl-Alt-F1 etc; Alt-F5 or whatever will switch back.
-
- If you want to use a VC for ordinary login you need to list it in
- /etc/inittab, which controls which terminals and virtual consoles have
- login prompts. NB: X needs at least one free VC in order to start.
-
- Kernels earlier than around 1.1.59 have a compiled-in limit on the number
- of consoles, for which the default is 8. See NR_CONSOLES in
- linux/include/linux/tty.h. Newer kernels allocate them dynamically, up to
- a maximum of 63.
-
- -------------------------------------------------------------------------------
-
- Question 7.3. How do I set the timezone ?
-
- Change directory to /usr/lib/zoneinfo; get the timezone package if you
- don't have this directory. The source can be found on sunsite.unc.edu in
- /pub/Linux/system/Admin/timesrc-1.2.tar.gz.
-
- Then make a symbolic link named localtime pointing to one of the files in
- this directory (or a subdirectory), and one called posixrules pointing to
- localtime. For example:
- ln -sf US/Mountain localtime
- ln -sf localtime posixrules
- This change will take effect immediately - try date.
-
- Don't try to use the TZ variable - leave it unset.
-
- You should also make sure that your Linux kernel clock is set to the
- correct GMT time - type date -u and check that the correct universal time
- is displayed.
-
- -------------------------------------------------------------------------------
-
- Question 7.4. What version of Linux and what machine name am I using ?
-
- Type:
- uname -a
-
- -------------------------------------------------------------------------------
-
- Question 7.5. How can I enable or disable core dumps ?
-
- Linux now has corefiles turned off by default for all processes.
-
- You can turn them on or off by using the ulimit command in bash, the limit
- command in tcsh, or the rlimit command in ksh. See the manpage for the
- shell for more details.
-
- That command affects all programs run from that shell (directly or
- indirectly), not the whole system.
-
- If you wish to enable or disable coredumping for all processes by default
- you can change the default setting in <linux/sched.h> - see the definition
- of INIT_TASK, and look also in <linux/resource.h>.
-
- 1.2.13 will produce a.out core dumps [Q8.2 `What's all this about ELF ?'].
-
- -------------------------------------------------------------------------------
-
- Question 7.6. How do I upgrade/recompile my kernel ?
-
- See the Kernel HOWTO or the README which comes with the kernel release on
- ftp.cs.helsinki.fi, in /pub/Software/Linux/Kernel and mirrors thereof
- [Q2.5 `Where can I get Linux material by FTP ?']. You may already have a
- version of the kernel source code installed on your system, but if you got
- it as part of a standard distribution it is likely to be somewhat out of
- date (this is not a problem if you only want a custom-configured kernel,
- but it probably is if you need to upgrade.)
-
- Remember that to make the new kernel boot you must run LILO after copying
- the kernel into your root partition -- the Makefile in recent kernels has
- a special zlilo target for this; try make zlilo.
-
- Kernel version numbers with an odd minor version (ie, 1.1.x, 1.3.x) are
- the testing releases; stable production kernels have even minor versions
- (1.0.x, 1.2.x). If you want to try the testing kernels you should
- probably subscribe to the linux-kernel mailing list [Q2.8 `What mailing
- lists are there ?'].
-
- Russel Nelson posts summaries of what changes in recent kernel patches to
- comp.os.linux.development, and these are archived on ftp.emlist.com in
- /pub/kchanges.
-
- -------------------------------------------------------------------------------
-
- Question 7.7. Can I have more than 3 serial ports by sharing interrupts ?
-
- Yes, but you won't be able to use simultaneously two ordinary ports which
- share an interrupt (without some trickery). This is a limitation of the
- ISA bus architecture.
-
- See the Serial HOWTO for information about possible solutions to and
- workarounds for this problem.
-
- -------------------------------------------------------------------------------
-
- Question 7.8. How do I make a bootable floppy ?
-
- Make a filesystem on it with bin, etc, lib and dev directories --
- everything you need. Install a kernel on it and arrange to have LILO boot
- it from the floppy (see the LILO documentation, in lilo.u.*.ps).
-
- If you build the kernel (or tell LILO to tell the kernel) to have a
- ramdisk the same size as the floppy the ramdisk will be loaded at
- boot-time and mounted as root in place of the floppy.
-
- See the Bootdisk HOWTO.
-
- -------------------------------------------------------------------------------
-
- Question 7.9. How do I remap my keyboard to UK, French, etc. ?
-
- For recent kernels, get /pub/Linux/system/Keyboards/kbd-0.90.tar.gz from
- sunsite.unc.edu. Make sure you get the appropriate version; you have to
- use the right keyboard-mapping package to go with your kernel version.
- 0.90 should work with kernel versions from 1.0.
-
- For older kernels you have to edit the top-level kernel Makefile, in
- /usr/src/linux.
-
- You may find more helpful information in the Keystroke HOWTO, on
- sunsite.unc.edu in /pub/Linux/docs/HOWTO/Keystroke-HOWTO.
-
- -------------------------------------------------------------------------------
-
- Question 7.10. How do I get NUM LOCK to default to on ?
-
- Use the setleds program, for example (in /etc/rc.local or one of the
- /etc/rc.d/* files):
- for t in 1 2 3 4 5 6 7 8
- do
- setleds +num < /dev/tty$t > /dev/null
- done
-
- setleds is part of the kbd package (see Q7.9 `How do I remap my keyboard
- to UK, French, etc. ?').
-
- Alternatively, patch your kernel. You need to arrange for KBD_DEFLEDS to
- be defined to (1 << VC_NUMLOCK) when compiling drivers/char/keyboard.c.
-
- -------------------------------------------------------------------------------
-
- Question 7.11. How can I have more than 128Mb of swap ?
-
- Use several swap partitions or swapfiles - Linux supports up to 16 swap
- areas, each of up to 128Mb.
-
- Very old kernels only supported swap area sizes up to 16Mb.
-
- ===============================================================================
-
- Section 8. Miscellaneous information and questions answered
-
- Q8.1 How do I program XYZ under Linux ?
- Q8.2 What's all this about ELF ?
- Q8.3 What is a .gz file ? And a .tgz ? And ... ?
- Q8.4 What does VFS stand for ?
- Q8.5 What is a BogoMip ?
- Q8.6 What is the Linux Journal and where can I get it ?
- Q8.7 How many people use Linux ?
- Q8.8 How should I pronounce Linux ?
-
- -------------------------------------------------------------------------------
-
- Question 8.1. How do I program XYZ under Linux ?
-
- Read the manuals, or a good book on Unix. manpages (type man man) are
- usually a good source of reference information on exactly how to use a
- particular command or function.
-
- There is also a lot of GNU Info documentation, which is often more useful
- as a tutorial. Run Emacs and type C-h i, or type info info if you don't
- have or don't like Emacs. Note that the Emacs libc node doesn't exactly
- describe the Linux libc (which is more like a traditional Unix libc, not
- having some of the GNU oddities), but it's close enough to make a fair
- tutorial in Unix C programming.
-
- The latest release of the Linux manpages and a collection of useful GNU
- Info documentation various other information related to programming Linux
- can be found on sunsite.unc.edu in /pub/Linux/docs/man-pages.
-
- -------------------------------------------------------------------------------
-
- Question 8.2. What's all this about ELF ?
-
- See the ELF HOWTO by Daniel Barlow - note, this is not the file
- move-to-elf, which is a blow-by-blow account of how to upgrade to ELF
- manually.
-
- Linux is switching to a different format for executables, object files and
- object code libraries, known as `ELF' (the old format is called `a.out').
- This will have many advantages, including better support for shared
- libraries and dynamic linking.
-
- Both a.out and ELF binaries can coexist on a system. However, they use
- different shared C libraries, both of which will have to be installed to
- do this.
-
- If you want to find out whether your system can run ELF binaries, look in
- /lib for a filename libc.so.5. If this exists it probably can. If you
- want to know whether your installation actually *is* ELF you can pick a
- representative program, like ls, and run file on it:
- -chiark:~> file /bin/ls
- /bin/ls: Linux/i386 impure executable (OMAGIC) - stripped
-
- valour:~> file /bin/ls
- /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1, stripped
-
- There is a patch to get 1.2.x to compile using the ELF compilers, and
- produce ELF coredumps, on tsx-11.mit.edu in /pub/packages/GCC. You do not
- need the patch merely to run ELF binaries. 1.3.x and later do not need a
- patch at all.
-
- -------------------------------------------------------------------------------
-
- Question 8.3. What is a .gz file ? And a .tgz ? And ... ?
-
- .gz (and .z) files have been compressed using GNU gzip. You need to use
- gunzip (which is as a symlink to the gzip command which comes with most
- Linux installations) to unpack the file.
-
- .taz and .tz are tarfiles (made with Unix tar) compressed using standard
- Unix compress.
-
- .tgz (or .tpz) is a tarfile compressed with gzip.
-
- .lsm is a Linux Software Map entry, in the form of a short text file.
- Details about the LSM and the LSM itself are available in the docs
- subdirectory on sunsite.unc.edu.
-
- .deb is a Debian Binary Package - the binary package format used by the
- Debian GNU/Linux distribution. It is manipulated using dpkg and dpkg-deb
- (available on Debian systems and from ftp.debian.org).
-
- .rpm is a Red Hat RPM package, which is used in the Red Hat distribution.
- These can be found on ftp.redhat.com.
-
- The file command can often tell you what a file is.
-
- If you find that gzip complains when you try to uncompress a gzipped file
- you probably downloaded it in ASCII mode by mistake. You must download
- most things in binary mode - remember to type binary as a command in FTP
- before using get to get the file.
-
- -------------------------------------------------------------------------------
-
- Question 8.4. What does VFS stand for ?
-
- Virtual File System. It's the abstraction layer between the user and real
- filesystems like ext2, minix and msdos. Amongst other things, its job is
- to flush the read buffer when it detects a disk change on the floppy disk
- drive:
- VFS: Disk change detected on device 2/0
-
- -------------------------------------------------------------------------------
-
- Question 8.5. What is a BogoMip ?
-
- `BogoMips' is a contraction of `Bogus MIPS'. MIPS stands for (depending
- who you listen to) Millions of Instructions per Second, or Meaningless
- Indication of Processor Speed.
-
- The number printed at boot-time is the result of a kernel timing
- calibration, used for very short delay loops by some device drivers.
-
- As a very rough guide the BogoMips will be approximately:
- 386SX clock * 0.14
- 386DX clock * 0.18
- 486Cyrix/IBM clock * 0.33
- 486SX/DX/DX2 clock * 0.50
- 586 clock * 0.39
-
- If the number you're seeing is wildly lower than this you may have the
- Turbo button or CPU speed set incorrectly, or have some kind of caching
- problem [as described in Q6.5 `When I add more memory it slows to a
- crawl.'.]
-
- For values people have seen with other, rarer, chips, see the BogoMips
- Mini-HOWTO, on sunsite.unc.edu in /pub/Linux/docs/howto/mini/BogoMips.
-
- -------------------------------------------------------------------------------
-
- Question 8.6. What is the Linux Journal and where can I get it ?
-
- Linux Journal is a monthly magazine (printed on paper) that is available
- on newsstands and via subscription worldwide. Email <linux@ssc.com> for
- details. They are on the Web at http://www.ssc.com/.
-
- -------------------------------------------------------------------------------
-
- Question 8.7. How many people use Linux ?
-
- Linux is freely available, and no one is required to register their copies
- with any central authority, so it is difficult to know. Several
- businesses are now surviving solely on selling and supporting Linux, and
- very few Linux users use those businesses, relatively speaking. The Linux
- newsgroups are some of the most heavily read on the Net, so the number is
- likely in the hundreds of thousands, but firm numbers are hard to come by.
-
- However, one brave soul, Harald T. Alvestrand
- <Harald.T.Alvestrand@uninett.no>, has decided to try, and asks that if you
- use Linux, you send a message to <linux-counter@uninett.no> with one of
- the following subjects: `I use Linux at home', `I use Linux at work', or
- `I use Linux at home and at work'. He will also accept `third-party'
- registrations - ask him for details.
-
- Alternatively, you can register using the WWW forms found at
- http://domen.uninett.no/~hta/linux/counter.html.
-
- He posts his counts to comp.os.linux.misc each month; alternatively look
- on aun.uninett.no in /pub/misc/linux-counter or at the web page above.
-
- -------------------------------------------------------------------------------
-
- Question 8.8. How should I pronounce Linux ?
-
- This is a matter of religious debate, of course !
-
- If you want to hear Linus himself say how he pronounces it download
- english.au or swedish.au from ftp.funet.fi (in
- /pub/OS/Linux/PEOPLE/Linus/SillySounds). If you have a soundcard or the
- PC-speaker audio driver you can hear them by typing
- cat english.au >/dev/audio
- The difference isn't in the pronunciation of Linux but in the language
- Linus uses to say hello. The English version was parodied very well by
- Jin Choi as "Hi, my name is Leenoos Torvahlds and I pronounce Leenooks as
- Leenooks."
-
- For the benefit of those of you who don't have the equipment or
- inclination: Linus pronounces Linux approximately as Leenus, where the ee
- is as in feet but rather shorter and the u is like a much shorter version
- of the French eu sound in peur (pronouncing it as the u in put is probably
- passable).
-
- When speaking English I pronounce it Lie-nucks (u as in bucket) --- this
- is an anglicised pronunciation based on the analogy with Linus' name,
- which in English is usually pronounced Lie-nus (u as in put). It is of
- course quite acceptable and common to modify the pronunciation of a proper
- noun when it changes languages.
-
- I think I can safely say that the pronunciation Linnucks (short i as in
- pit, short u as in bucket) is wrong in English, as it is not the original
- Swedish pronunciation, not a sensible direct anglicisation of it, and not
- based on the anglicised version of Linus' name.
-
- ===============================================================================
-
- Section 9. Frequently encountered error messages
-
- Q9.1 Unknown terminal type linux and similar
- Q9.2 During linking I get Undefined symbol _mcount
- Q9.3 lp1 on fire
- Q9.4 INET: Warning: old style ioctl(IP_SET_DEV) called!
- Q9.5 ld: unrecognized option '-m486'
- Q9.6 GCC says Internal compiler error
- Q9.7 make says Error 139
- Q9.8 shell-init: permission denied when I log in.
- Q9.9 No utmp entry. You must exec ... when I log in.
- Q9.10 Warning - bdflush not running
- Q9.11 Warning: obsolete routing request made.
- Q9.12 EXT2-fs: warning: mounting unchecked filesystem
- Q9.13 EXT2-fs warning: maximal count reached
- Q9.14 EXT2-fs warning: checktime reached
- Q9.15 df says Cannot read table of mounted filesystems
- Q9.16 fdisk says Partition X has different physical/logical ...
- Q9.17 fdisk: Partition 1 does not start on cylinder boundary
- Q9.18 fdisk says partition n has an odd number of sectors
- Q9.19 mtools says cannot initialise drive XYZ
- Q9.20 At the start of booting: Memory tight
- Q9.21 You don't exist. Go away.
-
- -------------------------------------------------------------------------------
-
- Question 9.1. Unknown terminal type linux and similar
-
- In an early 1.3.x kernel the default console terminal type has changed
- from console to linux. You must edit /etc/termcap to change the line
- reading:
- console|con80x25:\
- to
- linux|console|con80x25:\
- (there may be an additional dumb in there - if so it should be removed.)
-
- In order to get the editor to work you may need say TERM=console (for bash
- and ksh) or setenv TERM console (csh, tcsh) first.
-
- Some programs use /usr/lib/terminfo instead of /etc/termcap. For these
- programs you should upgrade your terminfo, which is part of ncurses.
-
- -------------------------------------------------------------------------------
-
- Question 9.2. During linking I get Undefined symbol _mcount
-
- This is usually due to a bad interaction between a brokenness in SLS and
- the C library release notes. Your libc.a has been replaced by the
- profiling library. You should remove libc.a, libg.a and libc_p.a and once
- again install the new libraries (following the release notes, of course).
-
- -------------------------------------------------------------------------------
-
- Question 9.3. lp1 on fire
-
- This is a joke/traditional error message indicating that some sort of
- error is being reported by your printer, but that the error status isn't a
- valid one. It may be that you have some kind of I/O or IRQ conflict -
- check your cards' settings. Some people report that they get this message
- when their printer is switched off. Hopefully it isn't really on fire ...
-
- In newer kernels this message reads lp1 reported invalid error status (on
- fire, eh?).
-
- -------------------------------------------------------------------------------
-
- Question 9.4. INET: Warning: old style ioctl(IP_SET_DEV) called!
-
- You are trying to use the old network configuration utilities; the new
- ones can be found on ftp.linux.org.uk in
- /pub/linux/Networking/PROGRAMS/NetTools (source only, I'm afraid).
-
- Note that they cannot be used just like the old-style programs; see the
- NET-2 HOWTO for instructions on how to set up networking correctly.
-
- -------------------------------------------------------------------------------
-
- Question 9.5. ld: unrecognized option '-m486'
-
- You have an old version of ld. Install a newer binutils package -- this
- will contain an updated ld. Look on tsx-11.mit.edu in
- /pub/linux/packages/GCC for binutils-2.6.0.2.bin.tar.gz.
-
- -------------------------------------------------------------------------------
-
- Question 9.6. GCC says Internal compiler error
-
- If the fault is repeatable (ie, it always happens at the same place in the
- same file --- even after rebooting and trying again, using a stable
- kernel) you have discovered a bug in GCC. See the GCC Info documentation
- (type Control-h i in Emacs, and select GCC from the menu) for details on
- how to report this -- make sure you have the latest version though.
-
- Note that this is probably not a Linux-specific problem; unless you were
- compiling a program many other Linux users also compile you should not
- post your bug report to any of the comp.os.linux groups.
-
- If the problem is not repeatable you are very probably experiencing memory
- corruption --- see Q9.7 `make says Error 139'.
-
- -------------------------------------------------------------------------------
-
- Question 9.7. make says Error 139
-
- Your compiler driver (gcc) dumped core. You probably have a corrupted,
- buggy or old version of GCC --- get the latest release. Alternatively you
- may be running out of swap space --- see Q6.8 `My machine runs very slowly
- when I run GCC / X / ...' for more info.
-
- If this doesn't fix the problem you are probably having problems with
- memory or disk corruption. Check that the clock rate, wait states and
- refresh timing for your SIMMs and cache are correct (hardware manuals are
- sometimes wrong, too). If so you may have some dodgy SIMMs or a faulty
- motherboard or hard disk or controller.
-
- Linux, like any Unix, is a very good memory tester --- much better than
- DOS-based memory test programs.
-
- Reportedly some clone x87 maths coprocessors can cause problems; try
- compiling a kernel with maths emulation [Q7.6 `How do I upgrade/recompile
- my kernel ?']; you may need to use the no387 kernel command line flag on
- the LILO prompt to force the kernel to use it, or it may be able to work
- and still use the 387, with the maths emulation compiled in but mainly
- unused.
-
- Much more information about this problem is available on the WWW at
- http://einstein.et.tudelft.nl/~wolff/sig11/.
-
- -------------------------------------------------------------------------------
-
- Question 9.8. shell-init: permission denied when I log in.
-
- Your root directory and all the directories up to your home directory must
- be readable and executable by everybody. See the manpage for chmod or a
- book on Unix for how to fix the problem.
-
- -------------------------------------------------------------------------------
-
- Question 9.9. No utmp entry. You must exec ... when I log in.
-
- Your /var/run/utmp is screwed up. You should have
- > /var/run/utmp
- in your /etc/rc.local or /etc/rc.d/*. See Q6.11 `I have screwed up my
- system and can't log in to fix it.' for how to be able to do this. Note
- that utmp may also be found in /var/adm/utmp or /etc/utmp on some older
- systems.
-
- -------------------------------------------------------------------------------
-
- Question 9.10. Warning - bdflush not running
-
- Modern kernels use a better strategy for writing cached disk blocks. In
- addition to the kernel changes, this involves replacing the old update
- program which used to write everything every 30 seconds with a more subtle
- daemon (actually a pair), known as bdflush.
-
- Get bdflush-n.n.tar.gz from the same place as the kernel source code [Q7.6
- `How do I upgrade/recompile my kernel ?'] and compile and install it; it
- should be started before the usual boot-time filesystem checks. It will
- work fine with older kernels as well, so there's no need to keep the old
- update around.
-
- -------------------------------------------------------------------------------
-
- Question 9.11. Warning: obsolete routing request made.
-
- This is nothing to worry about; it just means that the version of route
- you have is a little out of date compared to the kernel. You can make the
- message go away by getting a new version of route from the same place as
- the kernel source code [Q7.6 `How do I upgrade/recompile my kernel ?'].
-
- -------------------------------------------------------------------------------
-
- Question 9.12. EXT2-fs: warning: mounting unchecked filesystem
-
- You need to run e2fsck (or fsck -t ext2 if you have the fsck front-end
- program) with the -a option to get it to clear the `dirty' flag, and then
- cleanly unmount the partition during each shutdown.
-
- The easiest way to do this is to get the latest fsck, umount and shutdown
- commands, available in Rik Faith's util-linux package [Q2.5 `Where can I
- get Linux material by FTP ?']. You have to make sure that your /etc/rc*
- scripts use them correctly.
-
- NB: don't try to check a filesystem that's mounted read-write - this
- includes the root partition if you don't see
- VFS: mounted root ... read-only
- at boot time. You must arrange to mount the root filesystem readonly to
- start with, check it if necessary, and then remount it read-write. Read
- the documentation that comes with util-linux to find out how to do this.
-
- Note that you need to specify the -n option to mount to get it not to try
- to update /etc/mtab, since the root filesystem is still read-only and this
- will otherwise cause it to fail !
-
- -------------------------------------------------------------------------------
-
- Question 9.13. EXT2-fs warning: maximal count reached
-
- This message is issued by the kernel when it mounts a filesystem that's
- marked as clean, but whose `number of mounts since check' counter has
- reached the predefined value. The solution is to get the latest version
- of the ext2fs utilities (e2fsprogs-0.5b.tar.gz at the time of writing)
- from the usual sites [Q2.5 `Where can I get Linux material by FTP ?'].
-
- The maximal number of mounts value can be examined and changed using the
- tune2fs program from this package.
-
- -------------------------------------------------------------------------------
-
- Question 9.14. EXT2-fs warning: checktime reached
-
- Kernels from 1.0 onwards support checking a filesystem based on the
- elapsed time since the last check as well as by the number of mounts. Get
- the latest version of the ext2fs utilities [see Q9.13 `EXT2-fs warning:
- maximal count reached'].
-
- -------------------------------------------------------------------------------
-
- Question 9.15. df says Cannot read table of mounted filesystems
-
- There is probably something wrong with your /etc/mtab or /etc/fstab files.
- If you have a reasonably new version of mount, /etc/mtab should be emptied
- or deleted at boot time (in /etc/rc.local or /etc/rc.d/*), using something
- like
- rm -f /etc/mtab*
-
- Some versions of SLS have an entry for the root partition in /etc/mtab
- made in /etc/rc* by using rdev. This is incorrect -- the newer versions
- of mount do this automatically.
-
- Other versions of SLS have a line in /etc/fstab that looks like:
- /dev/sdb1 /root ext2 defaults
- This is wrong. /root should read simply /.
-
- -------------------------------------------------------------------------------
-
- Question 9.16. fdisk says Partition X has different physical/logical ...
-
- If the partition number (X, above) is 1 this is the same problem as Q9.17
- `fdisk: Partition 1 does not start on cylinder boundary'.
-
- If the partition begins or ends on a cylinder numbered beyond 1024 this is
- because standard DOS disk geometry information format in the partition
- table can't cope with cylinder numbers with more than 10 bits. You should
- see Q4.1 `How can I get Linux to work with my large disk ?'.
-
- -------------------------------------------------------------------------------
-
- Question 9.17. fdisk: Partition 1 does not start on cylinder boundary
-
- The version of fdisk that comes with many Linux systems creates partitions
- that fail its own validity checking. Unfortunately if you've already
- installed your system there's not much you can do about this, apart from
- copying the data off the partition, deleting and remaking it, and copying
- the data back.
-
- You can avoid the problem by getting the latest version of fdisk, from Rik
- Faith's util-linux package (available on all good FTP sites).
- Alternatively, if you are creating a new partition 1 that starts in the
- first cylinder, you can do the following to get a partition that fdisk
- likes.
-
- 1. Create partition 1 in the normal way. A p listing will produce the
- mismatch complaint.
-
- 2. Type u to set sector mode and do p again. Copy down the number from
- the "End" column.
-
- 3. Delete partition 1.
-
- 4. While still in sector mode recreate partition 1. Set the first sector
- to match the number of sectors per track. This is the sector number in
- the first line of the p output. Set the last sector to the value noted in
- 2. above.
-
- 5. Type u to reset cylinder mode and continue with other partitions.
-
- Ignore the message about unallocated sectors - they refer to the sectors
- on the first track apart from the Master Boot Record, which are not used
- if you start the first partition in track 2.
-
- -------------------------------------------------------------------------------
-
- Question 9.18. fdisk says partition n has an odd number of sectors
-
- The PC disk partitioning scheme works in 512-byte sectors, but Linux uses
- 1K blocks. If you have a partition with an odd number of sectors the last
- sector is wasted. Ignore the message.
-
- -------------------------------------------------------------------------------
-
- Question 9.19. mtools says cannot initialise drive XYZ
-
- This means that mtools is having trouble accessing the drive. This can be
- due to several things.
-
- Often this is due to the permissions on floppy drive devices (/dev/fd0*
- and /dev/fd1*) being incorrect --- the user running mtools must have the
- appropriate access. See the manpage for chmod for details.
-
- Most versions of mtools distributed with Linux systems (not the standard
- GNU version) use the contents of a file /etc/mtools to discover which
- devices and densities to use, in place of having this information compiled
- into the binary. Mistakes in this file often cause problems. There is
- often no documentation about this --- distribution packagers please note
- that this is *evil*.
-
- For the easiest way to access your DOS files (especially those on a hard
- disk partition) see Q3.2 `How do I access files on my DOS partition or
- floppy ?'. Note - you should never use mtools to access files on an
- msdosfs mounted partition or disk !
-
- -------------------------------------------------------------------------------
-
- Question 9.20. At the start of booting: Memory tight
-
- This means that you have an extra large kernel that means that Linux has
- to do some special memory-management magic to be able to boot itself from
- the BIOS. It isn't related to the amount of physical memory in your
- machine. Ignore the message, or compile a kernel containing only the
- drivers and features you need [Q7.6 `How do I upgrade/recompile my kernel
- ?'].
-
- -------------------------------------------------------------------------------
-
- Question 9.21. You don't exist. Go away.
-
- This is not a viral infection :-). It comes from various programs such as
- write, talk and wall, if your invoking uid doesn't correspond to a valid
- user (probably due to /etc/passwd being corrupted), or if the session
- (pseudoterminal, specifically) you're using isn't properly registered in
- the utmp file (probably because you invoked it in a funny way).
-
- ===============================================================================
-
- Section 10. The X Window System
-
- Q10.1 Does Linux support X Windows ?
- Q10.2 Where can I get an XF86Config for my system ?
- Q10.3 xterm logins show up strangely in who, finger
- Q10.4 I can't get X Windows to work right.
-
- -------------------------------------------------------------------------------
-
- Question 10.1. Does Linux support X Windows ?
-
- Yes. Linux uses XFree86 (the current version is 3.1.2, which is based on
- X11R6). You need to have a video card which is supported by XFree86. See
- the Linux XFree86 HOWTO for more details.
-
- Most Linux distributions nowadays come with an X installation.
-
- However, you can install or upgrade your own, from
- /pub/Linux/X11/Xfree86-* on sunsite.unc.edu and its mirror sites. Read
- the XFree86 HOWTO for installation instructions.
-
- -------------------------------------------------------------------------------
-
- Question 10.2. Where can I get an XF86Config for my system ?
-
- See the Linux XFree86 HOWTO.
-
- You'll need to put together your own XF86Config file, because it depends
- on the exact combination of video card and monitor you have. It's not
- that hard to do -- read the instructions that came with XFree86, in
- /usr/X11R6/lib/X11/etc. The file you probably most need to look at is
- README.Config.
-
- For a quick start you may run the program xf86config. Note that
- ConfigXF86 is now obsolete and you shouldn't use it.
-
- Please don't post to comp.os.linux.x asking for an XF86Config, and please
- don't answer such requests - especially not in the group.
-
- -------------------------------------------------------------------------------
-
- Question 10.3. xterm logins show up strangely in who, finger
-
- The xterm that comes with XFree86 2.1 and earlier doesn't correctly
- understand the format that Linux uses for the /var/adm/utmp file, where
- the system records who is logged in. It therefore doesn't set all the
- information correctly.
-
- XFree86 3.1 fixes this problem.
-
- -------------------------------------------------------------------------------
-
- Question 10.4. I can't get X Windows to work right.
-
- Read the XFree86 HOWTO - note the question and answer section.
-
- Try reading comp.windows.x.i386unix -- specifically read the the FAQ for
- that group.
-
- Please don't post X Windows or XFree86 related questions to
- comp.os.linux.x unless they are Linux-specific.
-
- ===============================================================================
-
- Section 11. Questions applicable to very out-of-date software
-
- Q11.1 Emacs just dumps core.
- Q11.2 fdisk says cannot use nnn sectors of this partition
- Q11.3 GCC sometimes uses huge amounts of virtual memory and thrashes
- Q11.4 My keyboard goes all funny after I switch VC's.
-
- The questions in this section are only relevant to users of software that
- is at least 3 months old.
-
- Please let me know if you find the answer to a problem you had here, as
- unused questions in this section will eventually disappear [Q13.1
- `Feedback is invited'].
-
- -------------------------------------------------------------------------------
-
- Question 11.1. Emacs just dumps core.
-
- You probably have a version of Emacs that was compiled to work with X11;
- this requires the X11 libraries to work. If you're using Slackware you
- can change the /usr/bin/emacs symbolic link to point to emacs-19.29-no-x11
- instead (see man ln). This is in the file emac_nox.tgz on Slackware 3.0's
- E6 disk.
-
- -------------------------------------------------------------------------------
-
- Question 11.2. fdisk says cannot use nnn sectors of this partition
-
- Originally Linux only supported the Minix filesystem, which cannot use
- more than 64Mb per parition. This limitation is not present in the more
- advanced filesystems now available, such as ext2fs (the 2nd version of the
- Extended Filesystem, the `standard' Linux filesystem).
-
- If you intend to use ext2fs you can ignore the message.
-
- -------------------------------------------------------------------------------
-
- Question 11.3. GCC sometimes uses huge amounts of virtual memory and thrashes
-
- Older versions of GCC had a bug which made them use lots of memory if you
- tried to compile a program which had a large static data table in it.
-
- You can either upgrade your version of GCC to at least version 2.5, or add
- more swap if necessary and just grin and bear it; it'll work in the end.
-
- -------------------------------------------------------------------------------
-
- Question 11.4. My keyboard goes all funny after I switch VC's.
-
- This is a bug in kernel versions before 0.99pl14-alpha-n. Sometimes Linux
- loses track of what modifier keys (Shift, Alt, Control etc.) are pressed
- or not, and believes that one or more are pressed when they are not. The
- solution is to press and release each of the modifier keys (without
- pressing any other keys) --- this will ensure that Linux knows what state
- the keyboard is actually in.
-
- This problem often occurs when switching out of X windows; it can
- sometimes be avoided by releasing Ctrl and Alt very quickly after pressing
- the F-key of the VC you are switching to.
-
- ===============================================================================
-
- Section 12. How to get further assistance
-
- Q12.1 You still haven't answered my question !
- Q12.2 What to put in a request for help
- Q12.3 I want to mail someone about my problem.
-
- -------------------------------------------------------------------------------
-
- Question 12.1. You still haven't answered my question !
-
- Please read all of this answer before posting. I know it's a bit long,
- but you may be about to make a fool of yourself in front of 50000 people
- and waste hundreds of hours of their time. Don't you think it's worth it
- to spend some of your time reading and following these instructions ?
-
- If you think an answer is incomplete or inaccurate, please mail Ian
- Jackson at <ijackson@gnu.ai.mit.edu>.
-
- Read the appropriate Linux Documentation Project books - see Q2.1 `Where
- can I get the HOWTOs and other documentation ?'.
-
- If you're a Unix newbie read the FAQ for comp.unix.questions, and those
- for any of the other comp.unix.* groups that may be relevant.
-
- Linux is a Unix clone, so almost everything you read there will apply to
- Linux. Those FAQs can, like all FAQs, be found on rtfm.mit.edu in
- /pub/usenet/news.answers (the mail-server@rtfm.mit.edu can send you these
- files, for those who don't have FTP access). There are mirrors of rtfm's
- FAQ archives on various sites - check the Introduction to *.answers
- posting, posted, or look in news-answers/introduction in the directory
- above.
-
- Check the relevant HOWTO for the subject in question, if there is one, or
- an appropriate old-style sub-FAQ document. Check the FTP sites.
-
- Try experimenting --- that's the best way to get to know Unix and Linux.
-
- Read the documentation. Check the manpages (type man man if you don't
- know about manpages. Try man -k <subject> --- it often lists useful and
- relevant manpages.
-
- Check the Info documentation (type C-h i, i.e. Control H followed by I in
- Emacs) --- NB: this isn't just for Emacs; for example the GCC
- documentation lives here as well.
-
- There will also often be a README file with a package giving installation
- and/or usage instructions.
-
- Make sure that you don't have a corrupted or out-of-date copy of the
- program in question. If possible, download it again and reinstall it ---
- perhaps you made a mistake the first time.
-
- Read comp.os.linux.announce --- this often contains very important
- information for all Linux users.
-
- General X-Windows questions belong in comp.windows.x.i386unix, not in
- comp.os.linux.x. But read the group first (including the FAQ), before you
- post !
-
- Only if you have done all of these things and are still stuck should you
- post to the appropriate comp.os.linux.* newsgroup. Make sure you read the
- next question, Q12.2 `What to put in a request for help', first.
-
- -------------------------------------------------------------------------------
-
- Question 12.2. What to put in a request for help
-
- Please read carefully the following advice about how to write your posting
- or email. Taking heed of it will greatly increase the chances that an
- expert and/or fellow user reading it will have enough information and
- motivation to reply.
-
- This advice applies both to postings asking for advice and to personal
- email sent to experts and fellow users.
-
- Make sure you give full details of the problem, including:
-
- * What program, exactly, you are having problems with. Include the
- version number if known and say where you got it. Many standard
- commands tell you their version number if you give them a --version
- option.
-
- * Which Linux release you're using (MCC, Slackware, Debian or whatever)
- and what version of that release.
-
- * The *exact* and *complete* text of any error messages printed.
-
- * Exactly what behaviour you were expecting, and exactly what behaviour
- you observed. A transcript of an example session is a good way of
- showing this.
-
- * The contents of any configuration files used by the program in question
- and any related programs.
-
- * What version of the kernel and of the shared libraries you are using.
- The kernel version can be found by typing uname -a, and the shared
- library version by typing ls -l /lib/libc.so.4.
-
- * Details of what hardware you're running on, if it seems appropriate.
-
- You are in little danger of making your posting too long unless you
- include large chunks of source code or uuencoded files, so err on the side
- of giving too much information.
-
- Use a clear, detailed Subject line. Don't put things like `doesn't work',
- `Linux', `help' or `question' in it --- we already knew that ! Save the
- space for the name of the program, a fragment of the error message,
- summary of the unusual behaviour, etc.
-
- If you are reporting an `unable to handle kernel paging request' message,
- follow the instructions in the Linux kernel sources README for turning the
- numbers into something more meaningful. If you don't do this noone who
- reads your post will be able to do it for you, as the mapping from numbers
- to function names varies from one kernel to another.
-
- Put a summary paragraph at the top of your posting.
-
- At the bottom of your posting, ask for responses by email and say you'll
- post a summary. Back this up by using Followup-To: poster. Then, do
- actually post a summary in a few days or a week or so. Don't just
- concatenate the replies you got --- summarise. Putting the word SUMMARY
- in your summary's Subject line is also a good idea. Consider submitting
- the summary to comp.os.linux.announce.
-
- Make sure your posting doesn't have an inappropriate References header
- line. This marks your article as part of the thread of the article
- referred to, which will often cause it to be junked by the readers with
- the rest of a boring thread.
-
- You might like to say in your posting that you've read this FAQ and the
- appropriate HOWTOs - this may make people less likely to skip your
- posting.
-
- Remember that you should not post email sent to you personally without the
- sender's permission.
-
- -------------------------------------------------------------------------------
-
- Question 12.3. I want to mail someone about my problem.
-
- Try to find the author or developer of whatever program or component is
- causing you difficulty. If you have a contact point for the Linux
- distribution you are using you should use it.
-
- Please put everything in your email that you would put in a posting asking
- for help.
-
- Finally, remember that despite the fact that most of the Linux community
- are very helpful and responsive to emailed questions you'll be asking for
- help from an unpaid volunteer, so you have no right to expect an answer.
-
- ===============================================================================
-
- Section 13. Administrative information and acknowledgements
-
- Q13.1 Feedback is invited
- Q13.2 Formats in which this FAQ is available
- Q13.3 Authorship and acknowledgements
- Q13.4 Disclaimer and Copyright
-
- -------------------------------------------------------------------------------
-
- Question 13.1. Feedback is invited
-
- Please send me your comments on this FAQ.
-
- I accept submissions for the FAQ in any format; All contributions
- comments and corrections are gratefully received.
-
- Please send them to <ijackson@gnu.ai.mit.edu>.
-
- If you wish to refer to a question(s) in the FAQ it's most useful for me
- if you do so by the question heading, rather than the number, as the
- question numbers are generated automatically and I don't see them in the
- source file I edit.
-
- I prefer comments in English to patchfiles - I write the FAQ in a
- different internal format anyway, so I can't use a patchfile.
-
- -------------------------------------------------------------------------------
-
- Question 13.2. Formats in which this FAQ is available
-
- This document is available as an ASCII text file, an Emacs Info document,
- an HTML World Wide Web page, PostScript and as a USENET news posting.
-
- The ASCII, Emacs Info, HTML and posted versions and a Lout typesetter file
- (from which the PostScript is produced) are generated automatically by a
- Perl script which takes as input a file in the Bizarre Format with No
- Name.
-
- The output files linux-faq.ascii, .info and .ps and a tarfile
- linux-faq.source.tar.gz, containing the BFNN source and Perl script
- converter, are available in the docs directories of the major Linux FTP
- sites.
-
- The HTML version of this FAQ is available as
- http://www.cl.cam.ac.uk/users/iwj10/linux-faq/index.html and is mirrored
- at www.li.org and other sites.
-
- The USENET version is posted regularly to comp.os.linux.announce,
- comp.os.linux.answers, comp.answers and news.answers.
-
- -------------------------------------------------------------------------------
-
- Question 13.3. Authorship and acknowledgements
-
- This FAQ was compiled by Ian Jackson <ijackson@gnu.ai.mit.edu>, with
- assistance and comments from others too numerous to mention.
-
- Special thanks are due to Matt Welsh, who moderated comp.os.linux.announce
- and comp.os.linux.answers, used to coordinate the HOWTOs and has written
- substantial portions of many of them, to Greg Hankins, who currently
- coordinates the HOWTOS, to Lars Wirzenius, who currently moderates
- comp.os.linux.announce, and to Marc-Michel Corsini, who wrote the original
- Linux FAQ.
-
- Thanks also to the many people who have sent comments and suggestions;
- they are too numerous to list here, but their input has been invaluable.
-
- Last but not least, thanks to Linus Torvalds and the other contributors to
- Linux for giving us something to write about !
-
- -------------------------------------------------------------------------------
-
- Question 13.4. Disclaimer and Copyright
-
- Note that this document is provided as is. The information in it is *not*
- warranted to be correct; you use it at your own risk.
-
- Linux Frequently Asked Questions with Answers is Copyright 1994, 1995,
- 1996 by Ian Jackson <ijackson@gnu.ai.mit.edu>.
-
- It may be reproduced and distributed in its entirety (including this
- authorship, copyright and permission notice) provided that either:
-
- * the distribution is not commercial (commercial means any situation in
- which you benefit financially - directly or indirectly such as by
- inclusion in a publication which carries commercial advertising), or
- * the distribution is in machine-readable form (ie, a form intended to be
- easily processed by a computer).
-
- Note that this restriction is not intended to prohibit charging for the
- service of printing or copying a document supplied by your customer.
-
- Any distribution of a partial copy or extract, a translation or a
- derivative work must be approved by me before distribution. Email me -
- I'll probably be happy to oblige !
-
- Exceptions to these rules may be granted, and I shall be happy to answer
- any questions about this copyright --- write to Ian Jackson, Churchill
- College, Cambridge, CB3 0DS, United Kingdom or email
- <ijackson@gnu.ai.mit.edu>. These restrictions are here to protect the
- contributors, not to restrict you as educators and learners.
-
- Ian Jackson asserts the right to be identified as the author of this work,
- and claims the moral rights of paternity and integrity, in accordance with
- the Copyright, Designs and Patents Act, 1988.
-
-