With disk space becoming less expensive (100GB Western Digital 7200rpm available for US $195 in January 2002), it is viable to use an Open Source software-based CD Server solution, instead of paying $800-$4,000 for a software, thin-server, or CD Jukebox solution.
I've setup my CD Server on a Pentium 200 with 64MB RAM, using one of these large drives.
This HOWTO is specifically directed toward System Administrators and uses Linux for the examples. It should work with other flavors of Unix provided that they have a loop device or a method of mounting a CD image file within the directory tree as a block device using the iso9660 file system.
The commands and utilities needed to setup your own CD Server are already included in most (if not all) Linux distributions.
A Linux Distribution (This HOWTO uses Linux-Mandrake for the examples)
dd - Converts and copies a file (a standard Unix command)
mount - Mounts and Unmounts filesystems (a standard Unix command)
Samba - A Windows SMB/CIFS fileserver for Unix
NFS (optional for Unix) - Network File System (included in Linux distributions)
Netatalk (optional for Macs) - A package that lets a Unix machine supply Appletalk print and file services on a LAN.
Previous to the 2.4 kernels, the Linux-Mandrake distribution I was using only had support for 8 loop devices compiled into the kernel (see Section 3 to increase this number). At that time, you were only be able to share 8 CD's on a network with that default value, and to share more than 8, the loop block driver source code (loop.c) needed to be modified and a new kernel compiled.
With the 2.4 kernels, that is no longer required. You can now set the number of loop devices dynamically via the max_loop module parameter, or by passing max_loop=[1-255] to the kernel on boot.
SMB HOWTO by: David Wood, dwood (at) plugged.net.au. Part of the Linux Documentation Project. This document describes how to use the Server Message Block (SMB) protocol, also called the Session Message Block, NetBIOS or LanManager protocol, with Linux using Samba.
Using Samba by: Robert Eckstein, David Collier-Brown, Peter Kelly 1st Edition November 1999, O'Reilly and Associates, Inc. ISBN 1-56592-449-5,
The Linux CD-ROM HOWTO by: Jeff Tranter, tranter (at) pobox.com. Part of the Linux Documentation Project. How to install, configure, and use CD-ROM drives under Linux. It lists the supported hardware and answers a number of frequently asked questions. This HOWTO also gives some information on using multi-platter CD-ROM drives with Linux.
CD-Writing HOWTO by: Winfried Trümper, winni (at) xpilot.org. Part of the Linux Documentation Project. This document explains how to write CD-ROMs under Linux. This HOWTO also includes information on making 1:1 image copies of CD-ROMs.
CDServer-HOWTO, Copyright © 2000-2002, by Randolph J. Tata, All Rights Reserved
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in Appendix A entitled "GNU Free Documentation License".
Use the information in this document at your own risk. I disavow any potential liability for the contents of this document. Use of the concepts, examples, and/or other content of this document is entirely at your own risk.
All copyrights are owned by their owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark.
Naming of particular products or brands should not be seen as endorsements.
You are strongly recommended to make a backup of your system before major installation and should make backups at regular intervals.
As always, check the revision history at the top of this document.
DocBook XML source for this document is available. Any additions/changes should be made to the DocBook XML source, not derivative formats.
This documents home page is at the CDServer-HOWTO site page in case you need the latest version, or there is a problem with the page format you are viewing.
My thanks go the readers of this HOWTO and those willing to share their experiences and knowledge with me. I have the pleasure of acknowledging:
|Mark F. Komarinski||markk (at) linuxdoc.org||LDP Author Guide|
|Jorge Godoy||godoy (at) metalab.unc.edu||LDP Author Guide|
|David C. Merrill||dcmerrill (at) mindspring.com||LDP Author Guide|
|Stein Gjoen||sgjoen (at) nyx.net||HOWTO-Template|
|Gregory Leblanc||gleblanc (at) cu-portland.edu||HOWTO-Template|
|Greg Ferguson||gferg (at) sgi.com||HOWTO-Template|
|Amar Chaouche||achaouche (at) linbox.com||mount unhide option|
|Giblhauser Carl Michael||mike (at) bawb.bmlf.gv.at||runoutblock i/o errors|
|Monte Milanuk||milanuk (at) yahoo.com||nfs help|
|Paul A. Sand||pas (at) unh.edu||loop module option max_loop|
|Tony Melia||Tony.Melia (at) downsmicro.com.au||max_loop kernel boot parameter|
|Richard Black||Richard.Black (at) compaq.com||more info and mknod script|
|Bradley Wendelboe||krakken (at) icehouse.2y.net||cdtower shell script|
|James Mumm||dart (at) windeath.2y.net||cdtower shell script|
Korean (html and sgml) at http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/korean/
If you have the capacity it would be nice to make the CDServer-HOWTO available in a number of formats and languages.
If you've translated this document, please send to me:
Your name, email address, the language and URL to the translated document (preferred).
Or an email attachment of the work.