The JargonFile starts:

(By analogy with biological viruses, via SF) A cracker program that searches out other programs and "infects" them by embedding a copy of itself in them, so that they become Trojan horses. When these programs are executed, the embedded virus is executed too, thus propagating the "infection". This normally happens invisibly to the user.

These days, "Virus" is an umbrella term for any kind of malware, be it an actual virus, a worm, a trojan horse, or any other malicious piece of code. The boundaries between the types are blurring, anyway.

While Linux and other Unix derivatives are by no means immune from malware, both the sloppier system design and the popularity and sloppy administration of MicrosoftWindows systems means that Linux Viruses are a negligible minority -- you can read about this in more detail. However, while Linux is resistant, it is not immune. You still need to pay attention to Security.

Of course, if you run MicrosoftWindows programs on Linux in an emulation such as Wine or VMWare, that isolated environment is still susceptible, even if the system around it goes unaffected. However, just as any normal application won't necessarily run well under emulation, so too may Viruses not be able to. Practice confirms this.

It is paradoxical only at first sight that Linux is a popular system on which to run Virus scanners such as ClamAV: there is no danger of infection from Windows viruses, so Linux is an ideal environment for sorting them out. The ContentScanner page describes how to protect your Windows clients from email viruses.

See also: