Ask Shadowman: Web Servers


September 2002

He demonstrated the Theory of Relativity using his actual relatives! He knows the GPS coordinates of his house but can't remember his own phone number. He dug Silicon Valley himself with a shovel. He's the Shadowman...

Next month, Shadowman answers your questions about using Red Hat Linux as a desktop operating system. Or any other question you can't keep to yourself.

Got a question that you'd like Shadowman to answer? Ask him.

Due to the volumes of email that Shadowman receives, he can't answer every single email, *and* keep up with his busy life as a world famous two-dimensional persona. However, Shadowman does personally read every email (yes, even the ones from the sons of deceased Nigerian officials offering millions of dollars). Oh, and read the Ask Shadowman archives -- your question may not be included because one like it was already answered in an earlier column.



Nestled in among the several hundred emails Shadowman receives every month are a handful of gems -- pithy, interesting, well-reasoned questions that are subsequently answered in Shadowman's monthly column.

However, Shadowman decided to devote part of this month's page to address another kind of email; the kind that appears again and again (and again) in Shadowman's inbox:


Don P. timidly whispered:
I'm fairly new to Linux, while I have a lot of the basics, I completely lack the skills to make my Windows applications work in Linux. I've made sure I have WINE installed but don't seem to be able to find a step by step guide on converting my programs. I would love to finish my Linux change-over, but have invested a significant amount of money in Window apps that I can't just dismiss at this point in time.

How do I get my Windows applications to run?

Shadowman says:
Shadowman is impressed -- many of the people asking this kind of question miss the crucial point that you have grasped:

Windows applications are not directly compatible with Linux
Shadowman could get into all the reasons for this, but suffice it to say that trying to directly run a Windows application under Linux is like using Swahili to order food in a Chinese restaurant in Mexico -- it's doubtful you'll get what you've asked for.

What's required is some way for Windows applications to be run in an environment that looks and acts like Windows. And when it comes to doing this in Linux, the most well-known approach is WINE. The project has an excellent website:
http://www.winehq.com/
With the proper tweaking, many people have gotten a variety of Windows applications running using WINE. That said, it's not for the faint of heart; if you're not comfortable tinkering, WINE is not for you (not just yet, anyway).

If you are not averse to a proprietary solution, Shadowman is aware of a company by the name of CodeWeavers that sells products you might find useful. Shadowman has no direct experience with this company or their products, so you'll have to do your own research -- caveat emptor!


Nuno C.shimmied over and sang:
Can I install Red Hat Linux 7.2 enigma in my company office computer and use it for comercial purposes? Is Red Hat Linux 7.2 enigma completely free for anyone?

I didn't understand the GNU/GPL licence; I think that software licences are very confusing. It is not easy to understand what they mean...

So, can I install Red Hat 7.2 enigma freely in my company office without paying anything and use it freely???

Shadowman says:
Shadowman sees from your email address that you are located in Portugal; he will not embarrass himself by attempting to speak Portuguese (English allows Shadowman to embarrass himself just fine, thank you), but he will note that the Free Software Foundation has (among many other languages) a Portuguese section of their site:

http://www.fsf.org/licenses/licenses.pt.html

This is a great place to learn more about the GPL and "software livre".

One of the things that often confuses many people is that the English phrase "free software" has two meanings:

  • Software that is available for no money (this is often referred to as "'free' as in free beer")
  • Software that is unencumbered by restrictive licenses (this is often referred to as "'free' as in free speech")
Some people are interested in one meaning more than the other, but in your case, you should be aware of both -- Red Hat Linux can be obtained at no cost, and the software can be used wherever and however you like.

To some of the more experienced Linux people out there this might seem like a question that doesn't even deserve an answer, but Shadowman thinks we should all keep in mind that more and more people are looking at Linux and other open source/free software technologies, and it's up to us to help them understand how insanely cool it is to not have to worry about restrictive licensing. So spread the word!


Henry L. trilled:
I would like to know if Red Hat plans to put out Pro/Engineer on Linux.

If so, what version would it come on? Also, would it be available in both binary and source?

