[ Table of Contents ] [ Front Page ] [ Prev ] [ Linux Gazette FAQ ] [ Next ]

"Linux Gazette...making Linux just a little more fun!"

(?) The Answer Guy (!)

By James T. Dennis, linux-questions-only@ssc.com
LinuxCare, http://www.linuxcare.com/


(!)Greetings From Jim Dennis

(?)How do I do it? --or--
Installing to a 2nd HD
(?)Sendmail Startup --or--
Sendmail Takes a Long Startup Time
(?)Telnet not working on recent RedHat/Mandrake --or--
Incoming Telnet for and Mandrake Users
(?)Only see 16M of 64M in Compaq Prosignia 300 --or--
Linux only see 16 of 64 Mb of RAM
(?)NT 4.O Wkst + SP5 no dialup to RedHat 6.0/internet --or--
No Dialup to Internet from NT 4.0(sp5) through 6.0
(?)linux ether16 support --or--
Can't See Ethernet Card
(?)(No Subject) --or--
Disk Druid UI Failure? USE fdisk!
(?)Driver for Savage 4 pro --or--
Savage 4 Pro
(?)Recover password for SUN sparcstation --or--
Root Password Recovery on non-Linux UNIX Systems
(?)Windows 95 Connectivity --or--
Needs Samba Configuration Advice
I am new to Linux and I am attempting to setup the following system.
(?)HELP! --or--
Lost CMOS Password
(?)Lilo Woes --or--
More Problems with LILO
(?) xftp: (Proxy or "Third Party" FTP Requests
(?)Do you know where the include files are? --or--
Which RPM Provides A Given Set of Files?
(?)issue 46; networking docs --or--
Advanced Routing in the Linux Kernel
(?)Try & Buy wrapper technology for Linux apps --or--
Try & Buy Wrapper Technology for Commercial Linux apps

(!) Greetings from Jim Dennis

[Jim has the flu this month so he was unable to write his usual electrifying blurb. Get well soon, Jim. Also, The Answer Guy column is all one file this month because there was an upload corruption in the .tgz file, and I was unable to obtain a replacement by press time. -Ed.]

(?) Installing to a 2nd HD

From Eric Lindbloom on Wed, 01 Dec 1999

How do I install Linux on a second hard drive? I have the hard drive installed but have no idea how to access it and install the Linux os. Any ideas?

(!) Exact details of any Linux installation procedures depend quite a bit on which distribution and version you are using.
The basic installation process which is common to all PC based Linux distributions is:
  1. Boot
  2. Detect/Select Installation Source (Device/Medium/Method)
  3. Create/Select Target Devices/Partitions
  4. Make Filesystems & Choose Layout
  5. Select and Install (Unpack/Extract) Packages
  6. Configure Packages
  7. Write Boot Record (Make New OS Bootable)
  8. Reboot
  9. Have Fun!
Generally you boot PCs from floppy or CD-ROM. Some PCs and most other systems can be booted from network servers (usually using a bootp/tftpd combination). However, I'll assume that you will just be booting from diskette or disc.
It's also possible to "boot" Linux from an MS-DOS prompt. You do that using a program called LOADLIN.EXE (often called by a batch file named LINUX.BAT or even SETUP.BAT or INSTALL.BAT). This works from a DOS prompt because MS-DOS is more of a "program loader" than an "operating system." (Windows '9x might be considered to be a "re-hosted OS" which is (transparently) loaded through MS-DOS, much as Netware used to be). In any event, you might be able to start your Linux installation by simply inserting a CD in the drive and running a batch file.
Every Linux distribution has its own installation processs. These range from shell scripts, through elaborate GUIs. Most use fairly similar color/text dialogs (ncurses) which allow you to "fill in the blanks" and tab around to little checkboxes and "radio buttons" (which are selected using the space bar). This interface seems "intuitive" to people who've used MS-DOS or learned to drive MS-Windows programs with their keyboards.
I've found that Mac and SGI Irix users with no PC experience do NOT find the "text dialog" interface to be intuitive --- since the mouse typically doesn't work at this point. (The best bet for them is to use one of the recent Caldera, Corel, or Storm Linux distributions. Those newer distributions can be installed using a "GUI boot-to-grave" interface. Or they could learn how to handle keyboard driven text mode dialogs. Meanwhile the authors of these programs could provide more interactive and context sensitive help to explains these assumptions to new users).
After the boot is complete the installation routine will usually attempt to detect any hardware that's not detected by the kernel. Many distributions will also provide prompts/options to allow you to specify more information about your hardware (possibly offering to allow you to load kernel modules which may be needed to detect and support some of your additional hardware).
This can be important if your secondary hard drive is on some interface isn't linked directly into your distribution's kernel. For example, if you have your primary drive on an IDE controller and your second drive is attached to a SCSI host adapter or one of these Promise Ultra66 specialty IDE controllers then you may need to load an additional module through your distribution's installation interface. It's also possible that you might need to provide the kernel with some additional command line arguments to help it detect some device or controller that is in a non-standard location (assigned to unusual I/O or other addresses).
In the worst case you might have to build or download a custom kernel. If you already have Linux installed on another machine (at home or work), or if you have a friend who can build a new kernel for you, that can help with some of the more exotic hardware configurations that you might encounter.
Once the drive controller is recognized then you should be able to select that drive through your distribution's partitioning interface (step 3 above). If you don't see any option to do this, you can try to go to a shell prompt (try hitting [Alt]+[F2] then [Alt]+[F3] and so on until you see a screen with a # (hash) prompt). You can try various shell commands at that prompt. You might try the 'fdisk -l' command from there. This might give a list of all recognized drives --- or it might not (some distributions don't populate enough of a /dev directory in this mini-root RAM disk to allow the fdisk command to find your hard drives --- they "work magic" to get their fdisk to see the necessary drives).
I realize this is confusing. It all depends on which distribution you're using. As I say, with most of them all you have to do is read the screens and menus carefully. If it prompts you for fdisk parameters try /dev/hdb (the typical name for a secondary IDE disk drive), then /dev/hdc (primary drive on your secondary controller; sometimes a third drive or sometimes a second drive).
I should mention the normal Linux device naming conventions:
		Primary IDE Controller:
			(Master) Drive:		/dev/hda
			(Slave) Drive:		/dev/hdb
		Secondary IDE Controller:
			(Master) Drive:		/dev/hdc
			(Slave) Drive:		/dev/hdd
		Tertiary IDE Controller:
			(Master) Drive:		/dev/hde
			(Slave) Drive:		/dev/hdf
... NOTE: Any of these: hdb, hdc, hcd, etc might be CD ROM drives, or LS-120 or other IDE block media. Any letters may refer to empty "slots" (cable connectors).
		First IDE Tape Drive:		/dev/ht0

		SCSI Host Adapters:

			First  Hard Drive:	/dev/sda
			Second Hard Drive:	/dev/sdb
			Third  Hard Drive:	/dev/sdc

			First  CD Drive:	/dev/scd0
			Second CD Drive:	/dev/scd1

			First  Tape Drive:	/dev/st0
			Second Tape Drive:	/dev/st1

			First  "Generic Device":	/dev/sg0
			Second "Generic Device":	/dev/sg1
... etc
... NOTE: These are from the first detected SCSI adapter through the last. "Generic Devices" include the CDR recorder mechanisms (though the use of these as CD-ROM readers still goes through the scdX name/driver). (CDR drives are associated with scdX and different sgX names (device nodes)).
... Note the differences here. IDE drives are assigned names based on the controller/channel and the device. IDE CD-ROM drive names are indistinguishable from HD drives. For SCSI the drives are detected (enumerated) on each chain (host adapter) in order from lowest SCSI ID to highest. SCSI CD-ROM drives are give distinct names from the hard drives and other SCSI devices.
As you can see, the answer to your question also depends quite a bit on your hardware. If you have a typical IDE based PC with a hard drive on /dev/hda and a CD-ROM on /dev/hdc then your second hard drive migh be /dev/hdb or /dev/hdd. You might have reconfigured your CD-ROM drive (making it /dev/hdd or even /dev/hdb) leaving your new hard drive on /dev/hdc).
If this message (and the docs and help screens for your distribution) don't clarify the issue enough for you, then send another message with the following details:
Distribution and version Primary HD and OS Second HD (controller type, and "position" or ID) Output of fdisk -l (if possible)
Remember to look through the comp.linux.* newsgroups and copy/post further queries to ONE of them (read first, then choose carefully). There are lots of answer guys on those newsgroups.
Once you get some Linux partitions on your drive, then your distribution's installation should be able to make filesystems on them and install your software without too much trouble.
Finally, when it comes time to make your new OS bootable (step 7 from my list above) you have to consider some extra issues. Most PCs can only boot from the first and second drives on the primary controller. Thus you usually can't boot from /dev/hdc or /dev/hdd (they are on a secondary controller/channel) and you usually can't boot from any SCSI drive in a system with an IDE drive in the /dev/hda slot.
All of this depends completely on your BIOS. The BIOS must be able to find your device, partitions, boot loader/code and kernel in order for LILO (the most widely use Linux boot loader) to work. I've described LILO in many previous issues; and I've described a couple of alternatives to it on a number of occasions.
You can use LOADLIN.EXE (if you have DOS or Win '9x partition). You might have to boot into "safe mode" in order for LOADLIN.EXE to work. You can create a boot floppy (with just a kernel or with a boot loader and a kernel on it). If you use a boot floppy, use SYSLINUX (a floppy boot loader that works on MS-DOS formatted floppies but boots Linux kernels).
There are many ways to boot Linux. Fundamentally a Linux kernel doesn't "care" how it got loaded. Once you get the kernel into memory and jump into its entry code then the kernel can find any filesystem on any partition on any device that's linked into it. The kernel will have a default location to search for a root filesystem (and any Linux boot loader, like LILO, LOADLIN.EXE, or SYSLINUX will let you pass kernel parameters to over-ride that default and name the root fs directly.
Once a root fs is mounted, then the Linux kernel will search for a /dev/console device and a /sbin/init program, opening the one and executing the other. From there everything else will follow (read your /etc/inittab and each script that to which it refers for the gory details).
There are some other tricky bits about "initial RAM disks" (initrd) and "linuxrc" programs/scripts that might get involved in some installations. Most modern distributions will handle those details for you if they need them. I won't cover them here. However, I will leave you with a last summary of how a PC boots Linux:
... That's basically it. This last step continues until a shutdown command sends init a command to shut down and either reboot or halt. Obviously a hardware failure, reset switch or power outage can interrupt the process at any time.
I'm not sure of the exact order for some these steps. I'm still a bit unclear on exactly where the initrd is loaded (I've read that it's done by the boot loader, but I've seen boot parameter options that suggest that it might sometimes be done by the kernel).
The reason I give this list is to help people do their boot time (and installation) troubleshooting. When you understand the general sequence listed here, and you read the /etc/inittab and the various rc* files (and any man pages for the daemons and configuration utilities that these invoke) then you should be able to troubleshoot almost any boot time problem.

(?) Sendmail Takes a Long Startup Time

From Rich Hayden on Sun, 05 Dec 1999


I was wondering why the "sendmail" app takes so long to configure itself during startup. I am using Ret Hat 6.1 (Cartman).

Any info you have would be greatly appreciated..

Thanks, Richard C Hayden Natex Communcations

(!) The delay is usually caused by loading sendmail while you're not connected to the net. It's trying to perform a reverse name lookup and you have no nameserver handy.
There are various ways around this. One is to remove the sendmail script's symlink from /etc/rc3.d and configure your /etc/ppp/ip-up and /etc/ip-down scripts to start and stop your sendmail daemon as your PPP link comes up and goes down. Another trick that helps is to put an IP address with your hostname into your /etc/hosts file.
If you have one or more ethernet addresses in addition to some intermittent connection to the Internet (and its nameservers) you can add /etc/hosts entries for each of them.
You may need to modify your /etc/nsswitch.conf (or /etc/hosts.conf for older libc5 based distributions/ installations). Be sure to lists "files" before "dns" on the hosts line, and you probably want to remove all references to nis and nisplus in the nsswitch.conf files or rearrange the service/module names on each line so that nis and nisplus come last and are preceded by "[notfound=return]" entries.
(You probaby aren't using NIS or NIS+ for name services or account management; you'd almost certainly know if you were). Red Hat's /etc/nsswitch.conf is configured all wrong for 90% of the users out there; though the errors just slows things down rather than actually causing failures.
Yet another thing you could do is run a nameserver on your system. There are some experimental nameserver daemons that are designed for use on systems with intermittent connections.
Unfortunately Linux (and UNIX in general) is still not well configured for intermittent connectivity. It can be done, but the defaults in all major distributions aren't suited to it. I used to use UUCP before I had a full-time DSL connection. This was a good way to queue up mail for scheduled/deferred delivery. However, finding UUCP neighbors has become difficult, and setting it up was never easy.
I don't have an example of it, but the preferred configuration of sendmail/named for intermittently connected hosts would be to have split DNS (your system's /etc/resolv.conf points at your own nameserver, which claims to be authoritative to the work but acts as a "slave" to outside domains), and has sendmail configured to "Hold Expensive" and then has an ip-up script that does queue runs to actually deliver the queued up mail.
Linux also supports dummy networks and reject routes which allow you to quickly "deny" traffic when the connection is down (your scripts lose these while the link is up).
As I say, I don't have some working configuration samples handy. Perhaps another reader will come through with a whole mini-HOWTO or a URL.

(?) Incoming Telnet for and Mandrake Users

From R. Smith on Sun, 05 Dec 1999


I've seen a spurt of letters in "The Answer Guy" and elsewhere about telnet not working with recent versions of RedHat and Mandrake. I would like to point out that the rpm packages have been split into two, one for the telnet client and one for the server. When I installed Mandrake 6.1 the client package was installed but the server package wasn't. I guess this was done to improve security. When someone has problems with telneting into a 6.x RH/Mandrake linux box, they should make sure the server package is installed! I also would like to point out that you cannot telnet into a stock RedHat/Mandrake box as root.

(!) Good point. The telnetd (daemon/server) package is rightly separated from the telnet client. This is also true of Debian.
Actually I still have to suggest that people consider telnetd to be a deprecated service. Use ssh, STEL, ssltelnet, SRP or any service with strongly encrypted, authentication in lieu of it (or use FreeS/WAN IPSec underneath it).

(?) Linux only see 16 of 64 Mb of RAM

From Eric Yihching Tao on Sun, 05 Dec 1999

Windows 2000 sees all 64M and runs fine, but linux only sees 16M and runs horrorably slow, please help!


(!) What version of the kernel are you running?
What if you try adding the mem=64M to your kernel command line? (type that manually at the LILO prompt). If that works, then add a directive like:
... to the appropriate "stanzas" of your /etc/lilo.conf (using a text editor, read the lilo.conf man page for details). You can put this line right after each of your "image=" directives).
This does sound very suspicious since Linux has always been pretty reliable at auto-detecting RAM upto about 64M. Newer (2.2 kernels and later) are pretty reliable at detecting memory above 64M. So I would expect that their is something else weird here. However, you don't say anything about what version of Linux you're running, or how you are see what memory is in use. What does the exact output of your 'free' command look like?

(?) Only see 16M of 64M in Compaq Prosignia 300

From Eric Yihching Tao on Mon, 6 Dec 1999

Thanks. You solved the problem for me, it works!
I inserted the line like you said and run
lilo -C /etc/lilo.conf
and reboot the system. It works great!

(?) No Dialup to Internet from NT 4.0(sp5) through 6.0

From JCCSystems on Sun, 05 Dec 1999

Hi, Odd problem here:

NT 4.0 workstation + SP5 will logon to a new Linux RedHat 6.0 ISP server via modem dialup.

(!) I assume you're saying that you can establish a PPP connection to your RH6 remote access server from your NT client/workstation.

(?) You can ping the server, but the Linux server will not register the NT 4.0 client on the internet.

(!) I don't know what this means. Register with what service? Are you saying that you can't route packets through the RH/Linux system to it?

(?) The server is also hosting a domain for the client.

(!) I presume you mean either that it is acting as a nameserver, a web server or both. That is to say, the Linux system is hosting some services for a domain.

(?) The Linux server will work well with a NT Workstation with SP3 installed. The account itself is fine with Win9x. dialup.

The NT 4.0 box is fine with any web server tried, EXCEPT the Linux RedHat 6.0 with the hosted domain.

TCP/ip is reinstalled dialup checked etc in the NT 4.0 client Service Pak 5 issue in NT 4.0? We are reluctant to reload NT 4.0 as the client has a large and complex batch of financial software.

Any ideas would be a help. This makes no sense to us other than it seems to be a TCP/IP issue.

Cordially, WDavis

(!) Your question makes no sense. Let me try to get the gist of it:
You have a Linux system with some sort of access to the Internet and a modem that's configured to allow dial-in.
What software is providing your dial-in on the Linux box? (Usually that would be a package called mgetty). How is that configured? (mgetty.config, /etc/login.config, or /etc/mgetty+sendfax/login.config or something like that).
(Don't scramble to debug your mgetty configuration. That sounds like it's working O.K. as is).
(Information about mgetty can be found at: http://alpha.greenie.net/mgetty)
How are your authenticating? Are you using AutoPPP (trying to use the Win '9x default ISP/RAS connection features)?
This is a fairly complex question. The traditional way for a client to log in to any dial-up server was through a simple text "chat script", which is the way that most Linux systems still act at PPP clients. PPP also allows PAP and CHAP authentication techniques. It's actually possible to use all three authentication methods for every single PPP connection (the user has to supply a username, a password, and their PPP daemon as to supply PAP and CHAP credentials). That would be silly, but it's possible. All of that is used for normal Linux/UNIX PPP connections and with any other OS.
To use these protocols and connection automation methods with Win '9x and NT you have to have one of the utilities from their "Plus Pack" (or some clone thereof). Otherwise you'd have to use an interactive terminal window.
To avoid the interactive terminal window (and automate the connection process) you can use "AutoPPP" which is a feature of mgetty that implements the same protocol that Microsoft uses for their MSN dialup (maybe they also use it for their normal RAS --- remote access server --- mechanism).
If your Win '9x and NT4.x(sp3) systems are already working with your Linux system (as you seem to say above) then you probably have mgetty with AutoPPP already working correctly.
So, now the question becomes, what isn't working. You say that the affected system can connect to the Linux system, and ping it. This suggests that the modems, PPP, IP addressing and routing are all working. You have transport.
However, you don't say what you mean by "register." Presumably some or of your applications layer protocols aren't working.
Can you telnet to the Linux box? Can you see web pages on the Linux box? (Is it running an httpd)? Can you ping something that's "behind/beyond" the Linux system (from the NT box)?
If you can't ping anything beyond the Linux box it might be that you aren't allowing IP_Forwarding. This is easy to overlook. You can fix that by adding the "ktune" directive to your /etc/ppp/options file on the Linux box, or by adding a command like:
echo 1 > /proc/sys/net/ipv4/ip_forward
... to one of your start up scripts. (There is an entry in one of the /etc/sysconfig/ files that Red Hat uses that does this for you. That's one of those things that every Linux distribution does slightly differently, which is one reason why Paul added the ktune directive to recent copies of pppd).
However, I'm not sure this is your problem. You seem to say that your Win'95 and NT4(sp3) (service pack 3) systems work fine. If that really is the case then the problem isn't on the Linux box at all. It would have to be something that Microsoft changed, or something that differs between your NT(sp3) and NT(sp4) systems. For that you should contact your NT support reps. Don't let them tell you that "connections to Linux systems are unsupported" or anything like that --- if you have one of them working and another failing, they should be able to help you isolate the problem. (Of course, these days you're probably paying for all of your NT support, so don't let them push you around about this).
Although I haven't read all of it, and it doesn't seem to be on the LDP mirrors, I did find the following link that might be helpful.
Modified Linux PPP/NT HOWTO
I'm copying Siegfried Schoen, and Diederick van Dijk, (original author and current maintainer of this document respectively) to encourage them to submit their HOWTO to the LDP and to offer them a chance to correct me or expand on what I'm saying.
I'm also copying my co-worker at Linuxcare, Paul Mackerras (author and current maintainer of the Linux PPP daemon), and Gert Doering (author of mgetty) so they can also comment if they choose. (This is not to suggest that technical support questions should have gone to them, but rather to give them a chance to correct me so that they don't get questions from people who read this in the Linux Gazette).
I've recently started writing a completely new version of the PPP HOWTO. The one by Robert Hart hasn't been updated recently --- and I've gotten enough questions about it over the years that I've decided to start "tabula rasa" and see if a free approach will help.
If the suggestions here haven't helped, please be sure to let me know specifically which services aren't working and tell me more (much more) about your configuration.

(?) Can't See Ethernet Card

From Chuck Whinney on Sun, 05 Dec 1999

I cant seem to get my Linksys Ether16 LAN card to work under linux. I turned off the PnP liek teh linksys website said, and I turned the motherboard setting from PnP on that IRW to the ISA setting. Linux still never recognizes it.

Any ideas? Thanks! Chuck

(!) What error to you get? If it looks something like:
 SIOCSIFADDR: No such device
 eth0: unknown interface: No such device
... then you're asking the right question. Some possible causes:
Some possible answers:
Neither of these lists is comprehensive. Their just some ideas. The idea of buying or even borrowing a different cheap ethernet card is useful, since getting any card working will give you a baseline to work towards.
On using the ether= parameter on our kernel command line (or on the insmod command line for your ether drivers) read your bootparam man page and/or the Linux BootPrompt-HOWTO (http://www.linuxdoc.org/HOWTO/BootPrompt-HOWTO.html)
There's a chance that the last of these tricks will hang your system, or that conflicts among the different ethernet drivers could cause problems. That's pretty rare, but it can happen. Try loading them by hand one at a time, until you've eliminated most of them.

(?) Disk Druid UI Failure? USE fdisk!

From Loki Cane on Sun, 05 Dec 1999

I need some help. When I get into Disk Druid, it shows me two partitions. They look like this:

> <not set> hda1 1220M 1220M WIN 95 FAT 32
> <not set> hdb1 407M            Dos 16-bit>=32

> hda [621/64/63] 1222M 2M 1220M 99%
> hdb [899/15/62] 408M  1M  407M  99%

I've tried deleting one and both partitions to create the Linux, but when I do, I can not click on the next button. If you can take me through it, I would appreciate it, because the book didn't help any to figure this out.

(!) So, use fdisk instead of Disk Druid.
Personally I don't like Disk Druid. The thing has little bugs or quirks in it, and seems to cause more trouble then it solves most of the time.
So, go into fdisk. It looks like you have a 1.2 Gb drive and a 400Mb drive. That means you'll have to go into fdisk twice (once for /dev/hda and again for /dev/hdb).
There are several different partitioning packages for Linux. In addition to Disk Druid and the plain "shell" fdisk there's cfdisk (curses interface, no color), and sfdisk (scriptable version with advanced features). Mandrake uses an improved version of Disk Druid that they call DiskDrake *(http://www.linux-mandrake.com/diskdrake). There's another called gparted (GNU partition editor).
You can read more about partitioning in the Linux Partition (mini) HOWTO by Kristan Koehntopp (http://metalab.unc.edu/mdw/HOWTO/mini/Partition.html) (Although it would be nice to be add a section about partitioning tools; to that HOWTO).
You could do a Freshmeat search for more of them.

(?) Savage 4 Pro

From pot on Sun, 05 Dec 1999

Please, tell me how to instal a Savage 4 pro with linux (Red Hat 6, and S.u.S.E. 6.2) Is there a mesa driver for my savage If it is possible i want the repons at my e-mail adress pot@magicnet.ro

(!) I always send my "repons" (sic) via e-mail.
I presume that a "Savage 4 Pro" is a video card and that by asking how to "install" it you're actually asking how to get X Windows (presumably XFree86, the free Linux X Windows server package) configured to use it.
I also presume that you're referring to the Mesa 3D (a free implementation of some graphics APIs that are similar to those provided by SGI's OpenGL).
Of course I don't know any of this. There are too many video cards and they designs and chipsets on those cards change too fast (often out of sync with the model names and numbers). I've never used Mesa or OpenGL.
A quick search on the terms "Linux XFree Savage Mesa" returns links to about 100 mirrors of Linux Gazette issue 34 where someone else asked basically the same question (with no answer; that one wasn't sent to me).
So I go to the best place for info on XFree (http://www.xfree86.org) and search their FAQ at: http://www.xfree86.org/FAQ/#SectionF
Where I find:
  Q.F18- Is a server for the S3 Trio3D, Trio3D/2X or the S3 Savage3D
  or the Savage4 available?

   XFree86-3.3.5 supports all these chipsets as part of the SVGA server.
   Please note that S3 Savage3D support was not tested and Savage4
   support is currently restricted to Linux and the Intel Platform.
So I supposed you should just try the SVGA server and run one of the setup front ends like: XConfigurator, XF86Setup or the S.u.S.E. XSax. Any of those should configure basic X support for this card.
(You might have to upgrade your XFree*.rpm packages to get version 3.3.5, which is pretty new. This might entail upgrading some of your other libraries and packages, so you might end up wanting to upgrade the whole distribution).
Next we go on to Mesa. A Google! search on the phrase "Mesa GL" shows us that it has its own web site at: http://www.mesa3d.org where we look for a "search" feature or an FAQ. There I learn that referring to this as MesaGL is a "no-no" (trademark concerns) and that the package is to be known as Mesa 3D. The second link on their index page lists "supported platforms and systems" and describes the ongoing efforts to provide broader support.
This suggests that Mesa doesn't work on your chipset. If Mesa support is important to your applications, you should either buy a supported card, or look for OpenGL support (if that will suit your needs). (Contributing to the XFree86 and Mesa3D projects would also help).
I really wish the XFree86 user base would cough up their own answer guy. I realize that most new Linux users can't tell where Linux ends and X begins and that X is a vitally important part of the average home, and desktop workstation user's experience --- but I'm not much of a resource on these topics.
This is one of those many cases where I'm just acting as a semi-intelligent interface to Google! (http://www.google.com), Yahoo! (http://www.yahoo.com), Alta Vista (http://www.alta-vista.com), DejaNews (http://www.deja.com), the LDP (http://www.linuxdoc.org), and the man pages, /usr/doc/* tree, etc.

(?) Root Password Recovery on non-Linux UNIX Systems

From Jeff McGuff on Sun, 05 Dec 1999

I saw your answer on how to recover password on a Linux box, but what about a Sun Sparcstation. My freind got one in a yard sale, and we would like to log in to it to make changes!

Thanks, Jeff

(!) First, read the SunOS/Solaris FAQs (http://www.faqs.org/faqs/comp-sys-sun-faq)
You can find FAQs on MANY subjects at the "Internet FAQ Consortium" (http://www.faqs.org)
In this case we search on "password" and find (after three jumps through "next") that it's answered in question 99:
99) I do not know the root password, What do I do?
First thing to try: (SunOS 4.x.x)
Get to the boot monitor prompt by holding down the stop and A. Type sync to help ensure that you have no filesystem corruption on booting. You will need to hit STOP-A again to interrupt the boot process.
Now at the '>' prompt type
b -s
Or at the 'ok' prompt type
boot -s
This should give you a root prompt as long as the console entry in /etc/ttytab is marked secure. If you get the '#' you should be able to edit the the /etc/passwd file and remove the encrypted string for root's passwd or set it to what you want using the passwd command.
Once you are done type reboot to bring the machine back up.
Second thing to try: (SunOS 4.1.x and Solaris2.x)
Boot off the network or CD-ROM and mount the root device and edit the passwd file.
Note: both of these assume no eeprom password.
Last Updated: January 17, 1995.
This last method is referred to as "booting into the mini-root shell."
Of course the issue get a bit more complex when you think about them. Did this system come with any software pre-installed? Did you get the media, documentation and licensing information for that software? What are the licensing terms regarding transferral of usage? (Just because you bought a system with a bunch of software installed on it doesn't mean you have any right to use that software).
Then there are practical issues. Whose data is laying around on that system? Can you trust the installed software?
In other words you should probably wipe whatever is on that system and start with a fresh installation of your own OS. That could be Linux/SPARC (or even Linux/68K if this is an old enough Sun), or you might be able to use the SunOS or Solaris that probably came with the system (ask Sun about that).

(?) Needs Samba Configuration Advice

I am new to Linux and I am attempting to setup the following system.

From Foster Ken on Sun, 05 Dec 1999

I have Redhat 6.0 Linux and Win95 setup on a dual boot with the Linux as the default. I want to setup this system as a server and load some windows software on it to be used on a closed network through a unmanaged hub. I am trying to access the Linux as a server with Win95 software residing on the Win95 partition so that other Win95 workstations can log into the Linux box and get the 95 applications from the server. My limited new exposure to Linux may not allow me to correctly format the questions in the right order. I have TCPIP setup and addresses assigned and can ping from either machine to the other and can even telnet to the Linux box. I have finally settled on SAMBA and am trying to configure it. I am willing to even do a fresh install of the OS'es if need be.

Ken Foster

(!) O.K. You have IP addressing and routing working. (You can ping your servers from your clients).
Now you want to configure file and printer sharing using Samba. Probably you want to start by fetching the latest version of Samba for your Linux distribution.
Red Hat Linux uses the RPM system for managing packages. The Samba team pre-packages Samba in RPM format for a large number of different Linux distributions. (Most Linux distributions use RPM, but several have different sets of package names and dependency identifiers, so it's often necessary to have different .rpm files for Red Hat, S.u.S.E., TurboLinux, etc).
In this case you can find a copy of Samba 2.0.6 at:
You can fetch that and install it with a command like:
rpm -Uvh samba-2.0.6-19991110.i386.rpm
Then you can read the the SMB HOWTO at:
... and peruse the web pages at:
... for lots more information about Samba and how to configure and use it.
You probably want to install and use the SWAT (Samba Web-based Administration Tool) for your initial configuration. Although I've never used it, Tridge (the principle author of Samba) tells me that its definitely the way for newbies to go.
You probably want to start your perusing with "Samba: An Introduction"

(?) Lost CMOS Password

From Jim Nui on Sun, 05 Dec 1999



486DX2-66 MHz 540 MB HARD DRIVE] 4 MB




(!) Jim, I hope that password also unlocks your CAPS mode.
In general you can reset the password on any PC motherboard using one of four methods.
First, some of them have an external battery holder which usually holds some double or triple A batteries. There's a thin lead to some pins on the motherboard. Just remove the lead, wait thirty seconds and put it back. This is typically on old 286 and 386 motherboards, but you might find it on some older 486s as well. In some cases there is a small flat watch battery that's held unto the motherboard with a spring clip. Simply take that out wait thirty seconds and replace it.
In other cases (excuse the pun) you may find that there is a set of pins on the motherboard which can be used to reset the system to the factory defaults. Typically you'd turn off the system, open up the case (you'd have taken these two steps in the previous example, too --- I'll belatedly note), place a jumper (conductor) across the pins, power up the system (resetting the CMOS registers) and then power down, remove the jumper, close the case and be happy. The trick is to find the right jumpers (if they exist).
In other cases you might find a rechargeable battery soldered unto the motherboard. In that case take a paper clip or other wire (preferably a 10 to 50 Ohm resister, actually) and short across the ends of this little "barrel." Hold that pose for about 30 seconds to one minute.
In yet other cases you might find a socketed CMOS/clock chip (looks like a small ROM or RAM DIP --- a little rectangular bug with two rows "legs" (pins) --- DIP stands for "dual in-line packaging"). If it's socketed instead of soldered into the motherboard, then you can pull the chip, wait ... (you guessed it!) ... thirty seconds, and then re-insert it (in the same orientation as you found it!).
If you can't find out which components are which, find a friendly neighborhood geek, bribe him or her with pizza, chocolate, a good microbrew, or a date and let him or her point it all out to you (in glowing and unending detail).
[Hey! I resemble that remark!]
By the way: The magic "30 seconds" to which I so often referred in these instructions is roughly the time it can take for a CMOS chip to dissipate its settings after power is removed from it.
You can also find a list of common "backdoor" passwords (burned into the ROM/BIOS' of some computers by their manufactures, to allow their technical support to help with this situation). Naturally this puts the "value" of the passwords at just about useless but manufacturers care far more about technical support costs than most people do about "real" security.
For an easily accessible discussion of this topic let's go over to the "Internet FAQ Consortium" and look at:
alt.2600 FAQ Revision .014 (1/4)
(search on the term CMOS).

(?) More Problems with LILO

From Leif Steinhour on Sun, 05 Dec 1999


I'm trying to install Red Hat 5.0/Win 95 on my new hard drive (3.2

GB, UDMA, 6256 cylinders, 16 heads) and having major difficulties. The file system seems to go on fine, but LILO just won't load, and I can't figure out how to edit lilo.conf without it resetting itself. I've tried changing the BIOS settings (in an attempt to exhaustively try all the options), but nothing really seems to help with this problem. According to the lilo documentation, this could be the result of a geometry mismatch, but I've specified the software CHS settings to lilo to be the same as those I used on fdisk and also tried turning on LBA/linear addressing to no avail. All my partitions are below 1023 cylinders, and I can't even get it to work with 2 100MB partitions! I really want to have a dual boot setup: any ideas?

(!) Search my back issues for the term LOADLIN.EXE. Use an MS-DOS partition to store copies of your kernel and some LINUX.BAT files. Forget about LILO.
(BTW: I realize that you probably long since have solved this problem. I just found it languishing in a dusty corner of my mail spool).

(?) xftp: (Proxy or "Third Party" FTP Requests

From moi on Sun, 05 Dec 1999


Sorry to bother you, but I can find no information on whether wu-ftp can do xftp (third party remote file transfers).

If it is capable of this, please help me know how to set it up and/or turn on this feature.

Thanks Bob Weaver

(!) I'm not sure but this sounds like you're asking if WU-ftpd can be used to transfer a file from one server to a third party. Obviously most FTP traffic is solely between the client and the server.
Unfortunately this rather obscure feature in the FTP protocol is a BAD idea. The idea has been subverted by crackers for performing "FTP bounce" attacks. This is a technique where an attacker tricks an FTP server which supports this feature into directing arbitrary traffic to our victim.
I don't know the full details of the vulnerabilities and I've never used the feature legitimately. So I can't say much about it (without spending a few hours in research and testing to figure it out).
This is one of those cases where I'll have to say:
Even if you can get WU-ftpd to do that you probably don't want to. Look for a different way.

(?) Which RPM Provides A Given Set of Files?

From Larry Sabine on Sun, 05 Dec 1999

I did an almost complete install of RedHat 5.2, but I seem to have passed over the gcc package -- so I got that, installed it, but all them include files like stdio.h and so on aren't there (there being /usr/include or even /include). I can't figure out what RPM installs those. Do you know? Larry Certified Seat Filler

(!) I don't know off hand. However here's a way to find out which RPMs contain files matching any regex (pattern):
		mount /mnt/cdrom
		cd /mnt/cdrom/RedHat/RPMS

		for i in *.rpm; do
			rpm -qpl $i | prep -q 'stdio\.h' && echo $i
... that example will find all RPMs on your distribution CD-ROM that contain a file named "stdio.h"
On some distributions you might have to use a command more like:
		find /cdrom -type f -name "*.rpm" | while read i ; do
			rpm -qpl $i | prep -q 'stdio\.h' && echo $i
... this does basically the same thing but it traverses directories to look for .rpm files.

(?) Advanced Routing in the Linux Kernel

From Mark Lamb on Sun, 05 Dec 1999

For what it's worth I've got a site (http://snafu.freedom.org/linux2.2) with copies of or links to all of the docs I've found on the advanced networking stuff. Might be helpful to ya.

-- Mark Lamb
I'm a hacker -- I don't know the meaning of sleep

(!) It is interesting information that covers the use of the ip command management of addresses, interfaces routes, policy rules, and tunnels.
I do find the depth of the document tree that LaTeX2HTML is generating to be a bit distracting. Also those 1cm (font size references) near the instances of "NB:" (nota bene) throughout the document are ....
Maybe a bit of hand touchup of the HTML would help. You could merge some of the shorter sections (Like all of the Abbreviations & Objectives notes) into combined pages.
Regarding the content: The main issue is that there doesn't seem to be any introduction. We'll also need to come up with some case studies (longer than the usage examples --- going into a bit of detail about the desired effects, then explaining the solution.
For example, on of the primary examples of how people will be using these advanced routing options has to do with a scenario like this:
   +------+                                          +------+
   | ISP1 |--------+                          +------| ISP2 |
   +------+        |                          |      +------+
                                  |       |
                               +--+--+    |     +--------+
                               | WWW |    +-----| FW/GW  |------- Internal
                               +-----+          +--------+          LAN

Here we have two ISPs, with either one router to each or one router with interfaces to each (or possibly redundant routers which each have interfaces to each ISP).
The key point is that these ISPs are not peering with us. They don't know that we are "multi-homed" and don't care. So we have no AS (autonomous systems) number, and
we aren't running gated (for BGP4 or other dynamic route management).
However, we have multiple Internet links and we want to use them to as efficiently as possible.
We can balance the incoming load using round robin DNS. This is easy if we have multiple different WWW servers (some of them have addresses from ISP1 while others have them from ISP2). However, if we want one WWW server to serve both ISPs (or we want each WWW hosts to server all ISPs for fault-tolerance and failover) then we have a problem.
Under the classical IP routing methods each host will have one default route that is active at any moment. If that route goes down we can have routes with a higher metric which will then become active.
The problem is that all of the responses, to all web queries, will go out through one of the ISPs or the other. This is bad for two reasons. First we overload one of our routers. Worse we've created an asymmetric route, some packets come in one way and all packets go out another. That means that some response packets don't follow anything like the same route as those to which they are responding.
Asymmetric routing is legal, and not always bad. However, it should be avoided by design and policy wherever possible. Any routing problems that do occur are much more difficult to isolate and troubleshoot when one encounters asymmetric routes.
This is where our policy based routing comes in. We can have routing policies that match the router to the source addresses. So, if a connection comes in on eth0:1 (from ISP1) then we can ensure that the responses to that connection go through the "right" router (or the left one if you're looking at my diagram above).
Another way in which we'd like to optimize the utilization balance between these two ISPs is from the connections that our users make to the outside world. In that case we can configure our "FW/GW" node (the firewall/gateway router that leads to the internal LAN in our example) to use equal cost multipath routing for some or all of our local traffic.
I'd love to see a detailed explanation of this sort of scenario (with recommended ip rule and ip route scripts, etc) put into your documentation (complete with cheesy little diagram, of course).
One question I have: when I use "equal cost multipath" routing: will the same route be selected through a given TCP connection, or might it change for different packets during the course of that connection?

(?) Try & Buy Wrapper Technology for Commercial Linux apps

From CMerrin1 on Sun, 05 Dec 1999

Are you familiar with any off-the-shelf wrappers that would allow me to take an existing linux app, and wrap it for try &buy? I am look for a solution.

If you know of any solutions, I would love to hear about them. Thanks

Charles Merrin

(!) I presume that you want some sort of "license" manager that will automatically nag and possibly disable a commercial software package after it's been in use, unregistered for some period of time.
I know of no such package. I suspect that the "license manager daemon enforced try and buy" market will be pretty lukewarm for for Linux. Linux users get most of their software for free.
Ironically the vast majority of them have a far greater respect for the propriety of software licenses than the average user of most commercial operating systems. Like me, many of them find the idea of software piracy loathsome and would rather write our own (free) software, and spend countless hours hunting through free software archives then simply steal someone's software.
In other words, you're probably going to get a much better registration and purchase rate for reasonably priced, high quality shareware under Linux than anyone ever did for MS-DOS or MacOS shareware.
Of course the perception of "reasonably priced" and the expectation of quality are someone different in the Linux market. When we get a CD full of high quality free software for twenty bucks, and we donate a $100 a year or so to the FSF (http://www.gnu.org) (as I do) then we expect a package to be pretty good and pretty cheap before we'll shell about $30 "just for it."
I do worry a bit about Linux and GNU as a "business model." Of course I'm sitting pretty working for the premier support and services provider for the platform. So the business opportunities that we're pursuing are in good shape.
However, we have to continue to educate the corporate and consumer populace at large.
If only 10% of the estimated Linux users only contributed 10% of what I do to the FSF and other key free software interests --- we'd have no problem sustaining the business.
If only a small proportion of the corporations that rely on free software contributed about the same as I do (a few hundreds of dollars per year each) then they'd be able to get any sort of software they wanted. They could re-implement even the most byzantine APIs (Microsoft) and reverse-engineer the most convoluted file formats (more awards to Microsoft). They could eliminated viruses and most common security vulnerabilities from their networks.
Of course it's like the classic "Prisoner's Dilemma." We all win if we enough of us do our part. But, if we don't win then those who do their part lose all that they contributed.
Luckily the very foundation of free software are the programmers who give away their software. For them there is no dilemma. They wrote it to suit their own needs (as learning experience, for personal use, hobby, even as art form). For them the release of this software is actually more risk than reward (they'll get flooded with tech support and enhancement requests, etc). However, we're all very fortunate in that they all choose to take that risk and put up with those "rewards."
Anyway, good luck in your efforts. Personally I'd strongly suggest either a pure "shareware" approach or a very well marketed "money back guarantee" campaign if you really want to sell general consumer commercial Linux software. Anti-piracy, dongle, and "license manager" approaches are likely to earn nothing but derision from this market.

Copyright © 2000, James T. Dennis
Published in The Linux Gazette Issue 49 January 2000
HTML transformation by Heather Stern of Starshine Technical Services, http://www.starshine.org/

[ Table of Contents ] [ Front Page ] [ Prev ] [ Linux Gazette FAQ ] [ Next ]