Procedure

Samenvatting van de stappen

Zorg ook dat je paragraaf Introductie en paragraaf Wat je nodig hebt hebt gelezen.

Aanmaken van de ISO images

Kies (of maak) een bestandssysteem aan met de grootst mogelijke diskruimte erop vrij. Houd in gedachten dat CD-ROM's zo'n 640MB gegevens kunnen bevattten, dus als je 8 volle CD's via het netwerk wilt delen, dan heb je ongeveer 5.1 GB ruimte nodig.

Login als root of "su" naar 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

Hier heeft het /home bestandssysteem de meest beschikbare ruimte, dus is het 't meest geschikte bestandssysteem voor het gebruik van het dumpen van de CD-images.


bash# cd /home
bash# mkdir image
bash# cd image

Kopieer de CD nu naar een ISO image. De devicenaam van je CD-ROM station moet je bekend zijn (gewoonlijk /dev/cdrom, voor SCSI CD-ROM's zou dit /dev/scd0 kunnen zijn. Als voorbeeld maak ik gebruik van de Mandrake distributie CD-ROM:


bash# dd if=/dev/cdrom of=mndrk81.iso

Noot

De "if=" staat voor input file, de "of=" voor output file. Als het goed is krijg je een melding te zien waarin het aantal records 'in' en aantal records 'out' wordt aangegeven.

Wanneer je i/o foutmeldingen te zien krijgt, dan zullen deze hoogstwaarschijnlijk zijn te wijten aan de lead-in en lead-out runoutblocks op de CD. Als het aantal records 'in' en aantal records 'out' niet overeenkomt dan heb je wellicht een probleem, anders zal de image naar alle waarschijnlijkheid in orde zijn, maar je kunt nooit weten of de fouten ontstonden tijdens het lezen van het ISO deel van de CD of niet (vanwege stof of krassen op de CD).

Er bestaan nog andere utility's om CD's in te lezen, zoals readcd of sdd.

Meer informatie over het maken van 1:1 kopieën van CD's is te vinden in de [CD-Writing-HOWTO], zie paragraaf Aanbevolen leesstof en referenties.

Mijn dank aan Giblhauser Carl Michael voor de runoutblock informatie.

Mounten van de ISO-images

De volgende stap bestaat uit het mounten van het ISO image bestand. Laten we een directory onder /mnt aanmaken om het gemounte bestand onder te plaatsen.


bash# cd /mnt
bash# mkdir iso
bash# cd iso
bash# mkdir mndrk81

Mount nu het ISO image bestand op deze nieuw aangemaakte directory


bash# mount -o loop,unhide -t iso9660 -r /home/image/mndrk81.iso /mnt/iso/mndrk81

Noot

De "-o loop" betekent: gebruik de optie welke een bestand als een blokdevice mount. De optie unhide toont verborgen bestanden. De "-t iso9660" betekent dat het bestand in het iso9660 CD-ROM formaat staat. De "-r" betekent voor alleen lezen mounten.

Met dank aan Amar Chaouch voor het wijzen op de unhide optie van de mount opdracht.

Nu kun je:


bash# cd mndrk81
bash# ls -al

Als het goed is zie je een weergave (ls) van de bestanden en directory's die zich op de feitelijke CD bevinden (ze bevinden zich nu alleen in het ISO image bestand, en dat is waar je thans naar kijkt!).

Het image mounten tijdens de systeemstart

Nu we het image handmatig hebben gemount, en er zeker van zijn dat het werkt, moet een regel worden toegevoegd aan het /etc/fstab bestand zodat het image wordt gemount bij de volgende systeemstart. Het is van belang de regel te plaatsen na die voor het parent bestandssysteem, b.v. /home (Ik gebruik vim, maar emacs, joe, pico of jed zullen evengoed werken):


bash# vim /etc/fstab

Na de regel die lijkt op de volgende (of op welk bestandssysteem je je images plaatste):


/dev/hda8 /home ext2 defaults 1 2

voeg je met een teksteditor de volgende regel toe:


/home/image/mndrk81.iso /mnt/iso/mndrk81 iso9660 ro,loop,auto,unhide 0 0

Met Samba delen op een Windows netwerk

Samba moet geïnstalleerd en werkend zijn om de volgende stappen uit te kunnen voeren (dat valt buiten het kader van deze instructie, zie paragraaf Aanbevolen leesstof en referenties). Als het nog niet is geïnstalleerd, raadpleeg je de instructies van je Linux distributies voor het installeren van het Samba package. Of je kunt een bezoek brengen aan de Samba website op http://us1.samba.org/samba/samba.html voor installatie-instructies, binary's, en/of de broncode.

Om je gemounte CD's op een windows netwerk te delen, maak je eenvoudigweg een record aan in het /etc/smb.conf bestand vergelijkbaar met het volgende:


[cdimages]
comment = Alle gedeelde CD-Images
  path = /mnt/iso
  public = yes
  writable = no

Hiermee zullen alle subdirectory's onder de directory /mnt/iso op het netwerk worden gedeeld. Om de share te mounten op een lokale drive (in dit geval de I: drive), haal je een MS-DOS prompt tevoorschijn op de Windows machine en typt het volgende:


C:\> net use I: \\yourlinuxmachine\cdimages

Elke CD-image zal nu als een subdirectory op station I: van je Windows machine verschijnen.

Om ALLEEN de Mandrake CD-image aan een stationsletter te koppelen (we zullen M: gebruiken, waarvan de rootdrive exact zal corresponderen met de CD alsof het net in het CD-ROM station werd gedaan), maak je het volgende record aan in het /etc/smb.conf bestand.


[mndrk81]
  comment = Mandrake Linux 8.1
  path = /mnt/iso/mndrk81
  public = yes
  writable = no

Mount het vervolgens achter je MS-DOS prompt met de volgende opdracht:


C:\> net use m: \\yourlinuxmachine\mndrk81

Waarschuwing

De Samba smb.conf bestandsrecords die hier worden gepresenteerd zijn vereenvoudigd en niet veilig. Er bestaan heel wat meer opties voor een Samba share welke beperken wie de shares kan mounten, besturen hoe de gebruikersauthenticatie wordt uitgevoerd, en of de share via Network Neighborhood op de Windows machines browseable is.

Delen van de images op een Unix netwerk met NFS

Zorg dat NFS draait en juist is geconfigureerd op je Linux machine en voeg dan het volgende toe aan het bestand /etc/exports met je eigen voorkeursopties:


# voorbeeldbestand van /etc/exports 
       /mnt/iso            (ro,insecure,nohide,all_squash)

Noot

De optie nohide maakt het je mogelijk een parentdirectory te mounten, zonder expliciet alle ge¨xporteerde subdirectory's eronder te mounten.

Probeer nu uit te voeren:


bash# exportfs -r

Hiermee zou alles in het bestand /etc/exports opnieuw moeten worden geëxporteerd.

Wanneer je nu typt "showmount -e jelinuxmachine" dan zou je te zien moeten krijgen dat de /mnt/iso directory is opgenomen in de exports lijst.