Shadowman says:
Shadowman hopes Henry here won't mind if I use his email as an example, but this kind of question often crosses Shadowman's inbox. Sure, the name of the application might change (Lotus Notes seems to be particularly popular lately, along with software to access AOL), but the basic message remains the same.

In these types of emails, there is one big misconception -- the software mentioned is invariably a commercial software product of another company, and not Red Hat. Therefore, asking us our plans for any other company's application is like asking Ford what features they are planning to put in the new Chevy Blazer.

As a purveyor of operating systems, Red Hat is seldom in a position to know anything about a particular company's plans to port their application to Red Hat Linux. And in those instances where we *do* know, we've been sworn to secrecy -- cross our hearts and hope to die, pinky swear, and everything.

Besides, the only secret information Shadowman knows is Shadowman's identity: and that wouldn't be much fun to share, now would it?

That said, a bit of Google'ing showed Shadowman that the company in question seems to have used their product name and the word "Linux" together on at least one page. So Shadowman thinks the next logical step would be to ask them...


Jim J. called desparately:
I have had loads of trouble trying to get my 56K winmodem to work with RHL. I am aware that this is intentional by MS to obstruct students and prospective Linux users like me from straying from Windows...

I have a grad student friend who tells me that I just need to initialize my modem first.

Shadowman says:
Shadowman hopes Jim doesn't mind Shadowman doing a bit of trimming here; it's important to stick to the topic.

While Shadowman enjoys nothing better than hearing the latest story about how Microsoft is cloning space aliens and taking over all the convenience stores in Dubuque, in this case it's just not true (although if you live in Dubuque, you might consider the aluminum foil beanie as the latest in fall fashions this year). "Winmodems" (as you call them) are not an evil plan by Microsoft. They are just a way of making less expensive modems by doing two things:

  • Removing some of the modem's more expensive components
  • Having your computer's processor take up the slack, and doing the work of the modem's "missing" hardware.
Of course, this requires special software, and that software is primarily available for only Windows, but let's not get our causes and effects mixed up here, m'kay?

Shadowman suggests that you hie thee to http://www.linmodems.org/ and learn more about the state of the open source software currently being developed for these "not quite" modems.

Or, (if your finances and system configuration permit) pony up a little extra scratch and just buy a good ol' 100% hardware modem -- they aren't that much more expensive, and they plain work.


Madhav M.crossed the street to eagerly ask:
I am a Linux newbie (just started on Red Hat Linux 7.1 in January this year and shifting to 7.3 soon). I see so many people running around saying...I got nimda on my comp, I got iloveyou on my comp...I got eicar on my comp...and I wonder, do these viruses affect Linux? Or are they written specifically to target certain OSes? Is there any know virus which affects Linux file systems?

And hence, is there a known anti-virus package for Linux?

Shadowman says:
Shadowman must confess -- he has dust on his computer. And a gargoyle. And a fluffy little yellow cloth duckling. But no viruses.

First, a bit of background -- a virus is nothing more than a program, a chunk of code. In order for any kind of code to be able to do anything at all, it must first be executed. A virus that is never executed is not a very dangerous virus, just like a machete is not very dangerous when it is stuffed in the bottom of your closet, underneath those shoes that you never wear because they hurt your feet, but are too new to throw away...

Not that Shadowman has a machete in his closet, mind you. Just some supremely uncomfortable shoes.

Anyway, back to viruses. In addition to the need to be executed, viruses

also must have some means of replication. This is unique to all viruses; without the ability to replicate, a virus, well, just isn't a virus. Often, replication is done by having the virus attach itself to various programs on the system. You run the program, it gets the virus added to it. You run another program, *that* program gets infected too.

Finally, viruses have what is known as a "payload". This is the part of the virus that gets the most press, because it is the code that does all the nasty things to peoples' computers. Strictly speaking, a payload is not required, but think about it -- how many virus writers would carefully craft a new virus, and set it loose on an unsuspecting world only to do...nothing? Some do (strangely enough), but not many.

It's all about execution, replication, and payload.

