Query: which Raspberry Pi image to choose for the Pi to run basic services like the following
a DHCP server, a DNS server, a TFTP server, a PXE server, others
Is it as simple as choosing Arch Linux because it is labelled as "lightweight"? Anyone have experience of running a Pi or two to supply basic network services such as those above and a few more?
I don't know much about Arch Linux but I believe the best supported, most frequently updated OS is Raspbian, also the preferred OS by the foundation and as far as I know the only way to get firmware updates. It's more or less the same as Debian Linux and it should run any of those servers you mention. Lightweight, well, you don't HAVE to boot to desktop and you might find services/packages to disable/uninstall.
Frankly, if "lightweight" is the only relevant thing you can come up with in a comparison of rpi OS's, you need documentation and support and Raspbian is the way to go. See also
Yes - use the isc-dhcp-server package for Raspbian
Yes - use the bind9 package for Raspbian
Yes - use the tftp-hpa package for Raspbian
Yes - use the pxe package for Raspian
Install Raspbian (download the SD card image, copy onto an SDE card, stick it in the RPi, turn it on and add the above packages.
The default Raspbian can be run headless over a wired Ethernet connection (the minimal install assuming you have a PC running Linux or Windows
+PuTTY or one of the Windows X-term packages. Or you can add an HDMI screen ans USK mouse+keyboard - your choice.
No, not directly. I use a Fedora Linux system as my house network server. The server runs bind. A Fedora laptop and Raspbian RPi are attached to the house LAN. My router runs DHCP for the RPi's benefit. I don't use TFTP or PXE. However all the packages you asked about are available for Raspbian.
--
martin@ | Martin Gregorie
gregorie. | Essex, UK
Raspbian is very close to standard debian Linux, as we have known for a decade or more. I use them as servers and don't think of it as anything special, except for the small footprint.
I even run asterisk on them as phone switches. Works like a charm, even with some transcoding work.
Don't think "raspberry". Think "debian" instead, with the pi as a lightweight implementation.
Or you can use dnsmasq for both of these functions, it is very lightweight and easy to configure. It doesn't have all of the facilities of bind9, but is perfect for small to medium local network usage.
For a long time my main house server was an 866 KHz P4 box with 256MB, then 512MB and running PostFix, PostgreSQL, DNS, Apache and SqueezeboxServer with little visible strain. It only got handed on about
3/4 years ago when the Fedora installer suddenly decided it wouldn't run in less than 1GB RAM, and that box was already on its limit with 512MB. I've always felt, but haven't tried it, that a 512MB RPi model B with either a USB disk or a NAS box for storage should fairly easily do the same.
--
martin@ | Martin Gregorie
gregorie. | Essex, UK
But, I haven't seen anything running useful numbers of independent (interactive and batch) jobs in that little memory since the mid '70s.
Those boxes all had ICL 1904S or 1904T written on them and ran the George
3 OS. One I was sysadmin for were:
- a 1903S with 32kWords/96Kb/128Kch memory, 2 x 60Mb disks and 6 x MT running at a 300KHz clock speed, which ran 4 interactive and 1 or 2 batch jobs
- a 1905T with 256K/words/756KB/1026kCh memory, 4 x 200MB disks and 6 x MT running at maybe 900 KHz clock speed. This box ran the British Steel Battersea research lab, which did active development in PLAN assembler, Algol 60, Algol 68R and Fortran with significant engineering modelling runs.
OK, these were gym-sized installations, but this was the first generation to use IC circuits (look up 74xx TTL chips to see just what each chip could do) and think just how you'd support that workload with that hardware (a 2MHz 6809 was faster) and consider it did automatic disk backup to tape, optimised file storage between online disks and offline tapes and (this was 1977) had almost as good a scripting language as Linux.
--
martin@ | Martin Gregorie
gregorie. | Essex, UK
[ ... ] For me it was a GE-415 of almost exactly the same size. Only one concurrent program, but it ran teller terminal operations for an entire bank, in 1971.
Modern computing started with the adoption of semiconductor memory in the early '80s. Ferrite core memory was too expensive for many outfits to have much of it. It was rare to see commercial sites with more than a megabyte. Huge, affordable, semiconductor memories made it possible to have huge, fast, databases, and that made it feasible to move away from batch processing and concentrate on interactive on-demand processing. Our banking system handled just a few kinds of heavily optimized transactions. With lots of fast memory, just about anything could be a transaction. The other thing that happened was graphical user interfaces. With GUIs you use large amounts of memory and processor power just to form the characters you use to display your output. So with graphics using up the memory meant for niftier applications, people have to buy even larger memories to run their programs again. And it's all cheap enough that we can.
Quite: by the late 70s/early 80s the BBC was dual running 2966 systems: one for live operation and the other for development/failover. It was effectively a single large roomfull of kit, all connected to something that looked like a major railway yard's control board and that defined exactly what made up the Prod and Dev machines at any point in time. But I digress: the point is that these boxes supported around 300-400 green- screen 80x25 displays but only needed 8MB of RAM to run the 8 - 10 large online systems needed to support the Beeb's operations on Prod and all the development teams on Dev.
BTW, these systems were all written in COBOL and used the IDMSX network database, which used physical pointers to represent relationships between entities. The compilers were good, averaging three, very complex, instructions per COBOL sentence. This was possible because sentences like "MOVE ALL SPACE TO TABLE-A" compiled down to a single instruction.
--
martin@ | Martin Gregorie
gregorie. | Essex, UK
On Sat, 19 Apr 2014 00:22:38 -0400, Mel Wilson declaimed the following:
Was fun looking into my campus computer... 1 MB of 4-bank/4-port interleaved memory (256MB per "refrigerator"). Used to be magnetic core, but had been replaced by static RAM... Open the cabinet to see one ~18x18 inch circuit board.
Xerox Sigma 6 (horrors: DTL mainframe)... As I recall, it was a big event when a pair of 300MB disk packs were added to the 6 100MB packs (and I'm talking the 11 platter packs -- 20 usable surfaces, of 5MB each?).
System used to support ~50 concurrent log-ins though it did result in longer turn-around time for interactive compiles. That is, when the Honeywell Level 6 programmed as a terminal server that replaced a room full of Gandalf equipment didn't get hot. Main circuit board was mounted horizontally, and would /sag/ when warm -- breaking connections.
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.