1144 lines
51 KiB
Plaintext
1144 lines
51 KiB
Plaintext
CDServer-HOWTO
|
||
|
||
Randolph J Tata
|
||
|
||
Talcon Information Systems
|
||
|
||
randy@talcon.com
|
||
|
||
v1.40 2002/01/10
|
||
Revision History
|
||
Revision v1.40 2002-01-10 Revised by: rjt
|
||
Added description and link to cdtower shell script.
|
||
Revision v1.30 2002-01-08 Revised by: rjt
|
||
Many additions and changes to markup in DocBook XML source and fix pubdate
|
||
data.
|
||
Revision v1.01 2002-01-07 Revised by: rjt
|
||
Updated for 2.4 kernels. Added more References and links. Convert to DocBook
|
||
XML 4.1.2 Change License from LDP boilerplate to GFDL.
|
||
Revision v1.00 2000-09-23 Revised by: rjt
|
||
Conversion from Linuxdoc SGML to DocBook v3.1 SGML
|
||
Revision v0.10 2000-09-01 Revised by: rjt
|
||
Conversion to Linuxdoc SGML from text/html, added kerneltweak (addloops)
|
||
section
|
||
Revision v0.01 2000-08-18 Revised by: rjt
|
||
First version released in text and html.
|
||
|
||
|
||
The CD Server HOWTO describes the steps and commands you can use to setup
|
||
your own CD Server using Linux and some built-in Unix commands along with
|
||
other freely available software packages. The CD Server can then share the
|
||
CD's via the network to Windows and/or other client machines.
|
||
|
||
-----------------------------------------------------------------------------
|
||
Table of Contents
|
||
1. Introduction
|
||
1.1. Intended Audience
|
||
1.2. Things You'll Need
|
||
1.3. Suggested Reading and References
|
||
1.4. Copyright and License
|
||
1.5. Disclaimer
|
||
1.6. News
|
||
1.7. Credits
|
||
1.8. Translations
|
||
|
||
|
||
2. Procedure
|
||
2.1. Creating the ISO Images
|
||
2.2. Mounting the ISO Images
|
||
2.3. Mounting the Image upon System Restart
|
||
2.4. Sharing it on a Windows Network using Samba
|
||
2.5. Sharing the Images on a Unix network using NFS
|
||
|
||
|
||
3. Adding Support for More Loop Devices
|
||
3.1. Adding the Loop Module Option
|
||
3.2. Appending to the Boot Prompt
|
||
3.3. Tweaking the Kernel
|
||
3.4. Creating the Loop Devices in /dev
|
||
|
||
|
||
4. More Information
|
||
4.1. Frequently Asked Questions
|
||
4.2. Other Instructions Available on the Web
|
||
4.3. Under Future Consideration
|
||
|
||
|
||
A. GNU Free Documentation License
|
||
0. PREAMBLE
|
||
1. APPLICABILITY AND DEFINITIONS
|
||
2. VERBATIM COPYING
|
||
3. COPYING IN QUANTITY
|
||
4. MODIFICATIONS
|
||
5. COMBINING DOCUMENTS
|
||
6. COLLECTIONS OF DOCUMENTS
|
||
7. AGGREGATION WITH INDEPENDENT WORKS
|
||
8. TRANSLATION
|
||
9. TERMINATION
|
||
10. FUTURE REVISIONS OF THIS LICENSE
|
||
How to use this License for your documents
|
||
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
1. Introduction
|
||
|
||
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.
|
||
|
||
Any comments, suggestions, additions, or corrections can be sent to my email
|
||
address at [http://www.talcon.com/] Talcon Information Systems: <
|
||
randy@talcon.com>.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.1. Intended Audience
|
||
|
||
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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.2. Things You'll Need
|
||
|
||
The commands and utilities needed to setup your own CD Server are already
|
||
included in most (if not all) Linux distributions.
|
||
|
||
|
||
|
||
<EFBFBD><EFBFBD>*<2A> A Linux Distribution (This HOWTO uses Linux-Mandrake for the
|
||
examples)
|
||
|
||
<EFBFBD><EFBFBD>*<2A> dd - Converts and copies a file (a standard Unix command)
|
||
|
||
<EFBFBD><EFBFBD>*<2A> mount - Mounts and Unmounts filesystems (a standard Unix command)
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Samba - A Windows SMB/CIFS fileserver for Unix
|
||
|
||
<EFBFBD><EFBFBD>*<2A> NFS (optional for Unix) - Network File System (included in Linux
|
||
distributions)
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Netatalk (optional for Macs) - A package that lets a Unix machine
|
||
supply Appletalk print and file services on a LAN.
|
||
|
||
|
||
Note
|
||
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.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
1.3. Suggested Reading and References
|
||
|
||
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<54>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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.4. Copyright and License
|
||
|
||
CDServer-HOWTO, Copyright <20> 2000-2002, by [mailto:randy@talcon.com]
|
||
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".
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.5. Disclaimer
|
||
|
||
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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.6. News
|
||
|
||
As always, check the revision history at the top of this document.
|
||
|
||
[http://www.talcon.com/projects/CDServer-HOWTO/CDServer-HOWTO.xml] 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 [http://talcon.com/cdserver-howto/]
|
||
CDServer-HOWTO site page in case you need the latest version, or there is a
|
||
problem with the page format you are viewing.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.7. Credits
|
||
|
||
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 mike (at) bawb.bmlf.gv.at runoutblock i/o errors
|
||
Michael
|
||
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) max_loop kernel boot
|
||
downsmicro.com.au 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
|
||
|
||
-----------------------------------------------------------------------------
|
||
1.8. Translations
|
||
|
||
<EFBFBD><EFBFBD>*<2A> [http://kldp.org] Korean (html and sgml) at [http://www.ibiblio.org/pub
|
||
/Linux/docs/HOWTO/translations/korean/] 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:
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Your name, email address, the language and URL to the translated
|
||
document (preferred).
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Or an email attachment of the work.
|
||
|
||
|
||
Please send either to my email address at [http://www.talcon.com/] Talcon
|
||
Information Systems: <randy@talcon.com>.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2. Procedure
|
||
|
||
Summary of Steps
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Create a large partition to hold the CD Image Files.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Copy the CD to an image file using the dd command.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Mount the CD image file within the directory tree.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Share the directory on the network using Samba, NFS, etc.
|
||
|
||
|
||
Also, make sure you've read Section 1 and Section 1.2.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.1. Creating the ISO Images
|
||
|
||
Choose (or create) a file system with the largest available disk space on
|
||
it. Keep in mind that CD-ROM's can hold around 640MB of data, so if you want
|
||
to share 8 full CD's on your network, you'll need 5.1GB of space available.
|
||
|
||
Login as root or "su" to root.
|
||
|
||
|
||
bash# df -h
|
||
|
||
|
||
Filesystem Size Used Avail Use% Mounted on
|
||
/dev/hda5 1.4G 82M 1.3G 6% /
|
||
/dev/hda1 15M 827k 14M 6% /boot
|
||
/dev/hda7 2.4G 1008M 1.3G 43% /usr
|
||
/dev/hda8 23.6G 11.7G 11.7G 50% /home
|
||
|
||
|
||
Here the /home filesystem has the most available space, so it is the most
|
||
suitable filesystem to use for dumping the CD images to.
|
||
|
||
|
||
bash# cd /home
|
||
bash# mkdir image
|
||
bash# cd image
|
||
|
||
Now, copy the CD to an ISO image. You must know the device name of your
|
||
CD-ROM drive (usually /dev/cdrom, it could be /dev/scd0 for SCSI CD-ROM's)
|
||
I'll use the Mandrake distribution CD-ROM as an Example:
|
||
|
||
|
||
bash# dd if=/dev/cdrom of=mndrk81.iso
|
||
|
||
Note
|
||
The "if=" is the input file, the "of=" is the output file. You should
|
||
see a message stating the number of records in and number of records out.
|
||
|
||
If you see i/o errors, they will most likely be due to the lead-in and
|
||
lead-out runoutblocks on the CD. If the number of records in and number
|
||
of records out do not match you may have a problem, otherwise the image
|
||
will most likely be alright, but you can never know if the errors
|
||
happened while reading the ISO part of the CD or not (due to dust or
|
||
scratches on the CD).
|
||
|
||
Other utilities to read CD's exist, like readcd or sdd.
|
||
|
||
More information about making 1:1 copies of CD's exists in the [
|
||
CD-Writing-HOWTO], see Section 1.3.
|
||
|
||
|
||
My thanks to Giblhauser Carl Michael for the runoutblock information.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2. Mounting the ISO Images
|
||
|
||
The next step is to mount the ISO image file. Let's create a directory under
|
||
/mnt to place the mounted file.
|
||
|
||
|
||
bash# cd /mnt
|
||
bash# mkdir iso
|
||
bash# cd iso
|
||
bash# mkdir mndrk81
|
||
|
||
Now mount the ISO image file to this newly created directory
|
||
|
||
|
||
bash# mount -o loop,unhide -t iso9660 -r /home/image/mndrk81.iso /mnt/iso/mndrk81
|
||
|
||
Note
|
||
The "-o loop" means use the option that mounts a file as a block
|
||
device. The unhide option shows hidden files. The "-t iso9660" means that
|
||
the file is in the iso9660 CD-ROM format. The "-r" means to mount
|
||
read-only.
|
||
|
||
|
||
Thanks to Amar Chaouche for pointing out the unhide option for the mount
|
||
command.
|
||
|
||
Now you can:
|
||
|
||
|
||
bash# cd mndrk81
|
||
bash# ls -al
|
||
|
||
You should see a listing (ls) of the files and directories that are on the
|
||
actual CD (only now they're inside the ISO image file, and that's what you're
|
||
currently looking at!)
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.3. Mounting the Image upon System Restart
|
||
|
||
Now that we've manually mounted the image, and made sure it works, an entry
|
||
needs to made in the /etc/fstab file so that the image is remounted on the
|
||
next system startup. It's important to make the entry AFTER the entry for the
|
||
parent filesystem, e.g. /home (I use vim, but emacs, joe, pico or jed will
|
||
work just as well):
|
||
|
||
|
||
bash# vim /etc/fstab
|
||
|
||
After the line that looks like the following (or whichever filesystem you've
|
||
placed your images):
|
||
|
||
|
||
/dev/hda8 /home ext2 defaults 1 2
|
||
|
||
Insert the following line with your text editor:
|
||
|
||
|
||
/home/image/mndrk81.iso /mnt/iso/mndrk81 iso9660 ro,loop,auto,unhide 0 0
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.4. Sharing it on a Windows Network using Samba
|
||
|
||
You'll need to have Samba installed and working to perform the next steps
|
||
(that's outside the scope of this instruction, see Section 1.3). If it's not
|
||
yet installed, consult your Linux distribution's instructions for installing
|
||
the Samba package. Or you can visit the Samba website at [http://
|
||
us1.samba.org/samba/samba.html] http://us1.samba.org/samba/samba.html for
|
||
installation instructions, binaries, and/or the source code.
|
||
|
||
To share your mounted CD's on a windows network, simply create a stanza in
|
||
the /etc/smb.conf file similar to the following:
|
||
|
||
|
||
[cdimages]
|
||
comment = All Shared CD Images
|
||
path = /mnt/iso
|
||
public = yes
|
||
writable = no
|
||
|
||
This will share all the subdirectories under the /mnt/iso directory on the
|
||
network. To mount the share to a local drive (in this case the I: drive),
|
||
bring up an MS-DOS Prompt on the Windows machine and type the following:
|
||
|
||
|
||
C:\> net use I: \\yourlinuxmachine\cdimages
|
||
|
||
Each CD image will now appear as a subdirectory on the I: drive of your
|
||
Windows machine.
|
||
|
||
To mount ONLY the Mandrake CD image to a drive letter (we'll use M:, the
|
||
root drive of which, will correspond exactly to the CD as if it was just
|
||
inserted in the CD-ROM drive), create the following stanza in the /etc/
|
||
smb.conf file.
|
||
|
||
|
||
[mndrk81]
|
||
comment = Mandrake Linux 8.1
|
||
path = /mnt/iso/mndrk81
|
||
public = yes
|
||
writable = no
|
||
|
||
Then, at your MS-DOS Prompt, mount it with the following command:
|
||
|
||
|
||
C:\> net use m: \\yourlinuxmachine\mndrk81
|
||
|
||
Warning
|
||
The Samba smb.conf file stanzas presented here are simplified, and not
|
||
secure. Many more options exist for a Samba share which limit who can
|
||
mount the shares, control how user authentication is performed, and
|
||
whether the share is even browseable through Network Neighborhood on the
|
||
Windows machines.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.5. Sharing the Images on a Unix network using NFS
|
||
|
||
Make sure that NFS is running and configured correctly on your Linux
|
||
machine, then add the following to the /etc/exports file using your own
|
||
preferred options:
|
||
|
||
|
||
# sample /etc/exports file
|
||
/mnt/iso (ro,insecure,nohide,all_squash)
|
||
|
||
Note
|
||
The nohide option will allow you to mount a parent directory, without
|
||
explicitly mounting all exported subdirectories beneath it.
|
||
|
||
|
||
Now try running:
|
||
|
||
|
||
bash# exportfs -r
|
||
|
||
This should re-export everything in your /etc/exports file.
|
||
|
||
Now, when typing "showmount -e yourlinuxmachine" you should see that the /
|
||
mnt/iso directory is included in the exports list.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3. Adding Support for More Loop Devices
|
||
|
||
Newer Linux kernels (2.4) allow you to add more loop devices easily by
|
||
editing /etc/modules.conf or through the use of a boot parameter.
|
||
|
||
Older kernels (2.2 ?) only had support for 8 loop devices compiled into the
|
||
kernel. In short, you were only able to share 8 CD's on a network with this
|
||
default value. In order to support more than that default, you needed to
|
||
modify the kernel source and recompile a new kernel.
|
||
|
||
Use the following methods to determine which version of the kernel you are
|
||
running.
|
||
|
||
|
||
bash# uname -a
|
||
|
||
or
|
||
|
||
|
||
bash# cat /proc/version
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.1. Adding the Loop Module Option
|
||
|
||
Current kernels allow you to set the number of loop devices supported
|
||
without recompiling the kernel. One of these methods is to add an options
|
||
line to /etc/modules.conf. This method will only work if your loop support
|
||
has been configured as a loadable kernel module (which is how most major
|
||
Linux distributions come preconfigured now).
|
||
|
||
Edit /etc/modules.conf and add the following line.
|
||
|
||
|
||
options loop max_loop=64
|
||
|
||
After making the above change, simply reboot. Or you can try to use rmmod
|
||
and insmod to make the change on the fly - but this will not work if you
|
||
currently have any loop devices mounted (you'll get an error saying loop:
|
||
Device or resource busy).
|
||
|
||
Note
|
||
If you do not have an /etc/modules.conf file, your module configuration
|
||
file may be called /etc/conf.modules (this name is now deprecated).
|
||
|
||
|
||
Continue with Section 3.4.
|
||
|
||
Thanks to Paul A. Sand for pointing out the /etc/modules.conf option.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.2. Appending to the Boot Prompt
|
||
|
||
If your loop support has been compiled directly into the kernel (in other
|
||
words, it is not loaded as a module), you can append the number of loop
|
||
devices you would like to support at the linux boot prompt.
|
||
|
||
|
||
boot: linux max_loop=64
|
||
|
||
Or, if you are using LILO, you can edit your linux boot stanza in /etc/
|
||
lilo.conf and add/modify the append= line. Here is an example stanza showing
|
||
append= (note: only add or modify the append line, don't change your whole
|
||
stanza to look like this one or your system may not boot). For more
|
||
information about LILO, consult the [http://www.linuxdoc.org/HOWTO/mini/
|
||
LILO.html] LILO mini-HOWTO at http://www.linuxdoc.org/HOWTO/mini/LILO.html.
|
||
|
||
|
||
image=/boot/vmlinuz
|
||
label=linux
|
||
root=/dev/hdb5
|
||
initrd=/boot/initrd.img
|
||
|
||
append=" max_loop=64"
|
||
|
||
vga=788
|
||
read-only
|
||
|
||
After changing /etc/lilo.conf, you need to run the lilo command for your
|
||
changes to take effect.
|
||
bash# lilo
|
||
|
||
|
||
Added linux *
|
||
Added linux-nonfb
|
||
Added failsafe
|
||
Added windows
|
||
Added floppy
|
||
|
||
|
||
Next restart your system. After your system restarts, you can check your
|
||
boot command line by typing the following:
|
||
|
||
|
||
bash# cat /proc/cmdline
|
||
|
||
Note
|
||
I am not sure if the loop module (compiled as a module) reads /proc/
|
||
cmdline when the module is loaded, and therefore may not need an options
|
||
line /etc/modules.conf. It's possible that it can (and if it doesn't, it
|
||
should). To summarize: I have not tested this.
|
||
|
||
|
||
Continue with Section 3.4.
|
||
|
||
Thanks to Tony Melia for the boot prompt info.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.3. Tweaking the Kernel
|
||
|
||
If you have an older kernel (v. 2.2) or if you are completely comfortable
|
||
recompiling the kernel, you can increase the number of loop devices supported
|
||
by editing the /usr/src/linux/drivers/block/loop.c file.
|
||
|
||
Note
|
||
If you find that the kernel sources are not installed on your machine,
|
||
you'll need to consult your Linux Distribution's documentation on how to
|
||
install them (the Kernel Sources come with all distributions - it's part
|
||
of the GNU GPL licensing).
|
||
|
||
|
||
Change the number in the following line to however many loop devices you'll
|
||
need.
|
||
|
||
|
||
#define MAX_LOOP 16
|
||
|
||
Compile the new kernel or module as the case may be. If you need some help
|
||
getting started with this, read /usr/src/linux/README or consult [http://
|
||
www.linuxdoc.org/HOWTO/Kernel-HOWTO.html] The Linux Kernel HOWTO.
|
||
|
||
Continue with Section 3.4.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.4. Creating the Loop Devices in /dev
|
||
|
||
You should check how many /dev entries you have for loop devices.
|
||
|
||
|
||
bash# ls -l /dev/loop*
|
||
|
||
The mknod command creates the devices in the /dev directory. The loop
|
||
devices have a major number of "7", and the minor numbers begin at "0". If
|
||
your MAX_LOOP was defined as "8" in /usr/src/linux/drivers/block/loop.c, you
|
||
should have /dev/loop0 through /dev/loop7. To create the /dev/loop8 device,
|
||
use the following command (subsitute the appropriate number you need for both
|
||
the "8's" in the example below).
|
||
|
||
|
||
bash# mknod -m660 /dev/loop8 b 7 8
|
||
|
||
Check Owner/Group & Permissions on the new file (using ls -l). You can
|
||
change the owner and group with the following command:
|
||
|
||
|
||
bash# chown root.disk /dev/loop8
|
||
|
||
You can change the permissions using the following command:
|
||
|
||
|
||
bash# chmod 666 /dev/loop8
|
||
-----------------------------------------------------------------------------
|
||
|
||
4. More Information
|
||
|
||
Be sure to check the suggested reading in Section 1.3.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.1. Frequently Asked Questions
|
||
|
||
I finally had to create this section - Frequently Asked Questions. Although,
|
||
I sometimes think it should be called Frequently Answered Questions (at least
|
||
I try to answer them all).
|
||
|
||
Q: Can I copy CD contents to a directory and share it with SAMBA?
|
||
Q: Do any scripts or programs exist that automate this process?
|
||
Q: Do any web interfaces exist that automate this process?
|
||
Q: Can copy-protected CD's (e.g. laserlok) be shared in this way?
|
||
|
||
Q: Can I copy CD contents to a directory and share it with SAMBA?
|
||
|
||
A: In a word - Yes.
|
||
|
||
|
||
There is nothing to keep you from doing that. However I'm not sure
|
||
which arguments you would have to use with tar and which options to
|
||
include in the SAMBA stanzas. Also, there could be problems with file
|
||
name mangling (case sensitivity, spaces in file names), file attributes
|
||
(read-only), etc. If anyone is doing this successfully, please send me
|
||
examples of the commands you used for copying the contents of the CD, and
|
||
your SAMBA stanzas for the shares.
|
||
|
||
Here's some commands you can use to copy the contents:
|
||
|
||
|
||
bash# cd /home
|
||
bash# mkdir image
|
||
bash# cd image
|
||
bash# mkdir mndrk81
|
||
bash# mount /mnt/cdrom
|
||
bash# cd /mnt/cdrom
|
||
bash# tar cvf - . | (cd /home/image/mndrk81; tar xvf -)
|
||
|
||
Thanks to Giblhauser Carl Michael for this info
|
||
|
||
Q: Do any scripts or programs exist that automate this process?
|
||
|
||
A: Yes:
|
||
|
||
<EFBFBD><EFBFBD>*<2A>Bradley Wendelboe and James Mumm wrote a shell script called CDTower -
|
||
see Section 4.2.2 to download it.
|
||
|
||
I have no independent test results of this script - use at your own risk.
|
||
|
||
|
||
Q: Do any web interfaces exist that automate this process?
|
||
|
||
A: Not yet. However there is much interest in this.
|
||
|
||
<EFBFBD><EFBFBD>*<2A>Tony Melia [Tony.Melia (at) downsmicro.com.au] has announced that he is
|
||
60% complete with a web interface, i.e. sucking CD's in, creating extra /
|
||
dev/loop entries and seeing what space the CD's are taking up.
|
||
|
||
<EFBFBD><EFBFBD>*<2A>I am planning on writing a module for Webmin to automate this process.
|
||
That project is currently hosted on SourceForge at [http://
|
||
sourceforge.net/projects/opencdserver] http://sourceforge.net/projects/
|
||
opencdserver
|
||
|
||
|
||
Q: Can copy-protected CD's (e.g. laserlok) be shared in this way?
|
||
|
||
A: To the best of my knowledge, No.
|
||
|
||
|
||
Others have reported problems to me trying to share ISO images made from
|
||
copy-protected CD's. It seems that even when using the "unhide" option
|
||
with mount that files will remain hidden.
|
||
|
||
-----------------------------------------------------------------------------
|
||
4.2. Other Instructions Available on the Web
|
||
|
||
This section is devoted to instructional materials that others have written
|
||
or have sent to me.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.2.1. Saving a CD-ROM to a File and Mounting it
|
||
|
||
Richard Black (Compaq) has some good pages about Saving CD-ROM's to files
|
||
and mounting them in Red Hat Linux.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> [http://www.geocities.com/rlcomp_1999/cdimage.html] Saving a CD-ROM to a
|
||
File and Mounting it
|
||
|
||
<EFBFBD><EFBFBD>*<2A> [http://www.geocities.com/rlcomp_1999/loop.html] Linux Loop Devices -
|
||
This page also includes the script below for creating many loop device
|
||
nodes at once in /dev.
|
||
|
||
|
||
|
||
Device nodes are required to access the loop devices. You already have loop0 - loop7.
|
||
You can run the following loop to create the rest of the nodes (loop8 - loop255).
|
||
You can type all of the following lines of code on one single line if you leave off
|
||
the trailing "\" characters.
|
||
|
||
|
||
C=8; echo; echo "Creating loop device nodes."; \
|
||
while [ $C -lt 256 ]; do mknod /dev/loop$C b 7 $C; \
|
||
echo -n .; C=`expr $C + 1`; done; echo;
|
||
|
||
|
||
Note: the quoting around the expr section are called backtick's and they are located
|
||
with the tilde character ("~") in the upper left hand corner of the keyboard. The
|
||
character is not a single quote.
|
||
|
||
Thanks to Richard Black for permission to add this info and for linking back
|
||
to this document.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.2.2. CDTower v.06
|
||
|
||
A script to automate the creation of ISO images and share them via Samba
|
||
|
||
by Bradley Wendelboe [krakken (at) icehouse.2y.net] and James Mumm [dart
|
||
(at) windeath.2y.net]
|
||
|
||
This software is covered under the GPL See [http://www.gnu.org/copyleft/
|
||
gpl.html] http://www.gnu.org/copyleft/gpl.html for details.
|
||
|
||
To view/download this script:
|
||
[http://www.talcon.com/projects/CDServer-HOWTO/scripts/
|
||
cdtower_v0.06.sh.txt] http://www.talcon.com/projects/CDServer-HOWTO/
|
||
scripts/cdtower_v0.06.sh.txt
|
||
|
||
|
||
Caution
|
||
I have no independent test results of this script - use at your own risk.
|
||
|
||
|
||
Thanks to Bradley Wendelboe for forwarding this script to me.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3. Under Future Consideration
|
||
|
||
These are things I'm currently looking into, trying to figure out, or
|
||
planning to get done.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Make more scripts available that others have sent to me, either within
|
||
this howto, or by hosting them and linking to them from this document.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Sharing CD's to Apple and Netware clients (Appletalk and IPX).
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Compressed ISO Images.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Changing CD Shares on the fly (hopefully transparent to users).
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Adding a module to Webmin to automate the CDServer process.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> Distribution specific instructions.
|
||
|
||
<EFBFBD><EFBFBD>*<2A> I have a volunteer for a German translation, hopefully it will be done
|
||
soon.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
A. GNU Free Documentation License
|
||
|
||
Version 1.1, March 2000
|
||
|
||
|
||
Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite
|
||
330, Boston, MA 02111-1307 USA Everyone is permitted to copy and
|
||
distribute verbatim copies of this license document, but changing it is
|
||
not allowed.
|
||
|
||
-----------------------------------------------------------------------------
|
||
0. PREAMBLE
|
||
|
||
The purpose of this License is to make a manual, textbook, or other written
|
||
document "free" in the sense of freedom: to assure everyone the effective
|
||
freedom to copy and redistribute it, with or without modifying it, either
|
||
commercially or noncommercially. Secondarily, this License preserves for the
|
||
author and publisher a way to get credit for their work, while not being
|
||
considered responsible for modifications made by others.
|
||
|
||
This License is a kind of "copyleft", which means that derivative works of
|
||
the document must themselves be free in the same sense. It complements the
|
||
GNU General Public License, which is a copyleft license designed for free
|
||
software.
|
||
|
||
We have designed this License in order to use it for manuals for free
|
||
software, because free software needs free documentation: a free program
|
||
should come with manuals providing the same freedoms that the software does.
|
||
But this License is not limited to software manuals; it can be used for any
|
||
textual work, regardless of subject matter or whether it is published as a
|
||
printed book. We recommend this License principally for works whose purpose
|
||
is instruction or reference.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1. APPLICABILITY AND DEFINITIONS
|
||
|
||
This License applies to any manual or other work that contains a notice
|
||
placed by the copyright holder saying it can be distributed under the terms
|
||
of this License. The "Document", below, refers to any such manual or work.
|
||
Any member of the public is a licensee, and is addressed as "you".
|
||
|
||
A "Modified Version" of the Document means any work containing the Document
|
||
or a portion of it, either copied verbatim, or with modifications and/or
|
||
translated into another language.
|
||
|
||
A "Secondary Section" is a named appendix or a front-matter section of the
|
||
Document that deals exclusively with the relationship of the publishers or
|
||
authors of the Document to the Document's overall subject (or to related
|
||
matters) and contains nothing that could fall directly within that overall
|
||
subject. (For example, if the Document is in part a textbook of mathematics,
|
||
a Secondary Section may not explain any mathematics.) The relationship could
|
||
be a matter of historical connection with the subject or with related
|
||
matters, or of legal, commercial, philosophical, ethical or political
|
||
position regarding them.
|
||
|
||
The "Invariant Sections" are certain Secondary Sections whose titles are
|
||
designated, as being those of Invariant Sections, in the notice that says
|
||
that the Document is released under this License.
|
||
|
||
The "Cover Texts" are certain short passages of text that are listed, as
|
||
Front-Cover Texts or Back-Cover Texts, in the notice that says that the
|
||
Document is released under this License.
|
||
|
||
A "Transparent" copy of the Document means a machine-readable copy,
|
||
represented in a format whose specification is available to the general
|
||
public, whose contents can be viewed and edited directly and
|
||
straightforwardly with generic text editors or (for images composed of
|
||
pixels) generic paint programs or (for drawings) some widely available
|
||
drawing editor, and that is suitable for input to text formatters or for
|
||
automatic translation to a variety of formats suitable for input to text
|
||
formatters. A copy made in an otherwise Transparent file format whose markup
|
||
has been designed to thwart or discourage subsequent modification by readers
|
||
is not Transparent. A copy that is not "Transparent" is called "Opaque".
|
||
|
||
Examples of suitable formats for Transparent copies include plain ASCII
|
||
without markup, Texinfo input format, LaTeX input format, SGML or XML using a
|
||
publicly available DTD, and standard-conforming simple HTML designed for
|
||
human modification. Opaque formats include PostScript, PDF, proprietary
|
||
formats that can be read and edited only by proprietary word processors, SGML
|
||
or XML for which the DTD and/or processing tools are not generally available,
|
||
and the machine-generated HTML produced by some word processors for output
|
||
purposes only.
|
||
|
||
The "Title Page" means, for a printed book, the title page itself, plus such
|
||
following pages as are needed to hold, legibly, the material this License
|
||
requires to appear in the title page. For works in formats which do not have
|
||
any title page as such, "Title Page" means the text near the most prominent
|
||
appearance of the work's title, preceding the beginning of the body of the
|
||
text.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2. VERBATIM COPYING
|
||
|
||
You may copy and distribute the Document in any medium, either commercially
|
||
or noncommercially, provided that this License, the copyright notices, and
|
||
the license notice saying this License applies to the Document are reproduced
|
||
in all copies, and that you add no other conditions whatsoever to those of
|
||
this License. You may not use technical measures to obstruct or control the
|
||
reading or further copying of the copies you make or distribute. However, you
|
||
may accept compensation in exchange for copies. If you distribute a large
|
||
enough number of copies you must also follow the conditions in section 3.
|
||
|
||
You may also lend copies, under the same conditions stated above, and you may
|
||
publicly display copies.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3. COPYING IN QUANTITY
|
||
|
||
If you publish printed copies of the Document numbering more than 100, and
|
||
the Document's license notice requires Cover Texts, you must enclose the
|
||
copies in covers that carry, clearly and legibly, all these Cover Texts:
|
||
Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover.
|
||
Both covers must also clearly and legibly identify you as the publisher of
|
||
these copies. The front cover must present the full title with all words of
|
||
the title equally prominent and visible. You may add other material on the
|
||
covers in addition. Copying with changes limited to the covers, as long as
|
||
they preserve the title of the Document and satisfy these conditions, can be
|
||
treated as verbatim copying in other respects.
|
||
|
||
If the required texts for either cover are too voluminous to fit legibly, you
|
||
should put the first ones listed (as many as fit reasonably) on the actual
|
||
cover, and continue the rest onto adjacent pages.
|
||
|
||
If you publish or distribute Opaque copies of the Document numbering more
|
||
than 100, you must either include a machine-readable Transparent copy along
|
||
with each Opaque copy, or state in or with each Opaque copy a
|
||
publicly-accessible computer-network location containing a complete
|
||
Transparent copy of the Document, free of added material, which the general
|
||
network-using public has access to download anonymously at no charge using
|
||
public-standard network protocols. If you use the latter option, you must
|
||
take reasonably prudent steps, when you begin distribution of Opaque copies
|
||
in quantity, to ensure that this Transparent copy will remain thus accessible
|
||
at the stated location until at least one year after the last time you
|
||
distribute an Opaque copy (directly or through your agents or retailers) of
|
||
that edition to the public.
|
||
|
||
It is requested, but not required, that you contact the authors of the
|
||
Document well before redistributing any large number of copies, to give them
|
||
a chance to provide you with an updated version of the Document.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4. MODIFICATIONS
|
||
|
||
You may copy and distribute a Modified Version of the Document under the
|
||
conditions of sections 2 and 3 above, provided that you release the Modified
|
||
Version under precisely this License, with the Modified Version filling the
|
||
role of the Document, thus licensing distribution and modification of the
|
||
Modified Version to whoever possesses a copy of it. In addition, you must do
|
||
these things in the Modified Version:
|
||
|
||
A. Use in the Title Page (and on the covers, if any) a title distinct from
|
||
that of the Document, and from those of previous versions (which should,
|
||
if there were any, be listed in the History section of the Document). You
|
||
may use the same title as a previous version if the original publisher of
|
||
that version gives permission.
|
||
|
||
B. List on the Title Page, as authors, one or more persons or entities
|
||
responsible for authorship of the modifications in the Modified Version,
|
||
together with at least five of the principal authors of the Document (all
|
||
of its principal authors, if it has less than five).
|
||
|
||
C. State on the Title page the name of the publisher of the Modified
|
||
Version, as the publisher.
|
||
|
||
D. Preserve all the copyright notices of the Document.
|
||
|
||
E. Add an appropriate copyright notice for your modifications adjacent to
|
||
the other copyright notices.
|
||
|
||
F. Include, immediately after the copyright notices, a license notice giving
|
||
the public permission to use the Modified Version under the terms of this
|
||
License, in the form shown in the Addendum below.
|
||
|
||
G. Preserve in that license notice the full lists of Invariant Sections and
|
||
required Cover Texts given in the Document's license notice.
|
||
|
||
H. Include an unaltered copy of this License.
|
||
|
||
I. Preserve the section entitled "History", and its title, and add to it an
|
||
item stating at least the title, year, new authors, and publisher of the
|
||
Modified Version as given on the Title Page. If there is no section
|
||
entitled "History" in the Document, create one stating the title, year,
|
||
authors, and publisher of the Document as given on its Title Page, then
|
||
add an item describing the Modified Version as stated in the previous
|
||
sentence.
|
||
|
||
J. Preserve the network location, if any, given in the Document for public
|
||
access to a Transparent copy of the Document, and likewise the network
|
||
locations given in the Document for previous versions it was based on.
|
||
These may be placed in the "History" section. You may omit a network
|
||
location for a work that was published at least four years before the
|
||
Document itself, or if the original publisher of the version it refers to
|
||
gives permission.
|
||
|
||
K. In any section entitled "Acknowledgements" or "Dedications", preserve the
|
||
section's title, and preserve in the section all the substance and tone
|
||
of each of the contributor acknowledgements and/or dedications given
|
||
therein.
|
||
|
||
L. Preserve all the Invariant Sections of the Document, unaltered in their
|
||
text and in their titles. Section numbers or the equivalent are not
|
||
considered part of the section titles.
|
||
|
||
M. Delete any section entitled "Endorsements". Such a section may not be
|
||
included in the Modified Version.
|
||
|
||
N. Do not retitle any existing section as "Endorsements" or to conflict in
|
||
title with any Invariant Section.
|
||
|
||
|
||
If the Modified Version includes new front-matter sections or appendices that
|
||
qualify as Secondary Sections and contain no material copied from the
|
||
Document, you may at your option designate some or all of these sections as
|
||
invariant. To do this, add their titles to the list of Invariant Sections in
|
||
the Modified Version's license notice. These titles must be distinct from any
|
||
other section titles.
|
||
|
||
You may add a section entitled "Endorsements", provided it contains nothing
|
||
but endorsements of your Modified Version by various parties--for example,
|
||
statements of peer review or that the text has been approved by an
|
||
organization as the authoritative definition of a standard.
|
||
|
||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||
passage of up to 25 words as a Back-Cover Text, to the end of the list of
|
||
Cover Texts in the Modified Version. Only one passage of Front-Cover Text and
|
||
one of Back-Cover Text may be added by (or through arrangements made by) any
|
||
one entity. If the Document already includes a cover text for the same cover,
|
||
previously added by you or by arrangement made by the same entity you are
|
||
acting on behalf of, you may not add another; but you may replace the old
|
||
one, on explicit permission from the previous publisher that added the old
|
||
one.
|
||
|
||
The author(s) and publisher(s) of the Document do not by this License give
|
||
permission to use their names for publicity for or to assert or imply
|
||
endorsement of any Modified Version.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5. COMBINING DOCUMENTS
|
||
|
||
You may combine the Document with other documents released under this
|
||
License, under the terms defined in section 4 above for modified versions,
|
||
provided that you include in the combination all of the Invariant Sections of
|
||
all of the original documents, unmodified, and list them all as Invariant
|
||
Sections of your combined work in its license notice.
|
||
|
||
The combined work need only contain one copy of this License, and multiple
|
||
identical Invariant Sections may be replaced with a single copy. If there are
|
||
multiple Invariant Sections with the same name but different contents, make
|
||
the title of each such section unique by adding at the end of it, in
|
||
parentheses, the name of the original author or publisher of that section if
|
||
known, or else a unique number. Make the same adjustment to the section
|
||
titles in the list of Invariant Sections in the license notice of the
|
||
combined work.
|
||
|
||
In the combination, you must combine any sections entitled "History" in the
|
||
various original documents, forming one section entitled "History"; likewise
|
||
combine any sections entitled "Acknowledgements", and any sections entitled
|
||
"Dedications". You must delete all sections entitled "Endorsements."
|
||
-----------------------------------------------------------------------------
|
||
|
||
6. COLLECTIONS OF DOCUMENTS
|
||
|
||
You may make a collection consisting of the Document and other documents
|
||
released under this License, and replace the individual copies of this
|
||
License in the various documents with a single copy that is included in the
|
||
collection, provided that you follow the rules of this License for verbatim
|
||
copying of each of the documents in all other respects.
|
||
|
||
You may extract a single document from such a collection, and distribute it
|
||
individually under this License, provided you insert a copy of this License
|
||
into the extracted document, and follow this License in all other respects
|
||
regarding verbatim copying of that document.
|
||
-----------------------------------------------------------------------------
|
||
|
||
7. AGGREGATION WITH INDEPENDENT WORKS
|
||
|
||
A compilation of the Document or its derivatives with other separate and
|
||
independent documents or works, in or on a volume of a storage or
|
||
distribution medium, does not as a whole count as a Modified Version of the
|
||
Document, provided no compilation copyright is claimed for the compilation.
|
||
Such a compilation is called an "aggregate", and this License does not apply
|
||
to the other self-contained works thus compiled with the Document, on account
|
||
of their being thus compiled, if they are not themselves derivative works of
|
||
the Document.
|
||
|
||
If the Cover Text requirement of section 3 is applicable to these copies of
|
||
the Document, then if the Document is less than one quarter of the entire
|
||
aggregate, the Document's Cover Texts may be placed on covers that surround
|
||
only the Document within the aggregate. Otherwise they must appear on covers
|
||
around the whole aggregate.
|
||
-----------------------------------------------------------------------------
|
||
|
||
8. TRANSLATION
|
||
|
||
Translation is considered a kind of modification, so you may distribute
|
||
translations of the Document under the terms of section 4. Replacing
|
||
Invariant Sections with translations requires special permission from their
|
||
copyright holders, but you may include translations of some or all Invariant
|
||
Sections in addition to the original versions of these Invariant Sections.
|
||
You may include a translation of this License provided that you also include
|
||
the original English version of this License. In case of a disagreement
|
||
between the translation and the original English version of this License, the
|
||
original English version will prevail.
|
||
-----------------------------------------------------------------------------
|
||
|
||
9. TERMINATION
|
||
|
||
You may not copy, modify, sublicense, or distribute the Document except as
|
||
expressly provided for under this License. Any other attempt to copy, modify,
|
||
sublicense or distribute the Document is void, and will automatically
|
||
terminate your rights under this License. However, parties who have received
|
||
copies, or rights, from you under this License will not have their licenses
|
||
terminated so long as such parties remain in full compliance.
|
||
-----------------------------------------------------------------------------
|
||
|
||
10. FUTURE REVISIONS OF THIS LICENSE
|
||
|
||
The Free Software Foundation may publish new, revised versions of the GNU
|
||
Free Documentation License from time to time. Such new versions will be
|
||
similar in spirit to the present version, but may differ in detail to address
|
||
new problems or concerns. See [http://www.gnu.org/copyleft/] http://
|
||
www.gnu.org/copyleft/.
|
||
|
||
Each version of the License is given a distinguishing version number. If the
|
||
Document specifies that a particular numbered version of this License "or any
|
||
later version" applies to it, you have the option of following the terms and
|
||
conditions either of that specified version or of any later version that has
|
||
been published (not as a draft) by the Free Software Foundation. If the
|
||
Document does not specify a version number of this License, you may choose
|
||
any version ever published (not as a draft) by the Free Software Foundation.
|
||
-----------------------------------------------------------------------------
|
||
|
||
How to use this License for your documents
|
||
|
||
To use this License in a document you have written, include a copy of the
|
||
License in the document and put the following copyright and license notices
|
||
just after the title page:
|
||
|
||
|
||
Copyright (c) YEAR YOUR NAME. 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 the Invariant Sections being LIST THEIR TITLES, with the
|
||
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A
|
||
copy of the license is included in the section entitled "GNU Free
|
||
Documentation License".
|
||
|
||
If you have no Invariant Sections, write "with no Invariant Sections" instead
|
||
of saying which ones are invariant. If you have no Front-Cover Texts, write
|
||
"no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise
|
||
for Back-Cover Texts.
|
||
|
||
If your document contains nontrivial examples of program code, we recommend
|
||
releasing these examples in parallel under your choice of free software
|
||
license, such as the GNU General Public License, to permit their use in free
|
||
software.
|