In the Windows world, putting together the necessary code for these things is, unfortunately, relatively simple. Windows was originally built with no real concept of "user" versus "system" access. This means that anybody sitting at an early Windows system could do pretty much anything they wanted to all the system files in C:\WINDOWS. Therefore, if a Windows user happened to unknowingly execute a virus, the replication code in the virus would have no trouble insinuating itself into the system.

(In all fairness, later versions of Windows have improved somewhat in this regard, but this hasn't put virus writers -- or anti-virus companies -- out of business yet.)

Likewise, the payload had few restrictions to what it could do. Delete system files? Sure! Silently corrupt memory? No problem! Print a message espousing your political view at random intervals? Sure thing!

Under Linux, things are not as simple for the virus writer. Say, for example, that the virus code gets executed by user "fred". Fred, being a regular user, can't do very much to the system files on his Linux system. If Fred decides to get a file listing by using "/bin/ls", can the virus infect the /bin/ls file? We can simulate that pretty easily with a program called "touch" (which tries to access -- touch -- certain aspects of the file):

$ touch /bin/ls
touch: `/bin/ls': Permission denied
$


Can't do it. So replication is a problem. As it turns out, so is the payload, for much the same reason. Any damage would be limited to the files that were owned by the person running the virus -- Fred, in our example.

But there is one exception. The super-user account (known as root) has full system access. A virus that was executed by someone logged in as root would be able to replicate, and its payload would have a good chance of causing more widespread damage.

The moral to this story? Make *very* sure that the programs you run as root are legitimate.

There are a few viruses out there that target Linux systems, but they are nowhere as widely seen as viruses for Windows. This is certainly due in part to Linux's less "virus friendly" nature. Also virus writers seem to like getting the most mayhem for their effort, and with the huge numbers of Windows systems out there, the future for Windows viruses continues to look rather bright.

As far as anti-virus software for Linux, Shadowman has heard of them, but has no direct experience with them (Shadowman doesn't even personally know anyone that has ever been infected with a Linux virus). In any case, try a Google search on the terms:

"linux anti-virus software"
That should point you in the right direction if you decide to look into anti-virus software further. And remember -- execution, replication, and payload!


Chris T. slyly snickered:
I have downloaded the three iso files from your ftp site for Red Hat Linux 7.3. I have unloaded the iso file with a utility called undisker. Then I burned each iso's information onto a CD-R (three separate ones). My question to you is, why doesn't the program load from the cd that I made? I am putting Red Hat on a clean Toshiba laptop, with no operating system on it. I have loaded a boot.img disk and gotten all the way to where it asks me where are the files located--cd-rom or hard drive--and I choose CD-rom. It tells me it cannot find the files. I know I have the right files. What could be wrong?

Shadowman says:
Shadowman spoke with the Red Hat Linux installer team, and found that this is one of the most commonly reported problems they see.

It is also usually preventable.

There are several places where things might have gone wrong:

  • Unpacking the ISO images is not necessary, and could have caused your problems -- it is far better to directly burn the ISO image to your CD-R media. Which leads to the next point:
  • Incorrectly burning the CDs -- often people simply save the ISO image onto a CD-R, which isn't correct. If you open your newly-burned CD and see only the .iso file, you've made this mistake. You should see many files in the top-level directory on your CD. Shadowman notes that you didn't mention what sofware you used to burn your CDs, but just about every CD-burning software has the ability to write an ISO image to a recordable CD.
  • Various CD-burning problems -- these could be caused by improper hardware configuration, poor-quality media, sunspots, locusts, or athlete's foot. Shadowman assumes that you've sucessfully burned CDs before, but if you haven't, it would be best to make sure the usual first-time problems have been addressed before proceeding with the Red Hat Linux ISO images. Testing by copying a few files to a CD-R first is the easiest way to test.
There is one last thing you can do to ensure that your newly-burned Linux CDs are ready for prime-time. Simply start the installation process as you normally would, and enter the following at the "Boot:" prompt:
linux mediacheck
This will cause the installation program to read each CD in turn and check it against a built-in checksum. If your CDs pass the mediacheck test, you can be pretty sure you are ready to try an installation.


Ian A.politly inquired:
Could you please help me out in dual booting my PC with Red Hat Linux and Windows98SE? Currently my OS is Windows98SE and I would like to install RedHat as my other OS.

Say I already installed Red Hat on the other drive. Would it be possible to dual boot the system when I make this drive a slave? What would I do to make this possible?

Shadowman says:
Shadowman suggests you do one thing. Shadowman wants you to do some reading. In particular try this:

http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/install-guide/
And this:
http://www.redhat.com/advice/tips/
The first is the Official Red Hat Linux Installation Guide. The second is a Tips & Tricks column entitled "Dual booting Windows XP or 2000 with Linux".

The short version is that anyone considering a dual-boot environment must be prepared to handle two major issues:
  • You must either free up space to permit the creation of disk partitions for Red Hat Linux on an existing disk, or (like Ian) dedicate a second disk to your new Red Hat Linux installation.
  • You must decide how you'd like to control the selection and booting of your two operating systems. Basically, you can either have the Red Hat Linux installation program write a bootloader into the MBR (Master Boot Record), and have that bootloader control the Windows boot process, or you have the Red Hat Linux installation program write a bootloader into the first sector of the Red Hat Linux boot partition, and configure your Windows-supplied bootloader to boot Red Hat Linux.
Both of these issues are discussed in the Red Hat Installation Guide, and the bootloader issue is covered nicely in the Tips & Tricks column. Happy dual-booting!




That about covers most of the FAQs. Shadowman now returns you to your regularly-scheduled column:


Bill Y. rolled over and begged:
During my Red Hat Linux 7.2 boot up, I get the following message when starting lpd:

" local host HP8756C: IP address not available "
When I try to print a test page, I get another message:
" Get_local_host:hostname 'HP8756C.ATTBI.COM' bad. "
My HP DeskJet 820Cse printer is attached to my HP8756C computer's parallel port. My computer is connected to a Linksys router which is connected to a cable modem. The printer works under Windows Me in the same computer, but does not work under Linux. I used GNOME Printtool to configure this local printer. What causes this print problem?

Shadowman says:
Because your email didn't have quite enough information, Shadowman is now going to do his mad psychic impression, and is going to close his eyes and hold his hand to his forehead...

You most likely have a dynamic IP address from your ISP; that address is assigned to your Linksys router. That IP address likely has DNS information (like a fully-qualified domain name ending in "attbi.com") associated with it. This information was set up by your ISP -- AT&T Broadband, by the looks of the domain name you mentioned.

In order to access the Internet from your computer, you need to assign an IP address to it as well. Shadowman isn't sure, but he will hazard a guess and assume that your Linksys is probably doing this for you via DHCP -- the Dynamic Host Configuration Protocol. In addition, the Linksys is probably using something called NAT (Network Address Translation) to make all Internet access from any of the systems attached to it look like they all came directly from the Linksys.

This IP address most likely is an internal, non-routable IP address. However, no matter what the actual IP address is, what should your computer be named? Should it have a hostname in the attbi.com domain? No, because AT&T Broadband doesn't have a clue about your computer; all it knows is that there is something (your Linksys) connected to their cable modem.

So referring to your system as "hp8756c.attbi.com" is not going to get you very far -- AT&T Broadband is responsible for all the DNS information for attbi.com and, again, they don't know about this system.

That said, you can have a hostname; it just shouldn't be part of the attbi.com domain. Shadowman made up his own fake "domain" that he uses for the systems on the ShadowLAN:

homenet.shad
Note that Shadowman didn't use ".com" or anything else like that. That way there is no possibility of any of the ShadowLAN hostname "colliding" with any registered domain name (at least as long as a certain species of fish never gets net access). Shadowman's desktop system (known as raptor.homenet.shad) will never be confused with anything else out there.

You then need to associate your hostname with your system's IP address. For this, you have two choices:
  1. Put the hostname/IP address combination in /etc/hosts on all your systems
  2. Set up a DNS server for your bogus domain.
For small numbers of systems that seldom change, option 1 is the easiest. For one system, you could even just get away with using the standard loopback address (127.0.0.1) and not even setting a hostname...


Mowoski with no last name roughly roared:
I have many webcams but none seem to work. The closest I got was my Logitech QuickCam. It was sending something but still not where I want to be. I have Red Hat Linux 7.2 on a Dell 4400. I have spent some time on linux-usb.org but I still am unable to get anything to work. I want a cool webcam so that I can show my kids to their grandmother. Any ideas?

Shadowman says:
Shadowman recently decided to set up a webcam, and with a little research found that it isn't quite as simple as it first appears. However, Shadowman found that the Linux-USB device overview website is very helpful:

http://www.qbik.ch/usb/devices/ Using this, Shadowman was able to find and purchase a webcam that was recognized and supported. However, he did learn two things:
  1. Kernel versions are important -- in most cases the newer the kernel the better
  2. It's a good idea to learn as much information as possible about the driver your webcam uses, as there are often ways to tweak the driver's performance for your particular webcam
In Shadowman's case, a Red Hat Linux 7.3 system with the latest kernel update was more than sufficient to make Shadowman's webcam work like a champ.

Good luck, and make sure the kids wear red hats when they say hi to Gramma!


Rich G. giggled and gasped:
Running Red Hat Linux 7.2 - I want to get into GTK development, and went to download GTK 2.0 (as I seem to have 1.2 installed). I downloaded it, but it has a lot of dependencies, and I can't seem to find the RPMs for some of these dependencies. Even when I thought I had them all and did rpm --install *.rpm on the directory with all of them, it didn't install them! So I tried one at a time - and more dependencies were called out!!

Shadowman says:
Trying to develop for GTK's bleeding edge under an older version of Red Hat Linux is like trying to strap solid rocket boosters to the fenders of a Model T. Shadowman suggests moving to something a bit more "up to the minute". Take a look at the Red Hat FTP site:

ftp://ftp.redhat.com/pub/redhat/linux/
You would probably be most interested in the "rawhide" and/or "beta/null" directories.

After all, the software you're going to develop will live in the future; why do you want to develop it in the past?


Veikko V. shagged by and shouted:
I have just made a bootdisk, and I was wondering what kinds of files or programs are on the disk. What do they all do?

Shadowman says:
Shadowman assumes that you're talking about the boot diskette created during the Red Hat Linux installation process. This diskette can be used to boot your Red Hat Linux system. The boot diskette contains a copy of your system's kernel and initial ramdisk (which contains any kernel modules required by our system configuration). In addition are ldlinux (which is used to actually load the kernel into memory), a configuration file for ldlinux, and a message file that will be displayed when ldlinux starts running. Here's a directory listing of Shadowman's boot diskette:

# ls
total 1162
-rwxr-xr-x 1 root root 203 Aug 28 12:25 boot.msg
-rwxr-xr-x 1 root root 140977 Aug 28 12:25 initrd.img
-r-xr-xr-x 1 root root 6192 Aug 28 12:25 ldlinux.sys
-rwxr-xr-x 1 root root 122 Aug 28 12:25 syslinux.cfg
-rwxr-xr-x 1 root root 1040447 Aug 7 12:02 vmlinuz
#


That's all there is to it -- it's simple enough for even Shadowman to understand!


Jeff P.tickled Shadowman's funnybone by claiming:
A fellow root user accidentally deleted the /mnt/floppy and /mnt/cdrom entries, so now these devices are inaccessible.

What is the best way to restore these devices/directories to the /mnt location?

Shadowman says:
A "fellow root user"? Come come now -- that's a lot like your mother catching you with your hand in the cookie jar and telling her you were just getting the cookies for "a friend". It's OK; you can tell Shadowman the truth. We've all done that little "oops, I forgot I was root and in /usr/bin when I typed 'rm *'" dance.

Lucky for you -- um, your fellow root user -- these aren't devices, they're regular ol' directory files. All you need to do is to use this command to create them:

mkdir /mnt/floppy /mnt/cdrom

(Note that you must be logged in as root to do this!)

You might also want to make sure the directories have the right permissions. Mode 755 should do the trick:

chmod 755 /mnt/floppy /mnt/cdrom

After that, the next time anyone mounts a diskette or CD-ROM, they will be in business. And tell your fellow root user to watch that rm command, OK?


Igor E.was excited to finally find out:
How do you uninstall Linux? I have the formated C: drive on my PC, but it still boots up in Linux. It comes up with this:

Lilo Boot
Loading linux...........
Uncompresing linux........

Shadowman says:
Ah, Shadowman sees that you've discovered that the LILO boot manager is a rather tenacious beast when installed in your drive's Master Boot Record (or MBR). Because the MBR does not reside inside any partition, formatting your "C drive" (which in reality is just a partition on your drive) will not have any affect on LILO.

Shadowman has even received emails declaring LILO an evil virus, capable of eluding even the most sophisticated anti-virus software.

(Of course, if you've read Shadowman's response regarding viruses and Linux above, you can see that this statement just doesn't hold water -- or any other liquid, for that matter.)

No worries -- simply boot into Windows (or even DOS), and enter this command:

fdisk /mbr
This will put a more Microsoft-friendly boot record on your drive. Of course, if your C drive has been formatted, simply reinstalling the non-Linux operating system of your choice should overwrite the MBR (or at least give you the option of doing so).


Richard with no last name squealed and squeaked:
My question refers to scsi scanners under Red Hat Linux 7.3

I am trying to activate my Acer 310S scanner with no success.

The scanner (and the scsi card that came with the scanner)is not recognised at all; even if the scanner is on-line when booting the computer, the scanner is not recognised.

Shadowman says:
From what you've written Shadowman is not sure if you've already done this, but boot Red Hat Linux, and then use this command to make sure that no mention of your SCSI card appears at boot time:

dmesg | less
If you can't find a trace of your SCSI card, Shadowman suggests you contact the card's manufacturer to see if it is supported under Linux. Unfortunately, many SCSI cards shipped with scanners are very low-end units that quite often barely work under Windows, let alone Linux.

If it turns out that this is the case, Shadowman suggests you go shopping for a more capable (and Linux-friendly) SCSI card for your scanner.


Mike G. wriggled over and whined:
In your last column, Amie Y. traipsed over and asked how to reset the root password that she lost.

If resetting the root password is this easy, isn't security a little difficult? Is there a way to remove or disable this feature so that anyone who has access to your keyboard and power switch can't root your machine and ruin your day/week/month?

Shadowman says:
Even though you can't see it, Shadowman has a knowing grin on his face. You see, many years ago, a much younger Shadowman made a similar comment to a grizzled old sysadmin at a large data center. "Son," he said, chewing on an ancient toothpick, "if you don't have physical security, you don't have diddly!"

He then proceeded to explain how, if one had physical access to a computer, any number of untoward things could be done to it, from forcing a reboot and getting into single-user mode, to a denial of service via a well-placed boot to the hard drive, to even just stealing the latest backups and cracking passwords and selling off credit card numbers from the privacy of the bad guy's own home.

"After all," he continued, "do you think we spend all that money on this card key access system and security guards for fun?" So take it from the man that taught Shadowman:

If you don't have physical security, you don't have diddly!


RON B. uncontrollably screamed:
I HAVE BEEN USING LINUX REDHAT 7.2 FOR 1 YEAR NOW I FIND IT QUITE ENJOYABLE I UPGRADED TO 7.3 YESTERDAY THE ONLY THING I HAVE TOUBLE WITH IS WHEN LINUX GETS A PROBLEM I CANT SEEM TO GET LINUX RESCUE TO WORK WHAT DO YOU DO AFTER YOU GET THE SHELL PROMPT

Shadowman says:
WHAT YOU HAVE TO DO WITH RESCUE MODE DEPENDS ON WHAT THE PROBLEM WITH YOUR SYSTEM IS FOR EXAMPLE IF YOU NEED TO CHECK A FILESYSTEM THAT HAS PROBLEMS YOU WOULD RUN FSCK OR IF YOU NEED TO EDIT A CONFIGURATION FILE YOU WOULD RUN AN EDITOR AND EDIT THE CONFIGURATION FILE OH AND BY THE WAY PLEASE LOOK INTO YOUR SHIFT LOCK AND PERIOD KEYS SHADOWMAN THINKS THERE MIGHT BE A PROBLEM WITH THEM.