"Out-of-box" Linux should run on a 386SX-based PC with 8 MB of memory, but such a low-end computer is practical for text-only applications (no X-window) and will likely have trouble with installation. A 486 with 16 MB memory and 600 MB free (unpartitioned) hard drives worked fine for me under X-windows but I did not expect it to fly (I got rid of it in 2002). My 586-133 MHz with 64 MB of memory runs acceptable under Linux with X or without. My 1.33 GHZ "Athlon" (AMD processor) with 256 MB of memory is a real pleasure to run with an instantaneous response even when running many large applications concurrently. I would not buy today a computer with less than 256 MB of memory (Dec.2001).
My 486-33 MHz with 8 MB memory and 1 GB hard drive had too little memory to run adequately stand-alone under GUI, but was still useful in my home network environment running as an X-terminal (a 486-class machine also performs just adequately stand-alone if it has at least 16 MB of memory but sometimes memory for old computers is hard to obtain and high-priced). (Pls note that Mandrake requires a Pentium processor.)
If you are willing to jump a few extra hoops, you should be able to install and run Linux on as little as 4 MB of memory, but this is probably not worth the effort for the general purpose home Linux machine. I would say: get at least 32 MB of memory, and if possible 128 or 512 MB --more memory can make a difference in performance when running several large GUI applications concurrently. Memory is generally inexpensive these days (but prices can vary from month to month). Please note that many current distribution have problems running their installation programs on older computers with a small amount of memory (although once installed, Linux will typically run just fine). If you require more help on installing Linux on a low-memory computer, try:http://7thguard.net/files/DebianHOWTO.txt
Networking is where Linux really shines, so consider getting 10-base-T Ethernet cards--they are not very expensive and will be perfect to connect your two or more home computers together. Also, look around for old Ethernet cards which MS Windows deems obsolete--they can be bought for a really low price and they will work great under Linux. The 10-base-T system uses "giant phone" (RJ45)-type connectors and normal (not cross-over) "Ethernet" cables. All the computers are connected, from the socket on the Ethernet card, to a small box called the hub. The hub has an extra connection (called "uplink") which I will use if I ever have a permanent "over-Ethernet" connection to the outside world. Here is a schematics for a straight-forward home network arrangement:
Here, I show a local private network consisting of PC1, PC2 and PC3, connected through a hub. Since I do not have "External_Network_over_Ethernet" on my home hub "uplink", PC3 provides my connection to the outside world (over a modem). Therefore, PC3 is called the "gateway" for all computers on my local private network (except PC3 itself). I enable the firewall software on PC3 PPP network interface, and let PC3 know how to dial out and connect to the outside. The outside world can only see PC3. As far as they can tell, PC1 and PC2 do not exist. My local ethernet network is "trusted" because only trusted people have physical access to PC1, PC2 and PC3. ("PPP" stands for "Point-to-Point Protocol" and it is a standard for communicating over phone lines.)
You can, of course, build a more complicated network with Linux. A PC can have 2 (or more) ethernet cards. It may then work as bridge between 2 (or more) networks. The PC will act as a gataway for all traffic between between the 2 networks. The networks do not have to be known to the outside world ("local private networks") and sit behind a firewall enabled on a gateway computer. The outside world will only know about 1 computer of mine, the "gateway" to the external network. Other computers will still be able to communicate with the outside world, but all the traffic will appear outside to originate from one, very busy computer--the gateway.
To connect just two computers, a cross-over cable for direct Ethernet-card to Ethernet-card connection is sufficient ("networking for the poor") but the connection through the hub is more straight-forward. To connect more than 2 computers together, you need a hub (~US$30 to US$80) and normal (not cross-over) cables. (If you have extra Ethernet cards, you may also consider installing more than 1 Ethernet card on a computer to make it a router. Then you use direct connections to other computers using the cross-over cables, and save the expense of a hub. This adds a configuration complexity to your system, yet in some situations can be technically advantagous.)
Here is another suggestion on setting up a different kind of network, using a very much older type hardware, which uses coaxial cables (like for the cable TV). For this, no hub is necessary. Because this networking scheme is older, it can be assembled using cards and parts that are sometimes available for free:
Hi. Many older 10Mbps network cards (and some newer ones as well) have a BNC connector and you can usually pick up old co-axial cabling when companies upgrade to UTP. Add a T piece for each machine and a 50-ohm terminator at each end (about 1 pound or $1.50 each) and you have a home network that will happily support more machines than you probably have room for. And most importantly--no expensive hub (or cheap hub that can cause trouble). There are other advantages to co-ax as well, it's tougher to break and more resistant to noise from other equipment.
Disadvantages: There is a limit of 185 meters per network segment of thin co-ax, 30 machines per network, and you're stuck at 10Mbps, but I don't see any small home network needing more than that. Also if one cable goes down then the whole network stops, this shouldn't happen often unless someone unplugs a cable section. You can disconnect the T piece from a PC without harming the rest though.
Quick diagram, T for a T piece and Term for a terminator:
The various parts connect together using BNC connectors similar to a TV & video connector but with a bayonet that secures the two sockets together. For more details see the /user/doc/HOWTO/Ethernet-HOWTO
The most straight-forward and modern, however, is to get one 10-base-T ethernet card for each of your computers and a one hub to connect them all.[thanks networkdictionary]